# compiler: R8
# compiler_version: 3.3.11-dev
# compiler_hash: engineering
# common_typos_disable
# {"id":"com.android.tools.r8.mapping","version":"2.0"}
# pg_map_id: 3.3.11-dev
# pg_map_hash: SHA-256 a350433e5961361fb5d2c0c09f5c50272fe5d0325415e1337df07a674f97f77e
com.android.tools.r8.ApiLevelException -> com.android.tools.r8.internal.g2:
    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():63:63 -> 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():63:63 -> 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():63:63 -> 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():63:63 -> 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
    java.lang.String value -> c
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope scope -> b
    1:4:void <init>(com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope,java.lang.String):37:40 -> <init>
    1:1:com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope getScope():48:48 -> getScope
    1:1:com.android.tools.r8.AssertionsConfiguration$AssertionTransformation getTransformation():44:44 -> getTransformation
    1:1:java.lang.String getValue():52:52 -> getValue
com.android.tools.r8.AssertionsConfiguration$AssertionTransformation -> com.android.tools.r8.AssertionsConfiguration$AssertionTransformation:
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformation[] $VALUES -> b
    1:8:void <clinit>():16:23 -> <clinit>
    9:9:void <clinit>():13:13 -> <clinit>
    1:1:void <init>(java.lang.String,int):14:14 -> <init>
    1:1:com.android.tools.r8.AssertionsConfiguration$AssertionTransformation valueOf(java.lang.String):13:13 -> valueOf
    1:1:com.android.tools.r8.AssertionsConfiguration$AssertionTransformation[] values():13:13 -> 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>():27:29 -> <clinit>
    4:4:void <clinit>():26:26 -> <clinit>
    1:1:void <init>(java.lang.String,int):26:26 -> <init>
    1:1:com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope[] values():26:26 -> 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.utils.Reporter reporter -> a
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope scope -> c
    java.lang.String value -> d
    1:1:void <init>(com.android.tools.r8.utils.Reporter,com.android.tools.r8.AssertionsConfiguration$1):66:66 -> <init>
    2:3:void <init>(com.android.tools.r8.utils.Reporter):72:73 -> <init>
    1:13:com.android.tools.r8.AssertionsConfiguration build():147:159 -> build
    1:1:com.android.tools.r8.AssertionsConfiguration disableAllAssertions(com.android.tools.r8.AssertionsConfiguration$Builder):209:209 -> disableAllAssertions
    1:1:com.android.tools.r8.AssertionsConfiguration enableAllAssertions(com.android.tools.r8.AssertionsConfiguration$Builder):184:184 -> enableAllAssertions
    1:1:com.android.tools.r8.AssertionsConfiguration passthroughAllAssertions(com.android.tools.r8.AssertionsConfiguration$Builder):234:234 -> passthroughAllAssertions
    1:1:com.android.tools.r8.AssertionsConfiguration$Builder setDisable():97:97 -> setDisable
    1:1:com.android.tools.r8.AssertionsConfiguration$Builder setEnable():88:88 -> setEnable
    1:1:com.android.tools.r8.AssertionsConfiguration$Builder setPassthrough():103:103 -> setPassthrough
    1:2:com.android.tools.r8.AssertionsConfiguration$Builder setScopeAll():108:109 -> setScopeAll
    1:2:com.android.tools.r8.AssertionsConfiguration$Builder setScopeClass(java.lang.String):140:141 -> setScopeClass
    1:2:com.android.tools.r8.AssertionsConfiguration$Builder setScopePackage(java.lang.String):125:126 -> setScopePackage
    1:1:com.android.tools.r8.AssertionsConfiguration$Builder setTransformation(com.android.tools.r8.AssertionsConfiguration$AssertionTransformation):79:79 -> 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.legacyspecification.LegacyDesugaredLibrarySpecification 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.legacyspecification.LegacyDesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.StringConsumer,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.BackportedMethodListCommand$1):38:38 -> <init>
    2:2:void <init>(boolean,boolean,com.android.tools.r8.BackportedMethodListCommand$1):38:38 -> <init>
    3:11:void <init>(boolean,boolean):77:85 -> <init>
    12:20:void <init>(com.android.tools.r8.utils.Reporter,int,com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.StringConsumer,com.android.tools.r8.graph.DexItemFactory):94:102 -> <init>
    1:1:com.android.tools.r8.utils.AndroidApp getInputApp():74:74 -> a
    1:1:com.android.tools.r8.utils.InternalOptions getInternalOptions():106:106 -> b
    2:2:com.android.tools.r8.utils.Reporter getReporter():58:58 -> b
    2:2:com.android.tools.r8.utils.InternalOptions getInternalOptions():106 -> b
    3:5:com.android.tools.r8.utils.InternalOptions getInternalOptions():106:108 -> b
    1:1:com.android.tools.r8.BackportedMethodListCommand$Builder builder():113:113 -> builder
    2:2:com.android.tools.r8.BackportedMethodListCommand$Builder builder(com.android.tools.r8.DiagnosticsHandler):117:117 -> builder
    1:1:com.android.tools.r8.utils.Reporter getReporter():58:58 -> c
    1:1:com.android.tools.r8.StringConsumer getBackportedMethodListConsumer():70:70 -> getBackportedMethodListConsumer
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification getDesugaredLibraryConfiguration():66:66 -> getDesugaredLibraryConfiguration
    1:1:int getMinApiLevel():62:62 -> getMinApiLevel
    1:1:boolean isPrintHelp():50:50 -> isPrintHelp
    1:1:boolean isPrintVersion():54:54 -> isPrintVersion
    1:12:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):122:133 -> parse
    13:13:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):0:0 -> parse
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":470,"2":471,"3":472}}
    470:470:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):133:133 -> parse
    471:471:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):133:133 -> parse
    472:472:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):133:133 -> parse
    146:146:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):133:133 -> parse
    147:147:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):0:0 -> parse
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":470,"2":471,"3":472}}
    470:470:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):133:133 -> parse
    471:471:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):133:133 -> parse
    472:472:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):133:133 -> parse
    280:290:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):133:143 -> parse
    291:297:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):164:170 -> parse
    291:297:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
    298:298:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):0:0 -> parse
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":470,"2":471,"3":472,"4":473,"5":474}}
    470:470:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):170:170 -> parse
    470:470:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
    471:471:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):170:170 -> parse
    471:471:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
    472:472:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):170:170 -> parse
    472:472:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
    473:473:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):170:170 -> parse
    473:473:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
    474:474:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):170:170 -> parse
    474:474:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
    299:302:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):170:173 -> parse
    299:302:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
    303:303:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):166:166 -> parse
    303:303:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
    304:304:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):0:0 -> parse
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":470,"2":471,"3":472,"4":473,"5":474}}
    470:470:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):166:166 -> parse
    470:470:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
    471:471:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):166:166 -> parse
    471:471:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
    472:472:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):166:166 -> parse
    472:472:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
    473:473:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):166:166 -> parse
    473:473:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
    474:474:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):166:166 -> parse
    474:474:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
    305:305:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):166:166 -> parse
    305:305:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):145 -> parse
    306:313:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):148:155 -> parse
    314:314:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):0:0 -> parse
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":470,"2":471,"3":472,"4":473,"5":474}}
    470:470:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):155:155 -> parse
    471:471:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):155:155 -> parse
    472:472:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):155:155 -> parse
    473:473:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):155:155 -> parse
    474:474:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):155:155 -> parse
    469:469:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):155:155 -> 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):177:177 -> <init>
    2:2:void <init>(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.BackportedMethodListCommand$1):177:177 -> <init>
    3:3:void <init>():188:188 -> <init>
    4:4:void <init>(com.android.tools.r8.DiagnosticsHandler):191:191 -> <init>
    5:18:void <init>(com.android.tools.r8.DiagnosticsHandler):180:193 -> <init>
    1:1:void access$200(com.android.tools.r8.BackportedMethodListCommand$Builder,com.android.tools.r8.Diagnostic):177:177 -> a
    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):177 -> a
    1:1:com.android.tools.r8.BackportedMethodListCommand$Builder addDesugaredLibraryConfiguration(com.android.tools.r8.StringResource):218:218 -> addDesugaredLibraryConfiguration
    2:2:com.android.tools.r8.BackportedMethodListCommand$Builder addDesugaredLibraryConfiguration(java.lang.String):225:225 -> addDesugaredLibraryConfiguration
    3:3:com.android.tools.r8.BackportedMethodListCommand$Builder addDesugaredLibraryConfiguration(java.lang.String):224:224 -> addDesugaredLibraryConfiguration
    1:1:com.android.tools.r8.BackportedMethodListCommand$Builder addLibraryFiles(java.nio.file.Path[]):236:236 -> addLibraryFiles
    2:3:com.android.tools.r8.BackportedMethodListCommand$Builder addLibraryFiles(java.util.Collection):242:243 -> addLibraryFiles
    1:1:com.android.tools.r8.BackportedMethodListCommand$Builder addLibraryResourceProvider(com.android.tools.r8.ClassFileResourceProvider):230:230 -> addLibraryResourceProvider
    1:25:com.android.tools.r8.BackportedMethodListCommand build():308:332 -> build
    26:36:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification getDesugaredLibraryConfiguration(com.android.tools.r8.graph.DexItemFactory):249:259 -> build
    26: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():213:213 -> 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):205:205 -> setMinApiLevel
    2:2:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):0:0 -> setMinApiLevel
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":210,"2":211,"3":212,"4":213,"5":214}}
    210:210:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):205:205 -> setMinApiLevel
    211:211:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):205:205 -> setMinApiLevel
    212:212:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):205:205 -> setMinApiLevel
    213:213:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):205:205 -> setMinApiLevel
    214:214:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):205:205 -> setMinApiLevel
    207:209:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):205:207 -> 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>():188:188 -> <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>():37:37 -> <clinit>
    1:16:void <init>(boolean,boolean):57:72 -> <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):92:109 -> <init>
    boolean lambda$new$0(java.lang.String,java.lang.Long) -> a
    1:1:com.android.tools.r8.utils.InternalOptions$DesugarState getDesugarState():156:156 -> c
    1:1:com.android.tools.r8.utils.DumpInputFlags getDumpInputFlags():199:199 -> d
    1:1:com.android.tools.r8.utils.Reporter getReporter():203:203 -> e
    1:1:java.util.List getAssertionsConfiguration():186:186 -> getAssertionsConfiguration
    1:1:java.util.function.BiPredicate getDexClassChecksumFilter():174:174 -> getDexClassChecksumFilter
    1:1:boolean getEnableDesugaring():152:152 -> getEnableDesugaring
    1:1:boolean getIncludeClassesChecksum():169:169 -> getIncludeClassesChecksum
    1:1:com.android.tools.r8.StringConsumer getMainDexListConsumer():147:147 -> getMainDexListConsumer
    1:1:com.android.tools.r8.MapIdProvider getMapIdProvider():160:160 -> getMapIdProvider
    1:1:int getMinApiLevel():122:122 -> getMinApiLevel
    1:1:com.android.tools.r8.CompilationMode getMode():117:117 -> getMode
    1:1:java.util.Collection getOutputInspections():190:190 -> getOutputInspections
    1:1:com.android.tools.r8.ProgramConsumer getProgramConsumer():140:140 -> getProgramConsumer
    1:1:com.android.tools.r8.SourceFileProvider getSourceFileProvider():164:164 -> getSourceFileProvider
    1:1:int getThreadCount():195:195 -> getThreadCount
    1:1:boolean isOptimizeMultidexForLinearAlloc():182:182 -> 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>():213:213 -> <clinit>
    1:1:void <init>(com.android.tools.r8.DiagnosticsHandler):246:246 -> <init>
    2:32:void <init>(com.android.tools.r8.DiagnosticsHandler):217:247 -> <init>
    33:33:void <init>(com.android.tools.r8.utils.AndroidApp):252:252 -> <init>
    34:70:void <init>(com.android.tools.r8.utils.AndroidApp):217:253 -> <init>
    71:71:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler):258:258 -> <init>
    72:114:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler):217:259 -> <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):452:484 -> a
    34:45:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification getDesugaredLibraryConfiguration(com.android.tools.r8.graph.DexItemFactory,boolean):578:589 -> a
    46:46:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification getDesugaredLibraryConfiguration(com.android.tools.r8.graph.DexItemFactory,boolean):582:582 -> a
    47:47:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    47:47:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification getDesugaredLibraryConfiguration(com.android.tools.r8.graph.DexItemFactory,boolean):582 -> a
    48:48:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    48:48:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    48:48:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification getDesugaredLibraryConfiguration(com.android.tools.r8.graph.DexItemFactory,boolean):582 -> a
    49:49:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification getDesugaredLibraryConfiguration(com.android.tools.r8.graph.DexItemFactory,boolean):582:582 -> a
    50:54:com.android.tools.r8.BaseCompilerCommand$Builder setThreadCount(int):605:609 -> a
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder addAssertionsConfiguration(java.util.function.Function):629:630 -> addAssertionsConfiguration
    3:3:com.android.tools.r8.AssertionsConfiguration$Builder com.android.tools.r8.AssertionsConfiguration.builder(com.android.tools.r8.utils.Reporter):56:56 -> addAssertionsConfiguration
    3:3:com.android.tools.r8.BaseCompilerCommand$Builder addAssertionsConfiguration(java.util.function.Function):630 -> addAssertionsConfiguration
    4:4:com.android.tools.r8.BaseCompilerCommand$Builder addAssertionsConfiguration(java.util.function.Function):630:630 -> addAssertionsConfiguration
    5:7:com.android.tools.r8.BaseCompilerCommand$Builder addAssertionsConfiguration(java.util.function.Function):629:631 -> addAssertionsConfiguration
    1:3:com.android.tools.r8.BaseCompilerCommand$Builder addDesugaredLibraryConfiguration(java.lang.String):565:565 -> addDesugaredLibraryConfiguration
    5:5:com.android.tools.r8.BaseCompilerCommand$Builder addDesugaredLibraryConfiguration(java.lang.String):567:567 -> addDesugaredLibraryConfiguration
    6:7:com.android.tools.r8.BaseCompilerCommand$Builder addDesugaredLibraryConfiguration(com.android.tools.r8.StringResource):572:573 -> addDesugaredLibraryConfiguration
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder addOutputInspection(java.util.function.Consumer):712:713 -> addOutputInspection
    1:1:com.android.tools.r8.BaseCompilerCommand$Builder addSpecialLibraryConfiguration(java.lang.String):559:559 -> addSpecialLibraryConfiguration
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder dumpInputToDirectory(java.nio.file.Path):640:641 -> c
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder dumpInputToFile(java.nio.file.Path):635:636 -> d
    1:32:void validate():650:681 -> f
    33:33:void validate():0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":721,"2":722,"3":723}}
    721:721:void validate():682:682 -> f
    722:722:void validate():682:682 -> f
    723:723:void validate():682:682 -> f
    717:719:void validate():684:686 -> f
    720:720:void validate():682:682 -> f
    com.android.tools.r8.CompilationMode defaultCompilationMode() -> g
    1:1:java.util.function.BiPredicate getDexClassChecksumFilter():347:347 -> getDexClassChecksumFilter
    1:1:boolean getDisableDesugaring():530:530 -> getDisableDesugaring
    1:1:boolean getIncludeClassesChecksum():618:618 -> getIncludeClassesChecksum
    1:1:com.android.tools.r8.StringConsumer getMainDexListConsumer():340:340 -> getMainDexListConsumer
    1:1:com.android.tools.r8.MapIdProvider getMapIdProvider():544:544 -> getMapIdProvider
    1:1:int getMinApiLevel():489:489 -> getMinApiLevel
    1:1:com.android.tools.r8.CompilationMode getMode():266:266 -> getMode
    1:1:com.android.tools.r8.OutputMode getOutputMode():295:295 -> getOutputMode
    1:1:java.nio.file.Path getOutputPath():285:285 -> getOutputPath
    1:1:com.android.tools.r8.ProgramConsumer getProgramConsumer():306:306 -> getProgramConsumer
    1:1:com.android.tools.r8.SourceFileProvider getSourceFileProvider():554:554 -> getSourceFileProvider
    1:1:java.util.List getAssertionsConfiguration():622:622 -> h
    1:1:com.android.tools.r8.utils.DumpInputFlags getDumpInputFlags():645:645 -> i
    1:1:java.util.List getOutputInspections():717:717 -> j
    1:1:int getThreadCount():613:613 -> k
    1:1:boolean hasDesugaredLibraryConfiguration():593:593 -> l
    1:1:boolean isMinApiLevelSet():493:493 -> m
    1:1:boolean isOptimizeMultidexForLinearAlloc():365:365 -> n
    1:3:com.android.tools.r8.BaseCompilerCommand$Builder setDexClassChecksumFilter(java.util.function.BiPredicate):443:445 -> setDexClassChecksumFilter
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setDisableDesugaring(boolean):524:525 -> setDisableDesugaring
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setEnableDesugaring(boolean):508:509 -> setEnableDesugaring
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setIncludeClassesChecksum(boolean):598:599 -> setIncludeClassesChecksum
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setMainDexListConsumer(com.android.tools.r8.StringConsumer):408:409 -> setMainDexListConsumer
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setMainDexListOutputPath(java.nio.file.Path):395:396 -> setMainDexListOutputPath
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setMapIdProvider(com.android.tools.r8.MapIdProvider):539:540 -> setMapIdProvider
    1:5:com.android.tools.r8.BaseCompilerCommand$Builder setMinApiLevel(int):499:503 -> setMinApiLevel
    1:3:com.android.tools.r8.BaseCompilerCommand$Builder setMode(com.android.tools.r8.CompilationMode):273:275 -> setMode
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setOptimizeMultidexForLinearAlloc(boolean):356:357 -> setOptimizeMultidexForLinearAlloc
    1:1:com.android.tools.r8.BaseCompilerCommand$Builder setOutput(java.nio.file.Path,com.android.tools.r8.OutputMode):423:423 -> setOutput
    2:7:com.android.tools.r8.BaseCompilerCommand$Builder setOutput(java.nio.file.Path,com.android.tools.r8.OutputMode,boolean):428:433 -> setOutput
    1:4:com.android.tools.r8.BaseCompilerCommand$Builder setProgramConsumer(com.android.tools.r8.ProgramConsumer):379:382 -> setProgramConsumer
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setProguardMapConsumer(com.android.tools.r8.StringConsumer):332:333 -> setProguardMapConsumer
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setSourceFileProvider(com.android.tools.r8.SourceFileProvider):549:550 -> 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):459:459 -> <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):466:466 -> <init>
com.android.tools.r8.BaseCompilerCommandParser -> com.android.tools.r8.i:
    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:66:void <clinit>():18:83 -> <clinit>
    1:1:void <init>():18:18 -> <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):69:80 -> 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):71:71 -> a
    14:26:void addAssertionTransformation(com.android.tools.r8.BaseCompilerCommand$Builder,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,java.lang.String):88:100 -> a
    27:27:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$0(com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.AssertionsConfiguration$Builder):89:89 -> a
    28:30:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$1(com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):95:97 -> a
    31:33:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$1(com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):96:98 -> a
    34:73:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):108:147 -> a
    74:74: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":225,"2":226,"3":227,"4":228,"5":229}}
    225:225:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):147:147 -> a
    226:226:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):147:147 -> a
    227:227:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):147:147 -> a
    228:228:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):147:147 -> a
    229:229:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):147:147 -> a
    221:224:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):147:150 -> a
    230:234: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):191:195 -> a
    235:235: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":678,"2":679,"3":680,"4":681,"5":682,"6":683}}
    678:678: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):195:195 -> a
    679:679: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):195:195 -> a
    680:680: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):195:195 -> a
    681:681: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):195:195 -> a
    682:682: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):195:195 -> a
    683:683: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):195:195 -> a
    430:441: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):195:206 -> a
    442:442: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):202:202 -> a
    443:443: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":690,"2":691,"3":692,"4":693,"5":694,"6":695}}
    690:690: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):202:202 -> a
    691:691: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):202:202 -> a
    692:692: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):202:202 -> a
    693:693: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):202:202 -> a
    694:694: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):202:202 -> a
    695:695: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):202:202 -> a
    645:651: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):202:208 -> a
    652:661:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):165:174 -> a
    652:661: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):208 -> a
    662:662: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":696,"2":697,"3":698,"4":699,"5":700,"6":701}}
    696:696:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):174:174 -> a
    696:696: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):208 -> a
    697:697:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):174:174 -> a
    697:697: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):208 -> a
    698:698:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):174:174 -> a
    698:698: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):208 -> a
    699:699:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):174:174 -> a
    699:699: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):208 -> a
    700:700:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):174:174 -> a
    700:700: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):208 -> a
    701:701:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):174:174 -> a
    701:701: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):208 -> a
    663:663:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):174:174 -> a
    663:663: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):208 -> a
    664:664: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):209:209 -> a
    665:674:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):165:174 -> a
    665:674: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):209 -> a
    675:675: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":702,"2":703,"3":704,"4":705,"5":706,"6":707}}
    702:702:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):174:174 -> a
    702:702: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):209 -> a
    703:703:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):174:174 -> a
    703:703: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):209 -> a
    704:704:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):174:174 -> a
    704:704: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):209 -> a
    705:705:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):174:174 -> a
    705:705: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):209 -> a
    706:706:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):174:174 -> a
    706:706: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):209 -> a
    707:707:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):174:174 -> a
    707:707: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):209 -> a
    676:676:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):174:174 -> a
    676:676: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):209 -> a
    677:677: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):211:211 -> a
    708:712:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):217:221 -> a
    713:713: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":942,"2":943,"3":944,"4":945,"5":946,"6":947}}
    942:942:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):221:221 -> a
    943:943:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):221:221 -> a
    944:944:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):221:221 -> a
    945:945:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):221:221 -> a
    946:946:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):221:221 -> a
    947:947:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):221:221 -> a
    934:941:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):221:228 -> a
    948:948:void addLibraryArgument(com.android.tools.r8.BaseCommand$Builder,com.android.tools.r8.origin.Origin,java.lang.String):256:256 -> a
    949:960:boolean isJdkHome(java.nio.file.Path):238:249 -> a
    949:960:void addLibraryArgument(com.android.tools.r8.BaseCommand$Builder,com.android.tools.r8.origin.Origin,java.lang.String):257 -> a
    961:966:void addLibraryArgument(com.android.tools.r8.BaseCommand$Builder,com.android.tools.r8.origin.Origin,java.lang.String):260:265 -> a
    1:1:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$2(com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):101:101 -> b
    2:4:int tryParseMapDiagnostics(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):159:159 -> b
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>():85:85 -> <clinit>
    1:3:void lambda$run$0(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):103:105 -> a
    4:10:void run(java.lang.String[]):128:134 -> a
    4:10:void lambda$main$2(java.lang.String[]):151 -> 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[]):134:134 -> a
    18:18:void lambda$main$2(java.lang.String[]):151 -> a
    19:19:void run(java.lang.String[]):134:134 -> a
    19:19:void lambda$main$2(java.lang.String[]):151 -> a
    20:20:void run(java.lang.String[]):134:134 -> a
    20:20:void lambda$main$2(java.lang.String[]):151 -> a
    12:17:void run(java.lang.String[]):134:139 -> a
    12:17:void lambda$main$2(java.lang.String[]):151 -> a
    21:22:void runForTesting(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):156:157 -> a
    23:23:java.lang.Boolean lambda$run$4(com.android.tools.r8.utils.InternalOptions):195:195 -> a
    24:26:void lambda$run$5(com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis,com.android.tools.r8.graph.DexProgramClass):211:213 -> a
    27:27:void lambda$run$6(java.lang.String):243:243 -> 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):353:373 -> 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):370:375 -> 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):375 -> 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):376:395 -> a
    76:76:com.android.tools.r8.graph.DexApplication com.android.tools.r8.graph.LazyLoadedDexApplication$Builder.build():219:219 -> 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):395 -> 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):401:403 -> a
    1:1:void lambda$run$1(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):123:123 -> b
    1:3:void lambda$runForTesting$3(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):161:163 -> c
    1:6:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):180:185 -> 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":772,"2":773,"3":774}}
    772:772:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):185:185 -> d
    773:773:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):185:185 -> d
    774:774:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):185:185 -> d
    192:193:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):185:186 -> d
    194:194: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":772,"2":773,"3":774}}
    772:772:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):186:186 -> d
    773:773:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):186:186 -> d
    774:774:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):186:186 -> d
    380:381:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):186:187 -> d
    382:382: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":772,"2":773,"3":774}}
    772:772:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):187:187 -> d
    773:773:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):187:187 -> d
    774:774:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):187:187 -> d
    569:577:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):187:195 -> d
    578:578:boolean com.android.tools.r8.utils.AssertionUtils.forTesting(com.android.tools.r8.utils.InternalOptions,java.util.function.Supplier):17:17 -> d
    578:578:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):195 -> d
    579:579:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):195:195 -> d
    580:584: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):171:175 -> d
    580:584:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):197 -> d
    585:596:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):198:209 -> d
    597:653:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):208:264 -> d
    654:657: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
    654:657:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):264 -> d
    658:658:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):265:265 -> d
    659:664: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
    659:664:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):265 -> d
    665:665:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> d
    665:665:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):267 -> d
    666:666:void finalizeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.naming.NamingLens):339:339 -> d
    666:666:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):268 -> d
    667:667:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):269:269 -> d
    668:668:com.android.tools.r8.ClassFileConsumer com.android.tools.r8.utils.InternalOptions.getClassFileConsumer():493:493 -> d
    668:668:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):270 -> d
    669:690:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):270:291 -> d
    691:703:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):285:297 -> d
    704:708:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):294:298 -> d
    709:710:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):274:275 -> d
    711:711:void com.android.tools.r8.naming.signature.GenericSignatureRewriter.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):31:31 -> d
    711:711:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):275 -> d
    712:744:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):276:308 -> d
    745:747:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):307:309 -> d
    748:748:void finalizeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.naming.NamingLens):339:339 -> d
    748:748:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):311 -> d
    749:764:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):313:328 -> d
    765:765:java.lang.RuntimeException com.android.tools.r8.utils.ExceptionUtils.unwrapExecutionException(java.util.concurrent.ExecutionException):221:221 -> d
    765:765:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):323 -> d
    766:771:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):323:328 -> d
    1:4:void main(java.lang.String[]):148:151 -> main
    5:5:void main(java.lang.String[]):149:149 -> main
    1:5:void run(com.android.tools.r8.D8Command):96:100 -> run
    6:6:void run(com.android.tools.r8.D8Command):99:99 -> run
    7:10:void run(com.android.tools.r8.D8Command,java.util.concurrent.ExecutorService):118:121 -> run
    11:11:void run(com.android.tools.r8.D8Command,java.util.concurrent.ExecutorService):120:120 -> run
com.android.tools.r8.D8$ConvertedCfFiles -> com.android.tools.r8.j:
    java.util.List resources -> a
    1:3:void <init>():418:420 -> <init>
    1:3:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):426:428 -> accept
    4:4:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):427:427 -> accept
    5:5:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):426:426 -> accept
    1:1:java.util.Collection getProgramResources():433:433 -> 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
    boolean intermediate -> u
    com.android.tools.r8.StringConsumer desugaredLibraryKeepRuleConsumer -> w
    boolean $assertionsDisabled -> E
    com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification desugaredLibrarySpecification -> x
    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.legacyspecification.LegacyDesugaredLibrarySpecification,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.legacyspecification.LegacyDesugaredLibrarySpecification,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():477:477 -> 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:72:com.android.tools.r8.utils.InternalOptions getInternalOptions():462:519 -> b
    73:73:com.android.tools.r8.DumpOptions dumpOptions():526:526 -> b
    73:73:com.android.tools.r8.utils.InternalOptions getInternalOptions():520 -> b
    74:78:void com.android.tools.r8.BaseCompilerCommand.dumpBaseCommandOptions(com.android.tools.r8.DumpOptions$Builder):127:131 -> b
    74:78:com.android.tools.r8.DumpOptions dumpOptions():527 -> b
    74:78:com.android.tools.r8.utils.InternalOptions getInternalOptions():520 -> b
    79:83:com.android.tools.r8.DumpOptions dumpOptions():528:532 -> b
    79:83:com.android.tools.r8.utils.InternalOptions getInternalOptions():520 -> b
    84:84:com.android.tools.r8.utils.InternalOptions getInternalOptions():520:520 -> 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():534:534 -> 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.k:
    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.m:
    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: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":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
    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":1078,"2":1079,"3":1080}}
    1078:1078: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
    1079:1079: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
    1080:1080: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":1115,"2":1116,"3":1117}}
    1115:1115: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
    1116:1116: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
    1117:1117: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":1184,"2":1185,"3":1186,"4":1187,"5":1188}}
    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
    1186:1186: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
    1187:1187: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
    1188:1188: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:1061:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):298:305 -> a
    1062:1062:boolean com.android.tools.r8.D8CommandParser$OrderedClassFileResourceProvider$Builder.isEmpty():68:68 -> a
    1062:1062:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):305 -> a
    1063:1074: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.l:
    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.l$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.n:
    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.o:
    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.p:
    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.ce:
    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.q:
    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.de:
    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.r:
    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.s:
    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:1:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):41:41 -> a
    2:2:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
    2:2:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):41 -> a
    3:4:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):41:42 -> a
    5:5:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
    5:5:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):42 -> a
    6:23:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):42:59 -> a
    24:24: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":82,"2":83,"3":84}}
    82:82:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):46:46 -> a
    83:83:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):46:46 -> a
    84:84:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):47:47 -> a
    73:81:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):49:57 -> a
    85:86:void run(com.android.tools.r8.D8Command,java.lang.Boolean,java.util.Map):65:66 -> a
    87:87:void lambda$run$0(com.android.tools.r8.D8Command,com.android.tools.r8.utils.InternalOptions,java.lang.Boolean,java.util.Map):68:68 -> a
    88:100:void runInternal(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.lang.Boolean,java.util.Map):77:89 -> a
    101:101: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
    101:101:void runInternal(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.lang.Boolean,java.util.Map):90 -> a
    102:102:void runInternal(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.lang.Boolean,java.util.Map):97:97 -> a
    103:126:void runInternal(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.lang.Boolean,java.util.Map):96:119 -> a
    127:127:java.lang.RuntimeException com.android.tools.r8.utils.ExceptionUtils.unwrapExecutionException(java.util.concurrent.ExecutionException):221:221 -> a
    127:127:void runInternal(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.lang.Boolean,java.util.Map):114 -> a
    128:133:void runInternal(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.lang.Boolean,java.util.Map):114:119 -> 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.t:
    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.t$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.t$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.t$b:
    int size -> b
    int items -> a
    1:3:void <init>():157:159 -> <init>
    1:2:void increment(int,int):163:164 -> a
    3:3: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.u:
    1:19:void disassemble(com.android.tools.r8.Disassemble$DisassembleCommand):238:256 -> a
com.android.tools.r8.Disassemble$DisassembleCommand -> com.android.tools.r8.u$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.u$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.v:
    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.legacyspecification.LegacyDesugaredLibrarySpecification 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.legacyspecification.LegacyDesugaredLibrarySpecification,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.legacyspecification.LegacyDesugaredLibrarySpecification,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():169:169 -> a
    8:8:com.android.tools.r8.DumpOptions$Builder builder(com.android.tools.r8.dex.Marker$Tool):173:173 -> 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:2:boolean hasDesugaredLibraryConfiguration():136:137 -> c
    1:2:java.lang.String getDesugaredLibraryJsonSource():141 -> c
    3:3:java.lang.String getDesugaredLibraryJsonSource():142:142 -> c
    1:1:com.android.tools.r8.features.FeatureSplitConfiguration getFeatureSplitConfiguration():148:148 -> d
    1:1:java.util.List getMainDexKeepRules():165:165 -> e
    1:1:java.lang.String getParsedProguardConfiguration():157:157 -> f
    1:1:boolean hasMainDexKeepRules():161:161 -> g
com.android.tools.r8.DumpOptions$Builder -> com.android.tools.r8.v$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.legacyspecification.LegacyDesugaredLibrarySpecification 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):197:197 -> <init>
    2:17:void <init>(com.android.tools.r8.dex.Marker$Tool):183:198 -> <init>
    1:1:com.android.tools.r8.DumpOptions$Builder setCompilationMode(com.android.tools.r8.CompilationMode):202:202 -> a
    2:2:com.android.tools.r8.DumpOptions$Builder setMinApi(int):207:207 -> a
    3:3:com.android.tools.r8.DumpOptions$Builder setDesugaredLibraryConfiguration(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification):213:213 -> a
    4:4:com.android.tools.r8.DumpOptions$Builder setDesugarState(com.android.tools.r8.utils.InternalOptions$DesugarState):228:228 -> a
    5:5:com.android.tools.r8.DumpOptions$Builder setIncludeDataResources(java.util.Optional):238:238 -> a
    6:6:com.android.tools.r8.DumpOptions$Builder setForceProguardCompatibility(boolean):243:243 -> a
    7:7:com.android.tools.r8.DumpOptions$Builder setFeatureSplitConfiguration(com.android.tools.r8.features.FeatureSplitConfiguration):264:264 -> a
    8:8:com.android.tools.r8.DumpOptions$Builder setProguardConfiguration(com.android.tools.r8.shaking.ProguardConfiguration):269:269 -> a
    9:9:com.android.tools.r8.DumpOptions$Builder setMainDexKeepRules(java.util.List):274:274 -> a
    10:10:com.android.tools.r8.DumpOptions build():279:279 -> a
    1:1:com.android.tools.r8.DumpOptions$Builder setThreadCount(int):223:223 -> b
    2:2:com.android.tools.r8.DumpOptions$Builder setIntermediate(boolean):233:233 -> b
    1:1:com.android.tools.r8.DumpOptions$Builder setMinification(boolean):248:248 -> c
    1:1:com.android.tools.r8.DumpOptions$Builder setOptimizeMultidexForLinearAlloc(boolean):218:218 -> d
    1:1:com.android.tools.r8.DumpOptions$Builder setTreeShaking(boolean):253:253 -> 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.Zi:
    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.x:
    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.w:
    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.y:
    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.z:
    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.E:
    java.nio.file.Path desugaredLibraryImplementation -> e
    java.util.Set parallelMethods -> g
    com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification desugaredLibrarySpecification -> d
    com.android.tools.r8.utils.InternalOptions options -> c
    java.nio.file.Path outputDirectory -> f
    boolean $assertionsDisabled -> h
    com.android.tools.r8.utils.Reporter reporter -> b
    com.android.tools.r8.graph.DexItemFactory factory -> a
    1:1:void <clinit>():68:68 -> <clinit>
    1:1:void <init>(java.lang.String,java.lang.String,java.lang.String):84:84 -> <init>
    2:28:void <init>(java.lang.String,java.lang.String,java.lang.String):72:98 -> <init>
    29:41:void <init>(java.lang.String,java.lang.String,java.lang.String):95:107 -> <init>
    42:48:void <init>(java.lang.String,java.lang.String,java.lang.String):106:112 -> <init>
    49:51:void <init>(java.lang.String,java.lang.String,java.lang.String):111:113 -> <init>
    52:52:void <init>(java.lang.String,java.lang.String,java.lang.String):90:90 -> <init>
    53:53:void <init>(java.lang.String,java.lang.String,java.lang.String):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":144,"2":145,"3":146,"4":147,"5":148,"6":149}}
    144:144:void <init>(java.lang.String,java.lang.String,java.lang.String):90:90 -> <init>
    145:145:void <init>(java.lang.String,java.lang.String,java.lang.String):90:90 -> <init>
    146:146:void <init>(java.lang.String,java.lang.String,java.lang.String):90:90 -> <init>
    147:147:void <init>(java.lang.String,java.lang.String,java.lang.String):90:90 -> <init>
    148:148:void <init>(java.lang.String,java.lang.String,java.lang.String):90:90 -> <init>
    149:149:void <init>(java.lang.String,java.lang.String,java.lang.String):90:90 -> <init>
    143:143:void <init>(java.lang.String,java.lang.String,java.lang.String):90:90 -> <init>
    1:3:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification readDesugaredLibraryConfiguration(java.lang.String):124:126 -> a
    4:14:void addMethodsToHeaderJar(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.graph.DexClass,java.util.List):136:146 -> a
    15:16:com.android.tools.r8.graph.CfCode buildEmptyThrowingCfCode(com.android.tools.r8.graph.DexMethod):130:131 -> a
    15:16:void addMethodsToHeaderJar(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.graph.DexClass,java.util.List):146 -> a
    17:28:void addMethodsToHeaderJar(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.graph.DexClass,java.util.List):149:160 -> a
    29:62:void addMethodsToHeaderJar(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.graph.DexClass,java.util.List):158:191 -> a
    63:63:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):212:212 -> a
    64:65:java.nio.file.Path getAndroidJarPath(com.android.tools.r8.utils.AndroidApiLevel):118:119 -> a
    64:65:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):212 -> a
    66:84:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):212:230 -> a
    85:85:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DirectMappedDexApplication.programDefinitionFor(com.android.tools.r8.graph.DexType):80:80 -> a
    85:85:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):230 -> a
    86:87:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):235:236 -> a
    88:88:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():440:440 -> a
    88:88:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):236 -> a
    89:98:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):240:249 -> a
    99:99:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):232:232 -> a
    100:100: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":386,"2":387,"3":388}}
    386:386:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):232:232 -> a
    387:387:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):232:232 -> a
    388:388:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):232:232 -> a
    332:385:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):232:285 -> a
    389:389:java.util.List lambda$collectSupportedMethods$0(com.android.tools.r8.graph.DexClass):243:243 -> a
    390:390:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):296:296 -> a
    391:391: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":694,"2":695,"3":696}}
    694:694:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):296:296 -> a
    695:695:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):296:296 -> a
    696:696:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):296:296 -> a
    687:689:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):296:298 -> a
    690:690: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":697,"2":698,"3":699}}
    697:697:java.lang.String lintBaseFileName(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel):290:290 -> a
    697:697:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):301 -> a
    698:698:java.lang.String lintBaseFileName(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel):290:290 -> a
    698:698:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):301 -> a
    699:699:java.lang.String lintBaseFileName(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel):290:290 -> a
    699:699:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):301 -> a
    691:691:java.lang.String lintBaseFileName(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel):290:290 -> a
    691:691:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):301 -> a
    692:692:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):301:301 -> a
    693:693:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):298:298 -> a
    700:729:void writeLintFiles(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.GenerateLintFiles$SupportedMethods):311:340 -> a
    730:745:void writeLintFiles(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.GenerateLintFiles$SupportedMethods):339:354 -> a
    746:758:void lambda$writeLintFiles$3(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):316:328 -> a
    759:759:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> a
    759:759:void lambda$writeLintFiles$3(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 -> a
    760:760:void lambda$writeLintFiles$3(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:328 -> a
    761:771:void lambda$writeLintFiles$3(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):324:334 -> a
    772:785:void generateLintFiles(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate,java.util.function.BiPredicate):362:375 -> a
    786:786:boolean lambda$generateLintFiles$4(java.util.function.BiPredicate,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.graph.DexEncodedMethod):372:372 -> a
    787:787:void run(int):390:390 -> a
    788:788:void run(int):389:389 -> a
    789:789:boolean lambda$run$5(com.android.tools.r8.utils.AndroidApiLevel):391:391 -> a
    790:795:boolean lambda$run$6(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.graph.DexEncodedMethod):393:398 -> a
    796:810:void generateClassHTML(java.io.PrintStream,com.android.tools.r8.graph.DexClass,boolean,java.util.function.Predicate,java.util.function.Predicate):740:754 -> a
    811:811:boolean lambda$generateClassHTML$7(com.android.tools.r8.graph.DexEncodedField):743:743 -> a
    812:812:void lambda$generateClassHTML$8(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedField):745:745 -> a
    813:813: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):432:432 -> a
    813:813:void lambda$generateClassHTML$8(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedField):745 -> a
    814:814:com.android.tools.r8.GenerateLintFiles$SourceBuilder com.android.tools.r8.GenerateLintFiles$SourceBuilder.addField(com.android.tools.r8.graph.DexEncodedField):454:454 -> a
    814:814: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):432 -> a
    814:814:void lambda$generateClassHTML$8(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedField):745 -> a
    815:816:boolean lambda$generateClassHTML$9(com.android.tools.r8.graph.DexEncodedMethod):750:751 -> a
    817:817:void lambda$generateClassHTML$10(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedMethod):753:753 -> a
    818:818: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):432:432 -> a
    818:818:void lambda$generateClassHTML$10(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedMethod):753 -> a
    819:823:com.android.tools.r8.GenerateLintFiles$SourceBuilder com.android.tools.r8.GenerateLintFiles$SourceBuilder.addMethod(com.android.tools.r8.graph.DexEncodedMethod):459:463 -> a
    819:823: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):432 -> a
    819:823:void lambda$generateClassHTML$10(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedMethod):753 -> a
    824:835:void generateDesugaredLibraryApisDocumetation():758:769 -> a
    836:836:void lambda$generateDesugaredLibraryApisDocumetation$15(java.io.PrintStream,com.android.tools.r8.graph.DexClass):763:763 -> a
    837:837:boolean lambda$generateDesugaredLibraryApisDocumetation$16(com.android.tools.r8.GenerateLintFiles$SupportedMethods,com.android.tools.r8.graph.DexClass):767:767 -> a
    838:838:void lambda$generateDesugaredLibraryApisDocumetation$20(java.io.PrintStream,com.android.tools.r8.GenerateLintFiles$SupportedMethods,com.android.tools.r8.graph.DexClass):771:771 -> a
    839:839:boolean lambda$generateDesugaredLibraryApisDocumetation$19(com.android.tools.r8.GenerateLintFiles$SupportedMethods,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):776:776 -> a
    840:841:void main(java.lang.String[]):780:781 -> a
    842:846:void run():380:384 -> a
    842:846:void main(java.lang.String[]):781 -> a
    847:852:void main(java.lang.String[]):784:789 -> a
    boolean lambda$generateDesugaredLibraryApisDocumetation$11(com.android.tools.r8.graph.DexEncodedMethod) -> b
    boolean lambda$generateDesugaredLibraryApisDocumetation$13(com.android.tools.r8.graph.DexEncodedField) -> b
    1:1:java.util.List lambda$collectSupportedMethods$1(com.android.tools.r8.graph.DexClass):265:265 -> b
    boolean lambda$generateDesugaredLibraryApisDocumetation$14(com.android.tools.r8.graph.DexEncodedMethod) -> c
    boolean lambda$generateDesugaredLibraryApisDocumetation$18(com.android.tools.r8.graph.DexEncodedField) -> c
    1:1:java.util.List lambda$collectSupportedMethods$2(com.android.tools.r8.graph.DexClass):279:279 -> c
    1:1:java.lang.String lambda$generateDesugaredLibraryApisDocumetation$12(com.android.tools.r8.graph.DexClass):762:762 -> d
    1:1:java.lang.String lambda$generateDesugaredLibraryApisDocumetation$17(com.android.tools.r8.graph.DexClass):768:768 -> e
com.android.tools.r8.GenerateLintFiles$HTMLBuilder -> com.android.tools.r8.A:
    java.lang.String indent -> d
    1:2:void <init>():609:610 -> <init>
    3:3:void <init>(com.android.tools.r8.GenerateLintFiles$1):609:609 -> <init>
    1:1:void decreaseIndent():618:618 -> a
    1:1:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):644 -> 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():618:618 -> a
    9:9:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):644 -> a
    11:11:void decreaseIndent():618:618 -> a
    11:11:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):644 -> a
    3:3:void decreaseIndent():618:618 -> a
    3:3:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):644 -> a
    4:4:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.indent(java.lang.String):410:410 -> a
    4:4:void decreaseIndent():619 -> a
    4:4:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):644 -> 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):645:645 -> a
    10:10:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):645:645 -> a
    11:11:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):645:645 -> a
    12:12:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):645:645 -> a
    13:13:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):645:645 -> a
    14:14:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):645:645 -> a
    6:8:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):415:417 -> a
    6:8:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):645 -> 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):638:638 -> b
    10:10:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):638:638 -> b
    11:11:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):638:638 -> b
    12:12:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):638:638 -> b
    13:13:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):638:638 -> b
    14:14:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):638:638 -> b
    2:4:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):415:417 -> b
    2:4:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):638 -> b
    5:5:void increaseIndent():613:613 -> b
    5:5:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):639 -> 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():613:613 -> b
    9:9:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):639 -> b
    10:10:void increaseIndent():613:613 -> b
    10:10:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):639 -> b
    11:11:void increaseIndent():613:613 -> b
    11:11:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):639 -> b
    7:7:void increaseIndent():613:613 -> b
    7:7:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):639 -> b
    8:8:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.indent(java.lang.String):410:410 -> b
    8:8:void increaseIndent():614 -> b
    8:8:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):639 -> b
com.android.tools.r8.GenerateLintFiles$HTMLSourceBuilder -> com.android.tools.r8.B:
    java.util.Set parallelMethods -> h
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():650:650 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexClass,boolean,java.util.Set):654:655 -> <init>
    1:11:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):578:588 -> a
    1:11:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):650 -> 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):589:589 -> a
    58:58:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):650 -> a
    59:59:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):589:589 -> a
    59:59:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):650 -> a
    60:60:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):589:589 -> a
    60:60:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):650 -> a
    61:61:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):589:589 -> a
    61:61:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):650 -> a
    62:62:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):589:589 -> a
    62:62:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):650 -> a
    13:16:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):590:593 -> a
    13:16:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):650 -> a
    17:20:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):490:493 -> a
    17:20:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):596 -> a
    17:20:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):650 -> a
    21:21:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):479:479 -> a
    21:21:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):493 -> a
    21:21:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):596 -> a
    21:21:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):650 -> a
    22:26:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):469:473 -> a
    22:26:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):479 -> a
    22:26:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):493 -> a
    22:26:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):596 -> a
    22:26:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):650 -> a
    27:31:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):469:473 -> a
    27:31:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):481 -> a
    27:31:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):493 -> a
    27:31:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):596 -> a
    27:31:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):650 -> a
    32:32:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):486:486 -> a
    32:32:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):493 -> a
    32:32:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):596 -> a
    32:32:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):650 -> a
    33:33:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):596:596 -> a
    33:33:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):650 -> a
    34:37:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):490:493 -> a
    34:37:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):598 -> a
    34:37:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):650 -> a
    38:38:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):479:479 -> a
    38:38:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):493 -> a
    38:38:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):598 -> a
    38:38:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):650 -> a
    39:43:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):469:473 -> a
    39:43:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):479 -> a
    39:43:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):493 -> a
    39:43:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):598 -> a
    39:43:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):650 -> a
    44:48:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):469:473 -> a
    44:48:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):481 -> a
    44:48:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):493 -> a
    44:48:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):598 -> a
    44:48:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):650 -> a
    49:49:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):486:486 -> a
    49:49:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):493 -> a
    49:49:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):598 -> a
    49:49:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):650 -> a
    50:57:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):598:605 -> a
    50:57:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):650 -> a
    1:4:java.lang.String toString():665:668 -> 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):623:623 -> toString
    143:143:java.lang.String toString():668 -> toString
    144:144:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623:623 -> toString
    144:144:java.lang.String toString():668 -> toString
    145:145:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623:623 -> toString
    145:145:java.lang.String toString():668 -> toString
    146:146:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623:623 -> toString
    146:146:java.lang.String toString():668 -> toString
    147:147:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623:623 -> toString
    147:147:java.lang.String toString():668 -> toString
    148:148:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623:623 -> toString
    148:148:java.lang.String toString():668 -> toString
    6:8:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):415:417 -> toString
    6:8:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623 -> toString
    6:8:java.lang.String toString():668 -> toString
    9:9:java.lang.String toString():670:670 -> toString
    10:10:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):479:479 -> toString
    10:10:java.lang.String toString():670 -> toString
    11:15:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):469:473 -> toString
    11:15:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):479 -> toString
    11:15:java.lang.String toString():670 -> toString
    16:20:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):469:473 -> toString
    16:20:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):481 -> toString
    16:20:java.lang.String toString():670 -> toString
    21:21:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):486:486 -> toString
    21:21:java.lang.String toString():670 -> 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):623:623 -> toString
    143:143:java.lang.String toString():670 -> toString
    144:144:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623:623 -> toString
    144:144:java.lang.String toString():670 -> toString
    145:145:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623:623 -> toString
    145:145:java.lang.String toString():670 -> toString
    146:146:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623:623 -> toString
    146:146:java.lang.String toString():670 -> toString
    147:147:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623:623 -> toString
    147:147:java.lang.String toString():670 -> toString
    148:148:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623:623 -> toString
    148:148:java.lang.String toString():670 -> toString
    23:25:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):415:417 -> toString
    23:25:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):623 -> toString
    23:25:java.lang.String toString():670 -> toString
    26:33:java.lang.String toString():671:678 -> toString
    34:37:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):490:493 -> toString
    34:37:java.lang.String toString():678 -> toString
    38:38:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):479:479 -> toString
    38:38:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):493 -> toString
    38:38:java.lang.String toString():678 -> toString
    39:43:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):469:473 -> toString
    39:43:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):479 -> toString
    39:43:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):493 -> toString
    39:43:java.lang.String toString():678 -> toString
    44:48:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):469:473 -> toString
    44:48:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):481 -> toString
    44:48:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):493 -> toString
    44:48:java.lang.String toString():678 -> toString
    49:49:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):486:486 -> toString
    49:49:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):493 -> toString
    49:49:java.lang.String toString():678 -> toString
    50:52:java.lang.String toString():678:680 -> 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):633:633 -> toString
    143:143:java.lang.String toString():675 -> toString
    144:144:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
    144:144:java.lang.String toString():675 -> toString
    145:145:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
    145:145:java.lang.String toString():675 -> toString
    146:146:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
    146:146:java.lang.String toString():675 -> toString
    147:147:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
    147:147:java.lang.String toString():675 -> toString
    148:148:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
    148:148:java.lang.String toString():675 -> toString
    54:56:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):415:417 -> toString
    54:56:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633 -> toString
    54:56:java.lang.String toString():675 -> toString
    57:60:java.lang.String toString():683:686 -> toString
    61:61:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):479:479 -> toString
    61:61:java.lang.String toString():688 -> toString
    62:66:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):469:473 -> toString
    62:66:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):479 -> toString
    62:66:java.lang.String toString():688 -> toString
    67:71:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):469:473 -> toString
    67:71:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):481 -> toString
    67:71:java.lang.String toString():688 -> toString
    72:72:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):486:486 -> toString
    72:72:java.lang.String toString():688 -> toString
    73:74:java.lang.String toString():688:689 -> 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):633:633 -> toString
    143:143:java.lang.String toString():685 -> toString
    144:144:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
    144:144:java.lang.String toString():685 -> toString
    145:145:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
    145:145:java.lang.String toString():685 -> toString
    146:146:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
    146:146:java.lang.String toString():685 -> toString
    147:147:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
    147:147:java.lang.String toString():685 -> toString
    148:148:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
    148:148:java.lang.String toString():685 -> toString
    76:78:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):415:417 -> toString
    76:78:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633 -> toString
    76:78:java.lang.String toString():685 -> toString
    79:85:java.lang.String toString():692:698 -> toString
    86:89:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):490:493 -> toString
    86:89:java.lang.String toString():698 -> toString
    90:90:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):479:479 -> toString
    90:90:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):493 -> toString
    90:90:java.lang.String toString():698 -> toString
    91:95:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):469:473 -> toString
    91:95:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):479 -> toString
    91:95:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):493 -> toString
    91:95:java.lang.String toString():698 -> toString
    96:100:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):469:473 -> toString
    96:100:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):481 -> toString
    96:100:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):493 -> toString
    96:100:java.lang.String toString():698 -> toString
    101:101:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):486:486 -> toString
    101:101:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):493 -> toString
    101:101:java.lang.String toString():698 -> toString
    102:105:java.lang.String toString():698:701 -> 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):633:633 -> toString
    143:143:java.lang.String toString():695 -> toString
    144:144:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
    144:144:java.lang.String toString():695 -> toString
    145:145:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
    145:145:java.lang.String toString():695 -> toString
    146:146:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
    146:146:java.lang.String toString():695 -> toString
    147:147:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
    147:147:java.lang.String toString():695 -> toString
    148:148:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633:633 -> toString
    148:148:java.lang.String toString():695 -> toString
    107:109:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):415:417 -> toString
    107:109:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):633 -> toString
    107:109:java.lang.String toString():695 -> toString
    110:136:java.lang.String toString():702:728 -> 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):628:628 -> toString
    143:143:java.lang.String toString():728 -> toString
    144:144:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):628:628 -> toString
    144:144:java.lang.String toString():728 -> toString
    145:145:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):628:628 -> toString
    145:145:java.lang.String toString():728 -> toString
    146:146:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):628:628 -> toString
    146:146:java.lang.String toString():728 -> toString
    147:147:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):628:628 -> toString
    147:147:java.lang.String toString():728 -> toString
    148:148:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):628:628 -> toString
    148:148:java.lang.String toString():728 -> toString
    138:140:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):415:417 -> toString
    138:140:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):628 -> toString
    138:140:java.lang.String toString():728 -> toString
    141:141:java.lang.String toString():729:729 -> toString
    142:142:java.lang.String com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.toString():428:428 -> toString
    142:142:java.lang.String toString():730 -> toString
com.android.tools.r8.GenerateLintFiles$SourceBuilder -> com.android.tools.r8.C:
    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>():432:432 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexClass,boolean,com.android.tools.r8.GenerateLintFiles$1):432:432 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexClass,boolean):443:443 -> <init>
    3:15:void <init>(com.android.tools.r8.graph.DexClass,boolean):436:448 -> <init>
    1:10:java.lang.String accessFlags(com.android.tools.r8.graph.FieldAccessFlags):525:534 -> a
    11:16:java.lang.String accessFlags(com.android.tools.r8.graph.FieldAccessFlags):533:538 -> a
    17:26:java.lang.String accessFlags(com.android.tools.r8.graph.FieldAccessFlags):537:546 -> a
    27:36:java.lang.String accessFlags(com.android.tools.r8.graph.MethodAccessFlags):550:559 -> a
    37:42:java.lang.String accessFlags(com.android.tools.r8.graph.MethodAccessFlags):558:563 -> a
    43:55:java.lang.String accessFlags(com.android.tools.r8.graph.MethodAccessFlags):562:574 -> a
com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent -> com.android.tools.r8.D:
    java.lang.StringBuilder builder -> b
    java.lang.String NL -> a
    java.lang.String indent -> c
    1:1:void <init>():407:407 -> <init>
    2:4:void <init>():403:405 -> <init>
    1:1:java.lang.String toString():428:428 -> toString
com.android.tools.r8.GenerateLintFiles$SupportedMethods -> com.android.tools.r8.internal.ml:
    java.util.Map supportedMethods -> b
    java.util.Set classesWithAllMethodsSupported -> a
    1:3:void <init>(java.util.Set,java.util.Map):200:202 -> <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.F:
    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.G:
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>():39:39 -> <clinit>
    1:1:void <init>():40:40 -> <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):80:81 -> 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):93:121 -> a
    32:38:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):99:105 -> a
    39:54:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):127:142 -> a
    39:54:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):107 -> 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):142 -> a
    55:55:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):107 -> a
    56:60:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):142:146 -> a
    56:60:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):107 -> 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):146 -> a
    61:61:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):107 -> 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):146 -> a
    62:65:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):107 -> a
    66:66:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):147:147 -> a
    66:66:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):107 -> 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):147 -> a
    67:67:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):107 -> a
    68:70:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):147:149 -> a
    68:70:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):107 -> a
    71:71:com.android.tools.r8.ClassFileConsumer com.android.tools.r8.utils.InternalOptions.getClassFileConsumer():493:493 -> a
    71:71:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):150 -> a
    71:71:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):107 -> a
    72:80:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):150:158 -> a
    72:80:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):107 -> a
    81:84:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):109:112 -> 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):153 -> a
    85:85:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):107 -> a
    86:91:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):153:158 -> a
    86:91:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):107 -> 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):166:172 -> a
    99:100:void run(java.lang.String[]):176:177 -> a
    99:100:void lambda$main$1(java.lang.String[]):198 -> a
    101:101:void com.android.tools.r8.utils.SelfRetraceTest.test():25:25 -> a
    101:101:void run(java.lang.String[]):178 -> a
    101:101:void lambda$main$1(java.lang.String[]):198 -> a
    102:102:void run(java.lang.String[]):179:179 -> a
    102:102:void lambda$main$1(java.lang.String[]):198 -> 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[]):178 -> a
    103:103:void lambda$main$1(java.lang.String[]):198 -> a
    104:105:void run(java.lang.String[]):182:183 -> a
    104:105:void lambda$main$1(java.lang.String[]):198 -> 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[]):183:183 -> a
    111:111:void lambda$main$1(java.lang.String[]):198 -> a
    112:112:void run(java.lang.String[]):183:183 -> a
    112:112:void lambda$main$1(java.lang.String[]):198 -> a
    113:113:void run(java.lang.String[]):183:183 -> a
    113:113:void lambda$main$1(java.lang.String[]):198 -> a
    107:110:void run(java.lang.String[]):183:186 -> a
    107:110:void lambda$main$1(java.lang.String[]):198 -> a
    1:4:void main(java.lang.String[]):195:198 -> main
    5:5:void main(java.lang.String[]):196:196 -> main
    1:5:void run(com.android.tools.r8.L8Command):49:53 -> run
    6:6:void run(com.android.tools.r8.L8Command):48:48 -> run
    7:11:void run(com.android.tools.r8.L8Command,java.util.concurrent.ExecutorService):65:69 -> run
    12:12:void run(com.android.tools.r8.L8Command,java.util.concurrent.ExecutorService):64:64 -> 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.graph.DexItemFactory factory -> x
    com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification desugaredLibrarySpecification -> w
    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.legacyspecification.LegacyDesugaredLibrarySpecification,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.legacyspecification.LegacyDesugaredLibrarySpecification,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:51:com.android.tools.r8.utils.InternalOptions getInternalOptions():162:212 -> b
    52:52:com.android.tools.r8.DumpOptions dumpOptions():441:441 -> b
    52:52:com.android.tools.r8.utils.InternalOptions getInternalOptions():213 -> b
    53:57:void com.android.tools.r8.BaseCompilerCommand.dumpBaseCommandOptions(com.android.tools.r8.DumpOptions$Builder):127:131 -> b
    53:57:com.android.tools.r8.DumpOptions dumpOptions():442 -> b
    53:57:com.android.tools.r8.utils.InternalOptions getInternalOptions():213 -> b
    58:61:com.android.tools.r8.DumpOptions dumpOptions():443:446 -> b
    58:61:com.android.tools.r8.utils.InternalOptions getInternalOptions():213 -> b
    62:62:com.android.tools.r8.utils.InternalOptions getInternalOptions():213:213 -> 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>():223:223 -> <clinit>
    1:1:void <init>(com.android.tools.r8.L8Command$1):224:224 -> <init>
    2:2:void <init>(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.L8Command$1):224:224 -> <init>
    3:3:void <init>():230:230 -> <init>
    4:4:void <init>(com.android.tools.r8.DiagnosticsHandler):234:234 -> <init>
    5:6:void <init>(com.android.tools.r8.DiagnosticsHandler):226:227 -> <init>
    1:1:com.android.tools.r8.L8Command$Builder addProguardConfiguration(java.util.List,com.android.tools.r8.origin.Origin):266:266 -> addProguardConfiguration
    1:1:com.android.tools.r8.L8Command$Builder addProguardConfigurationFiles(java.nio.file.Path[]):254:254 -> addProguardConfigurationFiles
    2:2:com.android.tools.r8.L8Command$Builder addProguardConfigurationFiles(java.util.List):260:260 -> addProguardConfigurationFiles
    1:5:com.android.tools.r8.L8Command makeCommand():325:329 -> c
    1:5:com.android.tools.r8.BaseCommand makeCommand():223 -> c
    6:6:com.android.tools.r8.CompilationMode defaultCompilationMode():249:249 -> c
    6:6:com.android.tools.r8.L8Command makeCommand():330 -> c
    6:6:com.android.tools.r8.BaseCommand makeCommand():223 -> c
    7:25:com.android.tools.r8.L8Command makeCommand():330:348 -> c
    7:25:com.android.tools.r8.BaseCommand makeCommand():223 -> c
    26:44:com.android.tools.r8.L8Command makeCommand():347:365 -> c
    26:44:com.android.tools.r8.BaseCommand makeCommand():223 -> c
    45:49:com.android.tools.r8.L8Command makeCommand():364:368 -> c
    45:49:com.android.tools.r8.BaseCommand makeCommand():223 -> c
    50:62:com.android.tools.r8.L8Command makeCommand():367:379 -> c
    50:62:com.android.tools.r8.BaseCommand makeCommand():223 -> c
    63:98:com.android.tools.r8.L8Command makeCommand():378:413 -> c
    63:98:com.android.tools.r8.BaseCommand makeCommand():223 -> c
    99:99:com.android.tools.r8.L8Command makeCommand():326:326 -> c
    99:99:com.android.tools.r8.BaseCommand makeCommand():223 -> c
    com.android.tools.r8.BaseCommand$Builder self() -> d
    1:22:void validate():299:320 -> f
    1:1:com.android.tools.r8.CompilationMode defaultCompilationMode():249:249 -> g
    1:1:boolean isShrinking():239:239 -> isShrinking
    1:1:com.android.tools.r8.BaseCompilerCommand$Builder setProguardMapConsumer(com.android.tools.r8.StringConsumer):223:223 -> setProguardMapConsumer
    2:2:com.android.tools.r8.L8Command$Builder setProguardMapConsumer(com.android.tools.r8.StringConsumer):294:294 -> setProguardMapConsumer
    1:1:com.android.tools.r8.BaseCompilerCommand$Builder setProguardMapOutputPath(java.nio.file.Path):223:223 -> setProguardMapOutputPath
    2:3:com.android.tools.r8.BaseCompilerCommand$Builder com.android.tools.r8.BaseCompilerCommand$Builder.setProguardMapOutputPath(java.nio.file.Path):319:320 -> setProguardMapOutputPath
    2:3:com.android.tools.r8.L8Command$Builder setProguardMapOutputPath(java.nio.file.Path):281 -> setProguardMapOutputPath
    4:4:com.android.tools.r8.L8Command$Builder setProguardMapOutputPath(java.nio.file.Path):281:281 -> setProguardMapOutputPath
com.android.tools.r8.L8Command$DefaultL8DiagnosticsHandler -> com.android.tools.r8.H:
    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.I:
    java.util.List resources -> a
    1:3:void <init>():418:420 -> <init>
    1:3:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):426:428 -> accept
    4:4:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):427:427 -> accept
    5:5:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):426:426 -> accept
    1:1:java.util.Collection getProgramResources():433:433 -> getProgramResources
com.android.tools.r8.L8CommandParser -> com.android.tools.r8.J:
    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: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":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
    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":664,"2":665,"3":666}}
    664:664: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
    665:665: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
    666:666: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":693,"2":694,"3":695}}
    693:693: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
    694:694: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
    695:695: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":738,"2":739,"3":740,"4":741,"5":742}}
    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
    740:740: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
    741:741: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
    742:742: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:650:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):184:189 -> a
    651:651:boolean com.android.tools.r8.D8CommandParser$OrderedClassFileResourceProvider$Builder.isEmpty():68:68 -> a
    651:651:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):189 -> a
    652:660: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>():163:163 -> <clinit>
    1:6:void <init>(com.android.tools.r8.utils.InternalOptions):169:174 -> <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):220:227 -> a
    9:9:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> 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):228 -> 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):229:229 -> a
    11:11:com.android.tools.r8.ClassFileConsumer com.android.tools.r8.utils.InternalOptions.getClassFileConsumer():493:493 -> 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):230 -> 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):230:242 -> a
    25:26:void runForTesting(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):248:249 -> 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):249 -> a
    28:28:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):262:262 -> a
    28:28:void lambda$run$0(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):207 -> a
    29:39:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):270:280 -> 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):280 -> a
    41:47:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):280:286 -> 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":2070,"2":2071,"3":2072}}
    2070:2070:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):286:286 -> a
    2071:2071:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):286:286 -> a
    2072:2072:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):286:286 -> a
    334:335:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):286:287 -> a
    336:336:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2073,"2":2074,"3":2075}}
    2073:2073:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):287:287 -> a
    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
    623:624:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):287:288 -> a
    625:625:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2076,"2":2077,"3":2078}}
    2076:2076:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):288:288 -> a
    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
    913:936:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):288:311 -> a
    937:944:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):35:42 -> a
    937:944:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):311 -> a
    945:945:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    945:945:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):42 -> a
    945:945:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):311 -> a
    946:946:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):42:42 -> a
    946:946:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):311 -> a
    947:947:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):37:37 -> a
    947:947:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):311 -> 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):37 -> a
    948:948:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):311 -> a
    949:949:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):37:37 -> a
    949:949:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):311 -> a
    950:963:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):313:326 -> a
    964:977:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):325:338 -> a
    978:978:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):337:337 -> a
    979:994:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):334:349 -> a
    995:999:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):348:352 -> a
    1000:1000:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):351:351 -> a
    1001:1012:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):350:361 -> a
    1013:1013:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):360:360 -> a
    1014:1019:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):357:362 -> a
    1020:1062:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):356:398 -> a
    1063:1093:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):397:427 -> a
    1094:1144:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):422:472 -> a
    1145:1262:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):469:586 -> a
    1263:1288:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):583:608 -> a
    1289:1310:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):606:627 -> a
    1311:1329:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):622:640 -> a
    1330:1379:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):639:688 -> a
    1380:1450:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):669:739 -> a
    1451:1478:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):738:765 -> a
    1479:1576:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):762:859 -> a
    1577:1591:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):795:809 -> a
    1592:1604:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):806:818 -> a
    1605:1610: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
    1605:1610:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):818 -> a
    1611:1636:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):820:845 -> a
    1637:1655:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):841:859 -> a
    1656:1656:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):544:544 -> a
    1657:2069:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):447:859 -> a
    2079:2079:java.lang.Boolean lambda$run$2():280:280 -> a
    2080:2080:void lambda$run$4(com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):406:406 -> a
    2081:2081: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
    2082:2082: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
    2083:2083: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
    2084:2084: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
    2085:2085:void lambda$run$15(java.lang.String):790:790 -> a
    2086:2086:boolean lambda$run$16(com.android.tools.r8.graph.DexProgramClass):796:796 -> a
    2087:2093:boolean allReferencesAssignedApiLevel(com.android.tools.r8.graph.AppView):866:872 -> a
    2094:2097:void lambda$allReferencesAssignedApiLevel$18(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMember):874:877 -> a
    2098:2098:void lambda$allReferencesAssignedApiLevel$18(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMember):876:876 -> a
    2099:2113:void performFinalMainDexTracing(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):904:918 -> a
    2114:2121:void performFinalMainDexTracing(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):917:924 -> a
    2122:2122:void performFinalMainDexTracing(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):923:923 -> a
    2123:2125:java.lang.Iterable lambda$performFinalMainDexTracing$20(com.android.tools.r8.shaking.MainDexInfo,com.android.tools.r8.graph.AppView):926:928 -> a
    2126:2128:void lambda$performFinalMainDexTracing$19(com.android.tools.r8.graph.AppView,java.util.ArrayList,com.android.tools.r8.graph.DexType):930:932 -> a
    2129:2130:boolean verifyMovedMethodsHaveOriginalMethodPosition(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication):948:949 -> a
    2131:2131:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$22(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):951:951 -> a
    2132:2132:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):954:954 -> a
    2133:2133:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    2133:2133:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):954 -> a
    2134:2141:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):955:962 -> a
    2142:2143:boolean verifyOriginalMethodInPosition(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod):974:975 -> a
    2142:2143:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):962 -> a
    2144:2144:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    2144:2144:boolean verifyOriginalMethodInPosition(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod):975 -> a
    2144:2144:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):962 -> a
    2145:2146:boolean verifyOriginalMethodInPosition(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod):978:979 -> a
    2145:2146:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):962 -> a
    2147:2148:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):963:964 -> a
    2149:2153:boolean verifyOriginalMethodInDebugInfo(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexMethod):985:989 -> a
    2149:2153:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):964 -> a
    2154:2154:boolean com.android.tools.r8.graph.DexDebugEvent.isSetInlineFrame():0:0 -> a
    2154:2154:boolean verifyOriginalMethodInDebugInfo(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexMethod):989 -> a
    2154:2154:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):964 -> a
    2155:2155:boolean verifyOriginalMethodInDebugInfo(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexMethod):989:989 -> a
    2155:2155:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):964 -> a
    2156:2156:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):966:966 -> a
    2157:2157:boolean com.android.tools.r8.graph.Code.isDefaultInstanceInitializerCode():0:0 -> a
    2157:2157:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):966 -> a
    2158:2158:boolean com.android.tools.r8.graph.Code.isThrowNullCode():0:0 -> a
    2158:2158:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):966 -> a
    2159:2159:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):966:966 -> a
    2160:2168: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:1010 -> a
    2169:2174: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):1008:1013 -> a
    2175:2177:void com.android.tools.r8.shaking.RuntimeTypeCheckInfo$Builder.attach(com.android.tools.r8.shaking.Enqueuer):87:89 -> a
    2175: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):1014 -> a
    2178:2188: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):1018:1028 -> a
    2189:2189:void lambda$runEnqueuer$23(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoShrinker):1026:1026 -> a
    2190:2192: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):1047:1049 -> a
    2193:2228: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):1048:1083 -> a
    2229:2233: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):1080:1084 -> a
    2234:2237:boolean verifyNoJarApplicationReaders(java.util.Collection):1088:1091 -> a
    2238:2238:void lambda$run$25(com.android.tools.r8.R8Command,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):1113:1113 -> a
    2239:2239:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):262:262 -> a
    2239:2239:void lambda$run$25(com.android.tools.r8.R8Command,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):1113 -> a
    2240:2240:void lambda$main$26(java.lang.String[]):1128:1128 -> a
    1:1:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):262:262 -> b
    1:1:void lambda$runForTesting$1(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):253 -> b
    2:2:void lambda$runForTesting$1(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):255:255 -> b
    3:3:com.android.tools.r8.graph.DirectMappedDexApplication getDirectApp(com.android.tools.r8.graph.AppView):266:266 -> 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):1030:1030 -> b
    19:20:void run(java.lang.String[]):1099:1100 -> b
    21:21:void com.android.tools.r8.utils.SelfRetraceTest.test():25:25 -> b
    21:21:void run(java.lang.String[]):1101 -> b
    22:22:void run(java.lang.String[]):1102:1102 -> 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[]):1101 -> b
    24:25:void run(java.lang.String[]):1105:1106 -> b
    26:26:void run(java.lang.String[]):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1141,"2":1142,"3":1143}}
    1141:1141:void run(java.lang.String[]):1106:1106 -> b
    1142:1142:void run(java.lang.String[]):1106:1106 -> b
    1143:1143:void run(java.lang.String[]):1106:1106 -> b
    1132:1138:void run(java.lang.String[]):1106:1112 -> b
    1139:1139:void com.android.tools.r8.utils.ExceptionUtils.withR8CompilationHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.ExceptionUtils$CompileAction):69:69 -> b
    1139:1139:void run(java.lang.String[]):1112 -> b
    1140:1140:void run(java.lang.String[]):1115:1115 -> 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():58:58 -> 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():58:58 -> 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):444:444 -> f
    1:1:java.lang.Boolean lambda$run$6(com.android.tools.r8.graph.AppView):454:454 -> 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[]):1125:1128 -> main
    5:5:void main(java.lang.String[]):1126:1126 -> main
    1:3:void run(com.android.tools.r8.R8Command):186:188 -> run
    4:7:void run(com.android.tools.r8.R8Command,java.util.concurrent.ExecutorService):202:205 -> 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):204 -> 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
    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
    com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification desugaredLibrarySpecification -> J
    1:587:void <clinit>():69:655 -> <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.legacyspecification.LegacyDesugaredLibrarySpecification,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.legacyspecification.LegacyDesugaredLibrarySpecification,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):760:797 -> <init>
    41:60:void <init>(boolean,boolean):801:820 -> <init>
    1:1:com.android.tools.r8.R8Command$Builder builder(com.android.tools.r8.utils.AndroidApp):689:689 -> a
    2:2:com.android.tools.r8.R8Command$Builder builder(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler):694:694 -> a
    1:23:com.android.tools.r8.utils.InternalOptions getInternalOptions():839:861 -> b
    24:46:com.android.tools.r8.utils.InternalOptions getInternalOptions():860:882 -> b
    47:49:com.android.tools.r8.StringConsumer wrapStringConsumer(com.android.tools.r8.StringConsumer,boolean,java.nio.file.Path):971:973 -> b
    47:49:com.android.tools.r8.utils.InternalOptions getInternalOptions():879 -> b
    50:60:com.android.tools.r8.utils.InternalOptions getInternalOptions():879:889 -> b
    61:63:com.android.tools.r8.StringConsumer wrapStringConsumer(com.android.tools.r8.StringConsumer,boolean,java.nio.file.Path):971:973 -> b
    61:63:com.android.tools.r8.utils.InternalOptions getInternalOptions():886 -> b
    64:74:com.android.tools.r8.utils.InternalOptions getInternalOptions():886:896 -> b
    75:77:com.android.tools.r8.StringConsumer wrapStringConsumer(com.android.tools.r8.StringConsumer,boolean,java.nio.file.Path):971:973 -> b
    75:77:com.android.tools.r8.utils.InternalOptions getInternalOptions():893 -> b
    78:88:com.android.tools.r8.utils.InternalOptions getInternalOptions():893:903 -> b
    89:91:com.android.tools.r8.StringConsumer wrapStringConsumer(com.android.tools.r8.StringConsumer,boolean,java.nio.file.Path):971:973 -> b
    89:91:com.android.tools.r8.utils.InternalOptions getInternalOptions():900 -> b
    92:119:com.android.tools.r8.utils.InternalOptions getInternalOptions():900:927 -> b
    120:120:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> b
    120:120:com.android.tools.r8.utils.InternalOptions getInternalOptions():932 -> b
    121:142:com.android.tools.r8.utils.InternalOptions getInternalOptions():933:954 -> b
    143:151:com.android.tools.r8.utils.InternalOptions getInternalOptions():953:961 -> b
    152:152:com.android.tools.r8.DumpOptions dumpOptions():993:993 -> b
    152:152:com.android.tools.r8.utils.InternalOptions getInternalOptions():962 -> b
    153:157:void com.android.tools.r8.BaseCompilerCommand.dumpBaseCommandOptions(com.android.tools.r8.DumpOptions$Builder):127:131 -> b
    153:157:com.android.tools.r8.DumpOptions dumpOptions():994 -> b
    153:157:com.android.tools.r8.utils.InternalOptions getInternalOptions():962 -> b
    158:167:com.android.tools.r8.DumpOptions dumpOptions():995:1004 -> b
    158:167:com.android.tools.r8.utils.InternalOptions getInternalOptions():962 -> b
    168:168:com.android.tools.r8.utils.InternalOptions getInternalOptions():962:962 -> b
    1:1:com.android.tools.r8.R8Command$Builder builder():679:679 -> builder
    2:2:com.android.tools.r8.R8Command$Builder builder(com.android.tools.r8.DiagnosticsHandler):684:684 -> builder
    1:1:com.android.tools.r8.graph.DexItemFactory getDexItemFactory():824:824 -> getDexItemFactory
    1:1:boolean getEnableMinification():834:834 -> getEnableMinification
    1:1:boolean getEnableTreeShaking():829:829 -> getEnableTreeShaking
    1:1:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):707:707 -> parse
    2:2:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):721:721 -> 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):527:529 -> a
    11:12:void addProguardConfigurationConsumerForTesting(java.util.function.Consumer):603:604 -> a
    13:15:void lambda$addProguardConfigurationConsumerForTesting$7(java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.shaking.ProguardConfiguration$Builder):607:609 -> 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):616:618 -> 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():624:624 -> 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:20:com.android.tools.r8.R8Command makeR8Command():479:488 -> r
    21:21:boolean com.android.tools.r8.utils.InternalOptions.shouldEnableKeepRuleSynthesisForRecompilation():784:784 -> r
    21:21:com.android.tools.r8.R8Command makeR8Command():488 -> r
    22:88:com.android.tools.r8.R8Command makeR8Command():489:555 -> r
    89:89:com.android.tools.r8.utils.InternalOptions$DesugarState com.android.tools.r8.BaseCompilerCommand$Builder.getDesugaringState():534:534 -> r
    89:89:com.android.tools.r8.R8Command makeR8Command():556 -> r
    90:128:com.android.tools.r8.R8Command makeR8Command():559:597 -> 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):319:320 -> 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.K:
    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.L:
    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):498:498 -> <init>
    1:4:void visit(com.android.tools.r8.DataEntryResource):506:509 -> 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):509 -> visit
    6:7:void visit(com.android.tools.r8.DataEntryResource):510:511 -> visit
    8:16:void visit(com.android.tools.r8.DataEntryResource):507:515 -> visit
    17:17:void visit(com.android.tools.r8.DataEntryResource):512:512 -> visit
    18:18:void visit(com.android.tools.r8.DataEntryResource):0:0 -> visit
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":533,"2":534,"3":535}}
    533:533:void visit(com.android.tools.r8.DataEntryResource):512:512 -> visit
    534:534:void visit(com.android.tools.r8.DataEntryResource):512:512 -> visit
    535:535:void visit(com.android.tools.r8.DataEntryResource):512:512 -> visit
    530:532:void visit(com.android.tools.r8.DataEntryResource):512:512 -> visit
com.android.tools.r8.R8Command$Builder$DefaultR8DiagnosticsHandler -> com.android.tools.r8.M:
    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.N:
    com.android.tools.r8.ProgramResourceProvider provider -> a
    1:2:void <init>(com.android.tools.r8.ProgramResourceProvider):633:634 -> <init>
    1:1:com.android.tools.r8.DataResourceProvider getDataResourceProvider():651:651 -> getDataResourceProvider
    1:4:java.util.Collection getProgramResources():639:642 -> getProgramResources
com.android.tools.r8.R8Command$StandardOutConsumer -> com.android.tools.r8.O:
    1:1:void <init>(com.android.tools.r8.StringConsumer):982:982 -> <init>
    1:2:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):987:988 -> accept
com.android.tools.r8.R8CommandParser -> com.android.tools.r8.Q:
    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.P:
    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.S:
    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:139:void processFillArray(com.android.tools.r8.code.Instruction[],int,java.util.Set):296:299 -> a
    136:139:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):239 -> a
    136: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
    176:185:void processAnnotations(com.android.tools.r8.graph.DexProgramClass):257:266 -> a
    186:186:java.util.stream.Stream lambda$processAnnotations$0(com.android.tools.r8.graph.DexEncodedField):259:259 -> a
    187:187:java.util.stream.Stream lambda$processAnnotations$1(com.android.tools.r8.graph.DexEncodedMethod):263:263 -> a
    188:190:void lambda$processAnnotations$2(com.android.tools.r8.graph.DexAnnotation):268:270 -> a
    191:209:void processAnnotationValue(com.android.tools.r8.graph.DexValue):311:329 -> a
    210:210: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.T:
    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.hW:
    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.fW:
    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.gW:
    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.jT:
    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.AndroidApiForHashingClass -> com.android.tools.r8.internal.O1:
    com.android.tools.r8.utils.AndroidApiLevel getApiLevel() -> a
    void visitMethodsWithApiLevels(java.util.function.BiConsumer) -> a
    void visitFieldsWithApiLevels(java.util.function.BiConsumer) -> b
com.android.tools.r8.androidapi.AndroidApiLevelCompute -> com.android.tools.r8.internal.T1:
    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.R1:
    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):50:50 -> 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):50:50 -> 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):51:51 -> 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):51:51 -> 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.S1:
    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.U1:
    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.AndroidApiLevelHashingDatabaseImpl -> com.android.tools.r8.internal.V1:
    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:10:void <init>(java.util.List):38:46 -> <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:10:void lambda$new$2(com.android.tools.r8.androidapi.AndroidApiForHashingClass):48:56 -> a
    11:12:void lambda$new$0(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.AndroidApiLevel):53:54 -> a
    13:14:void lambda$new$1(com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.AndroidApiLevel):58:59 -> a
    15:15:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):88:88 -> a
    16:21:void parseAmbiguous(java.lang.String):105:110 -> a
    22:22:void parseAmbiguous(java.lang.String):109:109 -> a
    23:23:void parseAmbiguous(java.lang.String):107:107 -> a
    24:24:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    24:24:void parseAmbiguous(java.lang.String):107 -> a
    25:25:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    25:25:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    25:25:void parseAmbiguous(java.lang.String):107 -> a
    26:26:void parseAmbiguous(java.lang.String):107:107 -> a
    27:27:com.android.tools.r8.utils.AndroidApiLevel getTypeApiLevel(com.android.tools.r8.graph.DexType):115:115 -> a
    28:28:com.android.tools.r8.utils.AndroidApiLevel getMethodApiLevel(com.android.tools.r8.graph.DexMethod):120:120 -> a
    29:29:com.android.tools.r8.utils.AndroidApiLevel getFieldApiLevel(com.android.tools.r8.graph.DexField):125:125 -> a
    30:35:com.android.tools.r8.utils.AndroidApiLevel lookupApiLevel(com.android.tools.r8.graph.DexReference):131:136 -> a
    36:46:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$6(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):139:149 -> a
    47:47:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$6(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":202,"2":203,"3":204}}
    202:202:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$6(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):149:149 -> a
    203:203:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$6(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):149:149 -> a
    204:204:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$6(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):149:149 -> a
    198:198:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$6(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):151:151 -> a
    199:199:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    199:199:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$6(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):151 -> a
    200:200:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    200:200:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    200:200:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$6(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):151 -> a
    201:201:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$6(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):151:151 -> a
    205:205:void lambda$lookupApiLevel$3(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.graph.DexType):141:141 -> a
    206:206:void lambda$lookupApiLevel$4(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.graph.DexField):143:143 -> a
    207:207:void lambda$lookupApiLevel$5(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.graph.DexMethod):145:145 -> a
    1:27:void loadData():69:95 -> b
    28:31:void loadData():94:97 -> b
    32:53:void loadData():68:68 -> b
    73:73:void loadData():88:88 -> b
    74:95:void loadData():68:68 -> b
    115:115:void loadData():88:88 -> b
    116:137:void loadData():68:89 -> b
com.android.tools.r8.androidapi.AndroidApiReferenceLevelCache -> com.android.tools.r8.internal.X1:
    com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification desugaredLibrarySpecification -> a
    com.android.tools.r8.androidapi.AndroidApiLevelDatabase androidApiLevelDatabase -> c
    com.android.tools.r8.graph.DexItemFactory factory -> e
    com.android.tools.r8.graph.AppView appView -> d
    boolean $assertionsDisabled -> f
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> b
    1:1:void <clinit>():17:17 -> <clinit>
    1:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute,java.util.List):28:34 -> <init>
    1:7:com.android.tools.r8.androidapi.AndroidApiReferenceLevelCache create(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):39:45 -> a
    8:44:com.android.tools.r8.androidapi.ComputedApiLevel lookup(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel):55:91 -> a
    45:45:com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel com.android.tools.r8.androidapi.ComputedApiLevel.unknown():22:22 -> a
    45:45:com.android.tools.r8.androidapi.ComputedApiLevel lookup(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel):91 -> a
    46:55:com.android.tools.r8.androidapi.ComputedApiLevel lookup(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel):91:100 -> a
    56:56:com.android.tools.r8.androidapi.ComputedApiLevel lookup(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel):63:63 -> a
com.android.tools.r8.androidapi.ApiReferenceStubber -> com.android.tools.r8.internal.k2:
    java.util.Map libraryClassesToMock -> b
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set seenTypes -> c
    com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification desugaredLibraryConfiguration -> e
    boolean $assertionsDisabled -> f
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> d
    1:1:void <clinit>():38:38 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):117:117 -> <init>
    2:11:void <init>(com.android.tools.r8.graph.AppView):111:120 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.androidapi.ApiReferenceStubber):38:38 -> a
    2:2:void access$100(com.android.tools.r8.androidapi.ApiReferenceStubber,com.android.tools.r8.graph.DexType):38:38 -> a
    3:3:void access$200(com.android.tools.r8.androidapi.ApiReferenceStubber,com.android.tools.r8.graph.DexMethod):38:38 -> a
    4:4:void run(java.util.concurrent.ExecutorService):124:124 -> a
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    5:5:void run(java.util.concurrent.ExecutorService):124 -> a
    6:22:void run(java.util.concurrent.ExecutorService):124:140 -> a
    23:23:boolean com.android.tools.r8.graph.AppView.hasLiveness():659:659 -> a
    23:23:void run(java.util.concurrent.ExecutorService):140 -> a
    24:26:void run(java.util.concurrent.ExecutorService):141:143 -> a
    27:32:void run(java.util.concurrent.ExecutorService):142:147 -> a
    33:37:void lambda$run$0(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):134:134 -> a
    38:44:void processClass(com.android.tools.r8.graph.DexProgramClass):152:158 -> a
    45:45:void lambda$processClass$1(com.android.tools.r8.graph.ProgramMethod):160:160 -> a
    46:50:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):164:168 -> a
    51:51:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":239,"2":240,"3":241}}
    239:239:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):168:168 -> a
    240:240:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    240:240:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):168 -> a
    241:241:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    241:241:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):168 -> a
    220:220:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):169:169 -> a
    221:221:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    221:221:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):170 -> a
    222:223:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):173:174 -> a
    224:224:com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel com.android.tools.r8.androidapi.ComputedApiLevel.unknown():22:22 -> a
    224:224:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):174 -> a
    225:227:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):174:176 -> a
    228:228:com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel com.android.tools.r8.androidapi.ComputedApiLevel.unknown():22:22 -> a
    228:228:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):178 -> a
    229:238:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):177:186 -> a
    242:247:void findReferencedLibraryClasses(com.android.tools.r8.graph.DexType):192:197 -> a
    248:248:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    248:248:void findReferencedLibraryClasses(com.android.tools.r8.graph.DexType):201 -> a
    249:251:void findReferencedLibraryClasses(com.android.tools.r8.graph.DexType):202:204 -> a
    252:252:com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel com.android.tools.r8.androidapi.ComputedApiLevel.unknown():22:22 -> a
    252:252:void findReferencedLibraryClasses(com.android.tools.r8.graph.DexType):204 -> a
    253:258:void findReferencedLibraryClasses(com.android.tools.r8.graph.DexType):203:208 -> a
    259:263:void findReferencedLibraryClasses(com.android.tools.r8.graph.DexType):207:211 -> a
    264:264:java.util.Set lambda$findReferencedLibraryClasses$3(com.android.tools.r8.graph.DexLibraryClass):208:208 -> a
    265:279:void mockMissingLibraryClass(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode):219:233 -> a
    280:280:void mockMissingLibraryClass(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode):229:229 -> a
    281:285: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
    286:286: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
    287:292: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
    293:293:boolean com.android.tools.r8.graph.DexClass.isFinal():656:656 -> a
    293:293: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
    294:301: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
    302:302: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
    303:310: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
    311:311:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2383:2383 -> a
    311:311: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
    312: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):257:257 -> a
    313:313:com.android.tools.r8.graph.MethodAccessFlags com.android.tools.r8.graph.MethodAccessFlags.createForClassInitializer():79:79 -> 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):259 -> a
    314: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:261 -> a
    317:324: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
    325:326:java.util.List buildLibraryMethodsForProgram(com.android.tools.r8.graph.DexLibraryClass,java.lang.Iterable,java.util.Set):268:269 -> a
    327:330: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
    331:334:com.android.tools.r8.graph.DexEncodedMethod buildLibraryMethodForProgram(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexEncodedMethod):283:283 -> a
    337:352: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):185:185 -> b
com.android.tools.r8.androidapi.ApiReferenceStubber$ReferencesToApiLevelUseRegistry -> com.android.tools.r8.internal.j2:
    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):42:43 -> <init>
    1:1:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):58:58 -> a
    2:2:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):78:78 -> a
    3:3:void checkReferenceToLibraryClass(com.android.tools.r8.graph.DexReference):102:102 -> a
    4:4:void checkReferenceToLibraryClass(com.android.tools.r8.graph.DexReference):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":110,"2":111,"3":112}}
    110:110:void checkReferenceToLibraryClass(com.android.tools.r8.graph.DexReference):102:102 -> a
    111:111:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    111:111:void checkReferenceToLibraryClass(com.android.tools.r8.graph.DexReference):102 -> a
    112:112:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    112:112:void checkReferenceToLibraryClass(com.android.tools.r8.graph.DexReference):102 -> a
    107:109:void checkReferenceToLibraryClass(com.android.tools.r8.graph.DexReference):103:105 -> a
    1:1:void registerInitClass(com.android.tools.r8.graph.DexType):48:48 -> b
    2:2:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):68:68 -> b
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):83:83 -> c
    1:1:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):63:63 -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):88:88 -> e
    1:1:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):73:73 -> f
    2:2:void registerTypeReference(com.android.tools.r8.graph.DexType):98:98 -> f
    1:1:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):53:53 -> g
    2:2:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):93:93 -> g
com.android.tools.r8.androidapi.AvailableApiExceptions -> com.android.tools.r8.internal.T3:
    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.uc:
    int $r8$clinit -> a
    1:1:void <clinit>():15:15 -> <clinit>
    boolean isUnknownApiLevel() -> C
    boolean isNotSetApiLevel() -> E
    com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel asKnownApiLevel() -> S
    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 -> t
    boolean isKnownApiLevel() -> u
com.android.tools.r8.androidapi.ComputedApiLevel$1 -> com.android.tools.r8.internal.tc:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():42:42 -> <clinit>
com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel -> com.android.tools.r8.internal.uc$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() -> S
    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
    1:1:java.lang.String toString():149:149 -> toString
    boolean isKnownApiLevel() -> u
com.android.tools.r8.androidapi.ComputedApiLevel$NotSetApiLevel -> com.android.tools.r8.internal.vc:
    com.android.tools.r8.androidapi.ComputedApiLevel$NotSetApiLevel INSTANCE -> b
    1:1:void <clinit>():75:75 -> <clinit>
    1:1:void <init>():77:77 -> <init>
    boolean isNotSetApiLevel() -> E
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel$NotSetApiLevel access$000():73:73 -> a
    1:1:int hashCode():91:91 -> hashCode
com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel -> com.android.tools.r8.internal.wc:
    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() -> C
    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.U4:
    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.U4$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.V4:
    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.Z4:
    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:283:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState.getLastBadRange():288:291 -> a
    280:283:com.android.tools.r8.graph.DexApplication bisect():249 -> a
    284:284:boolean com.android.tools.r8.bisect.BisectState$Run.isBad():140:140 -> a
    284:284:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState.getLastBadRange():291 -> a
    284:284:com.android.tools.r8.graph.DexApplication bisect():249 -> a
    285:285:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState.getLastBadRange():292:292 -> a
    285:285:com.android.tools.r8.graph.DexApplication bisect():249 -> 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: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:287:boolean com.android.tools.r8.bisect.BisectState$Range.isEmpty():53:53 -> a
    287:287:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState$Range.sub(com.android.tools.r8.bisect.BisectState$Range):72 -> a
    287:287:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState.getLastBadRange():292 -> a
    287:287:com.android.tools.r8.graph.DexApplication bisect():249 -> a
    288:293: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
    288:293:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState.getLastBadRange():292 -> a
    288:293:com.android.tools.r8.graph.DexApplication bisect():249 -> a
    294:294:boolean com.android.tools.r8.bisect.BisectState$Range.isEmpty():53:53 -> a
    294:294:com.android.tools.r8.graph.DexApplication bisect():250 -> a
    295:298:com.android.tools.r8.graph.DexApplication bisect():254:257 -> a
    299:299:int com.android.tools.r8.bisect.BisectState$Range.size():57:57 -> a
    299:299:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState$Range.split():84 -> a
    299:299:com.android.tools.r8.graph.DexApplication bisect():258 -> a
    300:301:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState$Range.split():84:85 -> a
    300:301:com.android.tools.r8.graph.DexApplication bisect():258 -> a
    302:304:com.android.tools.r8.graph.DexApplication bisect():258:260 -> a
    305:305:com.android.tools.r8.graph.DexApplication bisect():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":593,"2":594,"3":595}}
    593:593:com.android.tools.r8.graph.DexApplication bisect():260:260 -> a
    594:594:com.android.tools.r8.graph.DexApplication bisect():260:260 -> a
    595:595:com.android.tools.r8.graph.DexApplication bisect():260:260 -> a
    565:569:com.android.tools.r8.graph.DexApplication bisect():260:264 -> a
    570:571:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.bisect.BisectState.getGoodClass(com.android.tools.r8.graph.DexProgramClass):280:281 -> a
    570: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
    580:585:com.android.tools.r8.graph.DexApplication bisect():271:276 -> a
    586:586:com.android.tools.r8.graph.DexApplication bisect():251:251 -> a
    587:587:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    587:587:com.android.tools.r8.graph.DexApplication bisect():251 -> a
    588:588:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    588:588:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    588:588:com.android.tools.r8.graph.DexApplication bisect():251 -> a
    589:589:com.android.tools.r8.graph.DexApplication bisect():251:251 -> a
    590:592:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState.getLastBadRange():294:296 -> a
    590:592:com.android.tools.r8.graph.DexApplication bisect():249 -> a
    596:597:java.util.List getSortedClasses(com.android.tools.r8.graph.DexApplication):325:326 -> a
    598:598: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
    3:4:com.android.tools.r8.graph.DexProgramClass getFinalClass():233: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:8:void write():308:315 -> d
    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.X4:
    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:com.android.tools.r8.bisect.BisectState$Range add(com.android.tools.r8.bisect.BisectState$Range):64:64 -> a
    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.Y4:
    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.M6:
    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.f8:
    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.e8:
    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.i8:
    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:1:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):128:128 -> a
    2:6:int getRegisterForValue(com.android.tools.r8.ir.code.Value):132:136 -> 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:165:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):528:535 -> a
    166:166: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
    166:166:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):535 -> a
    167:169:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):537:539 -> a
    170:173: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
    170:173:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):538 -> a
    174:201: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
    174:201: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
    174:201:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):538 -> a
    202:222: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
    202:222:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):538 -> a
    223:229:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):544:550 -> a
    230:230:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.<init>(int):95:95 -> a
    230:230:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):550 -> a
    231:231:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):551:551 -> a
    232:245: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
    232:245:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):552 -> a
    246:247:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):558:559 -> a
    248:248:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(int):110:110 -> a
    248:248:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):559 -> a
    249:249:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):560:560 -> a
    250:250:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    250:250:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    250:250:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):560 -> a
    251:258:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):560:567 -> a
    259:266:void com.android.tools.r8.cf.CfRegisterAllocator.updateFirstStackByJoiningTheSecond(java.util.List,java.util.List):596:603 -> a
    259:266:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):566 -> a
    267:277: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
    267:277:void com.android.tools.r8.cf.CfRegisterAllocator.updateFirstStackByJoiningTheSecond(java.util.List,java.util.List):603 -> a
    267:277:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):566 -> a
    278:278:void com.android.tools.r8.cf.CfRegisterAllocator.updateFirstStackByJoiningTheSecond(java.util.List,java.util.List):605:605 -> a
    278:278:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):566 -> a
    279:280:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):570:571 -> a
    281:290: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
    291:301: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
    291:301:void updateFirstRegisterMapByJoiningTheSecond(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):587 -> a
    302:302: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 getArgumentOrAllocateRegisterForValue(com.android.tools.r8.ir.code.Value,int):141:141 -> b
    2:2:com.android.tools.r8.utils.InternalOptions options():146:146 -> 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:int registersUsed():123:123 -> c
com.android.tools.r8.cf.CfRegisterAllocator$TypesAtBlockEntry -> com.android.tools.r8.internal.h8:
    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.P8:
    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:30:void <clinit>():15:44 -> <clinit>
    1:2:void <init>(int):65:66 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    1:1:int major():74:74 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):90:90 -> a
    3:3:boolean lambda$rangeInclusive$0(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.cf.CfVersion):98:98 -> a
    1:1:int minor():78:78 -> b
    2:2:boolean lambda$rangeInclusive$1(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.cf.CfVersion):99:99 -> b
    1:1:com.android.tools.r8.cf.CfVersion fromRaw(int):70:70 -> c
    2:2:int raw():82:82 -> c
    3:4:java.lang.Iterable rangeInclusive(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.cf.CfVersion):94:95 -> c
    5:5:boolean com.android.tools.r8.cf.CfVersion.isPreview():86:86 -> c
    5:5:java.lang.Iterable rangeInclusive(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.cf.CfVersion):95 -> c
    6:7:java.lang.Iterable rangeInclusive(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.cf.CfVersion):95:96 -> c
    8:8:boolean com.android.tools.r8.cf.CfVersion.isPreview():86:86 -> c
    8:8:java.lang.Iterable rangeInclusive(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.cf.CfVersion):96 -> c
    9:13:java.lang.Iterable rangeInclusive(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.cf.CfVersion):96:100 -> c
    1:1:boolean equals(java.lang.Object):115:115 -> equals
    1:1:int hashCode():120:120 -> 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():120 -> hashCode
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():110:110 -> n
    1:1:java.lang.String toString():125:125 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":254,"2":255,"3":256}}
    254:254:java.lang.String toString():125:125 -> toString
    255:255:java.lang.String toString():125:125 -> toString
    256:256:java.lang.String toString():125:125 -> toString
    127:127:java.lang.String toString():125:125 -> toString
    128:128:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":254,"2":255,"3":256}}
    254:254:java.lang.String toString():125:125 -> toString
    255:255:java.lang.String toString():125:125 -> toString
    256:256:java.lang.String toString():125:125 -> toString
    253:253:java.lang.String toString():125:125 -> toString
com.android.tools.r8.cf.FixedLocalValue -> com.android.tools.r8.internal.dk:
    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() -> J
    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
    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.RB:
    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.PB:
    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.QB:
    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.LZ:
    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:boolean com.android.tools.r8.graph.DexType.isCharType():288:288 -> a
    15:15:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo createInitializedType(com.android.tools.r8.graph.DexType):141 -> a
    16:16:boolean com.android.tools.r8.graph.DexType.isShortType():292:292 -> a
    16:16:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo createInitializedType(com.android.tools.r8.graph.DexType):142 -> a
    17:17:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo createInitializedType(com.android.tools.r8.graph.DexType):143:143 -> a
    18:23:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo createInitializedType(com.android.tools.r8.graph.DexType):139:144 -> a
    24:27:com.android.tools.r8.graph.DexType getDexType(com.android.tools.r8.ir.code.Value):148:151 -> a
    28:33:com.android.tools.r8.graph.DexType join(java.util.Set):180:185 -> a
    34:34:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.cf.TypeVerificationHelper.toTypeElement(com.android.tools.r8.graph.DexType):219:219 -> a
    34:34:com.android.tools.r8.graph.DexType join(java.util.Set):185 -> a
    35:36:com.android.tools.r8.graph.DexType join(java.util.Set):186:187 -> a
    37:37:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.cf.TypeVerificationHelper.toTypeElement(com.android.tools.r8.graph.DexType):219:219 -> a
    37:37:com.android.tools.r8.graph.DexType join(java.util.Set):187 -> a
    38:48:com.android.tools.r8.graph.DexType join(java.util.Set):187:197 -> a
    49:49:com.android.tools.r8.graph.DexType join(java.util.Set):196:196 -> a
    50:50:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    50:50:com.android.tools.r8.graph.DexType join(java.util.Set):196 -> 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.graph.DexType join(java.util.Set):196 -> a
    52:52:com.android.tools.r8.graph.DexType join(java.util.Set):196:196 -> a
    53:76:java.util.Map computeVerificationTypes():223:246 -> a
    77:120:java.util.Map computeVerificationTypes():245:288 -> a
    121:123:com.android.tools.r8.graph.DexType com.android.tools.r8.cf.TypeVerificationHelper.computeVerificationType(com.android.tools.r8.ir.code.Value):314:316 -> a
    121:123:java.util.Map computeVerificationTypes():289 -> a
    124:143:java.util.Map computeVerificationTypes():291:310 -> a
    144:149: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.GZ:
    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.HZ:
    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.IZ:
    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.JZ:
    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.KZ:
    com.android.tools.r8.graph.DexType getDexType() -> a
com.android.tools.r8.cf.code.CfArithmeticBinop -> com.android.tools.r8.internal.x6:
    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.w6:
    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.x6$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.y6:
    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.z6:
    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.A6:
    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.D6:
    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):397:397 -> 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.K6:
    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.J6:
    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.P6:
    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):397:397 -> 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):397:397 -> 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.Q6:
    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
    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:145 -> 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 internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):145 -> a
    6:6:com.android.tools.r8.graph.DexType com.android.tools.r8.cf.code.CfConstDynamic.getType():169:169 -> 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):149 -> 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: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
    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:149 -> a
    10:10:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> 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 -> a
    11:11:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.cf.code.CfConstDynamic.getBootstrapMethod():77:77 -> 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):153 -> 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):154:154 -> 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
    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:154 -> 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):188:188 -> a
    16:16:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> 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 -> 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:188 -> a
    18:18:void print(com.android.tools.r8.cf.CfPrinter):193:193 -> a
    19:21:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):204:206 -> a
    22:24:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):205:207 -> a
    25:25: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
    26:26:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> 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 -> 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:212 -> a
    28:28: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
    29:29: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
    30:30:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> 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 -> 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.R6:
    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):1228:1236 -> 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):1235:1239 -> 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):1229:1229 -> 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.S6:
    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):253:255 -> 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):1243:1251 -> 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):1250:1254 -> 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):1244:1244 -> 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.T6:
    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):1216:1216 -> 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.V6:
    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.U6:
    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.W6:
    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):1262:1264 -> 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.X6:
    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):1269:1272 -> 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.Y6:
    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):111:111 -> a
    5:5:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):467:467 -> 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):111 -> 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):112:112 -> a
    7:7:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):467:467 -> 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):112 -> 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):113:116 -> a
    12:12:void print(com.android.tools.r8.cf.CfPrinter):121:121 -> 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):131:158 -> 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":230,"2":231,"3":232}}
    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):158:158 -> 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):158:158 -> a
    232:232: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
    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):158:158 -> a
    200:202:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):152:154 -> a
    203:204:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):146:147 -> a
    205:206:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):140:141 -> 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):135:135 -> a
    233:243: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):165:175 -> a
    244:244: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":431,"2":432,"3":433}}
    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):175:175 -> a
    432:432: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
    433:433: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
    419:419: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
    420:420: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
    421:421: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
    422:422: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:169 -> a
    423:423: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):167:167 -> a
    434: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):186:214 -> 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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":690,"2":691,"3":692}}
    690:690: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):214:214 -> a
    691:691: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):214:214 -> a
    692:692: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):214:214 -> a
    677:677: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):214:214 -> a
    678:682: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):200:204 -> a
    683:684: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
    683:684: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):202 -> a
    685:685: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:190 -> a
    686:686:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> a
    686:686: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 -> a
    687:687: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
    688:688: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):195:195 -> a
    689:689:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):167:167 -> 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):195 -> 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.g7:
    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.Z6:
    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.a7:
    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):397:397 -> 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):397:397 -> 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.b7:
    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.c7:
    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.d7:
    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.e7:
    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.f7:
    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.h7:
    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):391:391 -> 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):391:391 -> 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.i7:
    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
    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:void print(com.android.tools.r8.cf.CfPrinter):80:80 -> 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):85:85 -> a
    6: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):101:102 -> a
    8:8:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forJumpInstruction():267:267 -> 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):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.k7:
    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
    6:6:void print(com.android.tools.r8.cf.CfPrinter):90:90 -> 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):103:103 -> a
    8:11: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
    12:12: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):1445:1445 -> a
    12:12: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
    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):1443:1443 -> 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: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):139:139 -> 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):141:141 -> 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):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.j7:
    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.m7:
    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
    6:6:void print(com.android.tools.r8.cf.CfPrinter):90:90 -> 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):103:103 -> a
    8: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:122 -> a
    13:13: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):1416:1416 -> 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):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):1414:1414 -> 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: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):141:143 -> a
    18:18:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forJumpInstruction():267:267 -> a
    18:18: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.l7:
    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.n7:
    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.o7:
    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):397:397 -> 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.p7:
    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.q7:
    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.r7:
    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):397:397 -> 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.s7:
    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.y7:
    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):429:429 -> 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
    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:44:int com.android.tools.r8.ir.code.Invoke$Type.getCfOpcode():150:166 -> a
    28: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):71:71 -> a
    212:212:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):127 -> a
    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:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):191:191 -> a
    540:540:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.ir.conversion.IRBuilder.dexItemFactory():491:491 -> 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):429:429 -> 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
    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):429:429 -> 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
    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):2796:2796 -> 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):429:429 -> 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
    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):429:429 -> 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
    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):429:429 -> 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
    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.z7:
    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.A7:
    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:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30: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: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
    5:5:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    5:5:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():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:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30: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:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> 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):48 -> a
    8:8:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    8:8:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30 -> 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):48 -> 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:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> a
    10:10: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
    11:11:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    11:11:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30 -> a
    11: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):61 -> a
    12:12:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> 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):61 -> a
    13:13:void print(com.android.tools.r8.cf.CfPrinter):66:66 -> 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):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:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> s
    3:3:int getCompareToId():42 -> s
com.android.tools.r8.cf.code.CfLabel -> com.android.tools.r8.internal.B7:
    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
    3:3:void print(com.android.tools.r8.cf.CfPrinter):60:60 -> 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: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.G7:
    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):1306:1306 -> 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.F7:
    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.I7:
    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.H7:
    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.J7:
    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:9:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1299:1301 -> a
    7:9: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
    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):100:100 -> a
    11: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:126 -> a
    11: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
    13:13:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forMonitor():275:275 -> a
    13:13: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.K7:
    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):397:397 -> 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.M7:
    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.L7:
    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.N7:
    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):397:397 -> 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.O7:
    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):397:397 -> 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.P7:
    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):116:116 -> a
    6:6:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):94 -> 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):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.Q7:
    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.S7:
    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.R7:
    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.W7:
    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
    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.g8:
    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:15:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):88:97 -> a
    16:16:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.ir.conversion.IRBuilder.dexItemFactory():491:491 -> 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):1493:1493 -> 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):1494 -> 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):1494:1494 -> 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):1494 -> 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):1494:1501 -> 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):1500:1500 -> 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):1498:1503 -> 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.k8:
    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.j8:
    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.l8:
    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.m8:
    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.u8:
    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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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):1306:1306 -> 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: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):125:126 -> a
    451: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: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):125:126 -> a
    523: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: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):125:126 -> a
    538: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: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):125:126 -> a
    545: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: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):125:126 -> a
    556: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.t8:
    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.u8$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.F8:
    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.G8:
    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.I8:
    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):1306:1306 -> 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.H8:
    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.K8:
    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
    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.J8:
    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.K8$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.L8:
    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.M8:
    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
    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
    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.N8:
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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
    1:1:java.lang.String getName():25:25 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():35:35 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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.g6:
com.android.tools.r8.code.CfOrDexInstanceFieldRead -> com.android.tools.r8.internal.T7:
com.android.tools.r8.code.CfOrDexInstruction -> com.android.tools.r8.internal.U7:
    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.V7:
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):397:397 -> 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):397:397 -> 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):397:397 -> 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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():43:43 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():31:31 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():31:31 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():31:31 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():31:31 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():31:31 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> y
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):397:397 -> 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):397:397 -> 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):397:397 -> 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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():53:53 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> y
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:97:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodHandle(int,com.android.tools.r8.graph.DexMethodHandle):1228:1236 -> a
    89:97:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):107 -> a
    98:102:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodHandle(int,com.android.tools.r8.graph.DexMethodHandle):1235:1239 -> a
    98:102:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):107 -> a
    103:103:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodHandle(int,com.android.tools.r8.graph.DexMethodHandle):1229:1229 -> a
    103:103: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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():46:46 -> y
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):253:255 -> 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:96:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodType(int,com.android.tools.r8.graph.DexProto):1243:1251 -> a
    88:96:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):101 -> a
    97:101:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodType(int,com.android.tools.r8.graph.DexProto):1250:1254 -> a
    97:101:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):101 -> a
    102:102:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodType(int,com.android.tools.r8.graph.DexProto):1244:1244 -> a
    102:102: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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():45:45 -> y
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() -> F
    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:100:void com.android.tools.r8.ir.conversion.IRBuilder.addConstString(int,com.android.tools.r8.graph.DexString):1262:1264 -> a
    98:100: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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():58:58 -> y
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:69:void com.android.tools.r8.ir.conversion.IRBuilder.addConstString(int,com.android.tools.r8.graph.DexString):1262:1264 -> a
    67:69: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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():36:36 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> y
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):397:397 -> 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):397:397 -> 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):397:397 -> 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 -> r
    1:1:int getOpcode():77:77 -> v
    1:1:java.lang.String getSmaliName():72:72 -> y
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:116:void com.android.tools.r8.ir.conversion.IRBuilder.addDexItemBasedConstString(int,com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):1269:1272 -> a
    113:116: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 -> r
    1:1:int getOpcode():62:62 -> v
    1:1:java.lang.String getSmaliName():57:57 -> y
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 registerUse(com.android.tools.r8.graph.UseRegistry):73:73 -> a
    6:6:void com.android.tools.r8.graph.UseRegistry.registerNewUnboxedEnumInstance(com.android.tools.r8.graph.DexType):116:116 -> a
    6:6:void registerUse(com.android.tools.r8.graph.UseRegistry):73 -> a
    7:7:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):82:82 -> a
    8:8:com.android.tools.r8.graph.DexType getType():77:77 -> a
    8:8:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):82 -> a
    9:9: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 -> r
    1:1:int getOpcode():44:44 -> v
    1:1:java.lang.String getSmaliName():39:39 -> y
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):1493:1493 -> 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):1494 -> 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):1494:1494 -> 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):1494 -> 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):1494:1501 -> 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):1500:1500 -> 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):1498:1503 -> 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 -> r
    1:1:int getOpcode():61:61 -> v
    int getSize() -> x
    1:1:java.lang.String getSmaliName():56:56 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():35:35 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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):397:397 -> 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):397:397 -> 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):397:397 -> 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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():37:37 -> y
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):397:397 -> 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):397:397 -> 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):397:397 -> 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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():37:37 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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>
    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
    1:1:int[] getTargets():70:70 -> z
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>
    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
    1:1:int[] getTargets():74:74 -> z
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() -> B
    void collectIndexedItems(com.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>
    void collectIndexedItems(com.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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
    1:1:int[] getTargets():39:39 -> 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>
    void collectIndexedItems(com.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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
    1:1:int[] getTargets():39:39 -> 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>
    void collectIndexedItems(com.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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
    1:1:int[] getTargets():39:39 -> 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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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):467:467 -> 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
    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):467:467 -> 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
    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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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):397:397 -> 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):397:397 -> 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):397:397 -> 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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():48:48 -> y
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>
    1:1:boolean hasOffset():137:137 -> A
    boolean hasPayload() -> B
    boolean isCheckCast() -> D
    boolean isConstString() -> F
    boolean isDexItemBasedConstString() -> G
    boolean isIntSwitch() -> H
    boolean isPayload() -> I
    1:1:boolean isSimpleNop():232:232 -> J
    boolean isSwitchPayload() -> K
    com.android.tools.r8.utils.structural.StructuralItem self() -> 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:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):355:355 -> a
    310:310: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
    2:2:java.lang.String formatRelativeOffset(int):272:272 -> c
    3:3:java.lang.String formatOffset(int):264:264 -> c
    3:3:java.lang.String formatRelativeOffset(int):272 -> c
    4:4:java.lang.String formatRelativeOffset(int):272:272 -> c
    5:5:java.lang.String formatRelativeOffset(int):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":8,"2":9,"3":10,"4":11,"5":12}}
    8:8:java.lang.String formatDecimalOffset(int):268:268 -> c
    8:8:java.lang.String formatRelativeOffset(int):272 -> c
    9:9:java.lang.String formatDecimalOffset(int):268:268 -> c
    9:9:java.lang.String formatRelativeOffset(int):272 -> c
    10:10:java.lang.String formatDecimalOffset(int):268:268 -> c
    10:10:java.lang.String formatRelativeOffset(int):272 -> c
    11:11:java.lang.String formatDecimalOffset(int):268:268 -> c
    11:11:java.lang.String formatRelativeOffset(int):272 -> c
    12:12:java.lang.String formatDecimalOffset(int):268:268 -> c
    12:12:java.lang.String formatRelativeOffset(int):272 -> c
    6:6:java.lang.String formatDecimalOffset(int):268:268 -> c
    6:6:java.lang.String formatRelativeOffset(int):272 -> c
    7:7:java.lang.String formatRelativeOffset(int):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":13,"2":14,"3":15}}
    13:13:java.lang.String formatRelativeOffset(int):272:272 -> c
    14:14:java.lang.String formatRelativeOffset(int):272:272 -> c
    15:15:java.lang.String formatRelativeOffset(int):272:272 -> 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() -> q
    java.lang.String getName() -> r
    1:1:int getOffset():141:141 -> s
    1:1:java.lang.String toString():384:384 -> toString
    int getOpcode() -> v
    int getPayloadOffset() -> w
    int getSize() -> x
    java.lang.String getSmaliName() -> y
    int[] getTargets() -> 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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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:6:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1545:1548 -> a
    3:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    7:7:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298:298 -> a
    7:7:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1548 -> a
    7:7:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    8:8:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isStaticPut():129:129 -> a
    8:8:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298 -> a
    8:8:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1548 -> a
    8:8:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    9:9:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298:298 -> a
    9:9:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1548 -> a
    9:9:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    10:10:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isStaticGet():133:133 -> a
    10:10:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298 -> a
    10:10:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1548 -> a
    10:10:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    11:11:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298:298 -> a
    11:11:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1548 -> a
    11:11:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    12:24:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1549:1561 -> a
    12:24:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    25:25:com.android.tools.r8.graph.DexCallSite getCallSite():63:63 -> a
    25:25:void collectIndexedItems(com.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
    26:27:void collectIndexedItems(com.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
    28:29:void com.android.tools.r8.graph.DexCallSite.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):164:165 -> a
    28: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:30:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    30:30:void com.android.tools.r8.graph.DexCallSite.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):165 -> a
    30:30:void collectIndexedItems(com.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
    31:34:void com.android.tools.r8.graph.DexCallSite.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):166:169 -> a
    31:34:void collectIndexedItems(com.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
    35:35:com.android.tools.r8.graph.DexCallSite getCallSite():63:63 -> a
    35:35:void registerUse(com.android.tools.r8.graph.UseRegistry):58 -> a
    36:36:void registerUse(com.android.tools.r8.graph.UseRegistry):58:58 -> 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:83 -> a
    38:38:void com.android.tools.r8.code.Instruction.writeFirst(int,int,java.nio.ShortBuffer):103:103 -> 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):83 -> a
    39:39:com.android.tools.r8.graph.DexCallSite getCallSite():63:63 -> a
    39:39: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
    40: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):84:85 -> a
    42:42:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    42:42: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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> y
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):429:429 -> 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
    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):429:429 -> 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
    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 -> q
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):429:429 -> 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
    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):429:429 -> 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
    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 -> q
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):429:429 -> 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
    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):429:429 -> 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
    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 -> q
    1:1:com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.getMethod():0 -> q
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String getName():39:39 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():44:44 -> y
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):429:429 -> 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
    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):429:429 -> 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
    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 -> q
    1:1:java.lang.String getName():31:31 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():36:36 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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:4:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1299:1301 -> a
    2:4:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():24:24 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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:4:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1299:1301 -> a
    2:4:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():24:24 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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):1306:1306 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40 -> a
    1:1:java.lang.String getName():25:25 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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):1306:1306 -> 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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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):1306:1306 -> 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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():28:28 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():35:35 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():35:35 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():34:34 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():35:35 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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):397:397 -> 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):397:397 -> 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):397:397 -> 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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> y
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):397:397 -> 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):397:397 -> 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):397:397 -> 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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():39:39 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():54:54 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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() -> H
    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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():31:31 -> y
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() -> I
    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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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>
    void collectIndexedItems(com.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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
    1:1:int[] getTargets():39:39 -> 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>
    void collectIndexedItems(com.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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
    1:1:int[] getTargets():39:39 -> 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>
    void collectIndexedItems(com.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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():28:28 -> y
    1:1:int[] getTargets():48:48 -> 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>
    void collectIndexedItems(com.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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
    1:1:int[] getTargets():39:39 -> 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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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):467:467 -> 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
    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):467:467 -> 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
    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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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() -> H
    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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():35:35 -> y
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() -> I
    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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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() -> K
    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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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 -> r
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> y
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.X8:
    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.U8:
    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.V8:
    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.W8:
    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.e9:
    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.Zb:
    1:1:void <init>():25:25 -> <init>
com.android.tools.r8.com.google.common.base.Equivalence -> com.android.tools.r8.internal.Ii:
    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.Hi:
    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.jl:
com.android.tools.r8.com.google.common.base.Java8Usage -> com.android.tools.r8.internal.Tu:
    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.bv:
    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.av:
    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.IJ:
    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.ZJ:
    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.jL:
    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.hL:
    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.wL:
    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.xL:
    1:1:boolean test(java.lang.Object):79:79 -> test
com.android.tools.r8.com.google.common.base.Predicates -> com.android.tools.r8.internal.HL:
    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.AL:
    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.FL:
    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.BL:
    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.CL:
    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.DL:
    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.EL:
    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.GL:
    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.RU:
    1:1:void <init>(com.android.tools.r8.com.google.common.base.Splitter$Strategy,boolean,com.android.tools.r8.com.google.common.base.CharMatcher,int):112:112 -> <init>
    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:9: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:226 -> a
    4:9:com.android.tools.r8.com.google.common.base.Splitter onPattern(java.lang.String):260 -> a
    10:10:com.android.tools.r8.com.google.common.base.CharMatcher com.android.tools.r8.com.google.common.base.CharMatcher.none():127:127 -> a
    10:10:void com.android.tools.r8.com.google.common.base.Splitter.<init>(com.android.tools.r8.com.google.common.base.Splitter$Strategy):109 -> a
    10:10: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
    10:10:com.android.tools.r8.com.google.common.base.Splitter onPattern(java.lang.String):260 -> a
    11:11:void com.android.tools.r8.com.google.common.base.Splitter.<init>(com.android.tools.r8.com.google.common.base.Splitter$Strategy):109:109 -> a
    11:11: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
    11:11: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.xW:
    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.QW:
com.android.tools.r8.com.google.common.base.Suppliers -> com.android.tools.r8.internal.UW:
    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.SW:
    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.TW:
    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.zX:
    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() -> l
    1:1:java.lang.Object endOfData():121:121 -> m
    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:void access$300(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.lang.Object):86:86 -> a
    4:4:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.removeValuesForKey(java.lang.Object):1113:1113 -> a
    4:4:void access$300(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.lang.Object):86 -> a
    5:5:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps.safeRemove(java.util.Map,java.lang.Object):3539:3539 -> a
    5:5:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.removeValuesForKey(java.lang.Object):1113 -> a
    5:5:void access$300(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.lang.Object):86 -> a
    6:6:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    6:6:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps.safeRemove(java.util.Map,java.lang.Object):3539 -> a
    6:6:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.removeValuesForKey(java.lang.Object):1113 -> a
    6:6:void access$300(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.lang.Object):86 -> a
    7:7:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps.safeRemove(java.util.Map,java.lang.Object):3541:3541 -> a
    7:7:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.removeValuesForKey(java.lang.Object):1113 -> a
    7:7:void access$300(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.lang.Object):86 -> a
    8:13:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.removeValuesForKey(java.lang.Object):1113:1118 -> a
    8:13:void access$300(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.lang.Object):86 -> a
    14:14:boolean put(java.lang.Object,java.lang.Object):184:184 -> a
    15:15:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.createCollection(java.lang.Object):161:161 -> a
    15:15:boolean put(java.lang.Object,java.lang.Object):186 -> a
    16:16:java.util.List com.android.tools.r8.com.google.common.collect.ArrayListMultimap.createCollection():131:131 -> a
    16:16:java.util.Collection com.android.tools.r8.com.google.common.collect.ArrayListMultimap.createCollection():61 -> a
    16:16:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.createCollection(java.lang.Object):161 -> a
    16:16:boolean put(java.lang.Object,java.lang.Object):186 -> a
    17:25:boolean put(java.lang.Object,java.lang.Object):187:195 -> a
    26:28:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.iteratorOrListIterator(java.util.Collection):580:582 -> a
    26:28:java.util.Iterator access$100(java.util.Collection):86 -> a
    29:29:java.util.Collection entries():1217:1217 -> a
    30:33:java.util.Spliterator lambda$entrySpliterator$1(java.util.Map$Entry):1252:1255 -> a
    34:34: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
    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 -> l
    1:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.getDelegateIterator():474 -> l
    1:2:java.util.ListIterator getDelegateListIterator():844 -> l
    3:3:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.getDelegateIterator():475:475 -> l
    3:3:java.util.ListIterator getDelegateListIterator():844 -> l
    4:4:java.util.ListIterator getDelegateListIterator():844:844 -> l
    5:5:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.validateIterator():450:450 -> l
    5:5:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.getDelegateIterator():474 -> l
    5:5:java.util.ListIterator getDelegateListIterator():844 -> l
    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.D0:
    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.C0:
    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.G0:
    java.util.Set entrySet -> c
    java.util.Set elementSet -> b
    1:1:void <init>():45:45 -> <init>
    1:3:java.util.Set elementSet():131:133 -> D
    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
com.android.tools.r8.com.google.common.collect.AbstractMultiset$ElementSet -> com.android.tools.r8.internal.E0:
    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.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):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.f3:
    int expectedValuesPerKey -> h
    1:3: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
    2:2:void com.android.tools.r8.com.google.common.collect.ArrayListMultimap.<init>():108:108 -> j
    2:2:com.android.tools.r8.com.google.common.collect.ArrayListMultimap create():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.g3:
    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.m4:
    1:1:void <init>():25:25 -> <init>
com.android.tools.r8.com.google.common.collect.BiMap -> com.android.tools.r8.internal.E4:
    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.S5:
    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.Db:
    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.Kb:
    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.Eb:
    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.Fb:
    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.Gb:
    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.Ib:
    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.Hb:
    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.Jb:
    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.ac:
    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.Vc:
    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.Rc:
    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 -> l
    1:1:java.lang.Object delegate():450 -> l
    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.Sc:
    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 -> l
    1:7:java.lang.Object computeNext():505 -> l
    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 -> l
    8:8:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$2.computeNext():518 -> l
    8:8:java.lang.Object computeNext():505 -> l
com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$3 -> com.android.tools.r8.internal.Tc:
    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 -> l
    1:1:java.lang.Object delegate():524 -> l
    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.Uc:
    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.Ld:
    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.zh:
    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.vk:
    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.sk:
    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.uk:
    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.tk:
    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.Ek:
    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.Fk:
    1:1:void <init>():50:50 -> <init>
    java.lang.Object delegate() -> l
    1:1:java.lang.String toString():63:63 -> toString
com.android.tools.r8.com.google.common.collect.ForwardingSet -> com.android.tools.r8.internal.Gk:
    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.fm:
    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.Iterator entryIterator():498:498 -> e
    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: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.Vl:
    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.Ul:
    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.Wl:
    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.bm:
    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 -> e
    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.Yl:
    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.Xl:
    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.am:
    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.Zl:
    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.cm:
    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.em:
    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.dm:
    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.lm:
    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.rm:
    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.yn:
    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.An:
    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.zn:
    1:1:void <init>():176:176 -> <init>
    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 put(java.lang.Object,java.lang.Object):189:189 -> a
    3:3: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
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder put(java.lang.Object,java.lang.Object):170 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableBiMap$Builder com.android.tools.r8.com.google.common.collect.ImmutableBiMap$Builder.orderEntriesByValue(java.util.Comparator):248:248 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder orderEntriesByValue(java.util.Comparator):170 -> 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.Cn:
    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.Bn:
    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.En:
    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.Fn:
    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.Gn:
    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.Nn:
    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
    1:3:int hashCode():672:674 -> hashCode
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator listIterator(int):393:393 -> i
    2:2: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.Jn:
    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.Kn:
    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.Ln:
    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.Mn:
    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.Pn:
    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.On:
    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.Un:
    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:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder builder():180:180 -> e
    2:2:void com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder.<init>():255:255 -> e
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder builder():180 -> e
    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: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.Qn:
    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.Rn:
    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.Tn:
    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.Sn:
    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.Xn:
    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.Vn:
    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.Wn:
    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.Zn:
    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.Yn:
    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.ao:
    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.do:
    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.bo:
    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.co:
    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.io:
    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.eo:
    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.fo:
    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.go:
    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
    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
com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Keys -> com.android.tools.r8.internal.ho:
    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
    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
    1:2:com.android.tools.r8.com.google.common.collect.Multiset$Entry getEntry(int):649:650 -> i
    3:3: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 -> i
    3:3:com.android.tools.r8.com.google.common.collect.Multiset$Entry getEntry(int):650 -> i
    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
com.android.tools.r8.com.google.common.collect.ImmutableMultiset -> com.android.tools.r8.internal.no:
    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:1:java.util.Set com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Keys.elementSet():623:623 -> D
    1:2:com.android.tools.r8.com.google.common.collect.ImmutableList asList():254:255 -> a
    3:3:int remove(java.lang.Object,int):288:288 -> a
    4:6: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
    3:3:int setCount(java.lang.Object,int):302:302 -> 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
    1:1:int hashCode():336:336 -> hashCode
    com.android.tools.r8.com.google.common.collect.Multiset$Entry getEntry(int) -> i
    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
com.android.tools.r8.com.google.common.collect.ImmutableMultiset$1 -> com.android.tools.r8.internal.jo:
    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.ko:
    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.lo:
    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.mo:
    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.uo:
    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
    1:1:int hashCode():325:325 -> hashCode
    boolean isHashCodeFast() -> i
    1:1:int com.android.tools.r8.com.google.common.collect.ImmutableSet.maxRunBeforeFallback(int):742:742 -> i
    1:1:int access$000(int):53 -> i
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet of():75:75 -> j
    2:14:int chooseTableSize(int):643:655 -> j
com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder -> com.android.tools.r8.internal.oo:
    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.qo:
    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.po:
    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.ro:
    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.so:
    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.to:
    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.Co:
    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.Bo:
    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.Au:
    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.vu:
    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.wu:
    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.xu:
    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.zu:
    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.yu:
    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.Ou:
    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.Eu:
    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.Fu:
    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.Gu:
    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.Hu:
    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 -> l
com.android.tools.r8.com.google.common.collect.Iterators$6 -> com.android.tools.r8.internal.Iu:
    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.Ju:
    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.Ku:
    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.Lu:
    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.Mu:
    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.Nu:
    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.Wu:
    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
    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.Vu:
    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.Xu:
    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:14:com.android.tools.r8.com.google.common.collect.ImmutableMap create(int,java.util.Map$Entry[]):41:47 -> a
    15:15: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.Yu:
    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
    1:1:com.android.tools.r8.com.google.common.collect.Multiset$Entry getEntry(int):78:78 -> i
    1:1:int size():88:88 -> size
com.android.tools.r8.com.google.common.collect.JdkBackedImmutableSet -> com.android.tools.r8.internal.Zu:
    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.tB:
    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.HB:
    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.EB:
    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.GB:
    java.util.List forwardList -> b
    1:2:void <init>(java.util.List):810:811 -> <init>
    1:1:int access$000(com.android.tools.r8.com.google.common.collect.Lists$ReverseList,int):807:807 -> 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
    3:3:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):826:826 -> a
    3:3:int access$000(com.android.tools.r8.com.google.common.collect.Lists$ReverseList,int):807 -> a
    4:4:java.util.List getForwardList():815:815 -> 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.FB:
    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.eD:
    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.SC:
    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.TC:
    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.UC:
    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.VC:
    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.YC:
    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.WC:
    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.XC:
    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.ZC:
    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.bD:
    1:1:void <init>():3462:3462 -> <init>
    1:1:void forEachEntry(java.util.function.Consumer):3499:3499 -> a
    java.util.Iterator entryIterator() -> e
    1:1:java.util.Set entrySet():3475:3475 -> entrySet
    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.aD:
    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.cD:
    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.dD:
    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.oF:
    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.rF:
    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:java.util.Set elementSet():1759:1759 -> D
    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
com.android.tools.r8.com.google.common.collect.Multimaps$Keys$1 -> com.android.tools.r8.internal.qF:
    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.pF:
    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.tF:
    java.util.Set elementSet() -> D
    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
com.android.tools.r8.com.google.common.collect.Multiset$Entry -> com.android.tools.r8.internal.sF:
    int getCount() -> a
    java.lang.Object getElement() -> b
com.android.tools.r8.com.google.common.collect.Multisets -> com.android.tools.r8.internal.yF:
    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.uF:
    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.vF:
    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.wF:
    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.xF:
    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.NaturalOrdering -> com.android.tools.r8.internal.KF:
    com.android.tools.r8.com.google.common.collect.NaturalOrdering INSTANCE -> b
    1:1:void <clinit>():29:29 -> <clinit>
    1:1:void <init>():74:74 -> <init>
    1:1:int compare(java.lang.Object,java.lang.Object):26:26 -> compare
    2:2:int com.android.tools.r8.com.google.common.collect.NaturalOrdering.compare(java.lang.Comparable,java.lang.Comparable):36:36 -> compare
    2:2:int compare(java.lang.Object,java.lang.Object):26 -> compare
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> compare
    3:3:int com.android.tools.r8.com.google.common.collect.NaturalOrdering.compare(java.lang.Comparable,java.lang.Comparable):36 -> compare
    3:3:int compare(java.lang.Object,java.lang.Object):26 -> compare
    4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> compare
    4:4:int com.android.tools.r8.com.google.common.collect.NaturalOrdering.compare(java.lang.Comparable,java.lang.Comparable):37 -> compare
    4:4:int compare(java.lang.Object,java.lang.Object):26 -> compare
    5:5:int com.android.tools.r8.com.google.common.collect.NaturalOrdering.compare(java.lang.Comparable,java.lang.Comparable):38:38 -> compare
    5:5:int compare(java.lang.Object,java.lang.Object):26 -> compare
    1:1:java.lang.String toString():71:71 -> toString
com.android.tools.r8.com.google.common.collect.ObjectArrays -> com.android.tools.r8.internal.dJ:
    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.kK:
    1:1:void <init>():391:391 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.Ordering natural():162:162 -> a
com.android.tools.r8.com.google.common.collect.Platform -> com.android.tools.r8.internal.iL:
# {"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 -> i
    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 size():196:196 -> size
    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 -> i
    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 -> i
    2:7:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator listIterator(int):83 -> i
    8:8:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.emptyListIterator():88:88 -> i
    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 -> i
    8:8:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator listIterator(int):83 -> i
    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 -> i
    9:9:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator listIterator(int):83 -> i
    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.AR:
    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
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
com.android.tools.r8.com.google.common.collect.RegularImmutableMultiset -> com.android.tools.r8.internal.CR:
    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
    1:1:int hashCode():193:193 -> hashCode
    1:1:com.android.tools.r8.com.google.common.collect.Multiset$Entry getEntry(int):188:188 -> i
    1:1:int size():177:177 -> size
com.android.tools.r8.com.google.common.collect.RegularImmutableMultiset$NonTerminalEntry -> com.android.tools.r8.internal.BR:
    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.DR:
    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.IT:
    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.zT:
    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.yT:
    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 -> l
com.android.tools.r8.com.google.common.collect.Sets$3 -> com.android.tools.r8.internal.BT:
    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.AT:
    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 -> l
com.android.tools.r8.com.google.common.collect.Sets$5 -> com.android.tools.r8.internal.FT:
    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.ET:
    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 -> l
    1:29:java.lang.Object computeNext():1630 -> l
com.android.tools.r8.com.google.common.collect.Sets$5$1$1 -> com.android.tools.r8.internal.DT:
    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.CT:
    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 -> l
com.android.tools.r8.com.google.common.collect.Sets$ImprovedAbstractSet -> com.android.tools.r8.internal.GT:
    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.HT:
    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.wU:
    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.xU:
    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.yU:
    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.UV:
    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.PV:
    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.QV:
    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.RV:
    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.SV:
    java.lang.Object apply(java.lang.Object,long) -> a
com.android.tools.r8.com.google.common.collect.Streams$MapWithIndexSpliterator -> com.android.tools.r8.internal.TV:
    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.nY:
    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.e00:
    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.f00:
    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.hm:
    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
    7:7: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.gm:
    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
    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.km:
    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.mm:
    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.qm:
# {"id":"sourceFile","fileName":"Hashing.java"}
    int $r8$clinit -> 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.pm:
    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.ED:
    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.DD:
    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.AF:
    com.android.tools.r8.com.google.common.hash.HashFunction MURMUR3_128 -> b
    1:3:void <clinit>():45:47 -> <clinit>
    1:1:void <init>(int):53:53 -> <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.zF:
    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.l4:
    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.h4:
    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.i4:
    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.j4:
    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.k4:
    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.V5:
    java.io.OutputStream NULL_OUTPUT_STREAM -> a
    int $r8$clinit -> b
    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.U5:
    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.Y8:
    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.b9:
    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.Z8:
    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.a9:
    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.c9:
    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.fb:
    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.jb:
    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.gb:
    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.hb:
    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.ib:
    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.Us:
    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.Ts:
    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.lD:
    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.Rt:
    int saturatedCast(long) -> a
com.android.tools.r8.com.google.gson.ExclusionStrategy -> com.android.tools.r8.internal.Ri:
    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.yj:
    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.xj:
    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.zj:
    java.lang.String translateName(java.lang.reflect.Field) -> a
com.android.tools.r8.com.google.gson.Gson -> com.android.tools.r8.internal.Ql:
    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.Kl:
    1:1:void <init>():112:112 -> <init>
com.android.tools.r8.com.google.gson.Gson$2 -> com.android.tools.r8.internal.Ll:
    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.Ml:
    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.Nl:
    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.Ol:
    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.Pl:
    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.pp:
    java.lang.Object createInstance(java.lang.reflect.Type) -> a
com.android.tools.r8.com.google.gson.JsonArray -> com.android.tools.r8.internal.fv:
    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:int hashCode():371:371 -> hashCode
    1:1:com.android.tools.r8.com.google.gson.JsonElement get(int):183:183 -> i
    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.gv:
    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.hv:
    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.iv:
    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.jv:
    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.kv:
    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.lv:
    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.mv:
    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.qv:
    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.CY:
    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.BY:
    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.DY:
    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.dv:
com.android.tools.r8.com.google.gson.annotations.SerializedName -> com.android.tools.r8.internal.uT:
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.Fd:
    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.wd:
    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.rd:
    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.sd:
    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.td:
    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.ud:
    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.vd:
    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.xd:
    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.yd:
    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.zd:
    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.Ad:
    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.Bd:
    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.Cd:
    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.Dd:
    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.Ed:
    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.Qi:
    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.Pi:
    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.pv:
    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.sA:
    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.BB:
    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.uB:
    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.wB:
    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.vB:
    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.yB:
    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.xB:
    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.zB:
    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.AB:
    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.jJ:
    java.lang.Object construct() -> a
com.android.tools.r8.com.google.gson.internal.Primitives -> com.android.tools.r8.internal.gM:
    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.m00:
    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.i00:
    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.j00:
    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.k00:
    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.l00:
    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.j3:
    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.i3:
    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.Qb:
    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.Pb:
    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.ie:
    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.he:
    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.ev:
    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.tv:
    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.sv:
    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.PC:
    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.OC:
    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.GJ:
    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.FJ:
    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:37:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):234:241 -> a
    38:39:boolean com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.writeField(java.lang.Object):135:136 -> a
    38:39:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):241 -> a
    40:40:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):242:242 -> a
    41:44: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
    41:44:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):243 -> a
    45:45:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):249:249 -> a
    46:46: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.TU:
    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.SU:
    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.OX:
    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.NX:
    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.EY:
    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.qZ:
    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.PY:
    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.FY:
    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.GY:
    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.HY:
    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.IY:
    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.JY:
    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.KY:
    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.LY:
    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.MY:
    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.NY:
    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.OY:
    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.bZ:
    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.QY:
    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.RY:
    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.SY:
    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.TY:
    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.UY:
    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.VY:
    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.XY:
    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.WY:
    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.YY:
    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.ZY:
    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.aZ:
    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.iZ:
    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.cZ:
    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.dZ:
    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.eZ:
    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.fZ:
    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.hZ:
    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.gZ:
    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.jZ:
    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.kZ:
    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.lZ:
    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.mZ:
    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.nZ:
    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.oZ:
    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.pZ:
    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.kn:
    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.DZ:
    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.ov:
    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.nv:
    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.rv:
# {"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.uv:
    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.MC:
    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.pc:
    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.lc:
    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.mc:
    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.nc:
    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.oc:
    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.vf:
    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):53:56 -> <init>
    1:1:boolean com.android.tools.r8.desugar.desugaredlibrary.DesugaredLibraryKeepRuleGenerator.shouldRun():68:68 -> a
    1:1:void runIfNecessary(com.android.tools.r8.utils.Timing):60 -> a
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    2:2:boolean com.android.tools.r8.desugar.desugaredlibrary.DesugaredLibraryKeepRuleGenerator.shouldRun():68 -> a
    2:2:void runIfNecessary(com.android.tools.r8.utils.Timing):60 -> a
    3:3:boolean com.android.tools.r8.desugar.desugaredlibrary.DesugaredLibraryKeepRuleGenerator.shouldRun():68:68 -> a
    3:3:void runIfNecessary(com.android.tools.r8.utils.Timing):60 -> 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:void lambda$readClassSources$1(java.util.Queue,com.android.tools.r8.graph.DexProgramClass):411:411 -> a
    26:26:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> a
    26:26:void lambda$readClassSources$1(java.util.Queue,com.android.tools.r8.graph.DexProgramClass):411 -> a
    27:37:boolean includeAnnotationClass(com.android.tools.r8.graph.DexProgramClass):388:398 -> a
    27:37:void lambda$readClassSources$1(java.util.Queue,com.android.tools.r8.graph.DexProgramClass):411 -> a
    38:38:void lambda$readClassSources$1(java.util.Queue,com.android.tools.r8.graph.DexProgramClass):414:414 -> a
    39:39:java.lang.Object lambda$readClassSources$2(com.android.tools.r8.graph.JarClassFileReader,com.android.tools.r8.ProgramResource):422:422 -> a
    40:40:void com.android.tools.r8.graph.JarClassFileReader.read(com.android.tools.r8.ProgramResource):92:92 -> a
    40:40:java.lang.Object lambda$readClassSources$2(com.android.tools.r8.graph.JarClassFileReader,com.android.tools.r8.ProgramResource):422 -> a
    41:47:void initializeLazyClassCollection(com.android.tools.r8.graph.LazyLoadedDexApplication$Builder):473:479 -> a
    48:65: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
    48:65:void initializeLazyClassCollection(com.android.tools.r8.graph.LazyLoadedDexApplication$Builder):478 -> a
    66:71:void initializeLazyClassCollection(com.android.tools.r8.graph.LazyLoadedDexApplication$Builder):481:486 -> a
    72:89: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
    72:89:void initializeLazyClassCollection(com.android.tools.r8.graph.LazyLoadedDexApplication$Builder):485 -> a
    90:90:void initializeLazyClassCollection(com.android.tools.r8.graph.LazyLoadedDexApplication$Builder):488:488 -> 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.p2:
    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.A2:
    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():473:473 -> a
    318:318:java.util.List distribute(java.util.concurrent.ExecutorService):194 -> a
    319:320:java.util.List distribute(java.util.concurrent.ExecutorService):195:196 -> a
    321:321:com.android.tools.r8.DexFilePerClassFileConsumer com.android.tools.r8.utils.InternalOptions.getDexFilePerClassFileConsumer():489:489 -> a
    321:321:java.util.List distribute(java.util.concurrent.ExecutorService):196 -> a
    322:331:java.util.List distribute(java.util.concurrent.ExecutorService):196:205 -> a
    332:333:void encodeChecksums(java.lang.Iterable):215:216 -> a
    334:334:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.<init>(int):110:110 -> a
    334:334:void encodeChecksums(java.lang.Iterable):216 -> a
    335:344:void encodeChecksums(java.lang.Iterable):217:226 -> a
    345:350:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):242:247 -> a
    351:351:void com.android.tools.r8.dex.ApplicationWriter.computeMarkerStrings(com.android.tools.r8.utils.Box,java.util.List):354:354 -> a
    351:351:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):248 -> a
    352:352:boolean com.android.tools.r8.dex.ApplicationWriter.willComputeProguardMap():231:231 -> a
    352:352:void com.android.tools.r8.dex.ApplicationWriter.computeMarkerStrings(com.android.tools.r8.utils.Box,java.util.List):356 -> a
    352:352:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):248 -> a
    353:366:void com.android.tools.r8.dex.ApplicationWriter.computeMarkerStrings(com.android.tools.r8.utils.Box,java.util.List):358:371 -> a
    353:366:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):248 -> a
    367:367:com.android.tools.r8.graph.DexString com.android.tools.r8.dex.Marker.toDexString(com.android.tools.r8.graph.DexItemFactory):296:296 -> a
    367:367:void com.android.tools.r8.dex.ApplicationWriter.computeMarkerStrings(com.android.tools.r8.utils.Box,java.util.List):371 -> a
    367:367:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):248 -> a
    368:368:void com.android.tools.r8.dex.ApplicationWriter.computeMarkerStrings(com.android.tools.r8.utils.Box,java.util.List):371:371 -> a
    368:368:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):248 -> a
    369:370: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
    369:370:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):250 -> a
    371:371:boolean com.android.tools.r8.dex.ApplicationWriter.willComputeProguardMap():231:231 -> a
    371:371:com.android.tools.r8.utils.OriginalSourceFiles com.android.tools.r8.dex.ApplicationWriter.computeSourceFileString(com.android.tools.r8.utils.Box,java.util.List):381 -> a
    371:371:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):250 -> a
    372:381: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
    372:381:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):250 -> a
    382:382:void com.android.tools.r8.graph.DexClass.setSourceFile(com.android.tools.r8.graph.DexString):181:181 -> a
    382:382:com.android.tools.r8.utils.OriginalSourceFiles com.android.tools.r8.dex.ApplicationWriter.computeSourceFileString(com.android.tools.r8.utils.Box,java.util.List):392 -> a
    382:382:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):250 -> a
    383:391: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
    383:391:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):250 -> a
    392:415:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):253:276 -> a
    416:445:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):274:303 -> a
    446:446:boolean com.android.tools.r8.dex.ApplicationWriter.willComputeProguardMap():231:231 -> a
    446:446:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):307 -> a
    447:449:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):308:308 -> a
    454:481:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):313:340 -> a
    482:482:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    482:482:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):340 -> a
    483:491:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):340:348 -> a
    492:492:java.lang.Boolean lambda$write$0(java.util.List,com.android.tools.r8.ir.analysis.proto.ProtoShrinker):278:278 -> a
    493:493:void lambda$write$1(com.android.tools.r8.dex.ApplicationWriter$SortAnnotations,com.android.tools.r8.graph.DexProgramClass):284:284 -> a
    494:506:com.android.tools.r8.SourceFileEnvironment createSourceFileEnvironment(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):409:421 -> a
    507:507:void lambda$rewriteSourceFile$4(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProgramClass):440:440 -> a
    508:508:void com.android.tools.r8.graph.DexClass.setSourceFile(com.android.tools.r8.graph.DexString):181:181 -> a
    508:508:void lambda$rewriteSourceFile$4(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProgramClass):440 -> a
    509:512: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
    513:520: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
    521:529: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
    530:563: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
    530:563: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
    564:595: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
    596:629: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
    596:629: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
    630:630: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
    631:640: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
    641:647: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
    648:648: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":1218,"2":1219,"3":1220,"4":1221,"5":1222}}
    1218:1218: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
    1219:1219: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
    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
    1208:1208: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
    1209:1209: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
    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):550:550 -> a
    1223:1223:void insertAttributeAnnotations():623:623 -> a
    1224:1238:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):631:645 -> a
    1224:1238:void insertAttributeAnnotations():624 -> a
    1239:1239:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):644:644 -> a
    1239:1239:void insertAttributeAnnotations():624 -> a
    1240:1248:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):643:651 -> a
    1240:1248:void insertAttributeAnnotations():624 -> a
    1249:1249:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):650:650 -> a
    1249:1249:void insertAttributeAnnotations():624 -> a
    1250:1266:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):649:665 -> a
    1250:1266:void insertAttributeAnnotations():624 -> a
    1267:1273:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):664:670 -> a
    1267:1273:void insertAttributeAnnotations():624 -> a
    1274:1283: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
    1274:1283:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):668 -> a
    1274:1283:void insertAttributeAnnotations():624 -> a
    1284:1292:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):667:675 -> a
    1284:1292:void insertAttributeAnnotations():624 -> a
    1293:1293:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):674:674 -> a
    1293:1293:void insertAttributeAnnotations():624 -> a
    1294:1305:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):673:684 -> a
    1294:1305:void insertAttributeAnnotations():624 -> a
    1306:1314:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):683:691 -> a
    1306:1314:void insertAttributeAnnotations():624 -> a
    1315:1321:java.lang.String com.android.tools.r8.graph.GenericSignature$ClassSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):276:282 -> a
    1315:1321:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):691 -> a
    1315:1321:void insertAttributeAnnotations():624 -> a
    1322:1322:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):691:691 -> a
    1322:1322:void insertAttributeAnnotations():624 -> a
    1323:1323:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):690:690 -> a
    1323:1323:void insertAttributeAnnotations():624 -> a
    1324:1335:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):689:700 -> a
    1324:1335:void insertAttributeAnnotations():624 -> a
    1336:1336: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
    1336:1336:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):698 -> a
    1336:1336:void insertAttributeAnnotations():624 -> a
    1337:1337:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.newArray(java.lang.Class,int):49:49 -> a
    1337:1337:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.concat(java.lang.Object[],java.lang.Object[],java.lang.Class):71 -> a
    1337:1337:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):698 -> a
    1337:1337:void insertAttributeAnnotations():624 -> a
    1338:1339: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
    1338:1339:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):698 -> a
    1338:1339:void insertAttributeAnnotations():624 -> a
    1340:1350:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):698:708 -> a
    1340:1350:void insertAttributeAnnotations():624 -> a
    1351:1352:void insertAttributeAnnotations():625:626 -> a
    1353:1362:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):712:721 -> a
    1363:1369:java.lang.String com.android.tools.r8.graph.GenericSignature$FieldTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):476:482 -> a
    1363:1369:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):721 -> a
    1370:1370:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):721:721 -> a
    1371:1371:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):720:720 -> a
    1372:1372:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):718:718 -> a
    1373:1373:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):717:717 -> a
    1374:1381:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):716:723 -> a
    1382:1391:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):727:736 -> a
    1392:1398:java.lang.String com.android.tools.r8.graph.GenericSignature$MethodTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):878:884 -> a
    1392:1398:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):736 -> a
    1399:1399:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):736:736 -> a
    1400:1400:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):735:735 -> a
    1401:1401:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):733:733 -> a
    1402:1402:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):732:732 -> a
    1403:1410:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):731:738 -> a
    1411:1411:void setCallSiteContexts(com.android.tools.r8.graph.DexProgramClass):747:747 -> a
    1412:1412:void lambda$setCallSiteContexts$6(com.android.tools.r8.graph.ProgramMethod):749:749 -> a
    1413:1425:void rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ObjectToOffsetMapping,java.util.Collection,com.android.tools.r8.graph.DexApplication):764:776 -> a
    1426:1433: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
    1434:1445: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
    1446:1446:com.android.tools.r8.dex.FileWriter lambda$writeDexFile$8(com.android.tools.r8.dex.FileWriter):802:802 -> a
    1447:1448: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
    1447:1448:void lambda$writeMainDexList$10(java.lang.StringBuilder,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType):820 -> a
    1449:1449:void lambda$writeMainDexList$10(java.lang.StringBuilder,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType):820:820 -> a
    1450:1457: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":385,"2":386,"3":387}}
    385:385:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):328:328 -> b
    386:386:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):328:328 -> b
    387:387: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():489:489 -> 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
    341:341:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> 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):472:472 -> b
    342:342:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> b
    343:343:com.android.tools.r8.DexFilePerClassFileConsumer com.android.tools.r8.utils.InternalOptions.getDexFilePerClassFileConsumer():489:489 -> b
    343:343:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):472 -> b
    343:343:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> b
    344:350: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
    344: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():485:485 -> 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:352:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):481:481 -> b
    352:352:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> b
    353:353:com.android.tools.r8.DexIndexedConsumer com.android.tools.r8.utils.InternalOptions.getDexIndexedConsumer():485:485 -> b
    353:353:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):481 -> b
    353:353:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> b
    354:370: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
    354:370:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> b
    371:383: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
    371:383:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):329 -> b
    384:384:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):330:330 -> b
    388:393:com.android.tools.r8.graph.DexString rewriteSourceFile(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):435:440 -> b
    394:396:void setCallSiteContexts(java.util.concurrent.ExecutorService):742:742 -> b
    397:397: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.t2:
    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.u2:
    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.v2:
    1:1:void <init>():409:409 -> <init>
com.android.tools.r8.dex.ApplicationWriter$4 -> com.android.tools.r8.internal.w2:
    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.x2:
    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.y2:
    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.z2:
    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.Za:
    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.zb:
    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:3:com.android.tools.r8.dex.CodeToKeep createCodeToKeep(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens):27:29 -> a
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> 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.xb:
    java.util.Map toKeep -> c
    com.android.tools.r8.naming.NamingLens namingLens -> a
    com.android.tools.r8.utils.InternalOptions options -> d
    java.util.Set potentialTypesToKeep -> b
    1:1:void <init>(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):64:64 -> <init>
    2:10:void <init>(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):60:68 -> <init>
    11:14:void <init>(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):67:70 -> <init>
    15:15:void <init>(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):69:69 -> <init>
    boolean isNop() -> a
    1:13:void recordMethod(com.android.tools.r8.graph.DexMethod):86:98 -> a
    14:22:void recordField(com.android.tools.r8.graph.DexField):105:113 -> a
    23:24:void recordClass(com.android.tools.r8.graph.DexType):119:120 -> a
    25:25:void recordHierarchyOf(com.android.tools.r8.graph.DexProgramClass):134:134 -> a
    26:28:void com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.recordClassAllAccesses(com.android.tools.r8.graph.DexType):126:128 -> a
    26:28:void recordHierarchyOf(com.android.tools.r8.graph.DexProgramClass):134 -> a
    29:29:void recordHierarchyOf(com.android.tools.r8.graph.DexProgramClass):135:135 -> a
    30:32:void com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.recordClassAllAccesses(com.android.tools.r8.graph.DexType):126:128 -> a
    30:32:void recordHierarchyOf(com.android.tools.r8.graph.DexProgramClass):136 -> a
    33:42:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):159:168 -> a
    43:43:java.util.Comparator com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.getComparator():209:209 -> a
    43:43:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):168 -> a
    44:46:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):168:170 -> a
    47:49:java.lang.String com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.convertType(com.android.tools.r8.graph.DexType):151:153 -> a
    47:49:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):170 -> a
    50:60:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):170:180 -> a
    61:61:java.util.Comparator com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.getComparator():209:209 -> a
    61:61:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):180 -> a
    62:63:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):180:181 -> a
    64:66:java.lang.String com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.convertType(com.android.tools.r8.graph.DexType):151:153 -> a
    64:66:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):182 -> a
    67:73:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):182:188 -> a
    74:74:java.util.Comparator com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.getComparator():209:209 -> a
    74:74:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):188 -> a
    75:76:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):188:189 -> a
    77:79:java.lang.String com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.convertType(com.android.tools.r8.graph.DexType):151:153 -> a
    77:79:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):190 -> a
    80:88:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):190:198 -> a
    89:91:java.lang.String com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.convertType(com.android.tools.r8.graph.DexType):151:153 -> a
    89:91:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):198 -> a
    92:99:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):198:205 -> a
    1:1:void keepClass(com.android.tools.r8.graph.DexType):141:141 -> b
    2:9:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexType.lookupBaseType(com.android.tools.r8.graph.DexItemFactory):427:434 -> b
    2:9:void keepClass(com.android.tools.r8.graph.DexType):141 -> 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):141 -> b
    15:15:void keepClass(com.android.tools.r8.graph.DexType):142:142 -> b
    1:4:boolean shouldKeep(com.android.tools.r8.graph.DexType):74:77 -> c
    5:5:boolean shouldKeep(com.android.tools.r8.graph.DexType):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":88,"2":89,"3":90}}
    88:88:boolean shouldKeep(com.android.tools.r8.graph.DexType):77:77 -> c
    89:89:boolean shouldKeep(com.android.tools.r8.graph.DexType):77:77 -> c
    90:90:boolean shouldKeep(com.android.tools.r8.graph.DexType):77:77 -> c
    82:86:boolean shouldKeep(com.android.tools.r8.graph.DexType):77:81 -> c
    87:87:boolean shouldKeep(com.android.tools.r8.graph.DexType):78:78 -> c
com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep$2 -> com.android.tools.r8.internal.vb:
    1:1:void <init>():209:209 -> <init>
    1:1:int compare(java.lang.Object,java.lang.Object):209:209 -> 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):212:212 -> compare
    2:2:int compare(java.lang.Object,java.lang.Object):209 -> compare
com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep$KeepStruct -> com.android.tools.r8.internal.wb:
    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.yb:
    1:1:void <init>():218:218 -> <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):242:242 -> a
com.android.tools.r8.dex.CompatByteBuffer -> com.android.tools.r8.internal.kc:
    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.qd:
    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.pe:
    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
    19:19:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    19:19:com.android.tools.r8.graph.DexAnnotation parseAnnotation():453 -> a
    20:20:com.android.tools.r8.graph.DexAnnotation parseAnnotation():455:455 -> a
    21:21:byte com.android.tools.r8.dex.BinaryReader.get():97:97 -> a
    21:21:com.android.tools.r8.graph.DexAnnotation parseAnnotation():455 -> a
    22:22:com.android.tools.r8.graph.DexAnnotation parseAnnotation():456:456 -> a
    23:23:com.android.tools.r8.graph.DexAnnotation annotationAt(int):460:460 -> a
    24:29:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):655:660 -> a
    30:30:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    30:30:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):660 -> a
    31:32:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):661:662 -> a
    33:33:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    33:33:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):662 -> a
    34:44:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):662:672 -> a
    45:46: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
    45:46:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):672 -> a
    47:50:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):674:677 -> a
    51:61:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):676:686 -> a
    62:62:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():498:498 -> a
    62:62:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):687 -> a
    63:63:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):688:688 -> a
    64:71: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
    72:72:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    72:72: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
    73:73: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
    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):706 -> a
    75: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:707 -> a
    77:77:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    77:77: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
    78:92:void ensureCodesInited(int):152:166 -> a
    78:92: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
    93:93:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    93:93:void ensureCodesInited(int):166 -> a
    93:93: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
    94:95:void ensureCodesInited(int):167:168 -> a
    94:95: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
    96:99:void com.android.tools.r8.dex.BinaryReader.align(int):90:93 -> a
    96:99:void ensureCodesInited(int):168 -> a
    96:99: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
    100:112:com.android.tools.r8.graph.DexCode parseCodeItem():928:940 -> a
    100:112:void ensureCodesInited(int):169 -> a
    100:112: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
    113:113:short com.android.tools.r8.dex.BinaryReader.getShort():68:68 -> a
    113:113:com.android.tools.r8.graph.DexCode parseCodeItem():940 -> a
    113:113:void ensureCodesInited(int):169 -> a
    113:113: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
    114:129:com.android.tools.r8.graph.DexCode parseCodeItem():940:955 -> a
    114:129:void ensureCodesInited(int):169 -> a
    114:129: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
    130:130:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    130:130:com.android.tools.r8.graph.DexCode parseCodeItem():955 -> a
    130:130:void ensureCodesInited(int):169 -> a
    130:130: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
    131:131:com.android.tools.r8.graph.DexCode parseCodeItem():957:957 -> a
    131:131:void ensureCodesInited(int):169 -> a
    131:131: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
    132:132:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    132:132:com.android.tools.r8.graph.DexCode parseCodeItem():957 -> a
    132:132:void ensureCodesInited(int):169 -> a
    132:132: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
    133:137:com.android.tools.r8.graph.DexCode parseCodeItem():958:962 -> a
    133:137:void ensureCodesInited(int):169 -> a
    133: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():962 -> 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:141:com.android.tools.r8.graph.DexCode parseCodeItem():963:965 -> a
    139:141:void ensureCodesInited(int):169 -> a
    139:141: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
    142:142:int com.android.tools.r8.dex.BinaryReader.getSleb128():48:48 -> a
    142:142:com.android.tools.r8.graph.DexCode parseCodeItem():965 -> a
    142:142:void ensureCodesInited(int):169 -> a
    142:142: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
    143:147:com.android.tools.r8.graph.DexCode parseCodeItem():966:970 -> a
    143:147:void ensureCodesInited(int):169 -> a
    143: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:148:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    148:148:com.android.tools.r8.graph.DexCode parseCodeItem():970 -> a
    148:148:void ensureCodesInited(int):169 -> a
    148:148: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
    149:149:com.android.tools.r8.graph.DexCode parseCodeItem():971:971 -> a
    149:149:void ensureCodesInited(int):169 -> a
    149:149: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
    150:150:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    150:150:com.android.tools.r8.graph.DexCode parseCodeItem():971 -> a
    150:150:void ensureCodesInited(int):169 -> a
    150: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:155:com.android.tools.r8.graph.DexCode parseCodeItem():972:976 -> a
    151:155:void ensureCodesInited(int):169 -> a
    151:155: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
    156:156:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    156:156:com.android.tools.r8.graph.DexCode parseCodeItem():976 -> a
    156:156:void ensureCodesInited(int):169 -> a
    156: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:161:com.android.tools.r8.graph.DexCode parseCodeItem():978:982 -> a
    157:161:void ensureCodesInited(int):169 -> a
    157:161: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
    162:162:void com.android.tools.r8.graph.DexCode$Try.setHandlerIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap):733:733 -> a
    162:162:com.android.tools.r8.graph.DexCode parseCodeItem():982 -> a
    162:162:void ensureCodesInited(int):169 -> a
    162:162: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
    163:163:com.android.tools.r8.graph.DexCode parseCodeItem():987:987 -> a
    163:163:void ensureCodesInited(int):169 -> a
    163:163: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
    164:164:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    164:164:com.android.tools.r8.graph.DexCode parseCodeItem():987 -> a
    164:164:void ensureCodesInited(int):169 -> a
    164: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:170:com.android.tools.r8.graph.DexCode parseCodeItem():988:993 -> a
    165:170:void ensureCodesInited(int):169 -> a
    165: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:172:void ensureCodesInited(int):170:171 -> a
    171: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:181: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
    182:183: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
    182:183: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
    184:187: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
    188:205: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
    206:225:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):746:765 -> a
    226:226:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    226:226:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):765 -> a
    227:227:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    227:227:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):765 -> a
    228:230:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):767:769 -> a
    231:231:int com.android.tools.r8.dex.BinaryReader.getInt():78:78 -> a
    231:231:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):769 -> a
    232:234:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):769:771 -> a
    235:235:int com.android.tools.r8.dex.BinaryReader.getInt():78:78 -> a
    235:235:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):771 -> a
    236:274:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):771:809 -> a
    275:275:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    275:275:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):809 -> a
    276:276:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):810:810 -> a
    277:277:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    277:277:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):810 -> a
    278:278:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):811:811 -> a
    279:279:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    279:279:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):811 -> a
    280:280:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):812:812 -> a
    281:281:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    281:281:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):812 -> a
    282:284:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):814:814 -> a
    286:327:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):816:857 -> a
    328:349:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):839:860 -> a
    350:350:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
    351:351:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1141,"2":1142,"3":1143}}
    1141:1141:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
    1142:1142:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
    1143:1143:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
    1138:1138:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
    1139:1139:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    1139:1139:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    1139:1139:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787 -> a
    1140:1140:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
    1144:1144: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
    4:4:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> b
    4:4:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():465 -> b
    5:13:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():467:475 -> b
    14:15:boolean retainAnnotation(com.android.tools.r8.graph.DexAnnotation):494:495 -> b
    14:15:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():476 -> b
    16:24:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():477:485 -> b
    25:25:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexAnnotationSet.findDuplicateEntryType(com.android.tools.r8.graph.DexAnnotation[]):74:74 -> b
    25:25:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():485 -> b
    26:29:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexAnnotationSet.findDuplicateEntryType(java.util.List):78:81 -> b
    26:29:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexAnnotationSet.findDuplicateEntryType(com.android.tools.r8.graph.DexAnnotation[]):74 -> b
    26:29:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():485 -> b
    30:30:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():490:490 -> b
    31:31:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():487:487 -> b
    32:32:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":37,"2":38,"3":39}}
    37:37:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():487:487 -> b
    38:38:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():487:487 -> b
    39:39: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":40,"2":41,"3":42,"4":43}}
    40:40:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488:488 -> b
    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
    34:34:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    34:34:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488 -> b
    35:35:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> b
    35:35:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> b
    35:35:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488 -> b
    36:36:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488:488 -> b
    44:44:com.android.tools.r8.graph.DexAnnotationSet annotationSetAt(int):499:499 -> b
    45:47:java.lang.Object cacheAt(int,java.util.function.Supplier,java.util.function.Supplier):429:431 -> b
    45:47:com.android.tools.r8.graph.DexAnnotationSet annotationSetAt(int):499 -> b
    48:48: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
    17:17:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():512 -> d
    18:24:com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] parseFieldAnnotations(int):356:362 -> d
    18:24:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():512 -> d
    25:31:com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] parseMethodAnnotations(int):370:376 -> d
    25:31:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():513 -> d
    32:32:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> d
    32:32:com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] parseMethodAnnotations(int):376 -> d
    32:32:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():513 -> d
    33:39:com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] parseMethodAnnotations(int):377:383 -> d
    33:39:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():513 -> d
    40:46:com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] parseParameterAnnotations(int):408:414 -> d
    40:46:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():514 -> d
    47:47:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> d
    47:47:com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] parseParameterAnnotations(int):414 -> d
    47:47:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():514 -> d
    48:56:com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] parseParameterAnnotations(int):415:423 -> d
    48:56:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():514 -> d
    57:58: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:17:int com.android.tools.r8.dex.BinaryReader.getUbyte():101:102 -> e
    16:17:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():539 -> e
    18:18:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():606:606 -> e
    19:22:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():597:600 -> e
    23:23:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():592:592 -> e
    24:24:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():587:587 -> e
    25:25:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():582:582 -> e
    26:26:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
    26:26:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():582 -> e
    27:27:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():582:582 -> e
    28:28:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():577:577 -> e
    29:29:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
    29:29:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():577 -> e
    30:30:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():577:577 -> e
    31:31:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():564:564 -> e
    32:32:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
    32:32:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():564 -> e
    33:40:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():565:572 -> e
    41:41:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():568:568 -> e
    42:42:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():552:552 -> e
    43:43:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
    43:43:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():552 -> e
    44:49:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():553:558 -> e
    50:50:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():555:555 -> e
    51:51:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():548:548 -> e
    52:52:int com.android.tools.r8.dex.BinaryReader.getSleb128():48:48 -> e
    52:52:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():548 -> e
    53:53:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():548:548 -> e
    54:54:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():544:544 -> e
    55:55:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
    55:55:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():544 -> e
    56:125:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():544:613 -> e
    126:126:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():541:541 -> e
    127:128:int com.android.tools.r8.dex.BinaryReader.getUbyte():101:102 -> e
    127:128:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():541 -> e
    129:130: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
    6:6:com.android.tools.r8.graph.DexValue parseEncodedValue():194:194 -> h
    7:7:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):95:95 -> 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):93:93 -> 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):91:91 -> 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):89:89 -> 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):87:87 -> 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):85:85 -> 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):83:83 -> 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):81:81 -> 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):79:79 -> 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):77:77 -> 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):75:75 -> h
    17:17:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    18:18:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):73:73 -> h
    18:18:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    19:19:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):71:71 -> 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):69:69 -> 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):65:65 -> 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):63:63 -> h
    22:22:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    23:29:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):61:67 -> h
    23:29:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    30:30:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):59:59 -> h
    30:30:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    31:139:com.android.tools.r8.graph.DexValue parseEncodedValue():194:302 -> h
    140:140:com.android.tools.r8.graph.DexValue parseEncodedValue():286:286 -> h
    141:142:com.android.tools.r8.graph.DexValue parseEncodedValue():280:281 -> h
    143:144:com.android.tools.r8.graph.DexValue parseEncodedValue():275:276 -> h
    145:146:com.android.tools.r8.graph.DexValue parseEncodedValue():270:271 -> h
    147:147:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():328:328 -> h
    147:147:com.android.tools.r8.graph.DexValue parseEncodedValue():271 -> h
    148:148:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> h
    148:148:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():328 -> h
    148:148:com.android.tools.r8.graph.DexValue parseEncodedValue():271 -> h
    149:151:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():329:331 -> h
    149:151:com.android.tools.r8.graph.DexValue parseEncodedValue():271 -> h
    152:152:com.android.tools.r8.graph.DexValue parseEncodedValue():271:271 -> h
    153:154:com.android.tools.r8.graph.DexValue parseEncodedValue():265:266 -> h
    155:156:com.android.tools.r8.graph.DexValue parseEncodedValue():258:259 -> h
    157:159:void checkName(com.android.tools.r8.graph.DexString):307:309 -> h
    157:159:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
    160:160:com.android.tools.r8.graph.DexValue parseEncodedValue():0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":254,"2":255,"3":256}}
    254:254:void checkName(com.android.tools.r8.graph.DexString):309:309 -> h
    254:254:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
    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
    161:161:void checkName(com.android.tools.r8.graph.DexString):310:310 -> h
    161:161:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
    162:162:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> h
    162:162:void checkName(com.android.tools.r8.graph.DexString):310 -> h
    162:162:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
    163:163:void checkName(com.android.tools.r8.graph.DexString):310:310 -> h
    163:163:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
    164:164:com.android.tools.r8.graph.DexValue parseEncodedValue():260:260 -> h
    165:166:com.android.tools.r8.graph.DexValue parseEncodedValue():251:252 -> h
    167:169:void checkName(com.android.tools.r8.graph.DexString):307:309 -> h
    167:169:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
    170:170:com.android.tools.r8.graph.DexValue parseEncodedValue():0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":257,"2":258,"3":259}}
    257:257:void checkName(com.android.tools.r8.graph.DexString):309:309 -> h
    257:257:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
    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
    171:171:void checkName(com.android.tools.r8.graph.DexString):310:310 -> h
    171:171:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
    172:172:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> h
    172:172:void checkName(com.android.tools.r8.graph.DexString):310 -> h
    172:172:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
    173:173:void checkName(com.android.tools.r8.graph.DexString):310:310 -> h
    173:173:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
    174:174:com.android.tools.r8.graph.DexValue parseEncodedValue():253:253 -> h
    175:176:com.android.tools.r8.graph.DexValue parseEncodedValue():245:246 -> h
    177:238:com.android.tools.r8.graph.DexValue parseEncodedValue():238:299 -> h
    239:240:com.android.tools.r8.graph.DexValue parseEncodedValue():291:292 -> h
    241:241:com.android.tools.r8.graph.DexValue parseEncodedValue():233:233 -> h
    242:242:com.android.tools.r8.graph.DexValue parseEncodedValue():228:228 -> h
    243:244:com.android.tools.r8.graph.DexValue parseEncodedValue():222:223 -> h
    245:246:com.android.tools.r8.graph.DexValue parseEncodedValue():216:217 -> h
    247:248:com.android.tools.r8.graph.DexValue parseEncodedValue():210:211 -> h
    249:250:com.android.tools.r8.graph.DexValue parseEncodedValue():204:205 -> h
    251:253:com.android.tools.r8.graph.DexValue parseEncodedValue():197:199 -> h
    1:1:com.android.tools.r8.dex.DexSection[] parseMap():888:888 -> i
    2:3:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:73 -> i
    2:3:com.android.tools.r8.dex.DexSection[] parseMap():888 -> i
    4:12:com.android.tools.r8.dex.DexSection[] parseMap():889:897 -> i
    13:13:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> i
    13:13:com.android.tools.r8.dex.DexSection[] parseMap():897 -> i
    14:14:com.android.tools.r8.dex.DexSection[] parseMap():910:910 -> i
    15:15:com.android.tools.r8.dex.DexSection[] parseMap():898:898 -> i
    16:16:com.android.tools.r8.dex.DexSection[] parseMap():0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":948,"2":949,"3":950}}
    948:948:com.android.tools.r8.dex.DexSection[] parseMap():898:898 -> i
    949:949:com.android.tools.r8.dex.DexSection[] parseMap():898:898 -> i
    950:950:com.android.tools.r8.dex.DexSection[] parseMap():898:898 -> i
    917:923:com.android.tools.r8.dex.DexSection[] parseMap():901:907 -> i
    924:924:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> i
    924:924:com.android.tools.r8.dex.DexSection[] parseMap():907 -> i
    925:925:com.android.tools.r8.dex.DexSection[] parseMap():907:907 -> i
    926:926:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> i
    926:926:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> i
    926:926:com.android.tools.r8.dex.DexSection[] parseMap():907 -> i
    927:937:com.android.tools.r8.dex.DexSection[] parseMap():907:917 -> i
    938:945:com.android.tools.r8.dex.DexSection[] parseMap():916:923 -> i
    946:946:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> i
    946:946:com.android.tools.r8.dex.DexSection[] parseMap():923 -> i
    947:947: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
    12:12:void populateStrings():1011 -> l
    12:12:void populateIndexTables():998 -> l
    13:15:com.android.tools.r8.graph.DexString stringAt(int):1245:1247 -> l
    13:15:void populateStrings():1011 -> l
    13:15:void populateIndexTables():998 -> l
    16:16:void populateStrings():1011:1011 -> l
    16:16:void populateIndexTables():998 -> l
    17:25:void populateChecksums():1044:1052 -> l
    17:25:void populateIndexTables():999 -> l
    26:27:void populateTypes():1032:1033 -> l
    26:27:void populateIndexTables():1000 -> l
    28:47:boolean verifyOrderOfTypeIds(com.android.tools.r8.dex.DexSection):1061:1080 -> l
    28:47:void populateTypes():1033 -> l
    28:47:void populateIndexTables():1000 -> l
    48:48:boolean verifyOrderOfTypeIds(com.android.tools.r8.dex.DexSection):1075:1075 -> l
    48:48:void populateTypes():1033 -> l
    48:48:void populateIndexTables():1000 -> l
    49:51:void populateTypes():1034:1036 -> l
    49:51:void populateIndexTables():1000 -> l
    52:57:com.android.tools.r8.graph.DexType typeAt(int):1251:1256 -> l
    52:57:void populateTypes():1037 -> l
    52:57:void populateIndexTables():1000 -> l
    58:59:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:73 -> l
    58:59:com.android.tools.r8.graph.DexType typeAt(int):1256 -> l
    58:59:void populateTypes():1037 -> l
    58:59:void populateIndexTables():1000 -> l
    60:60:com.android.tools.r8.graph.DexType typeAt(int):1257:1257 -> l
    60:60:void populateTypes():1037 -> l
    60:60:void populateIndexTables():1000 -> l
    61:62:void populateTypes():1038:1039 -> l
    61:62:void populateIndexTables():1000 -> l
    63:64:void populateFields():1089:1090 -> l
    63:64:void populateIndexTables():1001 -> l
    65:100:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1105:1140 -> l
    65:100:void populateFields():1090 -> l
    65:100:void populateIndexTables():1001 -> l
    101:111:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1137:1147 -> l
    101:111:void populateFields():1090 -> l
    101:111:void populateIndexTables():1001 -> l
    112:116:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1144:1148 -> l
    112:116:void populateFields():1090 -> l
    112:116:void populateIndexTables():1001 -> l
    117:117:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1133:1133 -> l
    117:117:void populateFields():1090 -> l
    117:117:void populateIndexTables():1001 -> l
    118:120:void populateFields():1091:1093 -> l
    118:120:void populateIndexTables():1001 -> l
    121:133:com.android.tools.r8.graph.DexField fieldAt(int):1261:1273 -> l
    121:133:void populateFields():1093 -> l
    121:133:void populateIndexTables():1001 -> l
    134:134:void populateFields():1093:1093 -> l
    134:134:void populateIndexTables():1001 -> l
    135:138:void populateProtos():1159:1162 -> l
    135:138:void populateIndexTables():1002 -> l
    139:151:com.android.tools.r8.graph.DexProto protoAt(int):1334:1346 -> l
    139:151:void populateProtos():1162 -> l
    139:151:void populateIndexTables():1002 -> l
    152:152:void populateProtos():1162:1162 -> l
    152:152:void populateIndexTables():1002 -> l
    153:154:void populateMethods():1167:1168 -> l
    153:154:void populateIndexTables():1003 -> l
    155:190:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1184:1219 -> l
    155:190:void populateMethods():1168 -> l
    155:190:void populateIndexTables():1003 -> l
    191:201:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1216:1226 -> l
    191:201:void populateMethods():1168 -> l
    191:201:void populateIndexTables():1003 -> l
    202:206:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1223:1227 -> l
    202:206:void populateMethods():1168 -> l
    202:206:void populateIndexTables():1003 -> l
    207:207:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1212:1212 -> l
    207:207:void populateMethods():1168 -> l
    207:207:void populateIndexTables():1003 -> l
    208:210:void populateMethods():1169:1171 -> l
    208:210:void populateIndexTables():1003 -> l
    211:223:com.android.tools.r8.graph.DexMethod methodAt(int):1350:1362 -> l
    211:223:void populateMethods():1171 -> l
    211:223:void populateIndexTables():1003 -> l
    224:224:com.android.tools.r8.graph.DexMethod methodAt(int):1359:1359 -> l
    224:224:void populateMethods():1171 -> l
    224:224:void populateIndexTables():1003 -> l
    225:225:void populateMethods():1171:1171 -> l
    225:225:void populateIndexTables():1003 -> l
    226:229:void populateMethodHandles():1016:1019 -> l
    226:229:void populateIndexTables():1004 -> l
    230:257:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1277:1304 -> l
    230:257:void populateMethodHandles():1019 -> l
    230:257:void populateIndexTables():1004 -> l
    258:258:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1300:1300 -> l
    258:258:void populateMethodHandles():1019 -> l
    258:258:void populateIndexTables():1004 -> l
    259:275:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1292:1308 -> l
    259:275:void populateMethodHandles():1019 -> l
    259:275:void populateIndexTables():1004 -> l
    276:276: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):2686:2686 -> l
    276:276:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1308 -> l
    276:276:void populateMethodHandles():1019 -> l
    276:276:void populateIndexTables():1004 -> l
    277:277:void populateMethodHandles():1019:1019 -> l
    277:277:void populateIndexTables():1004 -> l
    278:281:void populateCallSites():1024:1027 -> l
    278:281:void populateIndexTables():1005 -> l
    282:287:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1313:1318 -> l
    282:287:void populateCallSites():1027 -> l
    282:287:void populateIndexTables():1005 -> l
    288:289:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:73 -> l
    288:289:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1318 -> l
    288:289:void populateCallSites():1027 -> l
    288:289:void populateIndexTables():1005 -> l
    290:292:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1319:1321 -> l
    290:292:void populateCallSites():1027 -> l
    290:292:void populateIndexTables():1005 -> l
    293:293:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodHandle():0:0 -> l
    293:293:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1321 -> l
    293:293:void populateCallSites():1027 -> l
    293:293:void populateIndexTables():1005 -> l
    294:296:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1321:1323 -> l
    294:296:void populateCallSites():1027 -> l
    294:296:void populateIndexTables():1005 -> l
    297:297:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodType():0:0 -> l
    297:297:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1323 -> l
    297:297:void populateCallSites():1027 -> l
    297:297:void populateIndexTables():1005 -> l
    298:305:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1323:1330 -> l
    298:305:void populateCallSites():1027 -> l
    298:305:void populateIndexTables():1005 -> l
    306:306:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1325:1325 -> l
    306:306:void populateCallSites():1027 -> l
    306:306:void populateIndexTables():1005 -> l
    307:307:void populateCallSites():1027:1027 -> l
    307:307: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.Yj:
    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):2800:2800 -> 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
    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
    910:911:void writeCallSite(com.android.tools.r8.graph.DexCallSite):721:722 -> a
    912:912:void com.android.tools.r8.dex.FileWriter.checkThatInvokeCustomIsAllowed():1385:1385 -> a
    912:912:void writeCallSite(com.android.tools.r8.graph.DexCallSite):720 -> a
    913:913:void com.android.tools.r8.dex.FileWriter.checkThatInvokeCustomIsAllowed():1384:1384 -> a
    913:913:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):694 -> a
    914:919:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):696:701 -> a
    920:926:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):698:704 -> a
    927:927:boolean com.android.tools.r8.dex.DexOutputBuffer.isAligned(int):163:163 -> a
    927:927:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):704 -> a
    928:930:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):704:706 -> a
    931:931:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    931:931:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):708 -> a
    932:932:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):709:709 -> a
    933:933:boolean com.android.tools.r8.graph.DexMethodHandle.isFieldHandle():290:290 -> a
    933:933:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):711 -> a
    934:939:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):711:716 -> a
    940:940:void com.android.tools.r8.dex.FileWriter.checkThatInvokeCustomIsAllowed():1385:1385 -> a
    940:940: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):222:222 -> 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
    85:91:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():200:206 -> b
    92:92:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):380:380 -> b
    92:92:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():206 -> b
    93:93:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():207:207 -> b
    94:94:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):380:380 -> b
    94:94:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():207 -> b
    95:95:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():209:209 -> b
    96:96:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):380:380 -> b
    96:96:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():209 -> b
    97:97:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():211:211 -> b
    98:98:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):380:380 -> b
    98:98:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():211 -> b
    99:99:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():213:213 -> b
    100:100:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):380:380 -> b
    100:100:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():213 -> b
    101:109:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():215:223 -> b
    110:115:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):751:756 -> b
    110:115:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    116:119:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):755:758 -> b
    116:119:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    120:123:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):757:760 -> b
    120:123:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    124:127:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):759:762 -> b
    124:127:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    128:131:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):761:764 -> b
    128:131:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    132:135:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):763:766 -> b
    132:135:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    136:139:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):765:768 -> b
    136:139:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    140:143:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):767:770 -> b
    140:143:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    144:147:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):769:772 -> b
    144:147:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    148:151:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):771:774 -> b
    148:151:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    152:155:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):773:776 -> b
    152:155:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    156:159:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):775:778 -> b
    156:159:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    160:163:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):777:780 -> b
    160:163:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    164:167:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):779:782 -> b
    164:167:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    168:171:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):781:784 -> b
    168:171:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    172:175:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):783:786 -> b
    172:175:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    176:180:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):785:789 -> b
    176:180:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    181:186:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):787:792 -> b
    181:186:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    187:193:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):790:796 -> b
    187:193:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    194:203:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225:234 -> b
    204:206:void com.android.tools.r8.dex.FileWriter.writeFixedSectionItems(com.android.tools.r8.graph.DexProgramClass[],int,java.util.function.Consumer):372:374 -> b
    204:206:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():234 -> b
    207:209:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():235:237 -> b
    210:210:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():236:236 -> b
    211:216:void com.android.tools.r8.dex.FileWriter.writeHeader(com.android.tools.r8.dex.FileWriter$Layout):800:805 -> b
    211:216:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():240 -> b
    217:250:void com.android.tools.r8.dex.FileWriter.writeHeader(com.android.tools.r8.dex.FileWriter$Layout):802:835 -> b
    217:250:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():240 -> b
    251:253:void com.android.tools.r8.dex.FileWriter.writeSignature(com.android.tools.r8.dex.FileWriter$Layout):840:842 -> b
    251:253:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():241 -> b
    254:256:void com.android.tools.r8.dex.FileWriter.writeSignature(com.android.tools.r8.dex.FileWriter$Layout):841:843 -> b
    254:256:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():241 -> b
    257:259:void com.android.tools.r8.dex.FileWriter.writeChecksum(com.android.tools.r8.dex.FileWriter$Layout):850:852 -> b
    257:259:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():242 -> b
    260:263:void com.android.tools.r8.dex.FileWriter.writeChecksum(com.android.tools.r8.dex.FileWriter$Layout):851:854 -> b
    260:263:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():242 -> b
    264:264:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():245:245 -> b
    265:265:void com.android.tools.r8.dex.FileWriter.writeSignature(com.android.tools.r8.dex.FileWriter$Layout):845:845 -> b
    265:265:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():241 -> b
    266:266:void writeStringItem(com.android.tools.r8.graph.DexString):430:430 -> b
    267:267:int lambda$writeAnnotationDirectory$4(com.android.tools.r8.graph.DexEncodedMethod):621:621 -> b
    268:268:void writeClassData(com.android.tools.r8.graph.DexProgramClass):670:670 -> b
    269:269:boolean com.android.tools.r8.graph.DexProgramClass.hasMethodsOrFields():601:601 -> b
    269:269:void writeClassData(com.android.tools.r8.graph.DexProgramClass):670 -> b
    270:272:void writeClassData(com.android.tools.r8.graph.DexProgramClass):670:672 -> b
    273:273:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> b
    273:273:void writeClassData(com.android.tools.r8.graph.DexProgramClass):672 -> b
    274:274:void writeClassData(com.android.tools.r8.graph.DexProgramClass):673:673 -> 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):673 -> b
    276:276:void writeClassData(com.android.tools.r8.graph.DexProgramClass):674:674 -> 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):674 -> b
    278:278:void writeClassData(com.android.tools.r8.graph.DexProgramClass):675:675 -> 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):675 -> b
    280:283: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.Uj:
    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.Vj:
    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.Wj:
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
com.android.tools.r8.dex.FileWriter$ProgramClassDependencyCollector -> com.android.tools.r8.internal.Xj:
    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.Do:
    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: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.DexMethod):113:113 -> a
    3:3:com.android.tools.r8.graph.DexString getRenamedName(com.android.tools.r8.graph.DexField):117:117 -> a
    4:4:com.android.tools.r8.graph.DexString getRenamedDescriptor(com.android.tools.r8.graph.DexType):121:121 -> a
    boolean addField(com.android.tools.r8.graph.DexField) -> b
    boolean addMethod(com.android.tools.r8.graph.DexMethod) -> b
    boolean addType(com.android.tools.r8.graph.DexType) -> b
com.android.tools.r8.dex.InheritanceClassInDexDistributor -> com.android.tools.r8.internal.Ko:
    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():761:761 -> 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.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):31:31 -> 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):48 -> a
    615:615:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):586 -> 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):48:48 -> a
    616:616:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):586 -> a
    617:619:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):586:588 -> a
    620:620: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):31:31 -> a
    620:620: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):48 -> a
    620:620:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):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):48:48 -> a
    621:621:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):588 -> a
    622:627:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):588:593 -> a
    628:632:boolean assignAll(com.android.tools.r8.dex.VirtualFile,java.util.Collection):602:606 -> a
    633:633:boolean com.android.tools.r8.dex.VirtualFile.isFull():257:257 -> a
    633:633:boolean assignAll(com.android.tools.r8.dex.VirtualFile,java.util.Collection):608 -> a
    634:635:boolean assignAll(com.android.tools.r8.dex.VirtualFile,java.util.Collection):609:610 -> a
    636:636:void com.android.tools.r8.dex.InheritanceClassInDexDistributor.markDexFull(com.android.tools.r8.dex.VirtualFile):727:727 -> a
    636:636:boolean assignAll(com.android.tools.r8.dex.VirtualFile,java.util.Collection):611 -> a
    637:643:boolean assignAll(com.android.tools.r8.dex.VirtualFile,java.util.Collection):613:619 -> a
    644:644:boolean assignAll(com.android.tools.r8.dex.VirtualFile,java.util.Collection):618:618 -> a
    645:646:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.getSortedCopy(java.util.Collection):693:694 -> a
    645:646:java.util.List access$400(java.util.Collection):45 -> a
    647:647:com.android.tools.r8.graph.DexProgramClass findOneRootInSetFrom(com.android.tools.r8.graph.DexProgramClass,java.util.Set):713:713 -> a
    648:648: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):31:31 -> a
    648:648: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):48 -> a
    648:648:com.android.tools.r8.graph.DexProgramClass findOneRootInSetFrom(com.android.tools.r8.graph.DexProgramClass,java.util.Set):713 -> a
    649:649: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):48:48 -> a
    649:649:com.android.tools.r8.graph.DexProgramClass findOneRootInSetFrom(com.android.tools.r8.graph.DexProgramClass,java.util.Set):713 -> a
    650:656: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.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):31:31 -> 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):48 -> b
    81:81:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):671 -> b
    81:81:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> 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):48:48 -> b
    82:82:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):671 -> b
    82:82:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> b
    83:87:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):671:675 -> b
    83:87:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> b
    88:88: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):31:31 -> b
    88:88: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):48 -> b
    88:88:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):675 -> b
    88: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):48:48 -> b
    89:89:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):675 -> b
    89:89:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> b
    90:90:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):675:675 -> b
    90:90:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> b
    91:91:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):643:643 -> b
    92:92:boolean com.android.tools.r8.dex.VirtualFile.isFull():257:257 -> b
    92:92:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):644 -> b
    93:101:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):645:653 -> b
    102:102:void com.android.tools.r8.dex.InheritanceClassInDexDistributor.markDexFull(com.android.tools.r8.dex.VirtualFile):727:727 -> b
    102:102:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):654 -> b
    103:103:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):648:648 -> b
    104:104:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":794,"2":795,"3":796}}
    794:794:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):648:648 -> b
    795:795:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):648:648 -> b
    796:796:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):648:648 -> b
    752:752:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):648:648 -> b
    753:753:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> b
    753:753:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):649 -> b
    754:754:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):649:649 -> b
    755:755:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    755:755:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):649 -> b
    756:756:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> b
    756:756:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> b
    756:756:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):649 -> b
    757:767:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):649:659 -> b
    768:792:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):641:665 -> b
    793:793: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.Ho:
    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.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):31:31 -> 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):48 -> a
    13:13:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):179 -> 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):48:48 -> a
    14:14:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):179 -> a
    15:21:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):178:184 -> a
    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):31:31 -> 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):48 -> a
    22:22:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):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):48:48 -> a
    23:23:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):184 -> a
    24:35:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):183:194 -> a
    36:49:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):205:218 -> a
    50:50: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):31:31 -> a
    50:50: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):48 -> a
    50:50:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):218 -> a
    51:51: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):48:48 -> a
    51:51:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):218 -> a
    52:56:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):218:222 -> a
    57:57: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):31:31 -> a
    57:57: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):48 -> a
    57:57:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):222 -> a
    58:58: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):48:48 -> a
    58:58:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):222 -> a
    59:69:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):222:232 -> a
com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup -> com.android.tools.r8.internal.Io:
    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.Jo:
    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:2:java.util.Collection getDirectSubClasses(com.android.tools.r8.graph.DexProgramClass):262:263 -> 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:272 -> a
    4:4: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):31:31 -> 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):48 -> a
    4:4: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
    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):48:48 -> a
    5:5: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
    6:9: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
    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.xv:
    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:41:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():551:566 -> a
    26:41:com.android.tools.r8.graph.DexCode rewrite():115 -> a
    42:72:void com.android.tools.r8.dex.JumboStringRewriter.recordInstructionTargets(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):435:465 -> a
    42:72:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():570 -> a
    42:72:com.android.tools.r8.graph.DexCode rewrite():115 -> a
    73:87:void com.android.tools.r8.dex.JumboStringRewriter.recordInstructionTargets(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):464:478 -> a
    73:87:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():570 -> a
    73:87:com.android.tools.r8.graph.DexCode rewrite():115 -> a
    88:107:void com.android.tools.r8.dex.JumboStringRewriter.recordDebugEventTargets(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):488:507 -> a
    88:107:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():571 -> a
    88:107:com.android.tools.r8.graph.DexCode rewrite():115 -> a
    108:108:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():572:572 -> a
    108:108:com.android.tools.r8.graph.DexCode rewrite():115 -> a
    109:140: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
    109:140:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():573 -> a
    109:140:com.android.tools.r8.graph.DexCode rewrite():115 -> a
    141:183:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():254:296 -> a
    141:183:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    184:184:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():293:293 -> a
    184:184:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    185:185:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():290:290 -> a
    185:185:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    186:186:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():287:287 -> a
    186:186:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    187:187:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():284:284 -> a
    187:187:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    188:231:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():281:324 -> a
    188:231:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    232:232:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():321:321 -> a
    232:232:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    233:233:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():318:318 -> a
    233:233:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    234:234:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():315:315 -> a
    234:234:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    235:235:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():312:312 -> a
    235:235:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    236:265:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():309:338 -> a
    236:265:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    266:318:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():336:388 -> a
    266:318:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    319:356:void com.android.tools.r8.dex.JumboStringRewriter.rewriteInstructionOffsets(java.util.List):142:179 -> a
    319:356:com.android.tools.r8.graph.DexCode rewrite():120 -> a
    357:363:com.android.tools.r8.graph.DexCode$Try[] com.android.tools.r8.dex.JumboStringRewriter.rewriteTryOffsets():186:192 -> a
    357:363:com.android.tools.r8.graph.DexCode rewrite():121 -> a
    364:379:com.android.tools.r8.graph.DexCode$TryHandler[] com.android.tools.r8.dex.JumboStringRewriter.rewriteHandlerOffsets():198:213 -> a
    364:379:com.android.tools.r8.graph.DexCode rewrite():122 -> a
    380:411:com.android.tools.r8.graph.DexDebugInfo com.android.tools.r8.dex.JumboStringRewriter.rewriteDebugInfoOffsets():219:250 -> a
    380:411:com.android.tools.r8.graph.DexCode rewrite():123 -> a
    412:424: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.vv:
    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.wv:
    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.jD:
    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.iD:
# {"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.jD$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.JE:
    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.eS:
    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.YR:
    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.ZR:
    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.aS:
    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.bS:
    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.cS:
    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.dS:
    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):397:397 -> 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
    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
    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
    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:74:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.popInt():492:493 -> d
    73:74:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():258 -> d
    73: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:83:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.popInt():492:492 -> d
    81:83:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():266 -> d
    81: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:12:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:73 -> b
    11:12:void parseDexFiles():46 -> b
    13:14:void parseDexFiles():47:48 -> b
    15:16:byte[] com.android.tools.r8.dex.BinaryReader.getByteArray(int):38:39 -> b
    15:16:void parseDexFiles():48 -> b
    17:22:void parseDexFiles():48:53 -> b
    23:23:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    23:23:void parseDexFiles():53 -> b
    24:24:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> b
    24:24:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> b
    24:24:void parseDexFiles():53 -> b
    25:25: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.w10:
    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.n10:
    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.o10:
    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.p10:
    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):265:265 -> 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):261:261 -> a
    10:10:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265 -> 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.q10:
    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.r10:
    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 addString(com.android.tools.r8.graph.DexString):799:799 -> a
    8:8:boolean addProto(com.android.tools.r8.graph.DexProto):804:804 -> a
    9:9:boolean addCallSite(com.android.tools.r8.graph.DexCallSite):815:815 -> a
    10:10:boolean addMethodHandle(com.android.tools.r8.graph.DexMethodHandle):820:820 -> a
    11:11:com.android.tools.r8.graph.InitClassLens getInitClassLens():830:830 -> a
    12:12:com.android.tools.r8.graph.DexString getRenamedDescriptor(com.android.tools.r8.graph.DexType):835:835 -> a
    13:14:com.android.tools.r8.graph.DexString getRenamedName(com.android.tools.r8.graph.DexMethod):840:841 -> a
    15:15:com.android.tools.r8.graph.DexString getRenamedName(com.android.tools.r8.graph.DexField):846:846 -> a
    16:20:void commitItemsIn(java.util.Set,java.util.function.Function):862:866 -> a
    21:22: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:boolean addMethod(com.android.tools.r8.graph.DexMethod):794:794 -> b
    5:5:boolean addType(com.android.tools.r8.graph.DexType):809:809 -> b
    6:6:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):222:222 -> b
    6:6:boolean addType(com.android.tools.r8.graph.DexType):809 -> b
    7:7:boolean addType(com.android.tools.r8.graph.DexType):810:810 -> b
    8:13: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.s10:
    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.t10:
    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":1268,"2":1269,"3":1270,"4":1271,"5":1272}}
    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
    1272:1272:java.lang.String com.android.tools.r8.dex.VirtualFile.extractPrefixToken(int,java.lang.String,boolean):207:207 -> a
    1272:1272:java.lang.String com.android.tools.r8.dex.VirtualFile.access$1400(int,java.lang.String,boolean):60 -> a
    1272:1272: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.access$1600(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.dex.VirtualFile$FillStrategy):60:60 -> a
    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:1249:boolean com.android.tools.r8.dex.VirtualFile.isFilledEnough(com.android.tools.r8.dex.VirtualFile$FillStrategy):282:282 -> a
    1249:1249:boolean com.android.tools.r8.dex.VirtualFile.access$1600(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.dex.VirtualFile$FillStrategy):60 -> a
    1249:1249:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1182 -> a
    1249:1249:java.util.Map call():1163 -> a
    1250:1252:com.android.tools.r8.dex.VirtualFile com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.getVirtualFile(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler):1203:1205 -> a
    1250:1252:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1183 -> a
    1250:1252:java.util.Map call():1163 -> a
    1253:1253:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1185:1185 -> a
    1253:1253:java.util.Map call():1163 -> a
    1254:1254:boolean com.android.tools.r8.dex.VirtualFile.isFull():257:257 -> a
    1254:1254:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1186 -> a
    1254:1254:java.util.Map call():1163 -> a
    1255:1255:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1188:1188 -> a
    1255:1255:java.util.Map call():1163 -> a
    1256:1258:com.android.tools.r8.dex.VirtualFile com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.getVirtualFile(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler):1203:1205 -> a
    1256:1258:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1189 -> a
    1256:1258:java.util.Map call():1163 -> a
    1259:1260:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1190:1191 -> a
    1259:1260:java.util.Map call():1163 -> a
    1261:1261:boolean com.android.tools.r8.dex.VirtualFile.isFull():257:257 -> a
    1261:1261:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1192 -> a
    1261:1261:java.util.Map call():1163 -> a
    1262:1262:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1193:1193 -> a
    1262:1262:java.util.Map call():1163 -> a
    1263:1263:java.util.Map call():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1273,"2":1274,"3":1275}}
    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
    1275:1275:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1193:1193 -> a
    1275:1275:java.util.Map call():1163 -> a
    1264:1267:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1194:1197 -> a
    1264:1267:java.util.Map call():1163 -> a
    1276:1280:boolean isFullEnough(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.InternalOptions):1169:1173 -> a
    1281:1281:boolean com.android.tools.r8.dex.VirtualFile.access$1600(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.dex.VirtualFile$FillStrategy):60:60 -> a
    1281:1281:boolean isFullEnough(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.InternalOptions):1173 -> a
    1282:1282:boolean com.android.tools.r8.dex.VirtualFile.isFilledEnough(com.android.tools.r8.dex.VirtualFile$FillStrategy):282:282 -> a
    1282:1282:boolean com.android.tools.r8.dex.VirtualFile.access$1600(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.dex.VirtualFile$FillStrategy):60 -> a
    1282:1282:boolean isFullEnough(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.InternalOptions):1173 -> a
    1283:1283:boolean com.android.tools.r8.dex.VirtualFile.isFull():257:257 -> a
    1283:1283: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.u10:
    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.v10:
    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 addString(com.android.tools.r8.graph.DexString):676:676 -> a
    4:4:boolean addProto(com.android.tools.r8.graph.DexProto):681:681 -> a
    5:5:boolean addCallSite(com.android.tools.r8.graph.DexCallSite):692:692 -> a
    6:6:boolean addMethodHandle(com.android.tools.r8.graph.DexMethodHandle):697:697 -> a
    7:7:com.android.tools.r8.graph.InitClassLens getInitClassLens():719:719 -> a
    8:8:com.android.tools.r8.graph.DexString getRenamedDescriptor(com.android.tools.r8.graph.DexType):724:724 -> a
    9:11:com.android.tools.r8.graph.DexString getRenamedName(com.android.tools.r8.graph.DexMethod):729:731 -> 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):467:467 -> a
    13:13:com.android.tools.r8.graph.DexString getRenamedName(com.android.tools.r8.graph.DexField):736 -> a
    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:boolean addMethod(com.android.tools.r8.graph.DexMethod):671:671 -> b
    4:4:boolean addType(com.android.tools.r8.graph.DexType):686:686 -> b
    5:5:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):222:222 -> b
    5:5:boolean addType(com.android.tools.r8.graph.DexType):686 -> b
    6:6:boolean addType(com.android.tools.r8.graph.DexType):687:687 -> b
    7:7:int getNumberOfFields():705:705 -> 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.Lg:
    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 access$300(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.dexsplitter.DexSplitter$FeatureJar):89:89 -> a
    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.xE:
    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.wE:
    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.BE:
    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.AE:
    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.CE:
    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 lambda$writeReferencedFromSuffix$4(com.android.tools.r8.utils.Box,com.android.tools.r8.diagnostic.DefinitionClassContext):118:118 -> a
    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 lambda$writeReferencedFromSuffix$5(com.android.tools.r8.utils.Box,com.android.tools.r8.diagnostic.DefinitionFieldContext):121:121 -> a
    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 lambda$writeReferencedFromSuffix$6(com.android.tools.r8.utils.Box,com.android.tools.r8.diagnostic.DefinitionMethodContext):124:124 -> a
    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.EE:
    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.DE:
    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.GE:
    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.FE:
    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.IE:
    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.HE:
    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.d2:
    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.qc:
    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.Fe:
    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.wf:
    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.Si:
    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.Bt:
    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.St:
    1:1:void <init>(java.lang.String):9:9 -> <init>
com.android.tools.r8.errors.InvalidDescriptorException -> com.android.tools.r8.internal.Tt:
    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.Yt:
    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.iM:
    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.IV:
    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.OZ:
    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.h00:
    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.dh:
    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.ch:
    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.wh:
    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.MG:
    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.Il:
    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.Hl:
    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.Il$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.sV:
    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.Ia:
    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):397:397 -> 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):397:397 -> 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.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    294:294:java.util.Map getFeatureSplitClasses(java.util.Set,com.android.tools.r8.synthesis.SyntheticItems):147 -> a
    295:295:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    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 -> a
    295:295:java.util.Map getFeatureSplitClasses(java.util.Set,com.android.tools.r8.synthesis.SyntheticItems):147 -> a
    296:296: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
    296:296:java.util.Map getFeatureSplitClasses(java.util.Set,com.android.tools.r8.synthesis.SyntheticItems):147 -> a
    297:298:java.util.Map getFeatureSplitClasses(java.util.Set,com.android.tools.r8.synthesis.SyntheticItems):148:149 -> a
    299:299:java.util.Set lambda$getFeatureSplitClasses$0(com.android.tools.r8.FeatureSplit):149:149 -> a
    300:308:com.android.tools.r8.FeatureSplit getFeatureSplit(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticItems):160:168 -> a
    309:309:boolean isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):184:184 -> a
    310:310:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    310:310:boolean isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):184 -> a
    311:312: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
    311:312:boolean isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):184 -> a
    313:313: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
    313:313: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
    313:313:boolean isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):184 -> a
    314:326:com.android.tools.r8.features.ClassToFeatureSplitMap rewrittenWithLens(com.android.tools.r8.graph.GraphLens):208:220 -> a
    327:334:com.android.tools.r8.features.ClassToFeatureSplitMap withoutPrunedItems(com.android.tools.r8.graph.PrunedItems):225:232 -> a
    335:336: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.cj:
    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.bj:
    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: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
    37:37:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):467:467 -> a
    37:37: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
    38:38: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
    39:41: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
    42:42: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):374:374 -> a
    42:42: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
    43:43:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):344:344 -> a
    43:43: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):374 -> a
    43:43: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
    44:45: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:376 -> a
    44:45: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
    46:46: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
    47:47: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":361,"2":362,"3":363}}
    361:361: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
    362:362: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
    363:363: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
    359:360: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
    364:364:com.android.tools.r8.graph.AbstractAccessContexts join(com.android.tools.r8.graph.AbstractAccessContexts):321:321 -> a
    365:365:boolean com.android.tools.r8.graph.AbstractAccessContexts.isTop():0:0 -> a
    365:365:com.android.tools.r8.graph.AbstractAccessContexts join(com.android.tools.r8.graph.AbstractAccessContexts):324 -> a
    366:377:com.android.tools.r8.graph.AbstractAccessContexts join(com.android.tools.r8.graph.AbstractAccessContexts):327:338 -> a
    378:378:void lambda$join$6(java.util.Map,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):330:330 -> 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 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:31 -> a
    4:4:boolean com.android.tools.r8.graph.DexClass.isPublic():725:725 -> a
    4:4: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
    5:11: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
    12:16: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:40 -> a
    17:17: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
    18:18: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
    19:25: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
    26:38: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
    39:45:boolean isNestMate(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):102:108 -> a
    39:45: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
    46:56: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
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:2:void setPrivate():166:167 -> A
    1:2:void setProtected():179:180 -> B
    1:2:void setPublic():153:154 -> D
    1:1:void setStatic():192:192 -> F
    1:1:void setSynthetic():217:217 -> G
    1:14:java.lang.String toStringInternal(boolean):295:308 -> H
    1:14:java.lang.String toSmaliString():286 -> H
    1:2:com.android.tools.r8.graph.AccessFlags unsetFinal():208:209 -> I
    1:1:void unsetPrivate():171:171 -> J
    1:1:void unsetProtected():184:184 -> K
    1:1:com.android.tools.r8.utils.structural.StructuralItem self():15:15 -> L
    1:1:void unsetPublic():158:158 -> M
    1:2:com.android.tools.r8.graph.AccessFlags unsetSynthetic():221:222 -> 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():234:235 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.graph.AccessFlags):60:60 -> b
    2:2:void demoteFromSynthetic():226:226 -> b
    1:1:java.util.List getNames():48:48 -> c
    2:2:void demote(int):282:282 -> c
    boolean isSet(int,int) -> d
    1:1:int getOriginalAccessFlags():82:82 -> d
    2:3:void set(int):264:265 -> d
    1:1:java.util.List getPredicates():37:37 -> e
    1:3:boolean equals(java.lang.Object):87:89 -> equals
    1:7:int getVisibilityOrdinal():123:129 -> f
    8:9:void unset(int):269:270 -> f
    1:1:boolean isSet(int):256:256 -> g
    1:1:boolean isFinal():200 -> g
    1:1:boolean isPackagePrivate():141:141 -> h
    1:1:int hashCode():96:96 -> hashCode
    1:1:boolean isPackagePrivateOrProtected():145:145 -> i
    1:1:boolean isSet(int):256:256 -> k
    1:1:boolean isPrivate():162 -> k
    1:1:boolean wasSet(int):252:252 -> l
    1:1:boolean isPromoted(int):274 -> l
    1:1:boolean isPromotedToPublic():239 -> l
    2:2:boolean isSet(int):256:256 -> l
    2:2:boolean isPromoted(int):274 -> l
    2:2:boolean isPromotedToPublic():239 -> l
    1:1:boolean isSet(int):256:256 -> m
    1:1:boolean isProtected():175 -> m
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():65:65 -> n
    1:1:boolean isSet(int):256:256 -> o
    1:1:boolean isPublic():149 -> o
    1:1:boolean isSet(int):256:256 -> p
    1:1:boolean isStatic():188 -> p
    1:1:boolean isSet(int):256:256 -> q
    1:1:boolean isSynthetic():213 -> q
    1:1:boolean isVisibilityDependingOnPackage():137:137 -> r
    1:1:int materialize():74:74 -> s
    1:14:java.lang.String toStringInternal(boolean):295:308 -> toString
    1:14:java.lang.String toString():291 -> toString
    1:1:void promote(int):278:278 -> v
    1:1:void promoteToFinal():230 -> v
    1:1:void promoteToPublic():243:243 -> w
    2:2:void promote(int):278:278 -> w
    2:2:void promoteToPublic():244 -> w
    1:1:void promote(int):278:278 -> x
    1:1:void promoteToStatic():248 -> x
    com.android.tools.r8.graph.AccessFlags self() -> y
    1:1:void setFinal():204:204 -> 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>():311:311 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AccessFlags):315:316 -> <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>():20:20 -> <clinit>
    1:2:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.shaking.MainDexInfo):41:42 -> <init>
    3:3:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.shaking.MainDexInfo):40:40 -> <init>
    4:4:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy$CreateDesugaringViewOnAppInfo,com.android.tools.r8.graph.AppInfo):50:50 -> <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):58:63 -> <init>
    1:1:com.android.tools.r8.graph.AppInfo createInitialAppInfo(com.android.tools.r8.graph.DexApplication):32:32 -> a
    2:2:com.android.tools.r8.graph.AppInfo createInitialAppInfo(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):36:36 -> a
    3:4:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.shaking.MainDexInfo):41:42 -> a
    3:4:com.android.tools.r8.graph.AppInfo createInitialAppInfo(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):36 -> a
    5:5:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.shaking.MainDexInfo):40:40 -> a
    5:5:com.android.tools.r8.graph.AppInfo createInitialAppInfo(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):36 -> a
    6:14:com.android.tools.r8.graph.AppInfo prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):68:76 -> a
    15:16:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.shaking.MainDexInfo):41:42 -> a
    15:16:com.android.tools.r8.graph.AppInfo prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):76 -> a
    17:17:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.shaking.MainDexInfo):40:40 -> a
    17:17:com.android.tools.r8.graph.AppInfo prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):76 -> a
    18:19:com.android.tools.r8.graph.AppInfo rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):80:81 -> a
    20:21:com.android.tools.r8.graph.DexItemFactory dexItemFactory():112:113 -> a
    22:23:void forEachMethod(java.util.function.Consumer):137:138 -> a
    24:27:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):201:204 -> a
    28:28:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupDirectMethod(com.android.tools.r8.graph.DexMethod):550:550 -> a
    28:28:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):204 -> a
    29:29:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):205:205 -> a
    30:30: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):237:237 -> a
    31:31:com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult com.android.tools.r8.graph.FieldResolutionResult.failure():13:13 -> a
    31:31: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):238 -> a
    32:35: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):240:243 -> a
    36:36:com.android.tools.r8.graph.FieldResolutionResult$UnknownFieldResolutionResult com.android.tools.r8.graph.FieldResolutionResult.unknown():17:17 -> a
    36:36: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):244 -> a
    1:2:com.android.tools.r8.graph.DexApplication app():106:107 -> b
    3:6:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):182:185 -> b
    7:7:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupDirectMethod(com.android.tools.r8.graph.DexMethod):550:550 -> b
    7:7:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):185 -> b
    8:8:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):186:186 -> b
    1:1:boolean checkIfObsolete():101:101 -> c
    2:2:boolean isObsolete():89:89 -> c
    2:2:boolean checkIfObsolete():101 -> c
    3:3:boolean checkIfObsolete():101:101 -> c
    4:4:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):144:144 -> c
    1:2:java.util.List classes():127:128 -> d
    3:4:com.android.tools.r8.graph.DexClass definitionForWithoutExistenceAssert(com.android.tools.r8.graph.DexType):148:149 -> d
    1:2:java.util.List classesWithDeterministicOrder():132:133 -> e
    1:2:com.android.tools.r8.shaking.MainDexInfo getMainDexInfo():117:118 -> f
    1:2:com.android.tools.r8.synthesis.SyntheticItems getSyntheticItems():122:123 -> g
    1:1:boolean hasClassHierarchy():212:212 -> h
    1:1:boolean hasLiveness():222:222 -> i
    1:1:boolean isObsolete():89:89 -> j
    1:1:void markObsolete():93:93 -> k
    1:1:com.android.tools.r8.utils.InternalOptions options():85:85 -> l
    1:1:void unsetObsolete():97:97 -> m
    2:2:void com.android.tools.r8.utils.BooleanBox.unset():48:48 -> m
    2:2:void unsetObsolete():97 -> m
    1:1:com.android.tools.r8.graph.AppInfoWithClassHierarchy withClassHierarchy():217:217 -> n
    1:1:com.android.tools.r8.shaking.AppInfoWithLiveness withLiveness():227:227 -> 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>():51:53 -> <clinit>
    1:94:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy$CreateDesugaringViewOnAppInfo,com.android.tools.r8.graph.AppInfo):0:93 -> <init>
    95:97: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):82:84 -> <init>
    1:1:com.android.tools.r8.graph.AppInfo prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):51:51 -> a
    2:2:com.android.tools.r8.graph.AppInfo rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):51:51 -> 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):63:67 -> a
    8:9:com.android.tools.r8.graph.AppInfoWithClassHierarchy createForDesugaring(com.android.tools.r8.graph.AppInfo):97:98 -> a
    10:10:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(com.android.tools.r8.synthesis.CommittedItems):102:102 -> a
    11:11:com.android.tools.r8.features.ClassToFeatureSplitMap getClassToFeatureSplitMap():144:144 -> a
    11:11:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(com.android.tools.r8.synthesis.CommittedItems):103 -> a
    12:12:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(com.android.tools.r8.synthesis.CommittedItems):103:103 -> a
    13:13:com.android.tools.r8.shaking.MissingClasses getMissingClasses():148:148 -> a
    13:13:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(com.android.tools.r8.synthesis.CommittedItems):103 -> a
    14:14:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(com.android.tools.r8.synthesis.CommittedItems):103:103 -> a
    15:17:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(java.util.function.Function):108:110 -> a
    18:18:com.android.tools.r8.features.ClassToFeatureSplitMap getClassToFeatureSplitMap():144:144 -> a
    18:18:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(java.util.function.Function):111 -> a
    19:19:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(java.util.function.Function):112:112 -> a
    20:20:com.android.tools.r8.shaking.MissingClasses getMissingClasses():148:148 -> a
    20:20:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(java.util.function.Function):113 -> a
    21:21:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(java.util.function.Function):113:113 -> a
    22:74:com.android.tools.r8.utils.TraversalContinuation traverseSuperTypes(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.TriFunction):196:248 -> a
    75:75:void forEachSuperType(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.TriConsumer):257:257 -> 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):260:261 -> 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):297:297 -> a
    79:94:boolean isStrictSubtypeOfClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):318:333 -> a
    95:99:com.android.tools.r8.utils.TraversalContinuation traverseSuperClasses(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.TriFunction):167:171 -> a
    95:99:boolean isStrictSubtypeOfClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):333 -> a
    100:100:boolean isStrictSubtypeOfClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):348:348 -> 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):336:346 -> a
    112:114:boolean inSameHierarchy(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):352:354 -> a
    112:114:boolean inDifferentHierarchy(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):358 -> a
    115:128:java.util.List computeProgramClassRelationChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):451:464 -> a
    129:137:boolean isInterfaceInSuperTypes(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList):473:481 -> a
    129:137:java.util.List computeProgramClassRelationChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):464 -> a
    138:141:java.util.List computeProgramClassRelationChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):465:468 -> a
    142:146:java.util.List computeChainInClassHierarchy(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):489:493 -> a
    147:159:java.util.List computeChainInClassHierarchy(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):491:503 -> a
    160:167:boolean methodDefinedInInterface(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):522:529 -> a
    168:168:boolean com.android.tools.r8.graph.AccessFlags.isSameVisibility(com.android.tools.r8.graph.AccessFlags):118:118 -> a
    168:168:boolean methodDefinedInInterface(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):529 -> a
    169:170:boolean methodDefinedInInterface(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):533:534 -> a
    171:171:com.android.tools.r8.graph.DexEncodedField lookupInstanceTarget(com.android.tools.r8.graph.DexField):568:568 -> a
    172:173:com.android.tools.r8.graph.DexEncodedField lookupInstanceTargetOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):561:562 -> a
    172:173:com.android.tools.r8.graph.DexEncodedField lookupInstanceTarget(com.android.tools.r8.graph.DexField):568 -> a
    174:176:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):1026:1028 -> a
    174:176:com.android.tools.r8.graph.DexEncodedField lookupInstanceTargetOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):563 -> a
    174:176:com.android.tools.r8.graph.DexEncodedField lookupInstanceTarget(com.android.tools.r8.graph.DexField):568 -> a
    177:177:com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult com.android.tools.r8.graph.FieldResolutionResult.failure():13:13 -> a
    177:177:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):1028 -> a
    177:177:com.android.tools.r8.graph.DexEncodedField lookupInstanceTargetOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):563 -> a
    177:177:com.android.tools.r8.graph.DexEncodedField lookupInstanceTarget(com.android.tools.r8.graph.DexField):568 -> a
    178:179:com.android.tools.r8.graph.DexEncodedField lookupInstanceTargetOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):563:564 -> a
    178:179:com.android.tools.r8.graph.DexEncodedField lookupInstanceTarget(com.android.tools.r8.graph.DexField):568 -> a
    180:181:com.android.tools.r8.graph.DexClassAndMethod lookupSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass):620:621 -> a
    182:183:com.android.tools.r8.graph.MethodResolutionResult resolveMethod(com.android.tools.r8.graph.DexMethod,boolean):673:674 -> a
    184:187:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,boolean):705:708 -> a
    188:193: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):720:725 -> a
    194:194:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):734:734 -> a
    195:207: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):750:762 -> a
    208:218:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexType):766:776 -> a
    219:219:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexClass):786:786 -> a
    219:219:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexType):778 -> a
    220:220:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):782:782 -> a
    221:225: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):791:795 -> a
    226:226: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
    226:226: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):800 -> a
    227:229: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):900:900 -> a
    227:229: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):853 -> a
    227:229: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):800 -> a
    230:230: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):854:854 -> a
    230:230: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):800 -> a
    231:231: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
    232:245: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):602:615 -> a
    232: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 -> 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):818:818 -> a
    247:247: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):592:592 -> a
    247:247: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):821 -> a
    248: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):828:829 -> a
    250:250:void com.android.tools.r8.graph.MethodResolutionResult$IllegalAccessOrNoSuchMethodResult.<init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):984:984 -> a
    250:250: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 -> a
    251:257: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):831:837 -> a
    258:259:com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder resolveMaximallySpecificTargetHelper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):863:864 -> a
    258:259:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):886 -> a
    258:259:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):546 -> a
    260:262: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):900:900 -> a
    260:262:com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder resolveMaximallySpecificTargetHelper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):864 -> a
    260:262:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):886 -> a
    260:262:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):546 -> a
    263:263:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):886:886 -> a
    263:263:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):546 -> a
    264:268:com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder resolveMaximallySpecificTargetHelper(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.DexMethod):874:878 -> a
    264:268:com.android.tools.r8.graph.MethodResolutionResult resolveMaximallySpecificTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.DexMethod):869 -> a
    269:269:com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder resolveMaximallySpecificTargetHelper(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.DexMethod):875:875 -> a
    269:269:com.android.tools.r8.graph.MethodResolutionResult resolveMaximallySpecificTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.DexMethod):869 -> a
    270:270:com.android.tools.r8.graph.MethodResolutionResult resolveMaximallySpecificTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.DexMethod):869:869 -> a
    271: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):910:916 -> a
    278:278: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):592:592 -> 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):917 -> a
    279:279:boolean isMaximallySpecificCandidate(com.android.tools.r8.graph.DexEncodedMethod):941:941 -> 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 -> a
    280:280: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):920:920 -> a
    281:283: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):900:900 -> a
    281: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):923 -> a
    284:284: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:928 -> a
    285:287: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):900:900 -> a
    285:287: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):930 -> a
    288:302:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):960:974 -> a
    303:306: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):983:986 -> a
    307:307: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):592:592 -> a
    307:307: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 -> a
    308:313: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):988:993 -> a
    314:314: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):592:592 -> a
    314: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):995 -> a
    315:316: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):996:997 -> a
    317:317: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
    317:317: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):1001 -> a
    318:320: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):900:900 -> a
    318:320: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):853 -> a
    318:320: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):1001 -> a
    321:321: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):854:854 -> a
    321:321: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):1001 -> a
    322:324:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):1026:1028 -> a
    322:324: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):1016 -> a
    325:325:com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult com.android.tools.r8.graph.FieldResolutionResult.failure():13:13 -> a
    325:325:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):1028 -> a
    325:325: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):1016 -> a
    326:328:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField):1032:1034 -> a
    329:346: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):1042:1059 -> a
    347:347:com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult com.android.tools.r8.graph.FieldResolutionResult.failure():13:13 -> a
    347:347: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):1062 -> a
    348:350:com.android.tools.r8.graph.DexClassAndField resolveFieldOnDirectInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set):1067:1069 -> a
    351:356:com.android.tools.r8.graph.DexClassAndField resolveFieldOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set):1085:1090 -> a
    351:356:com.android.tools.r8.graph.DexClassAndField resolveFieldOnDirectInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set):1072 -> a
    1:4:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):118:121 -> b
    5:5:com.android.tools.r8.features.ClassToFeatureSplitMap getClassToFeatureSplitMap():144:144 -> b
    5:5:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):122 -> b
    6:6:com.android.tools.r8.shaking.MissingClasses getMissingClasses():148:148 -> b
    6:6:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):124 -> b
    7:7:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):124:124 -> b
    8:15:com.android.tools.r8.graph.AppInfoWithClassHierarchy prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):130:137 -> b
    16:16:com.android.tools.r8.features.ClassToFeatureSplitMap getClassToFeatureSplitMap():144:144 -> b
    16:16:com.android.tools.r8.graph.AppInfoWithClassHierarchy prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):138 -> b
    17:18:com.android.tools.r8.graph.AppInfoWithClassHierarchy prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):138:139 -> b
    19:19:com.android.tools.r8.shaking.MissingClasses getMissingClasses():148:148 -> b
    19:19:com.android.tools.r8.graph.AppInfoWithClassHierarchy prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):140 -> b
    20:20:com.android.tools.r8.graph.AppInfoWithClassHierarchy prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):140:140 -> b
    21:45:boolean isStrictSubtypeOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):274:298 -> b
    46:47:boolean isSubtype(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):302:303 -> b
    48:54:boolean isSubtypeOfClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):308:314 -> b
    48:54:boolean isSubtype(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):304 -> b
    55:55:com.android.tools.r8.graph.DexClassAndField lookupStaticTarget(com.android.tools.r8.graph.DexField):585:585 -> b
    56:57:com.android.tools.r8.graph.DexClassAndField lookupStaticTargetOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):578:579 -> b
    56:57:com.android.tools.r8.graph.DexClassAndField lookupStaticTarget(com.android.tools.r8.graph.DexField):585 -> b
    58:60:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):1026:1028 -> b
    58:60:com.android.tools.r8.graph.DexClassAndField lookupStaticTargetOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):580 -> b
    58:60:com.android.tools.r8.graph.DexClassAndField lookupStaticTarget(com.android.tools.r8.graph.DexField):585 -> b
    61:61:com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult com.android.tools.r8.graph.FieldResolutionResult.failure():13:13 -> b
    61:61:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):1028 -> b
    61:61:com.android.tools.r8.graph.DexClassAndField lookupStaticTargetOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):580 -> b
    61:61:com.android.tools.r8.graph.DexClassAndField lookupStaticTarget(com.android.tools.r8.graph.DexField):585 -> b
    62:63:com.android.tools.r8.graph.DexClassAndField lookupStaticTargetOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):580:581 -> b
    62:63:com.android.tools.r8.graph.DexClassAndField lookupStaticTarget(com.android.tools.r8.graph.DexField):585 -> b
    64:64:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethod):730:730 -> b
    65:66:com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder resolveMaximallySpecificTargetHelper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):863:864 -> b
    65:66:com.android.tools.r8.graph.MethodResolutionResult resolveMaximallySpecificTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):858 -> b
    67:69: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):900:900 -> b
    67:69:com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder resolveMaximallySpecificTargetHelper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):864 -> b
    67:69:com.android.tools.r8.graph.MethodResolutionResult resolveMaximallySpecificTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):858 -> b
    70:70:com.android.tools.r8.graph.MethodResolutionResult resolveMaximallySpecificTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):858:858 -> b
    1:5:boolean isSubtype(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):266:270 -> c
    6:6:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):645:645 -> c
    7:8:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass):639:640 -> c
    7:8:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):645 -> c
    9:9:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):678:678 -> 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):687:689 -> c
    10:12:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):678 -> c
    13:13:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexMethod):945:945 -> c
    14:15:com.android.tools.r8.graph.FieldResolutionResult resolveField(com.android.tools.r8.graph.DexField):1009:1010 -> c
    16:18:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):1026:1028 -> c
    16:18:com.android.tools.r8.graph.FieldResolutionResult resolveField(com.android.tools.r8.graph.DexField):1010 -> c
    19:19:com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult com.android.tools.r8.graph.FieldResolutionResult.failure():13:13 -> c
    19:19:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):1028 -> c
    19:19:com.android.tools.r8.graph.FieldResolutionResult resolveField(com.android.tools.r8.graph.DexField):1010 -> c
    1:1:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):605:605 -> d
    2:3:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass):599:600 -> d
    2:3:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):605 -> d
    4:13:com.android.tools.r8.graph.MethodResolutionResult unsafeResolveMethodDueToDexFormat(com.android.tools.r8.graph.DexMethod):659:668 -> d
    14:14:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):978:978 -> d
    1:30:com.android.tools.r8.ir.analysis.type.InterfaceCollection implementedInterfaces(com.android.tools.r8.graph.DexType):368:397 -> e
    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 -> e
    31:33:com.android.tools.r8.ir.analysis.type.InterfaceCollection implementedInterfaces(com.android.tools.r8.graph.DexType):397 -> e
    34:63:com.android.tools.r8.ir.analysis.type.InterfaceCollection implementedInterfaces(com.android.tools.r8.graph.DexType):398:427 -> e
    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 -> e
    64:66:com.android.tools.r8.ir.analysis.type.InterfaceCollection implementedInterfaces(com.android.tools.r8.graph.DexType):427 -> e
    67:77:com.android.tools.r8.ir.analysis.type.InterfaceCollection implementedInterfaces(com.android.tools.r8.graph.DexType):428:438 -> e
    1:1:boolean isMissingOrHasMissingSuperType(com.android.tools.r8.graph.DexType):362:362 -> f
    2:6:boolean com.android.tools.r8.graph.DexClass.hasMissingSuperType(com.android.tools.r8.graph.AppInfoWithClassHierarchy):796:800 -> f
    2:6:boolean isMissingOrHasMissingSuperType(com.android.tools.r8.graph.DexType):363 -> f
    1:1:boolean hasClassHierarchy():153:153 -> h
    1:1:com.android.tools.r8.graph.AppInfoWithClassHierarchy withClassHierarchy():159:159 -> n
    1:1:com.android.tools.r8.features.ClassToFeatureSplitMap getClassToFeatureSplitMap():144:144 -> p
    1:1:com.android.tools.r8.shaking.MissingClasses getMissingClasses():148:148 -> 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):55:55 -> <init>
    2:2:void <init>():56:56 -> <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>():1093:1093 -> <clinit>
    1:9:void <init>():1093:1101 -> <init>
    10:10:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy$1):1093:1093 -> <init>
    1:1:com.android.tools.r8.graph.MethodResolutionResult access$200(com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder,com.android.tools.r8.graph.DexClass):1093:1093 -> a
    2:10:void addCandidate(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppInfo):1105:1113 -> a
    11:25:void markShadowed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppInfo):1121:1135 -> a
    26:26:com.android.tools.r8.graph.DexClassAndMethod lookup():1140:1140 -> a
    27:33:com.android.tools.r8.graph.MethodResolutionResult internalResolve(com.android.tools.r8.graph.DexClass):1149:1155 -> a
    34:37:com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult singleResultHelper(com.android.tools.r8.graph.DexClass,java.util.Map$Entry):1187:1190 -> a
    34:37:com.android.tools.r8.graph.MethodResolutionResult internalResolve(com.android.tools.r8.graph.DexClass):1154 -> a
    38:55:com.android.tools.r8.graph.MethodResolutionResult internalResolve(com.android.tools.r8.graph.DexClass):1158:1175 -> a
    56:59:com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult singleResultHelper(com.android.tools.r8.graph.DexClass,java.util.Map$Entry):1187:1190 -> a
    56:59:com.android.tools.r8.graph.MethodResolutionResult internalResolve(com.android.tools.r8.graph.DexClass):1176 -> a
    60:61:com.android.tools.r8.graph.MethodResolutionResult internalResolve(com.android.tools.r8.graph.DexClass):1179:1180 -> a
    62:65:com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult singleResultHelper(com.android.tools.r8.graph.DexClass,java.util.Map$Entry):1187:1190 -> a
    62:65:com.android.tools.r8.graph.MethodResolutionResult internalResolve(com.android.tools.r8.graph.DexClass):1180 -> a
    66:66:com.android.tools.r8.graph.MethodResolutionResult internalResolve(com.android.tools.r8.graph.DexClass):1182:1182 -> a
    1:2:com.android.tools.r8.graph.MethodResolutionResult resolve(com.android.tools.r8.graph.DexClass):1144:1145 -> b
com.android.tools.r8.graph.AppServices -> com.android.tools.r8.internal.n2:
    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.n2$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.m2:
    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.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.desugar.PrefixRewritingMapper rewritePrefix -> p
    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.PrefixRewritingMapper):128:128 -> <init>
    2:76:void <init>(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.AppView$WholeProgramOptimizations,com.android.tools.r8.ir.desugar.PrefixRewritingMapper):74:148 -> <init>
    1:1:boolean hasProguardCompatibilityActions():552:552 -> A
    1:1:boolean hasUnboxedEnums():618:618 -> B
    1:1:boolean hasVerticallyMergedClasses():600:600 -> C
    1:1:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses horizontallyMergedClasses():585:585 -> D
    1:1:com.android.tools.r8.graph.InitClassLens initClassLens():469:469 -> E
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoFactory instanceFieldInitializationInfoFactory():212:212 -> F
    1:1:boolean isAllCodeProcessed():265:265 -> G
    1:1:com.android.tools.r8.ir.optimize.library.LibraryMemberOptimizer libraryMethodOptimizer():358:358 -> H
    1:4:void loadApplyMappingSeedMapper():829:832 -> I
    5:5:void loadApplyMappingSeedMapper():831:831 -> I
    1:1:com.android.tools.r8.utils.InternalOptions options():498:498 -> J
    1:1:com.android.tools.r8.ir.analysis.proto.ProtoShrinker protoShrinker():366:366 -> K
    1:1:com.android.tools.r8.shaking.RootSetUtils$RootSet rootSet():514:514 -> L
    1:1:void setAllCodeProcessed():269:269 -> M
    1:1:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory simpleInliningConstraintFactory():216:216 -> N
    1:1:com.android.tools.r8.ir.optimize.enums.EnumDataMap unboxedEnums():622:622 -> O
    2:2:com.android.tools.r8.ir.optimize.enums.EnumDataMap com.android.tools.r8.ir.optimize.enums.EnumDataMap.empty():20:20 -> O
    2:2:com.android.tools.r8.ir.optimize.enums.EnumDataMap unboxedEnums():622 -> O
    1:4:boolean validateUnboxedEnumsHaveBeenPruned():632:635 -> P
    1:1:com.android.tools.r8.graph.classmerging.VerticallyMergedClasses verticallyMergedClasses():608:608 -> Q
    1:1:com.android.tools.r8.graph.AppView withClassHierarchy():647:647 -> R
    com.android.tools.r8.graph.AppView withLiveness() -> S
    1:1:com.android.tools.r8.graph.AppView withoutClassHierarchy():654:654 -> T
    2:2:boolean hasClassHierarchy():642:642 -> T
    2:2:com.android.tools.r8.graph.AppView withoutClassHierarchy():654 -> T
    3:3:com.android.tools.r8.graph.AppView withoutClassHierarchy():654:654 -> T
    1:431:java.lang.Object withGeneratedMessageLiteBuilderShrinker(java.util.function.Function,java.lang.Object):0:430 -> a
    432:432:com.android.tools.r8.graph.AppView createForD8(com.android.tools.r8.graph.AppInfo):167:167 -> a
    433:434:com.android.tools.r8.ir.desugar.PrefixRewritingMapper defaultPrefixRewritingMapper(com.android.tools.r8.graph.AppInfo):162:163 -> a
    433:434:com.android.tools.r8.graph.AppView createForD8(com.android.tools.r8.graph.AppInfo):168 -> a
    435:435:com.android.tools.r8.graph.AppView createForD8(com.android.tools.r8.graph.AppInfo):168:168 -> a
    436:436:com.android.tools.r8.graph.AppView createForD8(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.ir.desugar.PrefixRewritingMapper):173:173 -> a
    437:437:com.android.tools.r8.graph.AppView createForR8(com.android.tools.r8.graph.DexApplication):177:177 -> a
    438:439:com.android.tools.r8.graph.AppView createForR8(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):182:183 -> a
    440:440:com.android.tools.r8.features.ClassToFeatureSplitMap com.android.tools.r8.features.ClassToFeatureSplitMap.createInitialClassToFeatureSplitMap(com.android.tools.r8.utils.InternalOptions):51:51 -> a
    440:440:com.android.tools.r8.graph.AppView createForR8(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):183 -> a
    441:441:com.android.tools.r8.features.ClassToFeatureSplitMap com.android.tools.r8.features.ClassToFeatureSplitMap.createInitialClassToFeatureSplitMap(com.android.tools.r8.utils.InternalOptions):50:50 -> a
    441:441:com.android.tools.r8.graph.AppView createForR8(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):183 -> a
    442:444:com.android.tools.r8.graph.AppView createForR8(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):185:187 -> a
    445:446:com.android.tools.r8.ir.desugar.PrefixRewritingMapper defaultPrefixRewritingMapper(com.android.tools.r8.graph.AppInfo):162:163 -> a
    445:446:com.android.tools.r8.graph.AppView createForR8(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):188 -> a
    447:447:com.android.tools.r8.graph.AppView createForR8(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):188:188 -> a
    448:448:com.android.tools.r8.graph.AppView createForTracer(com.android.tools.r8.graph.AppInfoWithClassHierarchy):203:203 -> a
    449:450:com.android.tools.r8.ir.desugar.PrefixRewritingMapper defaultPrefixRewritingMapper(com.android.tools.r8.graph.AppInfo):162:163 -> a
    449:450:com.android.tools.r8.graph.AppView createForTracer(com.android.tools.r8.graph.AppInfoWithClassHierarchy):204 -> a
    451:451:com.android.tools.r8.graph.AppView createForTracer(com.android.tools.r8.graph.AppInfoWithClassHierarchy):204:204 -> a
    452:452:void setAppServices(com.android.tools.r8.graph.AppServices):283:283 -> a
    453:453:void setClassesEscapingIntoLibrary(java.util.function.Predicate):296:296 -> a
    454:454:void setSourceDebugExtensionForType(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexValue$DexValueString):300:300 -> a
    455:455:com.android.tools.r8.graph.DexValue$DexValueString getSourceDebugExtensionForType(com.android.tools.r8.graph.DexClass):304:304 -> a
    456:456:com.android.tools.r8.graph.DexItemFactory dexItemFactory():328:328 -> a
    457:458:void withArgumentPropagator(com.android.tools.r8.utils.ThrowingConsumer):352:353 -> a
    459:459:java.lang.Object withProtoEnumShrinker(java.util.function.Function,java.lang.Object):384:384 -> a
    460:460:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.isEnumLiteProtoShrinkingEnabled():1594:1594 -> a
    460:460:java.lang.Object withProtoEnumShrinker(java.util.function.Function,java.lang.Object):384 -> a
    461:461:java.lang.Object withProtoEnumShrinker(java.util.function.Function,java.lang.Object):385:385 -> a
    462:463:java.lang.Object withGeneratedExtensionRegistryShrinker(java.util.function.Function,java.lang.Object):399:400 -> a
    464:471:boolean setGraphLens(com.android.tools.r8.graph.GraphLens):449:456 -> a
    472:472:boolean com.android.tools.r8.graph.GraphLens.isAppliedLens():0:0 -> a
    472:472:boolean setGraphLens(com.android.tools.r8.graph.GraphLens):456 -> a
    473:473:boolean com.android.tools.r8.graph.GraphLens.isClearCodeRewritingLens():0:0 -> a
    473:473:boolean setGraphLens(com.android.tools.r8.graph.GraphLens):456 -> a
    474:474:void setCodeLens(com.android.tools.r8.graph.GraphLens):440:440 -> a
    474:474:boolean setGraphLens(com.android.tools.r8.graph.GraphLens):457 -> a
    475:475:void setInitClassLens(com.android.tools.r8.graph.InitClassLens):477:477 -> a
    476:476:void setInitializedClassesInInstanceMethods(com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$InitializedClassesInInstanceMethods):482:482 -> a
    477:477:com.android.tools.r8.utils.InternalOptions$TestingOptions testing():506:506 -> a
    477:477:boolean checkForTesting(java.util.function.Supplier):845 -> a
    478:478:boolean checkForTesting(java.util.function.Supplier):845:845 -> a
    479:480:void setRootSet(com.android.tools.r8.shaking.RootSetUtils$RootSet):518:519 -> a
    481:482:void setMainDexRootSet(com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet):523:524 -> a
    483:483:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():536:536 -> a
    483:483:com.android.tools.r8.shaking.KeepClassInfo getKeepInfo(com.android.tools.r8.graph.DexProgramClass):540 -> a
    484:484:com.android.tools.r8.shaking.KeepClassInfo getKeepInfo(com.android.tools.r8.graph.DexProgramClass):540:540 -> a
    485:485:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():536:536 -> a
    485:485:com.android.tools.r8.shaking.KeepFieldInfo getKeepInfo(com.android.tools.r8.graph.ProgramField):544 -> a
    486:486:com.android.tools.r8.shaking.KeepFieldInfo getKeepInfo(com.android.tools.r8.graph.ProgramField):544:544 -> a
    487:487:com.android.tools.r8.shaking.KeepFieldInfo com.android.tools.r8.shaking.KeepInfoCollection.getFieldInfo(com.android.tools.r8.graph.ProgramField):118:118 -> a
    487:487:com.android.tools.r8.shaking.KeepFieldInfo getKeepInfo(com.android.tools.r8.graph.ProgramField):544 -> a
    488:488:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():536:536 -> a
    488:488:com.android.tools.r8.shaking.KeepMethodInfo getKeepInfo(com.android.tools.r8.graph.ProgramMethod):548 -> a
    489:489:com.android.tools.r8.shaking.KeepMethodInfo getKeepInfo(com.android.tools.r8.graph.ProgramMethod):548:548 -> a
    490:490:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.ProgramMethod):105:105 -> a
    490:490:com.android.tools.r8.shaking.KeepMethodInfo getKeepInfo(com.android.tools.r8.graph.ProgramMethod):548 -> a
    491:492:void setProguardCompatibilityActions(com.android.tools.r8.shaking.ProguardCompatibilityActions):561:562 -> a
    493:493:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):590:590 -> a
    494:494:boolean hasHorizontallyMergedClasses():577:577 -> a
    494:494:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):590 -> a
    495:495:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):590:590 -> a
    496:496:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses horizontallyMergedClasses():585:585 -> a
    496:496:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):591 -> a
    497:498:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):591:592 -> a
    499:499:com.android.tools.r8.utils.InternalOptions$TestingOptions testing():506:506 -> a
    499:499:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):593 -> a
    500:502:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):593:595 -> a
    503:503:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses horizontallyMergedClasses():585:585 -> a
    503:503:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):595 -> a
    504:504:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):595:595 -> a
    505:506:void setVerticallyMergedClasses(com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):612:613 -> a
    507:507:com.android.tools.r8.utils.InternalOptions$TestingOptions testing():506:506 -> a
    507:507:void setVerticallyMergedClasses(com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):614 -> a
    508:508:void setVerticallyMergedClasses(com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):614:614 -> a
    509:510:void setUnboxedEnums(com.android.tools.r8.ir.optimize.enums.EnumDataMap):626:627 -> a
    511:511:com.android.tools.r8.utils.InternalOptions$TestingOptions testing():506:506 -> a
    511:511:void setUnboxedEnums(com.android.tools.r8.ir.optimize.enums.EnumDataMap):628 -> a
    512:512:void setUnboxedEnums(com.android.tools.r8.ir.optimize.enums.EnumDataMap):628:628 -> a
    513:515:com.android.tools.r8.utils.OptionalBool isSubtype(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):672:674 -> a
    516:516:boolean isCfByteCodePassThrough(com.android.tools.r8.graph.DexEncodedMethod):678:678 -> a
    517:517:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    517:517:boolean isCfByteCodePassThrough(com.android.tools.r8.graph.DexEncodedMethod):678 -> a
    518:522:boolean isCfByteCodePassThrough(com.android.tools.r8.graph.DexEncodedMethod):681:685 -> a
    523:532:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):694:703 -> a
    533:533:void pruneAppInfo(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):727:727 -> a
    533:533:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):705 -> a
    534:534:com.android.tools.r8.graph.AppServices appServices():279:279 -> a
    534:534:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):707 -> a
    535:537:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):708:710 -> a
    538:538:com.android.tools.r8.shaking.ProguardCompatibilityActions getProguardCompatibilityActions():556:556 -> a
    538:538:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):712 -> a
    539:539:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):712:712 -> a
    540:540:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):711:711 -> a
    541:541:boolean hasRootSet():510:510 -> a
    541:541:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):714 -> a
    542:545:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):715:718 -> a
    546:548:void rewriteWithLensAndApplication(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):743:745 -> a
    549:568: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):757:776 -> a
    569:569:boolean com.android.tools.r8.graph.GraphLens.isMemberRebindingLens():0:0 -> a
    569:569: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):782 -> a
    570:579: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):784:793 -> a
    580:580:boolean lambda$rewriteWithLens$0(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):778:778 -> a
    581:581:boolean com.android.tools.r8.graph.GraphLens.isMemberRebindingLens():0:0 -> a
    581:581:boolean lambda$rewriteWithLens$0(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):778 -> a
    582:582:boolean com.android.tools.r8.graph.GraphLens.isMemberRebindingIdentityLens():0:0 -> a
    582:582:boolean lambda$rewriteWithLens$0(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):778 -> a
    583:583:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):796:796 -> a
    584:584:boolean hasLiveness():659:659 -> a
    584:584:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):796 -> a
    585:586:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):798:799 -> a
    587:587:com.android.tools.r8.graph.AppServices appServices():279:279 -> a
    587:587:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):801 -> a
    588:588: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
    589:589:boolean hasInitClassLens():473:473 -> a
    589:589:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):802 -> a
    590:590: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
    591:591:void setInitClassLens(com.android.tools.r8.graph.InitClassLens):477:477 -> a
    591:591: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
    592:592:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):805:805 -> a
    593:593:com.android.tools.r8.shaking.ProguardCompatibilityActions getProguardCompatibilityActions():556:556 -> a
    593:593:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):807 -> a
    594:594:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):807:807 -> a
    595:595: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
    596:596:com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet getMainDexRootSet():532:532 -> a
    596:596:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):809 -> a
    597:597:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):810:810 -> a
    598:599:void setAlreadyLibraryDesugared(java.util.Set):816:817 -> a
    1:493:java.lang.Object withInitializedClassesInInstanceMethods(java.util.function.Function,java.lang.Object):0:492 -> b
    494:494:com.android.tools.r8.graph.AppView createForL8(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.ir.desugar.PrefixRewritingMapper):193:193 -> b
    495:495:com.android.tools.r8.graph.AppView createForRelocator(com.android.tools.r8.graph.AppInfo):197:197 -> b
    496:497:com.android.tools.r8.ir.desugar.PrefixRewritingMapper defaultPrefixRewritingMapper(com.android.tools.r8.graph.AppInfo):162:163 -> b
    496:497:com.android.tools.r8.graph.AppView createForRelocator(com.android.tools.r8.graph.AppInfo):198 -> b
    498:498:com.android.tools.r8.graph.AppView createForRelocator(com.android.tools.r8.graph.AppInfo):198:198 -> b
    499:499:com.android.tools.r8.ir.analysis.value.AbstractValueFactory abstractValueFactory():208:208 -> b
    500:501:void withGeneratedExtensionRegistryShrinker(com.android.tools.r8.utils.ThrowingConsumer):392:393 -> b
    502:503:java.lang.Object withGeneratedMessageLiteShrinker(java.util.function.Function,java.lang.Object):421:422 -> b
    504:504:void setCfByteCodePassThrough(java.util.Set):486:486 -> b
    505:505:void rewriteWithLens(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):732:732 -> b
    506:510:boolean isAlreadyLibraryDesugared(com.android.tools.r8.graph.DexProgramClass):821:825 -> b
    1:379:java.lang.Object withProtoShrinker(java.util.function.Function,java.lang.Object):0:378 -> c
    380:382:com.android.tools.r8.graph.AppView setAppInfo(com.android.tools.r8.graph.AppInfo):249:251 -> c
    383:383:void unsetAppInfoForDesugaring():245:245 -> c
    383:383:com.android.tools.r8.graph.AppView setAppInfo(com.android.tools.r8.graph.AppInfo):252 -> c
    384:387:com.android.tools.r8.graph.AppView setAppInfo(com.android.tools.r8.graph.AppInfo):254:257 -> c
    388:388:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):309:309 -> c
    389:390:void withGeneratedMessageLiteBuilderShrinker(com.android.tools.r8.utils.ThrowingConsumer):414:415 -> c
    391:391:com.android.tools.r8.graph.classmerging.MergedClassesCollection allMergedClasses():566:566 -> c
    392:392:boolean hasHorizontallyMergedClasses():577:577 -> c
    392:392:com.android.tools.r8.graph.classmerging.MergedClassesCollection allMergedClasses():567 -> c
    393:396:com.android.tools.r8.graph.classmerging.MergedClassesCollection allMergedClasses():568:571 -> c
    1:1:boolean isModeled(com.android.tools.r8.graph.DexType):158:158 -> d
    2:3:void withGeneratedMessageLiteShrinker(com.android.tools.r8.utils.ThrowingConsumer):407:408 -> d
    4:4:com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute():849:849 -> d
    1:2:com.android.tools.r8.graph.AppInfo appInfo():224:225 -> e
    3:4:boolean isClassEscapingIntoLibrary(com.android.tools.r8.graph.DexType):291:292 -> e
    5:6:void withProtoShrinker(com.android.tools.r8.utils.ThrowingConsumer):371:372 -> e
    1:9:com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfoForDesugaring():233:241 -> f
    1:1:com.android.tools.r8.shaking.AppInfoWithLiveness appInfoWithLiveness():229:229 -> g
    1:1:com.android.tools.r8.graph.AppServices appServices():279:279 -> h
    1:1:boolean canUseInitClass():465:465 -> i
    2:2:boolean com.android.tools.r8.graph.InitClassLens.isFinal():0:0 -> i
    2:2:boolean canUseInitClass():465 -> i
    1:1:void clearApplyMappingSeedMapper():841:841 -> j
    1:1:com.android.tools.r8.graph.GraphLens clearCodeRewritings():273:273 -> k
    2:3:com.android.tools.r8.graph.GraphLens com.android.tools.r8.graph.GraphLens.withCodeRewritingsApplied(com.android.tools.r8.graph.DexItemFactory):574:575 -> k
    2:3:com.android.tools.r8.graph.GraphLens clearCodeRewritings():273 -> k
    4:4:com.android.tools.r8.graph.GraphLens clearCodeRewritings():274:274 -> k
    1:1:com.android.tools.r8.graph.GraphLens codeLens():436:436 -> l
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel computedMinApiLevel():853:853 -> m
    1:1:com.android.tools.r8.contexts.CompilationContext$ProcessorContext createProcessorContext():342:342 -> n
    2:2:boolean verifyMainThread():152:152 -> n
    2:2:com.android.tools.r8.contexts.CompilationContext$ProcessorContext createProcessorContext():342 -> n
    3:3:com.android.tools.r8.contexts.CompilationContext$ProcessorContext createProcessorContext():343:343 -> n
    1:1:boolean enableWholeProgramOptimizations():332:332 -> o
    1:1:com.android.tools.r8.naming.SeedMapper getApplyMappingSeedMapper():837:837 -> p
    1:1:com.android.tools.r8.errors.dontwarn.DontWarnConfiguration getDontWarnConfiguration():287:287 -> q
    1:1:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():536:536 -> r
    1:1:com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection getLibraryMethodSideEffectModelCollection():362:362 -> s
    1:1:com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet getMainDexRootSet():532:532 -> t
    1:1:com.android.tools.r8.shaking.ProguardCompatibilityActions getProguardCompatibilityActions():556:556 -> u
    1:1:com.android.tools.r8.synthesis.SyntheticItems getSyntheticItems():347:347 -> v
    1:1:com.android.tools.r8.graph.GraphLens graphLens():444:444 -> w
    1:1:boolean hasCfByteCodePassThroughMethods():689:689 -> x
    1:1:boolean hasClassHierarchy():642:642 -> y
    1:1:boolean hasMainDexRootSet():528:528 -> z
com.android.tools.r8.graph.ApplicationReaderMap -> com.android.tools.r8.internal.s2:
    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.q2:
    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.r2:
    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>():27:27 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):40:40 -> <init>
    2:54:void <init>(com.android.tools.r8.graph.AppView):30:82 -> <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):87:97 -> a
    12:13:void lambda$recordOriginalTypeNames$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):94:95 -> a
    14:14:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):108:108 -> 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):108 -> a
    16:16:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):108:108 -> a
    17:17:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):119:119 -> a
    18:18:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):127:127 -> 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):113:114 -> b
    3:3:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):133:133 -> b
    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):140:140 -> c
    1:1:com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType):145:145 -> d
    1:4:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):161:164 -> e
    boolean isContextFreeForMethods() -> g
com.android.tools.r8.graph.AssemblyWriter -> com.android.tools.r8.internal.s3:
    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.K5:
    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
    int computeHashCode() -> g0
    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
com.android.tools.r8.graph.CfCode -> com.android.tools.r8.graph.k:
    boolean $assertionsDisabled -> 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>():65:65 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List):161:162 -> <init>
    3:3:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List):156:156 -> <init>
    4:4:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> <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):189:189 -> <init>
    6:51: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):151:196 -> <init>
    1:1:java.util.List getTryCatchRanges():244:244 -> A0
    com.android.tools.r8.graph.CfCode asCfCode() -> F
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
    2:2:void setInstructions(java.util.List):252:252 -> a
    3:6:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):314:317 -> a
    7:7:void lambda$acceptHashing$0(com.android.tools.r8.utils.structural.HashingVisitor,com.android.tools.r8.cf.code.CfInstruction):317:317 -> a
    8:9:int acceptCompareTo(com.android.tools.r8.graph.CfCode,com.android.tools.r8.utils.structural.CompareToVisitor):322:323 -> a
    10:10:java.util.Collection lambda$acceptCompareTo$1(com.android.tools.r8.graph.CfCode):327:327 -> a
    11:11:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):327:327 -> a
    12:12:com.android.tools.r8.utils.structural.StructuralAcceptor com.android.tools.r8.graph.CfCompareHelper.instructionAcceptor():106:106 -> a
    12:12:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):327 -> a
    13:13:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):327:327 -> a
    14:14:com.android.tools.r8.utils.structural.StructuralAcceptor com.android.tools.r8.graph.CfCompareHelper.tryCatchRangeAcceptor():122:122 -> a
    14:14:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):328 -> a
    15:15:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):328:328 -> a
    16:16:com.android.tools.r8.utils.structural.StructuralAcceptor com.android.tools.r8.graph.CfCompareHelper.localVariableAcceptor():137:137 -> a
    16:16:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):329 -> a
    17:17:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):329:329 -> a
    18:19: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):366:367 -> a
    20:20: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):838:838 -> a
    20:20: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):367 -> a
    21:27: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):367:373 -> a
    28:44:boolean shouldAddParameterNames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):336:352 -> a
    28:44: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):373 -> a
    45:45: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):374:374 -> a
    46:46: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
    46: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):375 -> a
    47:63: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):378:394 -> a
    64:64: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":510,"2":511,"3":512}}
    510:510: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):395:395 -> a
    511:511:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    511:511: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):395 -> a
    512:512:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    512:512: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):395 -> a
    460:467: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):396:403 -> a
    468:488: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):397:417 -> a
    489:489: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):435:435 -> a
    489:489: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):410 -> a
    490:490: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":513,"2":514,"3":515}}
    513:513: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):435:435 -> a
    513:513: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):410 -> a
    514:514:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    514:514: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):435 -> a
    514:514: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):410 -> a
    515:515:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    515:515: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):435 -> a
    515:515: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):410 -> a
    491:497: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):436:436 -> a
    491:497: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):410 -> a
    498:500: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):420:422 -> a
    501:501: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):435:435 -> a
    501:501: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):421 -> a
    502:502: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":516,"2":517,"3":518}}
    516:516: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):435:435 -> a
    516:516: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):421 -> a
    517:517:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    517:517: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):435 -> a
    517:517: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):421 -> a
    518:518:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    518:518: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):435 -> a
    518:518: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):421 -> a
    503:509: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):436:436 -> a
    503: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):421 -> a
    519:519: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):470:470 -> a
    520:520:com.android.tools.r8.graph.RewrittenPrototypeDescription com.android.tools.r8.ir.conversion.IRBuilder.lookupPrototypeChanges(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):459:459 -> a
    520:520: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):470 -> a
    521:521:com.android.tools.r8.graph.RewrittenPrototypeDescription com.android.tools.r8.graph.GraphLens.lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod):460:460 -> a
    521:521:com.android.tools.r8.graph.RewrittenPrototypeDescription com.android.tools.r8.ir.conversion.IRBuilder.lookupPrototypeChanges(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):459 -> a
    521:521: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):470 -> a
    522:525: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):469:472 -> a
    526:528: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.RewrittenPrototypeDescription):523:525 -> a
    526:528: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):471 -> a
    529:529: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.RewrittenPrototypeDescription):524:524 -> a
    529:529: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):471 -> a
    530:532: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.RewrittenPrototypeDescription):558:558 -> a
    530:532: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.RewrittenPrototypeDescription):535 -> a
    530:532: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):471 -> a
    543:545: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.RewrittenPrototypeDescription):569:571 -> a
    543:545: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.RewrittenPrototypeDescription):535 -> a
    543:545: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):471 -> a
    546:546: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.RewrittenPrototypeDescription):570:570 -> a
    546:546: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.RewrittenPrototypeDescription):535 -> a
    546:546: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):471 -> a
    547:550: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.RewrittenPrototypeDescription):485:488 -> a
    551:553: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.RewrittenPrototypeDescription):523:525 -> a
    551:553: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.RewrittenPrototypeDescription):489 -> a
    554:554: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.RewrittenPrototypeDescription):524:524 -> a
    554:554: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.RewrittenPrototypeDescription):489 -> a
    555:557: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.RewrittenPrototypeDescription):558:558 -> a
    555:557: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.RewrittenPrototypeDescription):535 -> a
    555:557: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.RewrittenPrototypeDescription):489 -> a
    568:570: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.RewrittenPrototypeDescription):569:571 -> 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.RewrittenPrototypeDescription):535 -> a
    568:570: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.RewrittenPrototypeDescription):489 -> a
    571:571: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.RewrittenPrototypeDescription):570:570 -> 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.RewrittenPrototypeDescription):535 -> a
    571:571: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.RewrittenPrototypeDescription):489 -> a
    572:577: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.RewrittenPrototypeDescription):594:599 -> a
    578:578:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    578:578: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.RewrittenPrototypeDescription):599 -> a
    579:592: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.RewrittenPrototypeDescription):599:612 -> a
    593:604:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):617:628 -> a
    605:610:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):636:641 -> a
    611:611:void lambda$registerCodeReferencesForDesugaring$5(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.cf.code.CfTryCatch):641:641 -> a
    612:652:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap collectParameterInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):648:688 -> a
    653:653:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap collectParameterInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):687:687 -> a
    654:654:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap collectParameterInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):659:659 -> a
    655:655:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):736:736 -> a
    656:666: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):744:754 -> a
    667:667:boolean com.android.tools.r8.graph.DexEncodedMethod.isSynchronized():444:444 -> a
    667:667: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):754 -> a
    668:668:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forMonitor():275:275 -> a
    668:668: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):755 -> a
    669:677: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):756:764 -> a
    678:684: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):763:769 -> a
    685:685:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forMoveException():283:283 -> a
    685:685: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):772 -> a
    686:686: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):772:772 -> a
    687:696:void addFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):778:787 -> a
    697:700:int com.android.tools.r8.graph.DexCode.getLargestPrefix(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexString):306:309 -> a
    697:700:void addFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):787 -> a
    701:716:void addFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):787:802 -> a
    717:718: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):96:97 -> a
    717:718:void addFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):802 -> a
    719:719:void addFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):799:799 -> a
    720:723: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):807:810 -> a
    724:724:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    724:724: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):810 -> a
    725:732: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):811:818 -> a
    733:733:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    733:733: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):818 -> a
    734:738: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):820:824 -> a
    739:739: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):821:821 -> a
    740:740:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    740:740: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):826 -> a
    741:747: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):827:833 -> a
    748:748:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> a
    748:748: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):833 -> a
    749:759: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.RewrittenPrototypeDescription):846:856 -> a
    760:760:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    760:760: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.RewrittenPrototypeDescription):856 -> a
    761:778: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.RewrittenPrototypeDescription):857:874 -> a
    779:779:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    779:779: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.RewrittenPrototypeDescription):874 -> a
    780:780: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.RewrittenPrototypeDescription):872:872 -> a
    781:785: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
    781:785: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.RewrittenPrototypeDescription):872 -> a
    786:786:com.android.tools.r8.graph.CfCode$StackMapStatus reportStackMapError(com.android.tools.r8.graph.CfCodeDiagnostics,com.android.tools.r8.graph.AppView):965:965 -> a
    786:786: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.RewrittenPrototypeDescription):871 -> a
    787:794: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.RewrittenPrototypeDescription):878:885 -> a
    795:795:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    795:795: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.RewrittenPrototypeDescription):885 -> a
    796:796: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.RewrittenPrototypeDescription):883:883 -> a
    797:801: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
    797:801: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.RewrittenPrototypeDescription):883 -> a
    802:802:com.android.tools.r8.graph.CfCode$StackMapStatus reportStackMapError(com.android.tools.r8.graph.CfCodeDiagnostics,com.android.tools.r8.graph.AppView):965:965 -> a
    802: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.RewrittenPrototypeDescription):882 -> a
    803:803:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> 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.RewrittenPrototypeDescription):892 -> a
    804:804:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    804:804: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.RewrittenPrototypeDescription):894 -> a
    805:810: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.RewrittenPrototypeDescription):895:900 -> a
    811:811:boolean com.android.tools.r8.cf.code.CfInstruction.isThrow():0:0 -> a
    811:811:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):970 -> a
    811:811: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.RewrittenPrototypeDescription):900 -> a
    812:821:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):970:979 -> a
    812: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.RewrittenPrototypeDescription):900 -> a
    822:822:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    822:822:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):979 -> 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.RewrittenPrototypeDescription):900 -> a
    823:823:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    823:823:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):979 -> a
    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.RewrittenPrototypeDescription):900 -> a
    824:824:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):984:984 -> a
    824:824: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.RewrittenPrototypeDescription):900 -> a
    825: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.RewrittenPrototypeDescription):904:908 -> a
    830:830:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    830:830: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.RewrittenPrototypeDescription):908 -> a
    831:831: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.RewrittenPrototypeDescription):906:906 -> a
    832:837: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
    832: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.RewrittenPrototypeDescription):906 -> a
    838:838:com.android.tools.r8.graph.CfCode$StackMapStatus reportStackMapError(com.android.tools.r8.graph.CfCodeDiagnostics,com.android.tools.r8.graph.AppView):965:965 -> 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.RewrittenPrototypeDescription):905 -> a
    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.RewrittenPrototypeDescription):912:912 -> a
    840:840: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.RewrittenPrototypeDescription):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2771,"2":2772,"3":2773}}
    2771:2771: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.RewrittenPrototypeDescription):912:912 -> a
    2772:2772:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    2772:2772: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.RewrittenPrototypeDescription):912 -> a
    2773:2773:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    2773:2773: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.RewrittenPrototypeDescription):912 -> a
    1753:1753: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.RewrittenPrototypeDescription):913:913 -> a
    1754:1754: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.RewrittenPrototypeDescription):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2774,"2":2775,"3":2776}}
    2774:2774: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.RewrittenPrototypeDescription):913:913 -> a
    2775:2775:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    2775:2775: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.RewrittenPrototypeDescription):913 -> a
    2776:2776:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    2776:2776: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.RewrittenPrototypeDescription):913 -> a
    2668:2681: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.RewrittenPrototypeDescription):914:927 -> a
    2682:2683:boolean shouldComputeInitialFrame():988:989 -> a
    2682:2683: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.RewrittenPrototypeDescription):927 -> a
    2684:2684:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    2684:2684:boolean shouldComputeInitialFrame():991 -> a
    2684:2684: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.RewrittenPrototypeDescription):927 -> a
    2685:2685:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    2685:2685:boolean shouldComputeInitialFrame():991 -> a
    2685:2685: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.RewrittenPrototypeDescription):927 -> a
    2686:2686:boolean shouldComputeInitialFrame():996:996 -> a
    2686:2686: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.RewrittenPrototypeDescription):927 -> a
    2687:2687: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.RewrittenPrototypeDescription):927:927 -> a
    2688:2688:boolean shouldComputeInitialFrame():996:996 -> a
    2688:2688: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.RewrittenPrototypeDescription):927 -> a
    2689:2689: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.RewrittenPrototypeDescription):928:928 -> a
    2690:2691:boolean shouldComputeInitialFrame():988:989 -> a
    2690:2691: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.RewrittenPrototypeDescription):929 -> a
    2692:2692:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    2692:2692:boolean shouldComputeInitialFrame():991 -> a
    2692:2692: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.RewrittenPrototypeDescription):929 -> a
    2693:2693:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    2693:2693:boolean shouldComputeInitialFrame():991 -> a
    2693:2693: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.RewrittenPrototypeDescription):929 -> a
    2694:2694:boolean shouldComputeInitialFrame():996:996 -> a
    2694:2694: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.RewrittenPrototypeDescription):929 -> a
    2695:2695: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.RewrittenPrototypeDescription):930:930 -> a
    2696:2715: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.RewrittenPrototypeDescription):1002:1021 -> a
    2696:2715: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.RewrittenPrototypeDescription):931 -> a
    2716:2716:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> a
    2716:2716: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.RewrittenPrototypeDescription):1021 -> a
    2716:2716: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.RewrittenPrototypeDescription):931 -> a
    2717:2717: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.RewrittenPrototypeDescription):1022:1022 -> a
    2717:2717: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.RewrittenPrototypeDescription):931 -> a
    2718:2718:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    2718:2718: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.RewrittenPrototypeDescription):1024 -> a
    2718:2718: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.RewrittenPrototypeDescription):931 -> a
    2719:2729: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.RewrittenPrototypeDescription):1025:1035 -> a
    2719:2729: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.RewrittenPrototypeDescription):931 -> a
    2730:2730: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.RewrittenPrototypeDescription):931:931 -> a
    2731:2741: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.RewrittenPrototypeDescription):930:940 -> a
    2742:2742:boolean com.android.tools.r8.cf.code.CfInstruction.isStore():0:0 -> a
    2742:2742: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.RewrittenPrototypeDescription):940 -> a
    2743:2747: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.RewrittenPrototypeDescription):940:944 -> a
    2748:2754: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.RewrittenPrototypeDescription):943:949 -> a
    2755:2755:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    2755:2755: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.RewrittenPrototypeDescription):949 -> a
    2756:2756: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.RewrittenPrototypeDescription):952:952 -> a
    2757:2768: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
    2757:2768: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.RewrittenPrototypeDescription):947 -> a
    2769:2769:com.android.tools.r8.graph.CfCode$StackMapStatus reportStackMapError(com.android.tools.r8.graph.CfCodeDiagnostics,com.android.tools.r8.graph.AppView):965:965 -> a
    2769:2769: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.RewrittenPrototypeDescription):946 -> a
    2770:2770:boolean shouldComputeInitialFrame():996:996 -> a
    2770:2770: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.RewrittenPrototypeDescription):929 -> a
    2777:2777:java.util.function.BiPredicate isAssignablePredicate(com.android.tools.r8.graph.AppView):1042:1042 -> a
    2778:2778:boolean lambda$isAssignablePredicate$6(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):1042:1042 -> a
    2779:2779:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1047:1047 -> a
    2780:2780:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078:1078 -> a
    2780:2780:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1048 -> a
    2781:2781:boolean com.android.tools.r8.graph.DexType.isByteType():284:284 -> a
    2781:2781:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078 -> a
    2781:2781:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1048 -> a
    2782:2782:boolean com.android.tools.r8.graph.DexType.isCharType():288:288 -> a
    2782:2782:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078 -> a
    2782:2782:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1048 -> a
    2783:2783:boolean com.android.tools.r8.graph.DexType.isShortType():292:292 -> a
    2783:2783:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078 -> a
    2783:2783:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1048 -> a
    2784:2785:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078:1079 -> a
    2784:2785:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1048 -> a
    2786:2786:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078:1078 -> a
    2786:2786:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1049 -> a
    2787:2787:boolean com.android.tools.r8.graph.DexType.isByteType():284:284 -> a
    2787:2787:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078 -> a
    2787:2787:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1049 -> a
    2788:2788:boolean com.android.tools.r8.graph.DexType.isCharType():288:288 -> a
    2788:2788:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078 -> a
    2788:2788:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1049 -> a
    2789:2789:boolean com.android.tools.r8.graph.DexType.isShortType():292:292 -> a
    2789:2789:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078 -> a
    2789:2789:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1049 -> a
    2790:2791:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1078:1079 -> a
    2790:2791:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1049 -> a
    2792:2809:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1053:1070 -> a
    2810:2814:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1069:1073 -> a
    1:1:java.util.Collection lambda$acceptCompareTo$2(com.android.tools.r8.graph.CfCode):328:328 -> 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.RewrittenPrototypeDescription):505:509 -> b
    com.android.tools.r8.graph.CfWritableCode$CfWritableCodeKind getCfWritableCodeKind() -> b0
    1:1:java.util.Collection lambda$acceptCompareTo$3(com.android.tools.r8.graph.CfCode):329:329 -> c
    1:1:int computeHashCode():447:447 -> g0
    1:1:boolean computeEquals(java.lang.Object):452:452 -> h
    com.android.tools.r8.graph.CfWritableCode asCfWritableCode() -> h0
    1:2:int countNonStackOperations(int):276:277 -> i
    1:2:boolean estimatedSizeForInliningAtMost(int):266 -> i
    1:1:void setMaxLocals(int):236:236 -> j
    1:1:void setMaxStack(int):240:240 -> k
    1:2:int countNonStackOperations(int):276:277 -> k0
    1:2:int estimatedSizeForInlining():261 -> k0
    1:2:int estimatedDexCodeSizeUpperBoundInBytes():271 -> k0
    1:2:int countNonStackOperations(int):276:277 -> l0
    1:2:int estimatedSizeForInlining():261 -> l0
    boolean isCfCode() -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():211:211 -> n
    boolean isCfWritableCode() -> n0
    1:1:com.android.tools.r8.position.Position getDiagnosticPosition():232:232 -> t0
    1:1:java.lang.String toString():731:731 -> 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():731 -> toString
    3:3:java.lang.String toString():731:731 -> toString
    1:1:java.util.List getInstructions():248:248 -> u0
    1:1:java.util.List getLocalVariables():256:256 -> v0
    1:1:int getMaxLocals():223:223 -> w0
    1:1:int getMaxStack():219:219 -> x0
    1:1:com.android.tools.r8.graph.DexType getOriginalHolder():215:215 -> y0
    1:2:com.android.tools.r8.graph.CfCode$StackMapStatus getStackMapStatus():227:228 -> 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>():82:82 -> <clinit>
    1:4:void <init>(int,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel):89:92 -> <init>
    1:1:com.android.tools.r8.graph.DebugLocalInfo access$000(com.android.tools.r8.graph.CfCode$LocalVariableInfo):82:82 -> a
    2:4:void setEnd(com.android.tools.r8.cf.code.CfLabel):101:103 -> a
    5:5:com.android.tools.r8.cf.code.CfLabel getEnd():119:119 -> 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):124:124 -> a
    7:8:void lambda$acceptCompareTo$0(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):128:129 -> 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):129 -> a
    10:11:void lambda$acceptCompareTo$0(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):129:130 -> 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):130 -> a
    13:14:void lambda$acceptCompareTo$0(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):130:131 -> a
    1:1:com.android.tools.r8.cf.code.CfLabel access$100(com.android.tools.r8.graph.CfCode$LocalVariableInfo):82:82 -> b
    2:2:int getIndex():107:107 -> b
    1:1:com.android.tools.r8.cf.code.CfLabel access$200(com.android.tools.r8.graph.CfCode$LocalVariableInfo):82:82 -> c
    2:2:com.android.tools.r8.graph.DebugLocalInfo getLocal():111:111 -> c
    1:1:int access$300(com.android.tools.r8.graph.CfCode$LocalVariableInfo):82:82 -> d
    2:2:com.android.tools.r8.cf.code.CfLabel getStart():115:115 -> d
    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.graph.CfCodeDiagnostics -> com.android.tools.r8.internal.L6:
    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.N6:
    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:7: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
    3:7: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
    3:7:int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor):106 -> a
    8:8:void acceptHashing(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitor):106:106 -> a
    9:9:void acceptHashing(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.HashingVisitor):115:115 -> a
    9:9: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.Q8:
    com.android.tools.r8.graph.CfCode asCfCode() -> F
    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.CfWritableCode$CfWritableCodeKind getCfWritableCodeKind() -> b0
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() -> L
    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():155:155 -> 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):256:256 -> T
    1:1:boolean isAbstract():151 -> T
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):256:256 -> U
    1:1:boolean isAnnotation():167 -> U
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):256:256 -> V
    1:1:boolean isEnum():179 -> V
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):256:256 -> W
    1:1:boolean isInterface():139 -> W
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):256:256 -> X
    1:1:boolean isRecord():187 -> X
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):256:256 -> Y
    1:1:boolean isSuper():199 -> Y
    1:1:void setAbstract():159:159 -> Z
    1:16:boolean areValid(com.android.tools.r8.cf.CfVersion,boolean):115:130 -> a
    1:1:void setAnnotation():171:171 -> a0
    1:1:void setSuper():203:203 -> b0
    1:9:java.util.List getNames():29:37 -> c
    1:1:void unsetAbstract():163:163 -> c0
    1:1:void unsetInterface():147:147 -> d0
    1:9:java.util.List getPredicates():42:50 -> e
    1:1:void unsetRecord():195:195 -> e0
    1:1:void unsetSuper():207:207 -> f0
    1:1:com.android.tools.r8.graph.ClassAccessFlags fromCfAccessFlags(int):77:77 -> i
    2:2:void <init>(int):54:54 -> i
    2:2:com.android.tools.r8.graph.ClassAccessFlags fromCfAccessFlags(int):77 -> i
    1:1:com.android.tools.r8.graph.ClassAccessFlags fromDexAccessFlags(int):73:73 -> j
    2:2:void <init>(int):54:54 -> j
    2:2:com.android.tools.r8.graph.ClassAccessFlags fromDexAccessFlags(int):73 -> j
    1:3:com.android.tools.r8.graph.ClassAccessFlags fromSharedAccessFlags(int):67:69 -> k
    com.android.tools.r8.graph.AccessFlags self() -> y
com.android.tools.r8.graph.ClassDefinition -> com.android.tools.r8.internal.F9:
    com.android.tools.r8.graph.MethodCollection getMethodCollection() -> P
    com.android.tools.r8.graph.DexLibraryClass asLibraryClass() -> T
    com.android.tools.r8.graph.DexClasspathClass asClasspathClass() -> l
com.android.tools.r8.graph.ClassHierarchyTraversal -> com.android.tools.r8.internal.H9:
    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.ClasspathDefinition -> com.android.tools.r8.internal.bb:
    1:1:com.android.tools.r8.graph.ProgramDerivedContext asProgramDerivedContext(com.android.tools.r8.graph.ProgramDerivedContext):21:21 -> a
com.android.tools.r8.graph.ClasspathField -> com.android.tools.r8.graph.t:
    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 -> r
    1:2:com.android.tools.r8.graph.DexClass getHolder():7 -> r
    3:3:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> r
    3:3:com.android.tools.r8.graph.DexClasspathClass getHolder():32 -> r
    3:3:com.android.tools.r8.graph.DexClass getHolder():7 -> r
    4:5:com.android.tools.r8.graph.DexClasspathClass getHolder():32:33 -> r
    4:5:com.android.tools.r8.graph.DexClass getHolder():7 -> r
com.android.tools.r8.graph.ClasspathMethod -> com.android.tools.r8.graph.u:
    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 -> F
    3:3:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> F
    3:3:com.android.tools.r8.graph.DexClasspathClass getHolder():44 -> F
    4:5:com.android.tools.r8.graph.DexClasspathClass getHolder():44:45 -> F
    com.android.tools.r8.graph.ClasspathMethod asClasspathMethod() -> a0
    1:1:com.android.tools.r8.graph.DexClass getHolder():9:9 -> r
com.android.tools.r8.graph.ClasspathOrLibraryClass -> com.android.tools.r8.internal.cb:
com.android.tools.r8.graph.ClasspathOrLibraryContext -> com.android.tools.r8.internal.db:
    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.eb:
    com.android.tools.r8.graph.ClasspathOrLibraryDefinition asClasspathOrLibraryDefinition() -> e
com.android.tools.r8.graph.Code -> com.android.tools.r8.graph.v:
    1:1:void <init>():17:17 -> <init>
    1:1:com.android.tools.r8.graph.CfCode asCfCode():122:122 -> F
    1:1:com.android.tools.r8.graph.DexCode asDexCode():134:134 -> J
    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.RewrittenPrototypeDescription):30:30 -> 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.RewrittenPrototypeDescription):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":34,"2":35,"3":36}}
    34:34: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.RewrittenPrototypeDescription):30:30 -> 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.RewrittenPrototypeDescription):30:30 -> a
    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.RewrittenPrototypeDescription):30:30 -> a
    33:33: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.RewrittenPrototypeDescription):31:31 -> a
    37:37:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap collectParameterInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):49:49 -> a
    38:38:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):143:143 -> a
    39:39: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):153:153 -> a
    1:1:com.android.tools.r8.graph.CfWritableCode asCfWritableCode():126:126 -> h0
    1:1:boolean estimatedSizeForInliningAtMost(int):116:116 -> i
    1:1:com.android.tools.r8.graph.DexWritableCode asDexWritableCode():138:138 -> i0
    1:1:com.android.tools.r8.graph.LazyCfCode asLazyCfCode():130:130 -> j0
    int estimatedDexCodeSizeUpperBoundInBytes() -> k0
    int estimatedSizeForInlining() -> l0
    boolean isCfCode() -> m0
    boolean isCfWritableCode() -> n0
    boolean isDexCode() -> o0
    boolean isDexWritableCode() -> p0
    boolean isHorizontalClassMergingCode() -> q0
    boolean isSharedCodeObject() -> r0
    com.android.tools.r8.graph.ThrowExceptionCode asThrowExceptionCode() -> s
    boolean verifyNoInputReaders() -> s0
com.android.tools.r8.graph.DebugLocalInfo -> com.android.tools.r8.internal.qe:
    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() -> L
    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
    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
    2:6:java.lang.String toString(com.android.tools.r8.graph.DebugLocalInfo$PrintLevel):132:136 -> c
    7:7:java.lang.String toString(com.android.tools.r8.graph.DebugLocalInfo$PrintLevel):130:130 -> c
    8:8:java.lang.String toString(com.android.tools.r8.graph.DebugLocalInfo$PrintLevel):128:128 -> c
    9:9:java.lang.String toString(com.android.tools.r8.graph.DebugLocalInfo$PrintLevel):126:126 -> 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.x:
    boolean $assertionsDisabled -> e
    int $r8$clinit -> f
    com.android.tools.r8.graph.DefaultInstanceInitializerCode INSTANCE -> d
    1:4:void <clinit>():54:57 -> <clinit>
    1:1:void <init>():60:60 -> <init>
    com.android.tools.r8.graph.DexDebugInfoForWriting getDebugInfoForWriting() -> B
    int codeSizeInBytes() -> M
    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):67:68 -> a
    3:4:void uncanonicalizeCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):80:81 -> 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):81 -> a
    6:7:void uncanonicalizeCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):81:82 -> 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):329:333 -> a
    8:12:void uncanonicalizeCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):82 -> 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):330:335 -> a
    13:18:void uncanonicalizeCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):82 -> a
    19:19:void uncanonicalizeCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):82:82 -> a
    20:49:boolean hasDefaultInstanceInitializerCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):87:116 -> 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):118 -> a
    51:51:boolean hasDefaultInstanceInitializerCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):119:119 -> a
    52:52:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.ProgramMethod.getHolder():21:21 -> a
    52:52:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):228 -> a
    52:52:boolean hasDefaultInstanceInitializerCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):119 -> a
    53:53:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):228:228 -> a
    53:53:boolean hasDefaultInstanceInitializerCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):119 -> a
    54:54:boolean hasDefaultInstanceInitializerCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):122:122 -> 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):122 -> a
    56:56:boolean lambda$hasDefaultInstanceInitializerCode$0(com.android.tools.r8.cf.code.CfInstruction):110:110 -> 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):110 -> 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):110 -> a
    59:59:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):132:132 -> 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):138:138 -> a
    61:61:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> 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):138 -> a
    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):139:139 -> a
    63:63:void com.android.tools.r8.graph.DefaultInstanceInitializerCode$DefaultInstanceInitializerSourceCode.<init>(com.android.tools.r8.graph.DexMethod):388:388 -> 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):139 -> 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):141:141 -> 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.RewrittenPrototypeDescription):155:155 -> a
    66:66:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> 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.RewrittenPrototypeDescription):155 -> a
    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.RewrittenPrototypeDescription):156:160 -> 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):174:174 -> a
    73:73:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):228:228 -> 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):174 -> a
    74:74:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.ProgramMethod.getHolder():21:21 -> a
    74:74:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):228 -> 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):174 -> a
    75:75:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):228:228 -> 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):174 -> 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):174:174 -> a
    77:77:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):178:178 -> 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):174 -> a
    78:78:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193:193 -> a
    78:78:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    78:78:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):174 -> a
    79:79:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    79:79:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193 -> a
    79:79:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    79:79:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):174 -> a
    80:80:int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod):224:224 -> a
    80:80:int getRegisterSize(com.android.tools.r8.graph.ProgramMethod):250 -> a
    81:81:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):309:309 -> a
    81:81:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):300 -> a
    82:82:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):228:228 -> a
    82:82:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):309 -> a
    82:82:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):300 -> a
    83:83:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):309:309 -> a
    83:83:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):300 -> a
    84:84:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):309:309 -> a
    84:84:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):305 -> a
    85:85:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):228:228 -> a
    85:85:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):309 -> a
    85:85:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):305 -> a
    86:86:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):309:309 -> a
    86:86:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):305 -> a
    87:90: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):346:349 -> a
    91:99: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:355 -> 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):365:365 -> a
    101:101:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.ProgramMethod.getHolder():21:21 -> a
    101:101:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):228 -> a
    101:101: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):365 -> a
    102:102:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):228:228 -> a
    102:102: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):365 -> a
    103:105: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):365:367 -> a
    106:106:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):382:382 -> a
    1:1:boolean lambda$hasDefaultInstanceInitializerCode$1(com.android.tools.r8.cf.code.CfInstruction):111:111 -> 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):111 -> b
    3:3:int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod):224:224 -> b
    com.android.tools.r8.graph.CfWritableCode$CfWritableCodeKind getCfWritableCodeKind() -> b0
    void setCallSiteContexts(com.android.tools.r8.graph.ProgramMethod) -> c
    1:3:int getMaxLocals(com.android.tools.r8.graph.ProgramMethod):232:234 -> d
    1:1:int computeHashCode():184:184 -> g0
    boolean computeEquals(java.lang.Object) -> h
    com.android.tools.r8.graph.CfWritableCode asCfWritableCode() -> h0
    com.android.tools.r8.graph.DexWritableCode asDexWritableCode() -> i0
    int estimatedDexCodeSizeUpperBoundInBytes() -> k0
    1:1:com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind getDexWritableCodeKind():204:204 -> m
    1:1:com.android.tools.r8.graph.DexCode$Try[] getTries():255:255 -> p
    com.android.tools.r8.graph.Code asCode() -> q
    1:1:com.android.tools.r8.graph.DefaultInstanceInitializerCode get():63:63 -> t0
    1:1:java.lang.String toString():377:377 -> toString
    1:1:com.android.tools.r8.graph.DexCode$TryHandler[] getHandlers():214:214 -> v
    com.android.tools.r8.graph.DexString getHighestSortingString() -> x
    int getOutgoingRegisterSize() -> z
com.android.tools.r8.graph.DefaultInstanceInitializerCode$DefaultInstanceInitializerSourceCode -> com.android.tools.r8.graph.w:
    1:6:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):393:398 -> <init>
    7:7:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):392:392 -> <init>
    1:1:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):405:405 -> 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):405 -> d
    3:3:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):408:408 -> d
    4:4:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.ir.conversion.IRBuilder.dexItemFactory():491:491 -> d
    4:4:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):408 -> d
    5:5:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):407:407 -> 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):228:228 -> d
    6:6:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):407 -> d
    7:7:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.ProgramMethod.getHolder():21:21 -> 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):228 -> d
    7:7:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):407 -> d
    8:8: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):228:228 -> d
    8:8:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):407 -> d
    9:12:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):406:409 -> d
    13:13: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
    13:13:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):409 -> d
    14:15:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):409:410 -> d
    16:16:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):404:404 -> d
    1:1:java.util.List getInstructionBuilders():402:402 -> f
com.android.tools.r8.graph.Definition -> com.android.tools.r8.internal.Le:
    com.android.tools.r8.graph.ClasspathOrLibraryClass asClasspathOrLibraryClass() -> H
    com.android.tools.r8.graph.ProgramField asProgramField() -> K
    com.android.tools.r8.graph.LibraryMethod asLibraryMethod() -> N
    boolean isProgramMember() -> O
    com.android.tools.r8.graph.DexProgramClass asProgramClass() -> R
    boolean isProgramClass() -> U
    com.android.tools.r8.graph.ProgramMethod asProgramMethod() -> V
    boolean isMethod() -> W
    boolean isField() -> X
    boolean isProgramField() -> Z
    com.android.tools.r8.graph.ProgramDerivedContext asProgramDerivedContext(com.android.tools.r8.graph.ProgramDerivedContext) -> a
    com.android.tools.r8.graph.ClasspathMethod asClasspathMethod() -> a0
    com.android.tools.r8.graph.DexClass getContextClass() -> b
    com.android.tools.r8.graph.DexClassAndMethod asMethod() -> c
    com.android.tools.r8.graph.DexClassAndMember asMember() -> c0
    com.android.tools.r8.graph.DexClassAndField asField() -> d
    com.android.tools.r8.graph.ClasspathOrLibraryDefinition asClasspathOrLibraryDefinition() -> e
    com.android.tools.r8.graph.ProgramDefinition asProgramDefinition() -> f
    boolean isProgramDefinition() -> g
    com.android.tools.r8.graph.DexDefinition getDefinition() -> h
    boolean isProgramMethod() -> i
    com.android.tools.r8.graph.LibraryField asLibraryField() -> k
    com.android.tools.r8.graph.ProgramMember asProgramMember() -> o
    1:1:boolean isMember():56:56 -> w
    com.android.tools.r8.graph.DexType getContextType() -> y
com.android.tools.r8.graph.DexAnnotation -> com.android.tools.r8.graph.y:
    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() -> L
    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):117:118 -> 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:com.android.tools.r8.graph.DexType getAnnotationType():79:79 -> g0
    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.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.Jf:
    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.z:
    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:1:com.android.tools.r8.graph.DexAnnotationSet getClazzAnnotations():45:45 -> g0
    1:4:int hashCode():88:91 -> hashCode
com.android.tools.r8.graph.DexAnnotationElement -> com.android.tools.r8.graph.A:
    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() -> L
    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:com.android.tools.r8.graph.DexValue getValue():38:38 -> g0
    1:1:int hashCode():43:43 -> hashCode
    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.B:
    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() -> L
    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 collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):120:121 -> a
    8:8:void com.android.tools.r8.graph.DexAnnotation.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):105:105 -> a
    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):121 -> a
    9:10:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):127:128 -> a
    11:12:void sort(com.android.tools.r8.naming.NamingLens):136:137 -> a
    13:13:int sortedHashCode():175:175 -> a
    13:13:void sort(com.android.tools.r8.naming.NamingLens):137 -> a
    14:23:void sort(com.android.tools.r8.naming.NamingLens):137:146 -> a
    24:24: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
    25:26:com.android.tools.r8.graph.DexAnnotation getFirstMatching(com.android.tools.r8.graph.DexType):150:151 -> a
    27:27:com.android.tools.r8.graph.DexAnnotation lambda$removeIf$2(java.util.function.Predicate,com.android.tools.r8.graph.DexAnnotation):204:204 -> a
    28:28:com.android.tools.r8.graph.DexAnnotationSet removeIf(java.util.function.Predicate):204:204 -> a
    29:33:com.android.tools.r8.graph.DexAnnotationSet rewrite(java.util.function.Function):208:212 -> a
    34:57:com.android.tools.r8.graph.DexAnnotationSet methodParametersWithFakeThisArguments(com.android.tools.r8.graph.DexItemFactory):217:240 -> a
    58:68: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:1:int computeHashCode():107:107 -> g0
    1:3:boolean computeEquals(java.lang.Object):112:114 -> h
    1:1:com.android.tools.r8.graph.DexAnnotationSet empty():88:88 -> h0
    1:1:com.android.tools.r8.graph.DexAnnotation get(int):56:56 -> i0
    1:1:com.android.tools.r8.graph.DexAnnotation getFirst():60 -> i0
    1:1:boolean isEmpty():132:132 -> isEmpty
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():70:70 -> n
    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.D:
    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):126:126 -> a
    5:6:com.android.tools.r8.graph.LazyLoadedDexApplication$Builder builder(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing):253:254 -> 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):259:259 -> a
    7:7:com.android.tools.r8.graph.LazyLoadedDexApplication$Builder builder(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing):253 -> 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):259:259 -> a
    1:1:com.android.tools.r8.graph.DirectMappedDexApplication asDirect():263:263 -> b
    com.android.tools.r8.graph.DexApplication$Builder builder() -> c
    com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType) -> c
    com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType) -> d
    1:3:java.util.List classes():111:113 -> d
    1:1:java.util.List classesWithDeterministicOrder():117:117 -> e
    1:1:com.android.tools.r8.graph.DexApplicationReadFlags getFlags():131:131 -> f
    1:1:com.android.tools.r8.naming.ClassNameMapper getProguardMap():143:143 -> g
    java.util.List programClasses() -> h
    com.android.tools.r8.graph.DirectMappedDexApplication toDirect() -> i
com.android.tools.r8.graph.DexApplication$1 -> com.android.tools.r8.graph.C:
    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():75:75 -> a
    1:1:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):70:70 -> c
com.android.tools.r8.graph.DexApplication$Builder -> com.android.tools.r8.graph.D$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>():146:146 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing):161:161 -> <init>
    2:19:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing):148:165 -> <init>
    20:20:void <init>(com.android.tools.r8.graph.DexApplication):170:170 -> <init>
    21:52:void <init>(com.android.tools.r8.graph.DexApplication):148:179 -> <init>
    com.android.tools.r8.graph.DirectMappedDexApplication$Builder asDirect() -> a
    1:1:void setFlags(com.android.tools.r8.graph.DexApplicationReadFlags):191:191 -> a
    2:4:com.android.tools.r8.graph.DexApplication$Builder setProguardMap(com.android.tools.r8.naming.ClassNameMapper):195:197 -> a
    5:6:com.android.tools.r8.graph.DexApplication$Builder removeProgramClasses(java.util.function.Predicate):201:202 -> a
    7:10:com.android.tools.r8.graph.DexApplication$Builder replaceProgramClasses(java.util.Collection):206:209 -> a
    11:12:com.android.tools.r8.graph.DexApplication$Builder addDataResourceProvider(com.android.tools.r8.DataResourceProvider):213:214 -> a
    13:14:com.android.tools.r8.graph.DexApplication$Builder setHighestSortingString(com.android.tools.r8.graph.DexString):218:219 -> a
    15:16:com.android.tools.r8.graph.DexApplication$Builder addProgramClass(com.android.tools.r8.graph.DexProgramClass):223:224 -> a
    void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass) -> b
    com.android.tools.r8.graph.DexApplication build() -> b
    1:1:java.util.List getProgramClasses():242:242 -> c
    com.android.tools.r8.graph.DexApplication$Builder self() -> d
com.android.tools.r8.graph.DexApplication$ReorderBox -> com.android.tools.r8.graph.E:
    java.util.List classes -> a
    1:2:void <init>(java.util.List):90:91 -> <init>
    1:1:java.util.List getClasses():104:104 -> a
    1:3:boolean reorderClasses():96:98 -> b
com.android.tools.r8.graph.DexApplicationReadFlags -> com.android.tools.r8.internal.Kf:
    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.Yf:
    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.Xf:
    java.io.PrintStream get(com.android.tools.r8.graph.DexClass) -> a
com.android.tools.r8.graph.DexCallSite -> com.android.tools.r8.graph.G:
    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() -> L
    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.lang.String toSmaliString():187:187 -> e0
    1:1:java.util.Collection lambda$specify$5(com.android.tools.r8.graph.DexCallSite):55:55 -> f
    1:1:int computeHashCode():137:137 -> g0
    boolean computeEquals(java.lang.Object) -> h
    1:14:com.android.tools.r8.graph.DexEncodedArray getEncodedArray():297:310 -> h0
    1:1:java.lang.String getHash():191:191 -> i0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():120:120 -> n
    1:11:java.lang.String toString():150:160 -> toString
com.android.tools.r8.graph.DexCallSite$HashBuilder -> com.android.tools.r8.graph.F:
    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.H:
    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):102:102 -> <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):56:126 -> <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":461,"2":462,"3":463}}
    461:461: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):126:126 -> <init>
    462:462: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):126:126 -> <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):126:126 -> <init>
    199:203: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):126:130 -> <init>
    204: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):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":461,"2":462,"3":463}}
    461:461: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):130:130 -> <init>
    462:462: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):130:130 -> <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):130:130 -> <init>
    334:336: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):130:132 -> <init>
    337:337: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):122:122 -> <init>
    338: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):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":461,"2":462,"3":463}}
    461:461: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):122:122 -> <init>
    462:462: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):122:122 -> <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):122:122 -> <init>
    460:460: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):122:122 -> <init>
    1:2:com.android.tools.r8.graph.DexEncodedField[] clearInstanceFields():479:480 -> A0
    1:1:void clearNestHost():1104:1104 -> B0
    1:1:void clearNestMembers():1108:1108 -> C0
    1:2:com.android.tools.r8.graph.DexEncodedField[] clearStaticFields():387:388 -> D0
    1:2:boolean defaultValuesForStaticFieldsMayTriggerAllocation():1003:1004 -> E0
    1:1:java.lang.Iterable directMethods():229:229 -> F0
    1:1:java.lang.Iterable fields():189:189 -> G0
    1:1:com.android.tools.r8.graph.ClassAccessFlags getAccessFlags():165:165 -> H0
    1:2:com.android.tools.r8.graph.DexEncodedMethod getClassInitializer():739:740 -> I0
    1:1:com.android.tools.r8.references.ClassReference getClassReference():746:746 -> J0
    1:1:com.android.tools.r8.graph.GenericSignature$ClassSignature getClassSignature():1072:1072 -> K0
    1:1:com.android.tools.r8.graph.EnclosingMethodAttribute getEnclosingMethodAttribute():1021:1021 -> L0
    1:2:com.android.tools.r8.graph.InnerClassAttribute getInnerClassAttributeForThisClass():1051:1052 -> M0
    1:1:java.util.List getInnerClasses():1009:1009 -> N0
    1:1:com.android.tools.r8.graph.DexTypeList getInterfaces():169:169 -> O0
    1:1:com.android.tools.r8.graph.MethodCollection getMethodCollection():208:208 -> P
    1:5:com.android.tools.r8.graph.DexType getNestHost():1129:1133 -> P0
    1:1:com.android.tools.r8.graph.NestHostClassAttribute getNestHostClassAttribute():1144:1144 -> Q0
    1:1:java.util.List getNestMembersClassAttributes():1152:1152 -> R0
    1:1:java.lang.String getSimpleName():1167:1167 -> S0
    com.android.tools.r8.graph.DexLibraryClass asLibraryClass() -> T
    1:1:com.android.tools.r8.graph.DexString getSourceFile():177:177 -> T0
    1:1:com.android.tools.r8.graph.DexType getSuperType():770:770 -> U0
    1:1:java.lang.String getTypeName():1171:1171 -> V0
    1:1:boolean hasClassInitializer():774:774 -> W0
    1:1:boolean hasEnclosingMethodAttribute():1017:1017 -> X0
    1:1:boolean hasInstanceFields():1179:1179 -> Y0
    1:1:boolean hasNestMemberAttributes():1148:1148 -> Z0
    void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer) -> 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 forEachClassFieldMatching(java.util.function.Predicate,java.util.function.Consumer):149:149 -> a
    2:2:void forEachFieldMatching(java.util.function.Predicate,java.util.function.Consumer):322:322 -> a
    2:2:void forEachClassFieldMatching(java.util.function.Predicate,java.util.function.Consumer):149 -> a
    3:3:void lambda$forEachClassFieldMatching$0(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedField):149:149 -> a
    4:4:void lambda$forEachClassMethodMatching$1(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):160:160 -> a
    5:5:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):225:225 -> a
    6:6:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):237:237 -> a
    7:7:void addDirectMethods(java.util.Collection):241:241 -> a
    8:8:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):253:253 -> a
    9:9:void setVirtualMethods(java.util.List):269:269 -> a
    10:10:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):273:273 -> a
    10:10:void setVirtualMethods(java.util.List):269 -> a
    11:11:void virtualizeMethods(java.util.Set):298:298 -> a
    12:12:void forEachField(java.util.function.Consumer):317:317 -> a
    13:13:void forEachFieldMatching(java.util.function.Predicate,java.util.function.Consumer):322:322 -> a
    13:13:void forEachField(java.util.function.Consumer):317 -> a
    14:19:com.android.tools.r8.utils.TraversalContinuation traverseFields(java.util.function.Function):344:349 -> a
    20:25:void appendInstanceField(com.android.tools.r8.graph.DexEncodedField):437:442 -> a
    26:28:void setInstanceField(int,com.android.tools.r8.graph.DexEncodedField):467:469 -> a
    29:30:void setInstanceFields(com.android.tools.r8.graph.DexEncodedField[]):473:474 -> a
    31:32:boolean verifyCorrectnessOfFieldHolders(java.lang.Iterable):495:496 -> a
    31:32:void setInstanceFields(com.android.tools.r8.graph.DexEncodedField[]):474 -> a
    33:33:void setInstanceFields(com.android.tools.r8.graph.DexEncodedField[]):475:475 -> a
    34:34:java.lang.Object com.android.tools.r8.com.google.common.base.MoreObjects.firstNonNull(java.lang.Object,java.lang.Object):64:64 -> a
    34:34:void setInstanceFields(com.android.tools.r8.graph.DexEncodedField[]):473 -> a
    35:36:com.android.tools.r8.graph.DexEncodedField lookupField(com.android.tools.r8.graph.DexField):544:545 -> a
    37:37:com.android.tools.r8.graph.DexClassAndMethod lookupClassMethod(com.android.tools.r8.graph.DexMethod):579:579 -> a
    38:38:com.android.tools.r8.graph.DexClassAndMethod toClassMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):583:583 -> a
    38:38:com.android.tools.r8.graph.DexClassAndMethod lookupClassMethod(com.android.tools.r8.graph.DexMethod):579 -> a
    39:39:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):592:592 -> a
    40:42:boolean isSignaturePolymorphicMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexItemFactory):625:625 -> a
    44:47:boolean isSignaturePolymorphicMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexItemFactory):627:630 -> a
    48:50:com.android.tools.r8.graph.DexEncodedMethod getInitializer(com.android.tools.r8.graph.DexType[]):782:784 -> a
    51:51:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView):836:836 -> a
    52:52:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate):842:842 -> a
    52:52:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView):836 -> a
    53:53:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate):841:841 -> a
    53:53:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView):836 -> a
    54:54:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate):842:842 -> a
    55:55:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate):841:841 -> a
    56:56:boolean classInitializationMayHaveSideEffectsInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition):848:848 -> a
    57:57:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate):842:842 -> a
    57:57:boolean classInitializationMayHaveSideEffectsInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition):848 -> a
    58:58:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate):841:841 -> a
    58:58:boolean classInitializationMayHaveSideEffectsInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition):848 -> a
    59:59:boolean lambda$classInitializationMayHaveSideEffectsInContext$4(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexType):849:849 -> a
    60:63:void forEachImmediateInterfaceWithSignature(java.util.function.BiConsumer):885:888 -> a
    64:64:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.superInterfaceSignatures():233:233 -> a
    64:64:void forEachImmediateInterfaceWithSignature(java.util.function.BiConsumer):888 -> a
    65:66:void forEachImmediateInterfaceWithSignature(java.util.function.BiConsumer):888:889 -> a
    67:68:void forEachImmediateInterface(java.util.function.Consumer):859:860 -> a
    67:68:void forEachImmediateInterfaceWithSignature(java.util.function.BiConsumer):889 -> a
    69:71:void forEachImmediateInterfaceWithSignature(java.util.function.BiConsumer):895:897 -> a
    72:72:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.superInterfaceSignatures():233:233 -> a
    72:72:void forEachImmediateInterfaceWithSignature(java.util.function.BiConsumer):897 -> a
    73:79:void forEachImmediateInterfaceWithSignature(java.util.function.BiConsumer):897:903 -> a
    80:83:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):918:921 -> a
    84:84:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.superInterfaceSignatures():233:233 -> a
    84:84:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):921 -> a
    85:86:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):921:922 -> a
    87:88:void forEachImmediateInterface(java.util.function.Consumer):859:860 -> a
    87:88:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):922 -> a
    89:91:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):927:929 -> a
    92:92:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.superInterfaceSignatures():233:233 -> a
    92:92:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):929 -> a
    93:101:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):929:937 -> a
    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):937 -> a
    104:110:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):938:944 -> a
    111:111:void lambda$forEachImmediateInterfaceWithAppliedTypeArguments$7(java.util.function.BiConsumer,com.android.tools.r8.graph.DexType):923:923 -> a
    112:114:java.util.List applyTypeArguments(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,java.util.List):959:961 -> 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):964 -> a
    116:137:java.util.List applyTypeArguments(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,java.util.List):964:985 -> 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):967:968 -> 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):968 -> a
    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):968:970 -> 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):970 -> a
    145: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):970:972 -> a
    148:148:java.lang.String com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getName():182:182 -> 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):972 -> a
    149:149:void lambda$applyTypeArguments$8(java.util.List,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):973:973 -> a
    150:150:java.lang.String com.android.tools.r8.graph.GenericSignature$TypeVariableSignature.typeVariable():747:747 -> a
    150:150:void lambda$applyTypeArguments$8(java.util.List,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):973 -> a
    151:160:void lambda$applyTypeArguments$8(java.util.List,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):973:982 -> a
    161:161:boolean definesFinalizer(com.android.tools.r8.graph.DexItemFactory):999:999 -> a
    162:162:com.android.tools.r8.graph.DexEncodedMethod lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):560:560 -> a
    162:162:boolean definesFinalizer(com.android.tools.r8.graph.DexItemFactory):999 -> a
    163:163:void setInnerClasses(java.util.List):1013:1013 -> a
    164:164:void setEnclosingMethodAttribute(com.android.tools.r8.graph.EnclosingMethodAttribute):1025:1025 -> a
    165:165:void setClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):1076:1076 -> a
    166:167:void setNestHost(com.android.tools.r8.graph.DexType):1112:1113 -> a
    168:168:void setNestHostAttribute(com.android.tools.r8.graph.NestHostClassAttribute):1117:1117 -> a
    169:169:void lambda$forEachNestMember$11(java.util.function.Consumer,com.android.tools.r8.graph.NestMemberClassAttribute):1140:1140 -> a
    170:170:boolean isValid(com.android.tools.r8.utils.InternalOptions):1204:1204 -> a
    171:173:boolean verifyNoAbstractMethodsOnNonAbstractClasses(java.lang.Iterable,com.android.tools.r8.utils.InternalOptions):278:280 -> a
    171:173:boolean isValid(com.android.tools.r8.utils.InternalOptions):1204 -> a
    174:174:boolean isValid(com.android.tools.r8.utils.InternalOptions):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":182,"2":183,"3":184}}
    182:182:boolean verifyNoAbstractMethodsOnNonAbstractClasses(java.lang.Iterable,com.android.tools.r8.utils.InternalOptions):280:280 -> a
    182:182:boolean isValid(com.android.tools.r8.utils.InternalOptions):1204 -> a
    183:183:boolean verifyNoAbstractMethodsOnNonAbstractClasses(java.lang.Iterable,com.android.tools.r8.utils.InternalOptions):280:280 -> a
    183:183:boolean isValid(com.android.tools.r8.utils.InternalOptions):1204 -> a
    184:184:boolean verifyNoAbstractMethodsOnNonAbstractClasses(java.lang.Iterable,com.android.tools.r8.utils.InternalOptions):280:280 -> a
    184:184:boolean isValid(com.android.tools.r8.utils.InternalOptions):1204 -> a
    175:175:boolean verifyNoAbstractMethodsOnNonAbstractClasses(java.lang.Iterable,com.android.tools.r8.utils.InternalOptions):282:282 -> a
    175:175:boolean isValid(com.android.tools.r8.utils.InternalOptions):1204 -> a
    176:177:boolean isValid(com.android.tools.r8.utils.InternalOptions):1205:1206 -> a
    178:179:boolean verifyCorrectnessOfFieldHolders(java.lang.Iterable):495:496 -> a
    178:179:boolean isValid(com.android.tools.r8.utils.InternalOptions):1206 -> a
    180:181:boolean isValid(com.android.tools.r8.utils.InternalOptions):1207:1208 -> a
    1:1:boolean hasStaticFields():1175:1175 -> a1
    com.android.tools.r8.graph.DexClass getContextClass() -> b
    1:1:void forEachClassMethodMatching(java.util.function.Predicate,java.util.function.Consumer):159:159 -> b
    2:2:com.android.tools.r8.graph.DexClassAndMethod lambda$classMethods$3(com.android.tools.r8.graph.DexEncodedMethod):212:212 -> b
    3:3:java.lang.Iterable directMethods(java.util.function.Predicate):233:233 -> b
    4:4:void addVirtualMethods(java.util.Collection):265:265 -> b
    5:5:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):273:273 -> b
    6:11:void appendStaticField(com.android.tools.r8.graph.DexEncodedField):365:370 -> b
    12:14:void setStaticField(int,com.android.tools.r8.graph.DexEncodedField):400:402 -> b
    15:16:void setStaticFields(com.android.tools.r8.graph.DexEncodedField[]):406:407 -> b
    17:18:boolean verifyCorrectnessOfFieldHolders(java.lang.Iterable):495:496 -> b
    17:18:void setStaticFields(com.android.tools.r8.graph.DexEncodedField[]):407 -> b
    19:19:void setStaticFields(com.android.tools.r8.graph.DexEncodedField[]):408:408 -> b
    20:20:java.lang.Object com.android.tools.r8.com.google.common.base.MoreObjects.firstNonNull(java.lang.Object,java.lang.Object):64:64 -> b
    20:20:void setStaticFields(com.android.tools.r8.graph.DexEncodedField[]):406 -> b
    21:21:com.android.tools.r8.graph.DexEncodedField lookupInstanceField(com.android.tools.r8.graph.DexField):517:517 -> b
    22:23:com.android.tools.r8.graph.DexEncodedMember lookupTarget(com.android.tools.r8.graph.DexEncodedMember[],com.android.tools.r8.graph.DexMember):635:636 -> b
    22:23:com.android.tools.r8.graph.DexEncodedField lookupInstanceField(com.android.tools.r8.graph.DexField):517 -> b
    24:24:com.android.tools.r8.graph.DexEncodedMethod lookupDirectMethod(com.android.tools.r8.graph.DexMethod):550:550 -> b
    25:25:boolean isFinal():656:656 -> b
    25:25:boolean isEffectivelyFinal(com.android.tools.r8.graph.AppView):660 -> b
    26:27:void forEachImmediateSupertype(java.util.function.Consumer):865:866 -> b
    28:29:void forEachImmediateInterface(java.util.function.Consumer):859:860 -> b
    28:29:void forEachImmediateSupertype(java.util.function.Consumer):868 -> b
    30:33:void forEachImmediateSupertype(java.util.function.BiConsumer):872:875 -> b
    34:35:void forEachImmediateInterface(java.util.function.Consumer):859:860 -> b
    34:35:void forEachImmediateSupertype(java.util.function.BiConsumer):875 -> b
    36:36:void lambda$forEachImmediateInterfaceWithSignature$6(java.util.function.BiConsumer,com.android.tools.r8.graph.DexType):891:891 -> b
    37:39:void forEachImmediateSupertypeWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):950:952 -> b
    40:43:void forEachImmediateSupertypeWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):951:954 -> b
    44:44:void setNestMemberAttributes(java.util.List):1156:1156 -> b
    1:5:java.util.List instanceFields():425:429 -> b1
    1:1:com.android.tools.r8.graph.DexClassAndField lambda$classFields$2(com.android.tools.r8.graph.DexEncodedField):185:185 -> c
    2:4:java.lang.Iterable fields(java.util.function.Predicate):193:195 -> c
    5:5:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> c
    5:5:java.lang.Iterable fields(java.util.function.Predicate):193 -> c
    6:6:void forEachFieldMatching(java.util.function.Predicate,java.util.function.Consumer):322:322 -> c
    7:7:void forEachInstanceField(java.util.function.Consumer):326:326 -> c
    8:8:void forEachInstanceFieldMatching(java.util.function.Predicate,java.util.function.Consumer):331:331 -> c
    8:8:void forEachInstanceField(java.util.function.Consumer):326 -> c
    9:17:void appendStaticFields(java.util.Collection):374:382 -> c
    18:19:boolean verifyCorrectnessOfFieldHolders(java.lang.Iterable):495:496 -> c
    18:19:void appendStaticFields(java.util.Collection):382 -> c
    20:20:void appendStaticFields(java.util.Collection):383:383 -> c
    21:21:com.android.tools.r8.graph.DexEncodedField lookupStaticField(com.android.tools.r8.graph.DexField):512:512 -> c
    22:23:com.android.tools.r8.graph.DexEncodedMember lookupTarget(com.android.tools.r8.graph.DexEncodedMember[],com.android.tools.r8.graph.DexMember):635:636 -> c
    22:23:com.android.tools.r8.graph.DexEncodedField lookupStaticField(com.android.tools.r8.graph.DexField):512 -> c
    24:24:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexMethod):588:588 -> c
    25:32:boolean isResolvable(com.android.tools.r8.graph.AppView):808:815 -> c
    33:34:boolean com.android.tools.r8.graph.DexType.isResolvable(com.android.tools.r8.graph.AppView):379:380 -> c
    33:34:boolean isResolvable(com.android.tools.r8.graph.AppView):815 -> c
    35:38:boolean isResolvable(com.android.tools.r8.graph.AppView):821:824 -> c
    39:39:void lambda$forEachImmediateSupertype$5(java.util.function.BiConsumer,com.android.tools.r8.graph.DexType):875:875 -> c
    40:43:void forEachImmediateSupertypeWithSignature(java.util.function.BiConsumer):909:912 -> c
    1:1:boolean isAbstract():648:648 -> c1
    1:1:void setDirectMethods(java.util.Collection):249:249 -> d
    2:2:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):253:253 -> d
    2:2:void setDirectMethods(java.util.Collection):249 -> d
    3:3:void forEachMethod(java.util.function.Consumer):290:290 -> d
    4:4:void com.android.tools.r8.graph.MethodCollection.forEachMethod(java.util.function.Consumer):98:98 -> d
    4:4:void forEachMethod(java.util.function.Consumer):290 -> d
    5:5:java.lang.Iterable instanceFields(java.util.function.Predicate):433:433 -> d
    6:6:com.android.tools.r8.graph.DexEncodedMethod lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):560:560 -> d
    7:7:boolean lambda$defaultValuesForStaticFieldsMayTriggerAllocation$10(com.android.tools.r8.graph.DexEncodedField):1005:1005 -> d
    1:1:boolean isAnnotation():652:652 -> d1
    1:1:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):245:245 -> e
    2:2:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):485:485 -> e
    3:3:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":981,"2":982,"3":983}}
    981:981:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):485:485 -> e
    982:982:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):485:485 -> e
    983:983:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):485:485 -> e
    490:490:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):487:487 -> e
    491:491:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":987,"2":988,"3":989,"4":990}}
    987:987:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):489:489 -> e
    988:988:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):489:489 -> e
    989:989:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):489:489 -> e
    990:990:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):489:489 -> e
    980:980:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):489:489 -> e
    991:991:com.android.tools.r8.graph.DexEncodedMethod lookupDirectMethod(java.util.function.Predicate):555:555 -> e
    992:993:void forEachNestMember(java.util.function.Consumer):1139:1140 -> e
    1:4:boolean isAnonymousClass():1093:1096 -> e1
    1:1:void forEachStaticField(java.util.function.Consumer):335:335 -> f
    2:2:java.lang.Iterable staticFields(java.util.function.Predicate):361:361 -> f
    2:2:void forEachStaticFieldMatching(java.util.function.Predicate,java.util.function.Consumer):340 -> f
    2:2:void forEachStaticField(java.util.function.Consumer):335 -> f
    3:3:void forEachStaticFieldMatching(java.util.function.Predicate,java.util.function.Consumer):340:340 -> f
    3:3:void forEachStaticField(java.util.function.Consumer):335 -> f
    4:4:com.android.tools.r8.graph.DexEncodedMethod lookupVirtualMethod(java.util.function.Predicate):565:565 -> f
    boolean isClasspathClass() -> f1
    1:1:java.lang.Iterable members(java.util.function.Predicate):203:203 -> g
    2:2:java.lang.Iterable methods(java.util.function.Predicate):220:220 -> g
    2:2:java.lang.Iterable members(java.util.function.Predicate):203 -> 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):203 -> g
    1:1:boolean isEnum():669:669 -> g1
    1:1:com.android.tools.r8.graph.AccessFlags getAccessFlags():43:43 -> getAccessFlags
    1:1:com.android.tools.r8.origin.Origin getOrigin():761:761 -> getOrigin
    1:1:com.android.tools.r8.graph.DexReference getReference():680:680 -> getReference
    1:1:com.android.tools.r8.graph.DexType getType():766:766 -> getType
    1:1:java.lang.Iterable methods(java.util.function.Predicate):220:220 -> h
    com.android.tools.r8.graph.DexClass asDexClass() -> h0
    1:1:boolean isFinal():656:656 -> h1
    1:2:void removeEnclosingMethodAttribute(java.util.function.Predicate):1033:1034 -> i
    1:1:boolean isInANest():1100:1100 -> i1
    1:1:boolean isInterface():665:665 -> isInterface
    1:1:void removeInnerClasses(java.util.function.Predicate):1047:1047 -> j
    boolean isLibraryClass() -> j1
    1:1:void removeNestMemberAttributes(java.util.function.Predicate):1160:1160 -> k
    1:3:boolean isLocalClass():1080:1082 -> k1
    com.android.tools.r8.graph.DexClasspathClass asClasspathClass() -> l
    1:1:java.lang.Iterable virtualMethods(java.util.function.Predicate):261:261 -> l
    1:3:boolean isMemberClass():1086:1088 -> l1
    1:1:boolean isNestHost():1121:1121 -> m1
    1:1:boolean isNestMember():1125:1125 -> n1
    boolean isDexClass() -> o0
    boolean isNotProgramClass() -> o1
    1:1:boolean isPublic():725:725 -> p1
    1:1:boolean isRecord():673:673 -> q1
    1:1:java.lang.Iterable members():199:199 -> r1
    2:2:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> r1
    2:2:java.lang.Iterable members():199 -> r1
    boolean isStaticMember() -> s0
    1:1:java.lang.Iterable methods():216:216 -> s1
    1:3:java.lang.Iterable allImmediateSupertypes():991:993 -> t0
    4:7:java.lang.Iterable allImmediateSupertypes():992:995 -> t0
    1:5:java.util.List staticFields():353:357 -> t1
    1:1:java.util.List allMethodsSorted():294:294 -> u0
    1:1:boolean validInterfaceSignatures():879:879 -> u1
    2:2:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.superInterfaceSignatures():233:233 -> u1
    2:2:boolean validInterfaceSignatures():879 -> u1
    3:4:boolean validInterfaceSignatures():879:880 -> u1
    1:1:java.lang.Iterable classFields():185:185 -> v0
    1:4:boolean verifyNoDuplicateFields():502:505 -> v1
    5:5:boolean verifyNoDuplicateFields():0:0 -> v1
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":511,"2":512,"3":513}}
    511:511:boolean verifyNoDuplicateFields():505:505 -> v1
    512:512:boolean verifyNoDuplicateFields():505:505 -> v1
    513:513:boolean verifyNoDuplicateFields():505:505 -> v1
    510:510:boolean verifyNoDuplicateFields():505:505 -> v1
    1:1:java.lang.Iterable classMethods():212:212 -> w0
    1:1:java.lang.Iterable virtualMethods():257:257 -> w1
    1:1:void clearClassSignature():1043:1043 -> x0
    1:1:void clearEnclosingMethodAttribute():1029:1029 -> y0
    1:1:void clearInnerClasses():1039:1039 -> z0
com.android.tools.r8.graph.DexClass$FieldSetter -> com.android.tools.r8.internal.Zf:
    void setField(int,com.android.tools.r8.graph.DexEncodedField) -> a
com.android.tools.r8.graph.DexClassAndField -> com.android.tools.r8.graph.I:
    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() -> X
    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.DexClassAndMember asMember() -> c0
    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
    1:1:com.android.tools.r8.graph.FieldAccessFlags getAccessFlags():32:32 -> v
    1:1:com.android.tools.r8.references.FieldReference getFieldReference():36:36 -> x
com.android.tools.r8.graph.DexClassAndMember -> com.android.tools.r8.graph.J:
    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.DexClass getContextClass():31:31 -> b
    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:com.android.tools.r8.graph.DexDefinition getDefinition():11:11 -> h
    2:2:com.android.tools.r8.graph.DexEncodedMember getDefinition():49:49 -> h
    1:1:int hashCode():86:86 -> hashCode
    1:1:com.android.tools.r8.graph.DexAnnotationSet getAnnotations():26:26 -> q
    1:1:com.android.tools.r8.graph.DexClass getHolder():40:40 -> r
    1:1:com.android.tools.r8.graph.DexType getHolderType():44:44 -> s
    1:1:com.android.tools.r8.graph.DexMember getReference():58:58 -> t
    1:1:java.lang.String toString():76:76 -> toString
    1:1:java.lang.String toSourceString():71:71 -> u
    1:1:com.android.tools.r8.graph.DexType getContextType():36:36 -> y
com.android.tools.r8.graph.DexClassAndMethod -> com.android.tools.r8.graph.K:
    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 -> B
    1:1:com.android.tools.r8.graph.DexTypeList getParameters():71:71 -> C
    1:1:com.android.tools.r8.graph.DexProto getProto():83:83 -> D
    1:1:com.android.tools.r8.graph.DexType getReturnType():87:87 -> E
    boolean isMethod() -> W
    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:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexEncodedMethod.getArgumentType(int):200:200 -> a
    12:12:com.android.tools.r8.graph.DexType getArgumentType(int):63 -> a
    13:13: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
    com.android.tools.r8.graph.DexClassAndMember asMember() -> c0
    1:1:com.android.tools.r8.graph.AccessFlags getAccessFlags():11:11 -> getAccessFlags
    com.android.tools.r8.graph.DexClassAndMethod asMethodTarget() -> m
    boolean isMethodTarget() -> p
    1:1:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():46:46 -> v
    1:1:com.android.tools.r8.references.MethodReference getMethodReference():50:50 -> x
    1:1:com.android.tools.r8.graph.DexMethodSignature getMethodSignature():54:54 -> z
    2:2:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexMethod):17:17 -> z
    2:2:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethod.getSignature():173 -> z
    2:2:com.android.tools.r8.graph.DexMethodSignature getMethodSignature():54 -> z
com.android.tools.r8.graph.DexClasspathClass -> com.android.tools.r8.graph.L:
    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() -> H
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    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() -> o1
    1:1:java.lang.String toString():87:87 -> toString
com.android.tools.r8.graph.DexCode -> com.android.tools.r8.graph.M:
    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>():50:50 -> <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):94:94 -> <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):86:86 -> <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):105:117 -> <init>
    1:4:com.android.tools.r8.graph.DexDebugInfoForWriting getDebugInfoForWriting():600:603 -> B
    com.android.tools.r8.graph.DexCode asDexCode() -> J
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    1:3:int codeSizeInBytes():652:654 -> M
    4:5:int computeCodeSizeInBytes():661:662 -> M
    4:5:int codeSizeInBytes():655 -> M
    6:6:int codeSizeInBytes():655:655 -> M
    1:1:int lambda$specify$0(com.android.tools.r8.graph.DexCode):69:69 -> a
    2:8:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):69:75 -> a
    9:9:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.code.CfOrDexInstruction):127:127 -> a
    10:10:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.code.Instruction):131:131 -> a
    10:10:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.code.CfOrDexInstruction):127 -> 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):149:152 -> 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):151:160 -> a
    25:27:void setDebugInfo(com.android.tools.r8.graph.DexDebugInfo):226:228 -> a
    28:35:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):233:240 -> a
    36:39:int getLargestPrefix(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexString):306:309 -> a
    36:39:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):241 -> a
    40:44:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):241:245 -> a
    45:48:int getLargestPrefix(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexString):306:309 -> a
    45:48:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):246 -> a
    49:58:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):246:255 -> 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):260:260 -> 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):272:302 -> 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):267 -> 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):267:267 -> a
    92:92:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):333:333 -> 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):364:368 -> a
    98:98:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> 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):368 -> a
    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):370:371 -> 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.RewrittenPrototypeDescription):384:388 -> a
    106:106:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> 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.RewrittenPrototypeDescription):388 -> a
    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.RewrittenPrototypeDescription):390:393 -> a
    111:111:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):398:398 -> a
    112:112:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):403:403 -> a
    113:123:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):407:417 -> a
    124:153:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):431:460 -> a
    154:155:com.android.tools.r8.graph.DexDebugEntry advanceToOffset(int,com.android.tools.r8.graph.DexDebugEntry,java.util.Iterator):509:510 -> a
    154:155:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):460 -> a
    156:177:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):461:482 -> a
    178:179:com.android.tools.r8.graph.DexDebugEntry advanceToOffset(int,com.android.tools.r8.graph.DexDebugEntry,java.util.Iterator):509:510 -> a
    178:179:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):482 -> a
    180:180:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):486:486 -> a
    181:201:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):484:504 -> 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):580:582 -> 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):582 -> 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):582:585 -> a
    210:212:void updateHighestSortingString(com.android.tools.r8.graph.DexString):637:639 -> 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):585 -> 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):586 -> 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):587:587 -> a
    215:217:void updateHighestSortingString(com.android.tools.r8.graph.DexString):637:639 -> 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):587 -> a
    218: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):590:594 -> a
    223:224:void com.android.tools.r8.graph.DexCode$TryHandler.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):801:802 -> 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):594 -> a
    225:225:int getRegisterSize(com.android.tools.r8.graph.ProgramMethod):623:623 -> a
    226:227:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):645:646 -> a
    228:235:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):669:676 -> a
    236:236:boolean com.android.tools.r8.code.Instruction.isConstClass():0:0 -> a
    236:236:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):677 -> a
    237:237:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):678:678 -> a
    238:238:boolean com.android.tools.r8.code.Instruction.isInstanceOf():0:0 -> a
    238:238:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):679 -> a
    239:241:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):680:682 -> 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):694:695 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.graph.DexCode):70:70 -> b
    2:2:int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod):628:628 -> b
    1:1:int lambda$specify$2(com.android.tools.r8.graph.DexCode):71:71 -> c
    2:5:void setCallSiteContexts(com.android.tools.r8.graph.ProgramMethod):166:169 -> c
    1:1:com.android.tools.r8.graph.DexCode$Try[] lambda$specify$3(com.android.tools.r8.graph.DexCode):72:72 -> d
    1:1:com.android.tools.r8.graph.DexCode$TryHandler[] lambda$specify$4(com.android.tools.r8.graph.DexCode):73:73 -> e
    1:1:com.android.tools.r8.graph.DexDebugInfo lambda$specify$5(com.android.tools.r8.graph.DexCode):74:74 -> f
    1:1:com.android.tools.r8.code.Instruction[] lambda$specify$6(com.android.tools.r8.graph.DexCode):75:75 -> g
    1:7:int computeHashCode():338:344 -> g0
    1:1:boolean computeEquals(java.lang.Object):349:349 -> h
    com.android.tools.r8.graph.DexWritableCode asDexWritableCode() -> i0
    1:1:int estimatedDexCodeSizeUpperBoundInBytes():213:213 -> k0
    1:1:int estimatedSizeForInlining():208:208 -> l0
    1:1:com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind getDexWritableCodeKind():136:136 -> m
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():141:141 -> n
    boolean isDexCode() -> o0
    1:1:com.android.tools.r8.graph.DexCode$Try[] getTries():618:618 -> p
    boolean isDexWritableCode() -> p0
    com.android.tools.r8.graph.Code asCode() -> q
    1:1:com.android.tools.r8.graph.DexDebugInfo getDebugInfo():222:222 -> t0
    1:1:java.lang.String toString():426:426 -> toString
    1:1:boolean isEmptyVoidMethod():354:354 -> u0
    1:1:com.android.tools.r8.graph.DexCode$TryHandler[] getHandlers():608:608 -> v
    1:1:com.android.tools.r8.graph.DexString getHighestSortingString():613:613 -> x
    1:1:int getOutgoingRegisterSize():633:633 -> z
com.android.tools.r8.graph.DexCode$Try -> com.android.tools.r8.graph.M$a:
    boolean $assertionsDisabled -> f
    int instructionCount -> d
    int handlerIndex -> e
    int handlerOffset -> b
    int startAddress -> c
    1:1:void <clinit>():699:699 -> <clinit>
    1:5:void <init>(int,int,int):715:719 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    1:1:int lambda$specify$0(com.android.tools.r8.graph.DexCode$Try):710:710 -> a
    2:4:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):710:712 -> a
    5:5:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):759:759 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.graph.DexCode$Try):711:711 -> b
    1:1:int lambda$specify$2(com.android.tools.r8.graph.DexCode$Try):712:712 -> c
    1:1:boolean equals(java.lang.Object):743:743 -> equals
    1:1:int hashCode():738:738 -> hashCode
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():729:729 -> n
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":753,"2":754,"3":755}}
    753:753:java.lang.String toString():748:748 -> toString
    754:754:java.lang.String toString():748:748 -> toString
    755:755:java.lang.String toString():748:748 -> toString
    749:752:java.lang.String toString():748:751 -> toString
com.android.tools.r8.graph.DexCode$TryHandler -> com.android.tools.r8.graph.M$b:
    com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair[] pairs -> b
    int catchAllAddr -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():764:764 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair[],int):775:777 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    1:1:int lambda$specify$0(com.android.tools.r8.graph.DexCode$TryHandler):772:772 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):772:772 -> a
    3:3:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):809:809 -> a
    1:1:com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair[] lambda$specify$1(com.android.tools.r8.graph.DexCode$TryHandler):772:772 -> b
    1:1:boolean equals(java.lang.Object):797:797 -> equals
    1:1:int hashCode():792:792 -> 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():792 -> hashCode
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():787:787 -> n
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":831,"2":832,"3":833}}
    831:831:java.lang.String toString():814:814 -> toString
    832:832:java.lang.String toString():814:814 -> toString
    833:833:java.lang.String toString():815:815 -> toString
    817:830:java.lang.String toString():816:829 -> toString
com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair -> com.android.tools.r8.graph.M$b$a:
    com.android.tools.r8.graph.DexType type -> b
    int addr -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():832:832 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexType,int):841:843 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    1:1:com.android.tools.r8.graph.DexType access$000(com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair):832:832 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):838:838 -> a
    3:3:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):861:861 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):865 -> a
    4:4:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    4:4:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):861 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):865 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):866:866 -> 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):866 -> 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):866 -> 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):866 -> 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):866 -> a
    11:11:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):861:861 -> 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":873,"2":874,"3":875}}
    873:873:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):861:861 -> a
    874:874:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    874:874:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):861 -> a
    875:875:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    875:875:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):861 -> a
    876:876:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):872:872 -> a
    1:1:com.android.tools.r8.graph.DexType lambda$specify$0(com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair):838:838 -> b
    1:1:int lambda$specify$1(com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair):838:838 -> c
    1:1:boolean equals(java.lang.Object):882:882 -> equals
    1:1:com.android.tools.r8.graph.DexType getType():857:857 -> getType
    1:1:int hashCode():877:877 -> hashCode
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():853:853 -> n
com.android.tools.r8.graph.DexDebugEntry -> com.android.tools.r8.internal.cg:
    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.O:
    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.N:
    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.Q:
    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() -> L
    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() -> g0
    int getCompareToId() -> h0
    boolean isWritableEvent() -> i0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():63:63 -> n
com.android.tools.r8.graph.DexDebugEvent$AdvanceLine -> com.android.tools.r8.graph.P:
    int delta -> d
    1:2:void <init>(int):271:272 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    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
    int getCompareToId() -> h0
    1:1:int hashCode():299:299 -> hashCode
    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.Q$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() -> L
    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
    int getCompareToId() -> h0
    1:1:int hashCode():149:149 -> hashCode
    boolean isWritableEvent() -> i0
    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.Q$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() -> L
    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
    int getCompareToId() -> h0
    1:1:int hashCode():792:792 -> hashCode
    boolean isWritableEvent() -> i0
    1:2:int getLineDelta():781:782 -> j0
    1:2:int getPCDelta():776:777 -> k0
    1:1:java.lang.String toString():787:787 -> toString
com.android.tools.r8.graph.DexDebugEvent$EndLocal -> com.android.tools.r8.graph.S:
    int registerNum -> d
    1:2:void <init>(int):420:421 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    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
    int getCompareToId() -> h0
    1:1:int hashCode():448:448 -> hashCode
    boolean isWritableEvent() -> i0
    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.T:
    int registerNum -> d
    1:2:void <init>(int):472:473 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    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
    int getCompareToId() -> h0
    1:1:int hashCode():500:500 -> hashCode
    boolean isWritableEvent() -> i0
    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.U:
    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() -> L
    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() -> h0
    boolean isWritableEvent() -> i0
    1:1:java.lang.String toString():242:242 -> toString
com.android.tools.r8.graph.DexDebugEvent$SetFile -> com.android.tools.r8.graph.Q$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() -> L
    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
    int getCompareToId() -> h0
    1:2:int hashCode():558:559 -> hashCode
    boolean isWritableEvent() -> i0
    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.V:
    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() -> L
    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
    com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame asSetInlineFrame() -> g0
    int getCompareToId() -> h0
    1:1:int hashCode():605:605 -> hashCode
    1:1:java.lang.String toString():600:600 -> toString
com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame -> com.android.tools.r8.graph.W:
    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() -> L
    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
    int getCompareToId() -> h0
    1:1:int hashCode():709:709 -> hashCode
    1:1:com.android.tools.r8.graph.DexMethod getOutlineCallee():690:690 -> j0
    1:1:com.android.tools.r8.utils.Int2StructuralItemArrayMap getOutlinePositions():694:694 -> k0
    1:1:java.lang.String toString():704:704 -> toString
com.android.tools.r8.graph.DexDebugEvent$SetOutlineFrame -> com.android.tools.r8.graph.X:
    1:1:void <init>():639:639 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    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() -> h0
    1:1:java.lang.String toString():643:643 -> toString
com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd -> com.android.tools.r8.graph.Y:
    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() -> L
    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() -> h0
    boolean isWritableEvent() -> i0
    1:1:java.lang.String toString():192:192 -> toString
com.android.tools.r8.graph.DexDebugEvent$StartLocal -> com.android.tools.r8.graph.Q$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() -> L
    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):397:397 -> 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):397:397 -> 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
    int getCompareToId() -> h0
    1:5:int hashCode():393:397 -> hashCode
    boolean isWritableEvent() -> i0
    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.Z:
    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:32:void initialize(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):143:159 -> a
    16:32:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):138 -> a
    16:32:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
    33:33: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
    33:33:void initialize(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):159 -> a
    33:33:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):138 -> a
    33:33:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
    34:34:void initialize(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):159:159 -> a
    34:34:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):138 -> a
    34:34:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
    35:44:void add(int,int,com.android.tools.r8.ir.code.Instruction):79:88 -> a
    45:49:void startArgument(com.android.tools.r8.ir.code.Argument):163:167 -> a
    45:49:void add(int,int,com.android.tools.r8.ir.code.Instruction):88 -> a
    50:50:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> a
    50:50:void add(int,int,com.android.tools.r8.ir.code.Instruction):89 -> a
    51:51:void add(int,int,com.android.tools.r8.ir.code.Instruction):90:90 -> a
    52:53:void updateLocals(com.android.tools.r8.ir.code.DebugLocalsChange):172:173 -> a
    52:53:void add(int,int,com.android.tools.r8.ir.code.Instruction):90 -> a
    54:55:void add(int,int,com.android.tools.r8.ir.code.Instruction):92:93 -> a
    56:58:void emitDebugPosition(int,com.android.tools.r8.ir.code.Position):185:187 -> a
    56:58:void add(int,int,com.android.tools.r8.ir.code.Instruction):94 -> a
    59:59:boolean com.android.tools.r8.ir.code.Position.isSyntheticPosition():0:0 -> a
    59:59:void emitDebugPosition(int,com.android.tools.r8.ir.code.Position):188 -> a
    59:59:void add(int,int,com.android.tools.r8.ir.code.Instruction):94 -> a
    60:82:void emitDebugPosition(int,com.android.tools.r8.ir.code.Position):188:210 -> a
    60:82:void add(int,int,com.android.tools.r8.ir.code.Instruction):94 -> a
    83:83:void add(int,int,com.android.tools.r8.ir.code.Instruction):97:97 -> a
    84:94:void emitLocalChanges(int):215:225 -> a
    84:94:void add(int,int,com.android.tools.r8.ir.code.Instruction):98 -> a
    95:96:void add(int,int,com.android.tools.r8.ir.code.Instruction):104:105 -> a
    97:110:com.android.tools.r8.graph.DexDebugInfo build():111:124 -> a
    111:124: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
    125:132: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
    133:142: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
    143:143: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
    144:144: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):2792:2792 -> a
    144: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):262 -> a
    145:149: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
    150:162:void addDefaultEventWithAdvancePcIfNecessary(int,int,java.util.List,com.android.tools.r8.graph.DexItemFactory):272:284 -> a
    163:163: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
    164:169: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
    164:169: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
    170:175: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
    170:175: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
    176:191: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
    192:192:void com.android.tools.r8.graph.DexDebugEvent$StartLocal.<init>(int,com.android.tools.r8.graph.DebugLocalInfo):345:345 -> a
    192:192: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
    193: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:313 -> a
    1:4:boolean localsChanged():177:180 -> b
com.android.tools.r8.graph.DexDebugEventVisitor -> com.android.tools.r8.graph.a0:
    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.b0:
    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 -> L
    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
    12:33:com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo convertToEventBased(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexItemFactory):289:310 -> a
    34:41:com.android.tools.r8.graph.DexDebugInfoForWriting convertToWritable(com.android.tools.r8.graph.DexDebugInfo):317:324 -> a
    1:1:boolean computeEquals(java.lang.Object):83:83 -> h
    com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo asEventBasedInfo() -> h0
    com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo asPcBasedInfo() -> i0
    com.android.tools.r8.graph.DexDebugInfo$DebugInfoKind getKind() -> j0
    int getStartLine() -> k0
    1:1:boolean isPcBasedInfo():47:47 -> l0
    com.android.tools.r8.graph.DexDebugInfo self() -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():66:66 -> n
com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo -> com.android.tools.r8.graph.b0$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() -> L
    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
    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 -> g0
    com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo asEventBasedInfo() -> h0
    com.android.tools.r8.graph.DexDebugInfo$DebugInfoKind getKind() -> j0
    1:1:int getStartLine():222:222 -> k0
    com.android.tools.r8.graph.DexDebugInfo self() -> m0
    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.c0:
    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() -> L
    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:20: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
    19:20:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):169 -> a
    21:22:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):170:171 -> a
    23: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:81 -> a
    23:24:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):171 -> a
    25:25: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 -> d0
    1:1:int computeHashCode():127:127 -> g0
    com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo asPcBasedInfo() -> i0
    com.android.tools.r8.graph.DexDebugInfo$DebugInfoKind getKind() -> j0
    int getStartLine() -> k0
    com.android.tools.r8.graph.DexDebugInfo self() -> m0
    1:1:int getParameterCount():107:107 -> n0
    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.d0:
    1:1:void <init>(int,com.android.tools.r8.graph.DexString[],com.android.tools.r8.graph.DexDebugEvent[],com.android.tools.r8.graph.DexDebugInfo$1):328:328 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexString[],com.android.tools.r8.graph.DexDebugEvent[]):333:333 -> <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):338 -> 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):338 -> 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):338 -> a
    5:5:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):343:343 -> a
    6:12:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):359:365 -> a
    13: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:81 -> a
    13:14:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):365 -> a
    15:15:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):367:367 -> a
    1:2:int estimatedWriteSize():348:349 -> d0
com.android.tools.r8.graph.DexDebugInfoForSingleLineMethod -> com.android.tools.r8.graph.e0:
    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 -> n0
com.android.tools.r8.graph.DexDebugInfoForWriting -> com.android.tools.r8.internal.dg:
    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() -> d0
com.android.tools.r8.graph.DexDebugPositionState -> com.android.tools.r8.graph.f0:
    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.g0:
    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:void clearAnnotations():40:40 -> G
    1:1:void clearAllAnnotations():44 -> G
    2:2:void setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):48:48 -> G
    2:2:void clearAnnotations():40 -> G
    2:2:void clearAllAnnotations():44 -> G
    com.android.tools.r8.graph.DexProgramClass asProgramClass() -> R
    boolean isProgramClass() -> U
    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
    1:1:com.android.tools.r8.graph.DexAnnotationSet annotations():34:34 -> g0
    com.android.tools.r8.graph.DexClass asDexClass() -> h0
    com.android.tools.r8.graph.DexEncodedField asDexEncodedField() -> i0
    com.android.tools.r8.graph.DexEncodedMember asDexEncodedMember() -> j0
    com.android.tools.r8.graph.DexEncodedMethod asDexEncodedMethod() -> k0
    1:1:void clearAnnotations():40:40 -> l0
    2:2:void setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):48:48 -> l0
    2:2:void clearAnnotations():40 -> l0
    1:1:boolean hasAnnotations():25:25 -> m0
    1:1:boolean hasAnyAnnotations():30:30 -> n0
    boolean isDexClass() -> o0
    boolean isDexEncodedField() -> p0
    boolean isDexEncodedMember() -> q0
    boolean isDexEncodedMethod() -> r0
    boolean isStaticMember() -> s0
    1:1:com.android.tools.r8.graph.DexType getContextType():149:149 -> y
com.android.tools.r8.graph.DexDefinitionSupplier -> com.android.tools.r8.graph.h0:
    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):35:35 -> a
    3:3:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):48:48 -> a
    4:4:com.android.tools.r8.graph.DexClassAndMethod definitionFor(com.android.tools.r8.graph.DexMethod):80:80 -> a
    5:5:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.DexClass.lookupClassMethod(com.android.tools.r8.graph.DexMethod):579:579 -> a
    5:5:com.android.tools.r8.graph.DexClassAndMethod definitionFor(com.android.tools.r8.graph.DexMethod):81 -> a
    6:6:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.DexClass.toClassMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):583:583 -> a
    6:6:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.DexClass.lookupClassMethod(com.android.tools.r8.graph.DexMethod):579 -> a
    6:6:com.android.tools.r8.graph.DexClassAndMethod definitionFor(com.android.tools.r8.graph.DexMethod):81 -> a
    7:7:com.android.tools.r8.graph.DexClass definitionForHolder(com.android.tools.r8.graph.DexMember):94:94 -> a
    1:1:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):31:31 -> b
    2:2:com.android.tools.r8.graph.DexProgramClass definitionForProgramType(com.android.tools.r8.graph.DexType):87:87 -> b
    com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType) -> c
com.android.tools.r8.graph.DexEncodedAnnotation -> com.android.tools.r8.graph.i0:
    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() -> L
    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:52:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):46:47 -> a
    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:60:void forEachElement(java.util.function.Consumer):52:53 -> a
    61:61:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):68:68 -> a
    62:62:int lambda$sort$2(com.android.tools.r8.graph.DexAnnotationElement,com.android.tools.r8.graph.DexAnnotationElement):98:98 -> a
    63:69: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:3:boolean equals(java.lang.Object):86:88 -> equals
    1:1:int getNumberOfElements():62:62 -> g0
    1:2:void sort():94:95 -> h0
    3:3:int sortedHashCode():106:106 -> h0
    3:3:void sort():95 -> h0
    4:9:void sort():95:100 -> h0
    10:10:int sortedHashCode():106:106 -> h0
    10:10:void sort():102 -> h0
    11:11:void sort():102:102 -> h0
    1:1:int hashCode():78:78 -> hashCode
    1:1:com.android.tools.r8.graph.DexAnnotationElement getElement(int):58:58 -> i
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():41:41 -> n
    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.j0:
    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.l0:
    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:void clearGenericSignature():351:351 -> A
    1:1:com.android.tools.r8.graph.DexEncodedField$Builder builder():355:355 -> C0
    1:2:void clearStaticValue():253:254 -> D0
    1:1:com.android.tools.r8.graph.FieldAccessFlags getAccessFlags():137:137 -> E0
    1:1:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature getGenericSignature():341:341 -> F0
    1:1:boolean getIsInlinableByJavaC():371:371 -> G0
    1:1:com.android.tools.r8.kotlin.KotlinFieldLevelInfo getKotlinInfo():127:127 -> H0
    1:2:com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo getMutableOptimizationInfo():116:117 -> I0
    1:1:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo getOptimizationInfo():107:107 -> J0
    1:2:com.android.tools.r8.graph.DexValue getStaticValue():258:259 -> K0
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    1:2:boolean hasExplicitStaticValue():242:243 -> L0
    1:1:boolean isDeprecated():94:94 -> M0
    1:1:boolean isEnum():204:204 -> N0
    1:1:boolean isStatic():213:213 -> O0
    1:1:com.android.tools.r8.graph.DexEncodedField$Builder syntheticBuilder():363:363 -> P0
    1:1:com.android.tools.r8.kotlin.KotlinFieldLevelInfo getKotlinInfo():127:127 -> Q
    1:1:com.android.tools.r8.kotlin.KotlinMemberLevelInfo getKotlinInfo():32 -> Q
    1:1:com.android.tools.r8.graph.DexType type():90:90 -> Q0
    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:java.lang.String toSourceString():162:162 -> f0
    1:1:com.android.tools.r8.graph.AccessFlags getAccessFlags():32:32 -> getAccessFlags
    1:1:com.android.tools.r8.graph.DexType getType():166:166 -> getType
    com.android.tools.r8.graph.DexEncodedField asDexEncodedField() -> i0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():81:81 -> n
    1:1:boolean isStaticMember():230:230 -> s0
    1:1:void clearKotlinInfo():132:132 -> t0
    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:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevel():112:112 -> u0
    1:1:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo getOptimizationInfo():107:107 -> y0
    1:1:com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo getOptimizationInfo():32 -> y0
com.android.tools.r8.graph.DexEncodedField$Builder -> com.android.tools.r8.graph.k0:
    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.eg:
    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>
    void clearGenericSignature() -> A
    1:1:boolean isD8R8Synthesized():59:59 -> A0
    1:1:boolean isPrivate():73:73 -> B0
    com.android.tools.r8.kotlin.KotlinMemberLevelInfo getKotlinInfo() -> Q
    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
    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() -> j0
    boolean isDexEncodedMember() -> q0
    void clearKotlinInfo() -> t0
    com.android.tools.r8.androidapi.ComputedApiLevel getApiLevel() -> u0
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevelForDefinition():99:99 -> v0
    1:1:com.android.tools.r8.graph.DexType getHolderType():46:46 -> w0
    1:1:com.android.tools.r8.graph.DexString getName():50:50 -> x0
    com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo getOptimizationInfo() -> y0
    1:1:com.android.tools.r8.graph.DexMember getReference():55:55 -> z0
com.android.tools.r8.graph.DexEncodedMethod -> com.android.tools.r8.graph.n0:
    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>():93:149 -> <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):93:93 -> <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):241:241 -> <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):158:254 -> <init>
    1:1:void clearGenericSignature():1310:1310 -> A
    1:2:boolean isStatic():559:560 -> A1
    1:1:boolean isSynchronized():444:444 -> B1
    1:1:boolean belongsToDirectPool():578:578 -> C0
    1:2:boolean isSyntheticMethod():573:574 -> C1
    1:1:boolean belongsToVirtualPool():582:582 -> D0
    1:2:boolean isVirtualMethod():497:498 -> D1
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder builder():1328:1328 -> E0
    1:2:void markNotProcessed():722:723 -> E1
    1:1:void checkIfObsolete():179:179 -> F0
    1:2:java.lang.String qualifiedName():832:833 -> F1
    1:1:void clearAllAnnotations():860:860 -> G
    2:2:void clearParameterAnnotations():875:875 -> G
    2:2:void clearAllAnnotations():861 -> G
    1:1:void clearApiLevelForCode():1263:1263 -> G0
    1:1:com.android.tools.r8.graph.DexType returnType():343:343 -> G1
    1:2:java.lang.String codeToString():1232:1233 -> H0
    1:1:void setObsolete():191:191 -> H1
    1:2:java.lang.String descriptor():837:838 -> I0
    1:1:boolean shouldNotHaveCode():792:792 -> I1
    1:1:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():196:196 -> J0
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder syntheticBuilder():1320:1320 -> J1
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevelForCode():1259:1259 -> K0
    1:2:void unsetCode():747:748 -> K1
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    1:3:com.android.tools.r8.cf.CfVersion getClassFileVersion():805:807 -> L0
    1:1:void unsetObsolete():225:225 -> L1
    1:2:com.android.tools.r8.graph.Code getCode():800:801 -> M0
    1:1:com.android.tools.r8.graph.DexEncodedMethod$CompilationState getCompilationState():212:212 -> N0
    1:3:com.android.tools.r8.graph.DexWritableCode getDexWritableCodeOrNull():1314:1316 -> O0
    1:1:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature getGenericSignature():1300:1300 -> P0
    1:1:com.android.tools.r8.kotlin.KotlinMethodLevelInfo getKotlinInfo():587:587 -> Q
    1:1:com.android.tools.r8.kotlin.KotlinMemberLevelInfo getKotlinInfo():93 -> Q
    1:1:com.android.tools.r8.kotlin.KotlinMethodLevelInfo getKotlinInfo():587:587 -> Q0
    1:3:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo getMutableOptimizationInfo():1278:1280 -> R0
    1:1:int getNumberOfArguments():208:208 -> S0
    2:2:int com.android.tools.r8.graph.DexMethod.getNumberOfArguments(boolean):82:82 -> S0
    2:2:int getNumberOfArguments():208 -> S0
    1:2:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo getOptimizationInfo():1254:1255 -> T0
    1:1:com.android.tools.r8.graph.ParameterAnnotationsList getParameterAnnotations():883:883 -> U0
    1:1:java.util.Map getParameterInfo():768:768 -> V0
    1:1:com.android.tools.r8.graph.DexTypeList getParameters():331:331 -> W0
    1:1:com.android.tools.r8.graph.DexProto getProto():323:323 -> X0
    1:1:com.android.tools.r8.graph.DexMethodSignature getSignature():339:339 -> Y0
    2:2:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexMethod):17:17 -> Y0
    2:2:com.android.tools.r8.graph.DexMethodSignature getSignature():339 -> Y0
    1:2:boolean hasClassFileVersion():815:816 -> Z0
    1:1:com.android.tools.r8.cf.CfVersion access$200(com.android.tools.r8.graph.DexEncodedMethod):93:93 -> 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):93:93 -> a
    3:11:void syntheticSpecify(com.android.tools.r8.utils.structural.StructuralSpecification):278:286 -> a
    12:13:int compareCodeObject(com.android.tools.r8.graph.Code,com.android.tools.r8.graph.Code,com.android.tools.r8.utils.structural.CompareToVisitor):300:301 -> a
    14:27:int com.android.tools.r8.graph.CfWritableCode.acceptCompareTo(com.android.tools.r8.graph.CfWritableCode,com.android.tools.r8.utils.structural.CompareToVisitor):24:37 -> a
    14:27:int compareCodeObject(com.android.tools.r8.graph.Code,com.android.tools.r8.graph.Code,com.android.tools.r8.utils.structural.CompareToVisitor):301 -> 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):301 -> a
    29:32:int compareCodeObject(com.android.tools.r8.graph.Code,com.android.tools.r8.graph.Code,com.android.tools.r8.utils.structural.CompareToVisitor):303:306 -> a
    33:33:int compareCodeObject(com.android.tools.r8.graph.Code,com.android.tools.r8.graph.Code,com.android.tools.r8.utils.structural.CompareToVisitor):298:298 -> a
    34:38:void hashCodeObject(com.android.tools.r8.graph.Code,com.android.tools.r8.utils.structural.HashingVisitor):314:318 -> a
    39:42:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):351:354 -> a
    43:43:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):353:353 -> a
    44:44:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":769,"2":770,"3":771}}
    769:769:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):353:353 -> a
    770:770:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):353:353 -> a
    771:771:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):353:353 -> a
    400:403:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):356:359 -> a
    404:404:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):358:358 -> a
    405:405:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":776,"2":777,"3":778}}
    776:776:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):358:358 -> a
    777:777:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):358:358 -> a
    778:778:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):358:358 -> a
    766:768:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):361:363 -> a
    779:779:java.lang.Object apply(java.util.function.Function,java.util.function.Function):382:382 -> a
    780:783:com.android.tools.r8.graph.DexClassAndMethod asDexClassAndMethod(com.android.tools.r8.graph.DexDefinitionSupplier):386:389 -> a
    780:783:com.android.tools.r8.graph.DexClassAndMethod asDexClassAndMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):410 -> a
    784:785:com.android.tools.r8.graph.ProgramMethod asProgramMethod(com.android.tools.r8.graph.DexProgramClass):395:396 -> a
    786:787:com.android.tools.r8.graph.ProgramMethod asProgramMethod(com.android.tools.r8.graph.DexDefinitionSupplier):400:401 -> a
    786:787:com.android.tools.r8.graph.ProgramMethod asProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):415 -> a
    788:788:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):94:94 -> a
    788:788:com.android.tools.r8.graph.ProgramMethod asProgramMethod(com.android.tools.r8.graph.DexDefinitionSupplier):401 -> a
    788:788:com.android.tools.r8.graph.ProgramMethod asProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):415 -> a
    789:791:com.android.tools.r8.graph.ProgramMethod asProgramMethod(com.android.tools.r8.graph.DexDefinitionSupplier):401:403 -> a
    789:791:com.android.tools.r8.graph.ProgramMethod asProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):415 -> a
    792:793:boolean willBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):462:463 -> a
    794:794:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    794:794:boolean willBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):463 -> a
    795:796:boolean willBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):464:465 -> a
    797:798:void setKotlinMemberInfo(com.android.tools.r8.kotlin.KotlinMethodLevelInfo):605:606 -> a
    799:801: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):626:628 -> a
    802:802: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):627:627 -> a
    803:811: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):636:644 -> a
    812:812: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":2241,"2":2242,"3":2243}}
    2241:2241: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):644:644 -> a
    2242:2242: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):644:644 -> a
    2243:2243: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):644:644 -> a
    1456:1503: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):644:691 -> a
    1504:1504: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":2290,"2":2291,"3":2292}}
    2290:2290: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):691:691 -> a
    2291:2291: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):691:691 -> a
    2292:2292: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):691:691 -> a
    2195:2195: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):691:691 -> a
    2196:2199: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):676:679 -> a
    2200:2203: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):669:672 -> a
    2204:2207: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):662:665 -> a
    2208:2240: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):655:687 -> a
    2293:2312:boolean markProcessed(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):696:715 -> a
    2313:2313:boolean markProcessed(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):712:712 -> a
    2314:2314:boolean markProcessed(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):709:709 -> a
    2315:2315:boolean markProcessed(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):706:706 -> a
    2316:2316:boolean markProcessed(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):703:703 -> a
    2317:2335:boolean markProcessed(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):700:718 -> a
    2336:2340:void setCode(com.android.tools.r8.graph.Code,com.android.tools.r8.graph.AppView):727:731 -> a
    2341:2342:void setParameterInfo(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):759:760 -> a
    2341:2342:void setCode(com.android.tools.r8.graph.Code,com.android.tools.r8.graph.AppView):731 -> a
    2343:2343:void setCode(com.android.tools.r8.graph.Code,com.android.tools.r8.graph.AppView):733:733 -> a
    2344:2346: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):741:743 -> a
    2347:2350:boolean keepLocals(com.android.tools.r8.utils.InternalOptions):752:755 -> a
    2351:2352:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo getOptimizationInfo():1254:1255 -> a
    2351:2352:boolean keepLocals(com.android.tools.r8.utils.InternalOptions):755 -> a
    2353:2353:boolean keepLocals(com.android.tools.r8.utils.InternalOptions):755:755 -> a
    2354:2354:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):779:779 -> a
    2355:2357:void downgradeClassFileVersion(com.android.tools.r8.cf.CfVersion):826:828 -> a
    2358:2358:java.lang.String descriptor(com.android.tools.r8.naming.NamingLens):842:842 -> a
    2359:2359:java.lang.String descriptor(com.android.tools.r8.naming.NamingLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3210,"2":3211,"3":3212}}
    3210:3210:java.lang.String descriptor(com.android.tools.r8.naming.NamingLens):843:843 -> a
    3211:3211:java.lang.String descriptor(com.android.tools.r8.naming.NamingLens):843:843 -> a
    3212:3212:java.lang.String descriptor(com.android.tools.r8.naming.NamingLens):844:844 -> a
    3204:3209:java.lang.String descriptor(com.android.tools.r8.naming.NamingLens):845:850 -> a
    3213:3213:void rewriteAllAnnotations(java.util.function.BiFunction):868:868 -> a
    3214:3218:void rewriteAllAnnotations(java.util.function.BiFunction):867:871 -> a
    3219:3219:void setParameterAnnotations(com.android.tools.r8.graph.ParameterAnnotationsList):891:891 -> a
    3219:3219:void rewriteAllAnnotations(java.util.function.BiFunction):869 -> a
    3220:3220:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):895:895 -> a
    3221:3221:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4193,"2":4194,"3":4195}}
    4193:4193:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):896:896 -> a
    4194:4194:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):896:896 -> a
    4195:4195:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):897:897 -> a
    4119:4121:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):898:900 -> a
    4122:4122:java.lang.String com.android.tools.r8.graph.DexItem.toSmaliString():44:44 -> a
    4122:4122:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):900 -> a
    4123:4124:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):900:901 -> a
    4125:4125:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> a
    4125:4125:java.lang.String com.android.tools.r8.graph.DexProto.toSmaliString():114 -> a
    4125:4125:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):901 -> a
    4126:4132:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):901:907 -> a
    4133:4188:java.lang.String com.android.tools.r8.graph.DexCode.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):516:571 -> a
    4133:4188:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):908 -> a
    4189:4192:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):908:911 -> a
    4196:4205:com.android.tools.r8.graph.DexCode generateCodeFromTemplate(int,int,com.android.tools.r8.code.Instruction[]):926:935 -> a
    4206:4206:com.android.tools.r8.graph.Code buildInstanceOfCode(com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.utils.InternalOptions):945:945 -> a
    4207:4207:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    4207:4207:com.android.tools.r8.graph.Code buildInstanceOfCode(com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.utils.InternalOptions):945 -> a
    4208:4221:com.android.tools.r8.graph.CfCode buildInstanceOfCfCode(com.android.tools.r8.graph.DexType,boolean):951:964 -> a
    4208:4221:com.android.tools.r8.graph.Code buildInstanceOfCode(com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.utils.InternalOptions):946 -> a
    4222:4229:com.android.tools.r8.graph.DexCode buildInstanceOfDexCode(com.android.tools.r8.graph.DexType,boolean):968:975 -> a
    4222:4229:com.android.tools.r8.graph.Code buildInstanceOfCode(com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.utils.InternalOptions):947 -> a
    4230:4233:void setDebugInfoWithFakeThisParameter(com.android.tools.r8.graph.Code,int,com.android.tools.r8.graph.AppView):993:996 -> a
    4234:4234:int com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo.getParameterCount():227:227 -> a
    4234:4234:void setDebugInfoWithFakeThisParameter(com.android.tools.r8.graph.Code,int,com.android.tools.r8.graph.AppView):996 -> a
    4235:4240:void setDebugInfoWithFakeThisParameter(com.android.tools.r8.graph.Code,int,com.android.tools.r8.graph.AppView):996:1001 -> a
    4241:4242:com.android.tools.r8.graph.DexEncodedMethod toTypeSubstitutedMethod(com.android.tools.r8.graph.DexMethod):1086:1087 -> a
    4243:4243:com.android.tools.r8.graph.DexEncodedMethod toTypeSubstitutedMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):1091:1091 -> a
    4244:4244:com.android.tools.r8.graph.DexEncodedMethod$Builder builder(com.android.tools.r8.graph.DexEncodedMethod):1332:1332 -> a
    4244:4244:com.android.tools.r8.graph.DexEncodedMethod toTypeSubstitutedMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):1092 -> a
    4245:4257:com.android.tools.r8.graph.DexEncodedMethod toTypeSubstitutedMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):1093:1105 -> a
    4258:4273:com.android.tools.r8.graph.ProgramMethod toPrivateSyntheticMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):1115:1130 -> a
    4274:4277:void lambda$toPrivateSyntheticMethod$5(com.android.tools.r8.graph.MethodAccessFlags):1125:1128 -> a
    4278:4278:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1135:1135 -> a
    4279:4279: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
    4279:4279:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1135 -> a
    4280:4295:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1136:1151 -> a
    4296:4325:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1150:1179 -> a
    4326:4326:com.android.tools.r8.graph.DexEncodedMethod$Builder com.android.tools.r8.graph.DexEncodedMethod$Builder.setIsLibraryMethodOverrideIf(boolean,com.android.tools.r8.utils.OptionalBool):1453:1453 -> a
    4326:4326:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1178 -> a
    4327:4327:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1180:1180 -> a
    4328:4333:void lambda$toForwardingMethod$8(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):1154:1159 -> a
    4334:4352:void lambda$toForwardingMethod$8(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):1158:1176 -> a
    4353:4375:void lambda$toForwardingMethod$8(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):1155:1177 -> a
    4376:4381:void lambda$toForwardingMethod$6(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.synthetic.ForwardMethodBuilder):1162:1167 -> a
    4382:4382:boolean com.android.tools.r8.graph.DexType.isInterface(com.android.tools.r8.graph.DexDefinitionSupplier):366:366 -> a
    4382:4382:void lambda$toForwardingMethod$6(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.synthetic.ForwardMethodBuilder):1167 -> a
    4383:4383:void lambda$toForwardingMethod$6(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.synthetic.ForwardMethodBuilder):1163:1163 -> a
    4384:4391: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):1185:1192 -> a
    4392:4392:void com.android.tools.r8.graph.MethodAccessFlags.unsetAbstract():195:195 -> a
    4392:4392: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):1193 -> a
    4393:4402: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:1205 -> a
    4403:4408: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):1201:1206 -> a
    4409:4409:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevelForCode():1259:1259 -> a
    4409:4409: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):1207 -> a
    4410:4411: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):1207:1208 -> a
    4412:4413:void setOptimizationInfo(com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):1285:1286 -> a
    4414:4418:void copyMetadata(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod):1290:1294 -> a
    4419:4419:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevelForCode():1259:1259 -> a
    4419:4419:void copyMetadata(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod):1295 -> a
    4420:4420:void copyMetadata(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod):1295:1295 -> a
    4421:4422:void setGenericSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):1304:1305 -> a
    4423:4423:com.android.tools.r8.graph.DexEncodedMethod$Builder builder(com.android.tools.r8.graph.DexEncodedMethod):1332:1332 -> a
    4423:4423:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):980 -> a
    4424:4424:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):982:982 -> a
    4425:4425:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    4425:4425:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):982 -> a
    4426:4426:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):983:983 -> a
    4427:4428:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1038:1039 -> a
    4427:4428:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):983 -> a
    4429:4429:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4521,"2":4522,"3":4523}}
    4521:4521:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1040:1040 -> a
    4521:4521:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):983 -> a
    4522:4522:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1040:1040 -> a
    4522:4522:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):983 -> a
    4523:4523:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1040:1040 -> a
    4523:4523:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):983 -> a
    4430:4430:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1043:1043 -> a
    4430:4430:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):983 -> a
    4431:4442:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1041:1052 -> a
    4431:4442:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):983 -> a
    4443:4451:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1049:1057 -> a
    4443:4451:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):983 -> a
    4452:4460:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1054:1062 -> a
    4452:4460:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):983 -> a
    4461:4465:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1060:1064 -> a
    4461:4465:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):983 -> a
    4466:4467:boolean isStaticMember():565:566 -> a
    4466:4467:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1065 -> a
    4466:4467:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):983 -> a
    4468:4481:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1069:1082 -> a
    4468:4481:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):983 -> a
    4482:4482:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):984:984 -> a
    4483:4484:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1006:1007 -> a
    4483:4484:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):984 -> a
    4485:4485:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4524,"2":4525,"3":4526}}
    4524:4524:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1008:1008 -> a
    4524:4524:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):984 -> a
    4525:4525:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1008:1008 -> a
    4525:4525:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):984 -> a
    4526:4526:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1008:1008 -> a
    4526:4526:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):984 -> a
    4486:4486:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1011:1011 -> a
    4486:4486:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):984 -> a
    4487:4497:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1009:1019 -> a
    4487:4497:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):984 -> a
    4498:4504:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1018:1024 -> a
    4498:4504:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):984 -> a
    4505:4509:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1022:1026 -> a
    4505:4509:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):984 -> a
    4510:4516:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):981:987 -> a
    4517:4517:com.android.tools.r8.graph.DexEncodedMethod$Builder com.android.tools.r8.graph.DexEncodedMethod$Builder.setIsLibraryMethodOverrideIf(boolean,com.android.tools.r8.utils.OptionalBool):1453:1453 -> a
    4517:4517: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)"]}
    4518:4518:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):985:985 -> a
    4519:4519:void setObsolete():191:191 -> a
    4519:4519:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):988 -> a
    4520:4520:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):989:989 -> a
    4527:4527:com.android.tools.r8.graph.DexEncodedMethod$Builder builder(com.android.tools.r8.graph.DexEncodedMethod):1332:1332 -> a
    4527:4527:com.android.tools.r8.graph.DexEncodedMethod toRenamedHolderMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1109 -> a
    4528:4529:com.android.tools.r8.graph.DexEncodedMethod toRenamedHolderMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1110:1111 -> a
    1:1:boolean hasCode():796:796 -> a1
    1:1:com.android.tools.r8.graph.ParameterAnnotationsList lambda$syntheticSpecify$0(com.android.tools.r8.graph.DexEncodedMethod):281:281 -> b
    2:6:void collectMixedSectionItemsWithCodeMapping(com.android.tools.r8.dex.MixedSectionCollection):783:787 -> 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):787 -> b
    9:9:void collectMixedSectionItemsWithCodeMapping(com.android.tools.r8.dex.MixedSectionCollection):788:788 -> b
    10:12:void upgradeClassFileVersion(com.android.tools.r8.cf.CfVersion):820:822 -> b
    13:13:com.android.tools.r8.graph.DexAnnotation lambda$rewriteAllAnnotations$3(java.util.function.BiFunction,com.android.tools.r8.graph.DexAnnotation):868:868 -> 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):1170:1175 -> 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):1175 -> 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):1171:1171 -> b
    1:1:boolean hasParameterInfo():764:764 -> b1
    1:1:com.android.tools.r8.cf.CfVersion lambda$syntheticSpecify$1(com.android.tools.r8.graph.DexEncodedMethod):282:282 -> c
    2:2:com.android.tools.r8.graph.DexAnnotation lambda$rewriteAllAnnotations$4(java.util.function.BiFunction,com.android.tools.r8.graph.DexAnnotation):871:871 -> c
    1:1:boolean isAbstract():424:424 -> c1
    1:1:boolean lambda$syntheticSpecify$2(com.android.tools.r8.graph.DexEncodedMethod):285:285 -> d
    1:1:boolean isBridge():428:428 -> d1
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder syntheticBuilder(com.android.tools.r8.graph.DexEncodedMethod):1324:1324 -> e
    1:2:boolean isClassInitializer():481:482 -> e1
    1:2:void setApiLevelForCode(com.android.tools.r8.androidapi.ComputedApiLevel):1267:1268 -> f
    1:2:java.lang.String toSourceString():916:917 -> f0
    1:2:boolean isDefaultInitializer():476:477 -> f1
    1:1:boolean isDefaultMethod():487:487 -> g1
    1:1:com.android.tools.r8.graph.AccessFlags getAccessFlags():93:93 -> getAccessFlags
    1:1:boolean isDeprecated():262:262 -> h1
    1:1:com.android.tools.r8.graph.DexAnnotationSet getParameterAnnotation(int):879:879 -> i
    1:2:boolean isDirectMethod():549:550 -> i1
    1:1:boolean isFinal():432:432 -> j1
    1:1:com.android.tools.r8.graph.DexEncodedMethod asDexEncodedMethod():1244:1244 -> k0
    1:2:boolean isInitializer():448:449 -> k1
    1:1:boolean isInstance():554:554 -> l1
    1:2:boolean isInstanceInitializer():453:454 -> m1
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():272:272 -> n
    1:1:boolean hasAnyAnnotations():855:855 -> n0
    2:2:boolean hasParameterAnnotations():887:887 -> n0
    2:2:boolean hasAnyAnnotations():855 -> n0
    1:1:com.android.tools.r8.utils.OptionalBool isLibraryMethodOverride():347:347 -> n1
    1:1:boolean isNative():436:436 -> o1
    1:2:boolean isNonAbstractNonNativeMethod():521:522 -> p1
    1:2:boolean isNonAbstractVirtualMethod():516:517 -> q1
    1:1:boolean isDexEncodedMethod():1238:1238 -> r0
    1:2:boolean isNonPrivateVirtualMethod():502:503 -> r1
    1:2:boolean isStaticMember():565:566 -> s0
    1:2:boolean isNonStaticPrivateMethod():507:508 -> s1
    1:1:void clearKotlinInfo():592:592 -> t0
    1:1:boolean isObsolete():185:185 -> t1
    1:1:java.lang.String toString():773:773 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":777,"2":778,"3":779}}
    777:777:java.lang.String toString():774:774 -> toString
    778:778:java.lang.String toString():774:774 -> toString
    779:779:java.lang.String toString():774:774 -> toString
    776:776:java.lang.String toString():774:774 -> toString
    1:2:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevel():1273:1274 -> u0
    1:1:boolean isOnlyInlinedIntoNestMembers():618:618 -> u1
    1:2:boolean isPrivateMethod():541:542 -> v1
    1:2:boolean isProcessed():419:420 -> w1
    1:2:boolean isProtectedMethod():536:537 -> x1
    1:2:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo getOptimizationInfo():1254:1255 -> y0
    1:2:com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo getOptimizationInfo():93 -> y0
    1:2:boolean isPublicMethod():531:532 -> y1
    1:2:boolean isPublicized():526:527 -> z1
com.android.tools.r8.graph.DexEncodedMethod$1 -> com.android.tools.r8.graph.m0:
    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>():698:698 -> <clinit>
    2:2:com.android.tools.r8.graph.DexEncodedMethod$CompilationState[] com.android.tools.r8.graph.DexEncodedMethod$CompilationState.values():104:104 -> <clinit>
    2:2:void <clinit>():650 -> <clinit>
    3:3:void <clinit>():650:650 -> <clinit>
com.android.tools.r8.graph.DexEncodedMethod$Builder -> com.android.tools.r8.graph.n0$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>():1335:1335 -> <clinit>
    1:1:void <init>(boolean,com.android.tools.r8.graph.DexEncodedMethod$1):1335:1335 -> <init>
    2:2:void <init>(boolean,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$1):1335:1335 -> <init>
    3:3:void <init>(boolean):1361:1361 -> <init>
    4:26:void <init>(boolean):1340:1362 -> <init>
    27:27:void <init>(boolean,com.android.tools.r8.graph.DexEncodedMethod):1365:1365 -> <init>
    28:77:void <init>(boolean,com.android.tools.r8.graph.DexEncodedMethod):1340:1389 -> <init>
    78:78:void <init>(boolean,com.android.tools.r8.graph.DexEncodedMethod):1385:1385 -> <init>
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder apply(java.util.function.Consumer):1394:1394 -> a
    2:2:com.android.tools.r8.graph.DexEncodedMethod$Builder applyIf(boolean,java.util.function.Consumer):1399:1399 -> a
    3:5:com.android.tools.r8.graph.DexEncodedMethod$Builder applyIf(boolean,java.util.function.Consumer,java.util.function.Consumer):1405:1407 -> a
    3:5:com.android.tools.r8.graph.DexEncodedMethod$Builder applyIf(boolean,java.util.function.Consumer):1399 -> 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):1414:1414 -> 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):1415:1415 -> a
    8:8:com.android.tools.r8.graph.DexEncodedMethod$Builder setAccessFlags(com.android.tools.r8.graph.MethodAccessFlags):1429:1429 -> a
    9:9:com.android.tools.r8.graph.DexEncodedMethod$Builder setMethod(com.android.tools.r8.graph.DexMethod):1434:1434 -> a
    10:11:com.android.tools.r8.graph.DexEncodedMethod$Builder setCompilationState(com.android.tools.r8.graph.DexEncodedMethod$CompilationState):1439:1440 -> a
    12:13:com.android.tools.r8.graph.DexEncodedMethod$Builder setIsLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):1445:1446 -> a
    14:14:com.android.tools.r8.graph.DexEncodedMethod$Builder setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):1481:1481 -> a
    15:15:com.android.tools.r8.graph.DexEncodedMethod$Builder setParameterAnnotations(com.android.tools.r8.graph.ParameterAnnotationsList):1486:1486 -> a
    16:35:com.android.tools.r8.graph.DexEncodedMethod$Builder removeParameterAnnotations(java.util.function.IntPredicate):1491:1510 -> a
    36:36:com.android.tools.r8.graph.DexEncodedMethod$Builder setParameterAnnotations(com.android.tools.r8.graph.ParameterAnnotationsList):1486:1486 -> a
    36:36:com.android.tools.r8.graph.DexEncodedMethod$Builder removeParameterAnnotations(java.util.function.IntPredicate):1510 -> a
    37:39:com.android.tools.r8.graph.DexEncodedMethod$Builder removeParameterAnnotations(java.util.function.IntPredicate):1513:1515 -> a
    40:40:com.android.tools.r8.graph.DexEncodedMethod$Builder removeParameterAnnotations(java.util.function.IntPredicate):1514:1514 -> a
    41:41:com.android.tools.r8.graph.DexEncodedMethod$Builder setParameterAnnotations(com.android.tools.r8.graph.ParameterAnnotationsList):1486:1486 -> a
    41:41:com.android.tools.r8.graph.DexEncodedMethod$Builder removeParameterAnnotations(java.util.function.IntPredicate):1513 -> a
    42:42:com.android.tools.r8.graph.DexEncodedMethod$Builder setOptimizationInfo(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo):1535:1535 -> a
    43:43:com.android.tools.r8.graph.DexEncodedMethod$Builder modifyOptimizationInfo(java.util.function.BiConsumer):1541:1541 -> a
    44:44:com.android.tools.r8.graph.DexEncodedMethod$Builder addBuildConsumer(java.util.function.Consumer):1419:1419 -> a
    44:44:com.android.tools.r8.graph.DexEncodedMethod$Builder modifyOptimizationInfo(java.util.function.BiConsumer):1541 -> a
    45:46:void lambda$modifyOptimizationInfo$1(java.util.function.BiConsumer,com.android.tools.r8.graph.DexEncodedMethod):1543:1544 -> a
    47:47:com.android.tools.r8.graph.DexEncodedMethod$Builder setCode(com.android.tools.r8.graph.Code):1550:1550 -> a
    48:48:com.android.tools.r8.graph.DexEncodedMethod$Builder setGenericSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):1559:1559 -> a
    49:49:com.android.tools.r8.graph.DexEncodedMethod$Builder setApiLevelForCode(com.android.tools.r8.androidapi.ComputedApiLevel):1569:1569 -> a
    50:50:com.android.tools.r8.graph.DexEncodedMethod$Builder setDeprecated(boolean):1574:1574 -> a
    51:51:com.android.tools.r8.graph.DexEncodedMethod$Builder setClassFileVersion(com.android.tools.r8.cf.CfVersion):1579:1579 -> a
    52:58:com.android.tools.r8.graph.DexEncodedMethod build():1599:1605 -> a
    59:83:com.android.tools.r8.graph.DexEncodedMethod build():1603:1627 -> a
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder modifyAccessFlags(java.util.function.Consumer):1424:1424 -> b
    2:2:com.android.tools.r8.graph.DexEncodedMethod$Builder clearAnnotations():1469:1469 -> b
    2:2:com.android.tools.r8.graph.DexEncodedMethod$Builder clearAllAnnotations():1477 -> b
    3:3:com.android.tools.r8.graph.DexEncodedMethod$Builder setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):1481:1481 -> b
    3:3:com.android.tools.r8.graph.DexEncodedMethod$Builder clearAnnotations():1469 -> b
    3:3:com.android.tools.r8.graph.DexEncodedMethod$Builder clearAllAnnotations():1477 -> b
    4:4:com.android.tools.r8.graph.DexEncodedMethod$Builder clearParameterAnnotations():1473:1473 -> b
    4:4:com.android.tools.r8.graph.DexEncodedMethod$Builder clearAllAnnotations():1477 -> b
    5:5:com.android.tools.r8.graph.DexEncodedMethod$Builder setParameterAnnotations(com.android.tools.r8.graph.ParameterAnnotationsList):1486:1486 -> b
    5:5:com.android.tools.r8.graph.DexEncodedMethod$Builder clearParameterAnnotations():1473 -> b
    5:5:com.android.tools.r8.graph.DexEncodedMethod$Builder clearAllAnnotations():1477 -> b
    6:6:com.android.tools.r8.graph.DexEncodedMethod$Builder setApiLevelForDefinition(com.android.tools.r8.androidapi.ComputedApiLevel):1564:1564 -> b
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder disableAndroidApiLevelCheck():1594:1594 -> c
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder disableMethodNotNullCheck():1584:1584 -> d
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder disableParameterAnnotationListCheck():1589:1589 -> e
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder unsetIsLibraryMethodOverride():1464:1464 -> f
com.android.tools.r8.graph.DexEncodedMethod$CompilationState$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.fg:
# {"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.o0:
    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() -> L
    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):535:535 -> 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):539:539 -> a
    337:337:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):535 -> 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:java.lang.String toSmaliString():195:195 -> e0
    1:1:java.lang.String toSourceString():200:200 -> f0
    2:2:java.lang.String toSourceString():0:0 -> f0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":404,"2":405,"3":406}}
    404:404:java.lang.String toSourceString():200:200 -> f0
    405:405:java.lang.String toSourceString():200:200 -> f0
    406:406:java.lang.String toSourceString():200:200 -> f0
    202:202:java.lang.String toSourceString():200:200 -> f0
    203:203:java.lang.String toSourceString():0:0 -> f0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":404,"2":405,"3":406}}
    404:404:java.lang.String toSourceString():200:200 -> f0
    405:405:java.lang.String toSourceString():200:200 -> f0
    406:406:java.lang.String toSourceString():200:200 -> f0
    403:403:java.lang.String toSourceString():200:200 -> f0
    1:3:int computeHashCode():124:126 -> g0
    1:1:com.android.tools.r8.graph.DexType getType():70:70 -> getType
    1:5:boolean computeEquals(java.lang.Object):131:135 -> h
    com.android.tools.r8.graph.DexField asDexField() -> h0
    boolean isDexField() -> l0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():66:66 -> n
    1:1:java.lang.Iterable getReferencedTypes():171:171 -> q0
    1:5:com.android.tools.r8.references.FieldReference asFieldReference():217:217 -> 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
com.android.tools.r8.graph.DexItem -> com.android.tools.r8.graph.p0:
    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 -> e0
    1:1:java.lang.String toSourceString():48:48 -> f0
com.android.tools.r8.graph.DexItemFactory -> com.android.tools.r8.graph.s0:
    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>():71:122 -> <clinit>
    1:1:void <init>():126:126 -> <init>
    2:650:void <init>():81:729 -> <init>
    651:737:void <init>():719:805 -> <init>
    738:754:void <init>():795:811 -> <init>
    755:842:void <init>():808:895 -> <init>
    843:843:void <init>():127:127 -> <init>
    com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame lambda$createSetInlineFrame$8(com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame) -> a
    1:1:boolean isInternalSentinel(com.android.tools.r8.graph.DexItem):131:131 -> a
    2:3:com.android.tools.r8.graph.DexMethod createUnboxMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):744:745 -> a
    4:4:com.android.tools.r8.graph.DexDebugEvent$Default com.android.tools.r8.graph.DexDebugEvent$Default.create(int,int):756:756 -> a
    4:4:com.android.tools.r8.graph.DexDebugEvent$Default createDefault(int,int):2750 -> a
    5:5:com.android.tools.r8.graph.DexDebugEvent$Default createDefault(int,int):2750:2750 -> a
    6:7:com.android.tools.r8.graph.DexType getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType):770:771 -> a
    8:19:java.util.Set boxedValueOfMethods():780:791 -> a
    20:22:com.android.tools.r8.graph.DexMethod lambda$boxedValueOfMethods$0(java.util.Map$Entry):783:785 -> a
    23:23:void setSkipNameValidationForTesting(boolean):898:898 -> a
    24:24:com.android.tools.r8.graph.DexItem canonicalize(java.util.Map,com.android.tools.r8.graph.DexItem):2161:2161 -> a
    25:25:boolean isInternalSentinel(com.android.tools.r8.graph.DexItem):131:131 -> a
    25:25:com.android.tools.r8.graph.DexItem canonicalize(java.util.Map,com.android.tools.r8.graph.DexItem):2162 -> a
    26:27:com.android.tools.r8.graph.DexItem canonicalize(java.util.Map,com.android.tools.r8.graph.DexItem):2162:2163 -> a
    28:28:com.android.tools.r8.graph.DexString createString(int,byte[]):2169:2169 -> a
    29:29:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2209:2209 -> a
    30:30: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":45,"2":46,"3":47}}
    45:45:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2182:2182 -> a
    45:45:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2210 -> a
    46:46:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2182:2182 -> a
    46:46:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2210 -> a
    47:47:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2182:2182 -> a
    47:47:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2210 -> a
    31:31:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2184:2184 -> a
    31:31:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2210 -> a
    32:32:java.lang.String escapeMemberString(java.lang.String):2178:2178 -> a
    32:32:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2184 -> a
    32:32:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2210 -> a
    33:40:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2184:2191 -> a
    33:40:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2210 -> a
    41:44:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2210:2213 -> a
    48:48: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):2281:2281 -> a
    49:49: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):2306:2306 -> a
    49:49: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):2282 -> a
    50:50: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):2297:2297 -> a
    50:50: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):2287 -> a
    51:51: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):2297:2297 -> a
    52:52: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):2320:2320 -> a
    53:57: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):2322:2326 -> a
    58:58: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):2344:2344 -> a
    59:59:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType):2196:2196 -> a
    59:59: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):2344 -> a
    60:60: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):2344:2344 -> a
    61:61:java.util.Optional lambda$createFreshMethodSignatureName$2(com.android.tools.r8.graph.DexProto,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2346:2346 -> a
    62:62: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
    62:62:java.util.Optional lambda$createFreshMethodSignatureName$2(com.android.tools.r8.graph.DexProto,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2346 -> a
    63:66:java.util.Optional lambda$createFreshMethodSignatureName$2(com.android.tools.r8.graph.DexProto,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2347:2350 -> a
    67:67: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):2364:2364 -> a
    68:69: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):2375:2376 -> a
    70:70:com.android.tools.r8.graph.DexMethod createInstanceInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2387:2387 -> a
    71:72:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexMethod,java.util.List,java.util.function.Predicate):2396:2397 -> a
    73:73:java.util.Optional lambda$createInstanceInitializerWithFreshProto$4(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2400:2400 -> a
    74:74: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
    74:74:java.util.Optional lambda$createInstanceInitializerWithFreshProto$4(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2400 -> a
    75:75:java.util.Optional lambda$createInstanceInitializerWithFreshProto$4(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2400:2400 -> a
    76:79:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2405:2408 -> a
    80:80:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2406:2406 -> a
    81:99:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexProto,java.util.List,java.util.function.Function):2414:2432 -> a
    100:100:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexProto,java.util.List,java.util.function.Function):2431:2431 -> a
    101:101:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.String):2476:2476 -> a
    102:102:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2487:2487 -> a
    102:102:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.String):2476 -> a
    103:107:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2508:2512 -> a
    103:107:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2489 -> a
    103:107:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.String):2476 -> a
    108:108:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.Class):2483:2483 -> a
    109:109:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2487:2487 -> a
    109:109:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.Class):2482 -> a
    110:114:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2508:2512 -> a
    110:114:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2489 -> a
    110:114:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.Class):2482 -> a
    115:116:com.android.tools.r8.graph.DexType createArrayType(int,com.android.tools.r8.graph.DexType):2538:2539 -> a
    117:118: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):2544:2545 -> a
    119:119:com.android.tools.r8.graph.DexField createField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String):2549:2549 -> a
    120:122:com.android.tools.r8.graph.DexField createField(com.android.tools.r8.references.FieldReference):2554:2556 -> a
    123:123:com.android.tools.r8.graph.DexField createField(com.android.tools.r8.references.FieldReference):2553:2553 -> a
    124:125: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):2561:2562 -> a
    126:126:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,java.util.List):2574:2574 -> a
    127:130:com.android.tools.r8.graph.DexProto prependTypeToProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto):2592:2595 -> a
    131:133:com.android.tools.r8.graph.DexProto prependTypeToProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto):2594:2596 -> a
    134:136:com.android.tools.r8.graph.DexProto appendTypeToProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2600:2602 -> a
    134:136:com.android.tools.r8.graph.DexProto lambda$createInstanceInitializerWithFreshProto$6(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2432 -> a
    137:140:com.android.tools.r8.graph.DexProto appendTypeToProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2601:2604 -> a
    137:140:com.android.tools.r8.graph.DexProto lambda$createInstanceInitializerWithFreshProto$6(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2432 -> a
    141:145:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2614:2618 -> a
    146:150:com.android.tools.r8.graph.DexType[] applyClassMappingToDexTypes(com.android.tools.r8.graph.DexType[],java.util.function.Function):2635:2639 -> a
    146:150:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2618 -> a
    151:151:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceFunction.put(java.lang.Object,java.lang.Object):41:41 -> a
    151:151:com.android.tools.r8.graph.DexType[] applyClassMappingToDexTypes(com.android.tools.r8.graph.DexType[],java.util.function.Function):2639 -> a
    151:151:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2618 -> a
    152:154:com.android.tools.r8.graph.DexType[] applyClassMappingToDexTypes(com.android.tools.r8.graph.DexType[],java.util.function.Function):2642:2644 -> a
    152:154:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2618 -> a
    155:161:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2619:2625 -> a
    162:166:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2624:2628 -> a
    167:168: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):2658:2659 -> a
    169:169:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.lang.String):2663:2663 -> a
    170:172:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.references.MethodReference):2667:2669 -> a
    173:183:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.references.MethodReference):2668:2678 -> a
    184:184:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.references.MethodReference):2673:2673 -> a
    185:185:void lambda$createMethod$7(com.android.tools.r8.graph.DexString[],com.android.tools.r8.references.TypeReference,int):2671:2671 -> a
    186:188: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):2695:2697 -> a
    189:189: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):2707:2707 -> a
    190:199: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[]):2715:2724 -> a
    200:202:com.android.tools.r8.graph.DexDebugEvent$AdvanceLine createAdvanceLine(int):2732:2734 -> a
    203:205:com.android.tools.r8.graph.DexDebugEvent$SetFile createSetFile(com.android.tools.r8.graph.DexString):2774:2776 -> a
    206:208:com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame createSetInlineFrame(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):2781:2783 -> a
    209:209:boolean isConstructor(com.android.tools.r8.graph.DexMethod):2796:2796 -> a
    210:217: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):2833:2840 -> a
    218:249: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):2839:2870 -> a
    250:255: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):2847:2852 -> a
    256:266:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AppView.isInterface(com.android.tools.r8.graph.DexType):313:323 -> a
    256:266: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):2853 -> a
    267:272: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):2853:2858 -> a
    273:287: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):2854:2868 -> a
    288:288:com.android.tools.r8.ir.analysis.type.InterfaceCollection getOrComputeLeastUpperBoundOfImplementedInterfaces(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):2875:2875 -> a
    289:290:com.android.tools.r8.ir.analysis.type.InterfaceCollection lambda$getOrComputeLeastUpperBoundOfImplementedInterfaces$10(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):2878:2879 -> a
    291:291:void forAllTypes(java.util.function.Consumer):2885:2885 -> a
    1:2:java.util.Map buildLibraryMethodsNonNullParamOrThrow():820:821 -> b
    3:3:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.requireNonNullMethods():1503:1503 -> b
    3:3:java.util.Map buildLibraryMethodsNonNullParamOrThrow():821 -> b
    4:7:java.util.Map buildLibraryMethodsNonNullParamOrThrow():821:824 -> b
    8:8:com.android.tools.r8.graph.DexString createString(java.lang.String):2174:2174 -> b
    9:9: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):2373:2373 -> b
    10:10:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType):2196:2196 -> b
    10:10: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):2373 -> b
    11:11: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):2373:2373 -> b
    12:12:java.util.Optional lambda$createInstanceInitializerWithFreshProto$5(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2409:2409 -> b
    13:13: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
    13:13:java.util.Optional lambda$createInstanceInitializerWithFreshProto$5(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2409 -> b
    14:14:java.util.Optional lambda$createInstanceInitializerWithFreshProto$5(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2409:2409 -> b
    15:15:com.android.tools.r8.graph.DexString lookupString(int,byte[]):2437:2437 -> b
    16:16:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2487:2487 -> b
    17:21:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2508:2512 -> b
    17:21:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2489 -> b
    22:22:boolean isPossiblyCompilerSynthesizedType(com.android.tools.r8.graph.DexType):2517:2517 -> b
    23:23:void forEachPossiblyCompilerSynthesizedType(java.util.function.Consumer):2521:2521 -> b
    24:27:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2566:2569 -> b
    28:33:com.android.tools.r8.graph.DexString createShorty(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2648:2653 -> b
    28:33:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2570 -> b
    34:34:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2567:2567 -> b
    35:35:com.android.tools.r8.graph.DexProto prependHolderToProto(com.android.tools.r8.graph.DexMethod):2584:2584 -> b
    36:38:com.android.tools.r8.graph.DexDebugEvent$AdvancePC createAdvancePC(int):2738:2740 -> b
    1:1:com.android.tools.r8.graph.DexType createSynthesizedType(java.lang.String):2496:2496 -> c
    2:6:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2508:2512 -> c
    2:6:com.android.tools.r8.graph.DexType createSynthesizedType(java.lang.String):2497 -> c
    7:11:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2508:2512 -> c
    7:11:void registerTypeNeededForDesugaring(com.android.tools.r8.graph.DexType):2504 -> c
    12:12:com.android.tools.r8.graph.DexType createType(com.android.tools.r8.graph.DexString):2526:2526 -> c
    13:15:com.android.tools.r8.graph.DexDebugEvent$Default createDefault(int):2744:2746 -> c
    16:18:void clearTypeElementsCache():2804:2806 -> c
    1:9:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):2460:2468 -> d
    10:10:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):2465:2465 -> d
    11:11:boolean isInternalSentinel(com.android.tools.r8.graph.DexItem):131:131 -> d
    11:11:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):2469 -> d
    12:13:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):2469:2470 -> d
    14:14:com.android.tools.r8.graph.DexType createType(java.lang.String):2530:2530 -> d
    15:17:com.android.tools.r8.graph.DexDebugEvent$EndLocal createEndLocal(int):2754:2756 -> d
    18:18:com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin createSetEpilogueBegin():2766:2766 -> d
    1:1:com.android.tools.r8.graph.DexString lookupString(java.lang.String):2441:2441 -> e
    2:2:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexString):2534:2534 -> e
    3:5:com.android.tools.r8.graph.DexDebugEvent$RestartLocal createRestartLocal(int):2760:2762 -> e
    6:6:com.android.tools.r8.graph.DexDebugEvent$SetOutlineFrame createSetOutlineFrame():2787:2787 -> e
    1:1:com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd createSetPrologueEnd():2770:2770 -> f
    1:5:java.util.List extractMarkers():2448:2452 -> g
    1:1:boolean getSkipNameValidationForTesting():902:902 -> h
    1:3:boolean verifyNoCachedTypeElements():2810:2812 -> i
com.android.tools.r8.graph.DexItemFactory$AndroidOsBuildMembers -> com.android.tools.r8.internal.ig:
    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):914:936 -> <init>
    1:17:void forEachFinalField(java.util.function.Consumer):940:956 -> a
com.android.tools.r8.graph.DexItemFactory$AndroidOsBuildVersionMembers -> com.android.tools.r8.internal.jg:
    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):960:967 -> <init>
    1:5:void forEachFinalField(java.util.function.Consumer):971:975 -> a
com.android.tools.r8.graph.DexItemFactory$AndroidOsBundleMembers -> com.android.tools.r8.internal.kg:
    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):979:983 -> <init>
    1:2:void forEachFinalField(java.util.function.Consumer):987:988 -> a
com.android.tools.r8.graph.DexItemFactory$AndroidSystemOsConstantsMembers -> com.android.tools.r8.internal.lg:
    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):992:995 -> <init>
    1:2:void forEachFinalField(java.util.function.Consumer):999:1000 -> a
com.android.tools.r8.graph.DexItemFactory$AndroidUtilSparseArrayMembers -> com.android.tools.r8.internal.mg:
    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):1027:1031 -> <init>
com.android.tools.r8.graph.DexItemFactory$AndroidViewViewMembers -> com.android.tools.r8.internal.ng:
    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):1004:1015 -> <init>
    1:5:void forEachFinalField(java.util.function.Consumer):1019:1023 -> a
com.android.tools.r8.graph.DexItemFactory$AssertionErrorMethods -> com.android.tools.r8.graph.q0:
    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):1324:1324 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.DexItemFactory):1328:1333 -> <init>
com.android.tools.r8.graph.DexItemFactory$AtomicFieldUpdaterMethods -> com.android.tools.r8.graph.r0:
    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):1772:1772 -> <init>
    2:21:void <init>(com.android.tools.r8.graph.DexItemFactory):1778:1797 -> <init>
    1:1:boolean isFieldUpdater(com.android.tools.r8.graph.DexMethod):1801:1801 -> a
com.android.tools.r8.graph.DexItemFactory$BooleanMembers -> com.android.tools.r8.graph.s0$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):1034:1034 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1049:1049 -> <init>
    3:14:void <init>(com.android.tools.r8.graph.DexItemFactory):1036:1047 -> <init>
    1:3:void forEachFinalField(java.util.function.Consumer):1053:1055 -> a
com.android.tools.r8.graph.DexItemFactory$BufferMembers -> com.android.tools.r8.internal.og:
    java.util.List bufferCovariantMethods -> a
    1:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1434:1445 -> <init>
com.android.tools.r8.graph.DexItemFactory$ByteMembers -> com.android.tools.r8.graph.t0:
    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):1059:1059 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1068:1068 -> <init>
    3:8:void <init>(com.android.tools.r8.graph.DexItemFactory):1061:1066 -> <init>
com.android.tools.r8.graph.DexItemFactory$CharMembers -> com.android.tools.r8.graph.u0:
    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):1071:1071 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1076:1076 -> <init>
    3:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1073:1074 -> <init>
com.android.tools.r8.graph.DexItemFactory$ClassMethods -> com.android.tools.r8.graph.v0:
    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):1508:1508 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1531:1531 -> <init>
    3:62:void <init>(com.android.tools.r8.graph.DexItemFactory):1513:1572 -> <init>
    1:1:boolean isReflectiveMemberLookup(com.android.tools.r8.graph.DexMethod):1580:1580 -> a
com.android.tools.r8.graph.DexItemFactory$ConstructorMethods -> com.android.tools.r8.graph.w0:
    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):1588:1588 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1592:1594 -> <init>
com.android.tools.r8.graph.DexItemFactory$DoubleMembers -> com.android.tools.r8.graph.x0:
    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):1256:1256 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1263:1263 -> <init>
    3:10:void <init>(com.android.tools.r8.graph.DexItemFactory):1260:1267 -> <init>
    11:11:void <init>(com.android.tools.r8.graph.DexItemFactory):1265:1265 -> <init>
com.android.tools.r8.graph.DexItemFactory$EnumMembers -> com.android.tools.r8.graph.y0:
    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>():1635:1635 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1635:1635 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1655:1655 -> <init>
    3:48:void <init>(com.android.tools.r8.graph.DexItemFactory):1637:1682 -> <init>
    1:2:void forEachField(java.util.function.Consumer):1686:1687 -> a
    3:4:boolean isEnumField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1695:1696 -> 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):1696 -> 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):1696 -> a
    1:3:boolean isValuesFieldCandidate(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1700:1702 -> 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):1703 -> 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):1704 -> b
com.android.tools.r8.graph.DexItemFactory$FloatMembers -> com.android.tools.r8.graph.z0:
    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):1079:1079 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1086:1086 -> <init>
    3:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1081:1084 -> <init>
    1:1:void forEachFinalField(java.util.function.Consumer):1090:1090 -> a
com.android.tools.r8.graph.DexItemFactory$IllegalArgumentExceptionMethods -> com.android.tools.r8.internal.pg:
    com.android.tools.r8.graph.DexMethod initWithMessage -> a
    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):1716:1720 -> <init>
    6:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1719:1719 -> <init>
com.android.tools.r8.graph.DexItemFactory$IntegerMembers -> com.android.tools.r8.internal.qg:
    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):1273:1278 -> <init>
    1:1:void forEachFinalField(java.util.function.Consumer):1282:1282 -> a
com.android.tools.r8.graph.DexItemFactory$JavaIoFileMembers -> com.android.tools.r8.internal.rg:
    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):1094:1097 -> <init>
    1:2:void forEachFinalField(java.util.function.Consumer):1101:1102 -> a
com.android.tools.r8.graph.DexItemFactory$JavaLangAnnotationRetentionPolicyMembers -> com.android.tools.r8.graph.A0:
    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):1602:1602 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1608:1608 -> <init>
    3:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1604:1605 -> <init>
com.android.tools.r8.graph.DexItemFactory$JavaLangReflectArrayMembers -> com.android.tools.r8.graph.B0:
    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):1611:1611 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1619:1619 -> <init>
    3:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1613:1616 -> <init>
    7:7:void <init>(com.android.tools.r8.graph.DexItemFactory):1614:1614 -> <init>
com.android.tools.r8.graph.DexItemFactory$JavaLangSystemMethods -> com.android.tools.r8.graph.C0:
    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):1622:1622 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1632:1632 -> <init>
    3:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1624:1627 -> <init>
    7:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1625:1630 -> <init>
com.android.tools.r8.graph.DexItemFactory$JavaMathBigIntegerMembers -> com.android.tools.r8.internal.sg:
    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):1106:1110 -> <init>
    1:2:void forEachFinalField(java.util.function.Consumer):1114:1115 -> a
com.android.tools.r8.graph.DexItemFactory$JavaNioByteOrderMembers -> com.android.tools.r8.internal.tg:
    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):1119:1124 -> <init>
    1:2:void forEachFinalField(java.util.function.Consumer):1128:1129 -> a
com.android.tools.r8.graph.DexItemFactory$JavaUtilArraysMethods -> com.android.tools.r8.graph.D0:
    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):1133:1133 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1138:1142 -> <init>
    7:13:void <init>(com.android.tools.r8.graph.DexItemFactory):1140:1146 -> <init>
com.android.tools.r8.graph.DexItemFactory$JavaUtilComparatorMembers -> com.android.tools.r8.internal.ug:
    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):1154:1159 -> <init>
    1:2:void forEachFinalField(java.util.function.Consumer):1163:1164 -> a
com.android.tools.r8.graph.DexItemFactory$JavaUtilConcurrentTimeUnitMembers -> com.android.tools.r8.internal.vg:
    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):1168:1183 -> <init>
    1:7:void forEachFinalField(java.util.function.Consumer):1187:1193 -> a
com.android.tools.r8.graph.DexItemFactory$JavaUtilLocaleMembers -> com.android.tools.r8.internal.wg:
    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):1197:1201 -> <init>
    1:3:void forEachFinalField(java.util.function.Consumer):1205:1207 -> a
com.android.tools.r8.graph.DexItemFactory$JavaUtilLoggingLevelMembers -> com.android.tools.r8.internal.xg:
    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):1211:1224 -> <init>
    1:6:void forEachFinalField(java.util.function.Consumer):1228:1233 -> a
com.android.tools.r8.graph.DexItemFactory$LibraryMembers -> com.android.tools.r8.internal.yg:
    1:1:void <init>():909:909 -> <init>
    void forEachFinalField(java.util.function.Consumer) -> a
com.android.tools.r8.graph.DexItemFactory$LongMembers -> com.android.tools.r8.graph.E0:
    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):1237:1237 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1245:1245 -> <init>
    3:11:void <init>(com.android.tools.r8.graph.DexItemFactory):1239:1247 -> <init>
    12:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1246:1246 -> <init>
    1:1:void forEachFinalField(java.util.function.Consumer):1252:1252 -> a
com.android.tools.r8.graph.DexItemFactory$NullPointerExceptionMethods -> com.android.tools.r8.internal.zg:
    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):1708:1713 -> <init>
com.android.tools.r8.graph.DexItemFactory$ObjectMembers -> com.android.tools.r8.graph.s0$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):1361:1361 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1390:1390 -> <init>
    3:47:void <init>(com.android.tools.r8.graph.DexItemFactory):1367:1411 -> <init>
    1:12:boolean isObjectMember(com.android.tools.r8.graph.DexMethod):1419:1430 -> a
com.android.tools.r8.graph.DexItemFactory$ObjectMethodsMembers -> com.android.tools.r8.internal.Ag:
    com.android.tools.r8.graph.DexMethod bootstrap -> a
    1:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1346:1357 -> <init>
    13:13:void <init>(com.android.tools.r8.graph.DexItemFactory):1350:1350 -> <init>
    14:14:void <init>(com.android.tools.r8.graph.DexItemFactory):1348:1348 -> <init>
com.android.tools.r8.graph.DexItemFactory$ObjectsMethods -> com.android.tools.r8.graph.s0$c:
    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):1448:1448 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1474:1474 -> <init>
    3:16:void <init>(com.android.tools.r8.graph.DexItemFactory):1450:1463 -> <init>
    17:22:void <init>(com.android.tools.r8.graph.DexItemFactory):1462:1467 -> <init>
    23:39:void <init>(com.android.tools.r8.graph.DexItemFactory):1465:1481 -> <init>
    40:47:void <init>(com.android.tools.r8.graph.DexItemFactory):1479:1486 -> <init>
    48:48:void <init>(com.android.tools.r8.graph.DexItemFactory):1484:1484 -> <init>
com.android.tools.r8.graph.DexItemFactory$PolymorphicMethods -> com.android.tools.r8.internal.Bg:
    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>():2035:2035 -> <clinit>
    1:36:void <init>(com.android.tools.r8.graph.DexItemFactory):2035:2070 -> <init>
    1:14:com.android.tools.r8.graph.DexMethod canonicalize(com.android.tools.r8.graph.DexMethod):2079:2092 -> a
    15:20:java.util.Set createStrings(java.lang.String[]):2097:2102 -> a
    1:7:boolean isPolymorphicInvoke(com.android.tools.r8.graph.DexMethod):2106:2112 -> b
com.android.tools.r8.graph.DexItemFactory$PrimitiveTypesBoxedTypeFields -> com.android.tools.r8.graph.F0:
    java.util.Map boxedFieldTypeToPrimitiveType -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1729:1729 -> <init>
    2:21:void <init>(com.android.tools.r8.graph.DexItemFactory):1741:1760 -> <init>
    1:1:com.android.tools.r8.graph.DexType boxedFieldTypeToPrimitiveType(com.android.tools.r8.graph.DexField):1764:1764 -> a
com.android.tools.r8.graph.DexItemFactory$ProxyMethods -> com.android.tools.r8.graph.G0:
    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):2118:2118 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.DexItemFactory):2122:2127 -> <init>
    8:8:void <init>(com.android.tools.r8.graph.DexItemFactory):2124:2124 -> <init>
com.android.tools.r8.graph.DexItemFactory$RecordMembers -> com.android.tools.r8.internal.Cg:
    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):1338:1343 -> <init>
com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods -> com.android.tools.r8.graph.H0:
    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):2131:2131 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.DexItemFactory):2138:2144 -> <init>
    9:17:void <init>(com.android.tools.r8.graph.DexItemFactory):2142:2150 -> <init>
    18:23:void <init>(com.android.tools.r8.graph.DexItemFactory):2147:2152 -> <init>
com.android.tools.r8.graph.DexItemFactory$ShortMembers -> com.android.tools.r8.graph.I0:
    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):1805:1805 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1810:1810 -> <init>
    3:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1807:1808 -> <init>
com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods -> com.android.tools.r8.graph.J0:
    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>():1899:1899 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory$1):1899:1899 -> <init>
    2:48:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):1923:1969 -> <init>
    1:1:java.util.Set access$2500(com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods):1899:1899 -> a
    2:2:boolean isAppendMethod(com.android.tools.r8.graph.DexMethod):1976:1976 -> a
    3:29:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):1997:2023 -> 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":2054,"2":2055,"3":2056}}
    2054:2054:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):2023:2023 -> a
    2055:2055:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):2023:2023 -> a
    2056:2056:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):2023:2023 -> a
    2053:2053:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):2023:2023 -> a
    1:1:boolean isAppendPrimitiveMethod(com.android.tools.r8.graph.DexMethod):1984:1984 -> b
com.android.tools.r8.graph.DexItemFactory$StringConcatFactoryMembers -> com.android.tools.r8.internal.Dg:
    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):1286:1292 -> <init>
    8:17:void <init>(com.android.tools.r8.graph.DexItemFactory):1289:1298 -> <init>
    18:18:void <init>(com.android.tools.r8.graph.DexItemFactory):1294:1294 -> <init>
com.android.tools.r8.graph.DexItemFactory$StringMembers -> com.android.tools.r8.graph.s0$d:
    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):1813:1813 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1845:1845 -> <init>
    3:77:void <init>(com.android.tools.r8.graph.DexItemFactory):1815:1889 -> <init>
    1:1:void forEachFinalField(java.util.function.Consumer):1895:1895 -> a
com.android.tools.r8.graph.DexItemFactory$SupplierMembers -> com.android.tools.r8.graph.K0:
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):2028:2028 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):2032:2032 -> <init>
    3:3:void <init>(com.android.tools.r8.graph.DexItemFactory):2030:2030 -> <init>
com.android.tools.r8.graph.DexItemFactory$ThrowableMethods -> com.android.tools.r8.graph.s0$e:
    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):1301:1301 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1308:1310 -> <init>
    5:8:void <init>(com.android.tools.r8.graph.DexItemFactory):1309:1312 -> <init>
    9:16:void <init>(com.android.tools.r8.graph.DexItemFactory):1311:1318 -> <init>
    17:17:void <init>(com.android.tools.r8.graph.DexItemFactory):1316:1316 -> <init>
com.android.tools.r8.graph.DexLibraryClass -> com.android.tools.r8.graph.L0:
    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() -> H
    com.android.tools.r8.graph.DexLibraryClass asLibraryClass() -> T
    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 -> f0
    2:2:java.lang.String toSourceString():0:0 -> f0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5,"4":6}}
    3:3:java.lang.String toSourceString():109:109 -> f0
    4:4:java.lang.String toSourceString():109:109 -> f0
    5:5:java.lang.String toSourceString():109:109 -> f0
    6:6:java.lang.String toSourceString():109:109 -> f0
    boolean isNotProgramClass() -> o1
    1:1:java.lang.String toString():104:104 -> toString
com.android.tools.r8.graph.DexMember -> com.android.tools.r8.graph.M0:
    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>
    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() -> i0
    1:1:com.android.tools.r8.graph.DexType getHolderType():41:41 -> o0
    1:1:com.android.tools.r8.graph.DexString getName():45:45 -> p0
    java.lang.Iterable getReferencedTypes() -> q0
    1:1:com.android.tools.r8.graph.DexType getContextType():37:37 -> y
com.android.tools.r8.graph.DexMemberAnnotation -> com.android.tools.r8.graph.N0:
    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.Eg:
    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.Fg:
    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.Gg:
    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.O0:
    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>
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    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
    14:14:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    14:14:java.lang.Iterable com.android.tools.r8.graph.DexProto.getTypes():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:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):68:68 -> a
    16:21:com.android.tools.r8.graph.DexType getArgumentType(int,boolean):73:78 -> a
    22:22:java.lang.Object apply(java.util.function.Function,java.util.function.Function):103:103 -> a
    23:23:java.lang.Object apply(java.util.function.Function,java.util.function.Function,java.util.function.Function):111:111 -> a
    24:24:void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):119:119 -> a
    25:25:com.android.tools.r8.graph.ProgramMethod lookupOnProgramClass(com.android.tools.r8.graph.DexProgramClass):143:143 -> a
    26:26:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):178:178 -> a
    27:27:void collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193:193 -> a
    27:27:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    28:28:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    28:28:void collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193 -> a
    28:28:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    29:29:int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):198:198 -> a
    30:30:boolean match(com.android.tools.r8.graph.DexEncodedMethod):247:247 -> a
    31:45:java.lang.String toSourceString(boolean,boolean):273:287 -> a
    46:46: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):2796:2796 -> 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):579:579 -> 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):583:583 -> b
    199:199:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.DexClass.lookupClassMethod(com.android.tools.r8.graph.DexMethod):579 -> 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):573:573 -> 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):588:588 -> c
    2:2:com.android.tools.r8.graph.DexEncodedMember com.android.tools.r8.graph.DexClass.lookupMember(com.android.tools.r8.graph.DexMember):573 -> 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:java.lang.String toSmaliString():256:256 -> e0
    2:2:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> e0
    2:2:java.lang.String com.android.tools.r8.graph.DexProto.toSmaliString():114 -> e0
    2:2:java.lang.String toSmaliString():256 -> e0
    3:3:java.lang.String toSmaliString():256:256 -> e0
    1:1:java.lang.String toSourceString():261:261 -> f0
    1:1:int computeHashCode():218:218 -> g0
    1:5:boolean computeEquals(java.lang.Object):223:227 -> h
    1:1:com.android.tools.r8.graph.DexType getParameter(int):86:86 -> i
    com.android.tools.r8.graph.DexMethod asDexMethod() -> j0
    boolean isDexMethod() -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():51:51 -> n
    1:1:java.lang.Iterable getReferencedTypes():213:213 -> q0
    2:2:java.lang.Iterable com.android.tools.r8.graph.DexProto.getTypes():74:74 -> q0
    2:2:java.lang.Iterable getReferencedTypes():213 -> q0
    3:3:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> q0
    3:3:java.lang.Iterable com.android.tools.r8.graph.DexProto.getTypes():74 -> q0
    3:3:java.lang.Iterable getReferencedTypes():213 -> q0
    1:12:com.android.tools.r8.references.MethodReference asMethodReference():152:163 -> r0
    13:13:com.android.tools.r8.references.MethodReference asMethodReference():161:161 -> r0
    1:1:int getArity():169:169 -> s0
    1:1:com.android.tools.r8.graph.DexTypeList getParameters():90:90 -> t0
    1:1:java.lang.String toString():148:148 -> toString
    1:1:com.android.tools.r8.graph.DexProto getProto():94:94 -> u0
    1:1:com.android.tools.r8.graph.DexType getReturnType():98:98 -> v0
    1:1:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexMethod):17:17 -> w0
    1:1:com.android.tools.r8.graph.DexMethodSignature getSignature():173 -> w0
    1:1:java.lang.String qualifiedName():251:251 -> x0
    1:1:java.lang.String toSourceStringWithoutHolder():265:265 -> y0
com.android.tools.r8.graph.DexMethodHandle -> com.android.tools.r8.graph.Q0:
    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() -> L
    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":65,"2":66,"3":67}}
    65:65: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
    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):221 -> a
    66:66: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
    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):221 -> a
    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
    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
    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
    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):226:226 -> a
    63:63: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
    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 -> a
    64:64: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):2686:2686 -> 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 -> 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
    68:79:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):258:269 -> a
    80:80:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193:193 -> a
    80:80:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):269 -> a
    81:81:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    81:81:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193 -> a
    81:81:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):269 -> a
    82:82:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):272:272 -> a
    83:83:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):178:178 -> a
    83:83:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):272 -> a
    84:84:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193:193 -> a
    84:84:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    84:84:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):272 -> a
    85:85:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    85:85:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):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:int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):280:280 -> a
    87:87:boolean isMethodHandle():294:294 -> a
    87:87:com.android.tools.r8.org.objectweb.asm.Handle toAsmHandle(com.android.tools.r8.naming.NamingLens):338 -> a
    88:102:com.android.tools.r8.org.objectweb.asm.Handle toAsmHandle(com.android.tools.r8.naming.NamingLens):339:353 -> a
    103:103:boolean isFieldHandle():290:290 -> a
    103:103:com.android.tools.r8.org.objectweb.asm.Handle toAsmHandle(com.android.tools.r8.naming.NamingLens):353 -> a
    104:111:com.android.tools.r8.org.objectweb.asm.Handle toAsmHandle(com.android.tools.r8.naming.NamingLens):353:360 -> a
    112:133:int getAsmTag():364:385 -> a
    112:133:com.android.tools.r8.org.objectweb.asm.Handle toAsmHandle(com.android.tools.r8.naming.NamingLens):360 -> a
    134:134:com.android.tools.r8.org.objectweb.asm.Handle toAsmHandle(com.android.tools.r8.naming.NamingLens):360:360 -> a
    135:135:int lambda$specify$0(com.android.tools.r8.graph.DexMethodHandle):322:322 -> a
    136:140: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:1:java.lang.String toSmaliString():286:286 -> e0
    1:1:int computeHashCode():231:231 -> g0
    1:6:boolean computeEquals(java.lang.Object):236:241 -> h
    1:1:com.android.tools.r8.graph.DexField asField():307:307 -> h0
    2:2:boolean isFieldHandle():290:290 -> h0
    2:2:com.android.tools.r8.graph.DexField asField():307 -> h0
    3:4:com.android.tools.r8.graph.DexField asField():307:308 -> h0
    1:1:com.android.tools.r8.graph.DexMethod asMethod():302:302 -> i0
    2:2:boolean isMethodHandle():294:294 -> i0
    2:2:com.android.tools.r8.graph.DexMethod asMethod():302 -> i0
    3:4:com.android.tools.r8.graph.DexMethod asMethod():302:303 -> i0
    1:1:boolean isFieldHandle():290:290 -> j0
    1:1:boolean isMethodHandle():294:294 -> k0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():318:318 -> n
    1:7:java.lang.String toString():248:254 -> toString
com.android.tools.r8.graph.DexMethodHandle$MethodHandleType -> com.android.tools.r8.graph.P0:
    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
    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:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):79:79 -> c
    2:2:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):76:76 -> c
    3:3:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):73:73 -> c
    4:4:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):70:70 -> c
    5:5:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):67:67 -> c
    6:6:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):64:64 -> c
    7:7:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):61:61 -> c
    8:8:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):58:58 -> c
    9:9:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):55:55 -> c
    10:10:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):52:52 -> c
    11:44:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):49:82 -> c
    45:45:short getValue():41:41 -> c
    45:45:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):82 -> c
    46:46:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):82:82 -> c
    47:47: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.T0:
    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):46:46 -> a
    2:2:com.android.tools.r8.graph.DexMethodSignature withName(com.android.tools.r8.graph.DexString):50:50 -> 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):50 -> a
    com.android.tools.r8.graph.DexProto getProto() -> b
    1:3:boolean equals(java.lang.Object):68:70 -> equals
    1:1:int hashCode():75:75 -> hashCode
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():42:42 -> n
    1:1:java.lang.String toString():85:85 -> toString
    2:2:com.android.tools.r8.graph.DexType getReturnType():37:37 -> toString
    2:2:java.lang.String toString():87 -> 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():37 -> toString
    3:3:java.lang.String toString():87 -> toString
    4:7:java.lang.String toString():87:90 -> toString
    8:8:int getArity():29:29 -> toString
    8:8:java.lang.String toString():91 -> toString
    9:9:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> toString
    9:9:int getArity():29 -> toString
    9:9:java.lang.String toString():91 -> toString
    10:10:java.lang.String toString():93:93 -> toString
    11:11:com.android.tools.r8.graph.DexType getParameter(int):33:33 -> toString
    11:11:java.lang.String toString():95 -> toString
    12:14:java.lang.String toString():95:97 -> toString
com.android.tools.r8.graph.DexMethodSignature$MethodBased -> com.android.tools.r8.graph.R0:
    com.android.tools.r8.graph.DexMethod method -> c
    1:2:void <init>(com.android.tools.r8.graph.DexMethod):104:105 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    1:1:com.android.tools.r8.graph.DexString getName():110:110 -> a
    1:1:com.android.tools.r8.graph.DexProto getProto():115:115 -> b
com.android.tools.r8.graph.DexMethodSignature$NameAndProtoBased -> com.android.tools.r8.graph.S0:
    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):124:126 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    1:1:com.android.tools.r8.graph.DexString getName():131:131 -> a
    1:1:com.android.tools.r8.graph.DexProto getProto():136:136 -> b
com.android.tools.r8.graph.DexProgramClass -> com.android.tools.r8.graph.V0:
    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:com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier getChecksumSupplier():825:825 -> A1
    1:1:com.android.tools.r8.cf.CfVersion getInitialClassFileVersion():747:747 -> B1
    1:1:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo():483:483 -> C1
    1:1:com.android.tools.r8.ProgramResource$Kind getOriginKind():365:365 -> D1
    1:1:com.android.tools.r8.graph.ProgramMethod getProgramClassInitializer():286:286 -> E1
    2:2:com.android.tools.r8.graph.ProgramMethod toProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):325:325 -> E1
    2:2:com.android.tools.r8.graph.ProgramMethod getProgramClassInitializer():286 -> E1
    1:1:com.android.tools.r8.graph.ProgramMethod getProgramDefaultInitializer():290:290 -> F1
    2:2:com.android.tools.r8.graph.ProgramMethod getProgramInitializer(com.android.tools.r8.graph.DexType[]):294:294 -> F1
    2:2:com.android.tools.r8.graph.ProgramMethod getProgramDefaultInitializer():290 -> F1
    3:3:com.android.tools.r8.graph.ProgramMethod toProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):325:325 -> F1
    3:3:com.android.tools.r8.graph.ProgramMethod getProgramInitializer(com.android.tools.r8.graph.DexType[]):294 -> F1
    3:3:com.android.tools.r8.graph.ProgramMethod getProgramDefaultInitializer():290 -> F1
    1:1:boolean hasClassFileVersion():743:743 -> G1
    1:1:boolean hasClassOrMemberAnnotations():606:606 -> H1
    2:3:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):625:626 -> H1
    2:3:boolean hasClassOrMemberAnnotations():607 -> H1
    4:6:boolean hasClassOrMemberAnnotations():607:609 -> H1
    7:7:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):627:627 -> H1
    7:7:boolean hasClassOrMemberAnnotations():607 -> H1
    1:1:boolean hasFields():593:593 -> I1
    1:1:boolean hasMethods():597:597 -> J1
    1:1:boolean hasOnlyInternalizableAnnotations():613:613 -> K1
    2:3:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):625:626 -> K1
    2:3:boolean hasOnlyInternalizableAnnotations():613 -> K1
    4:6:boolean hasOnlyInternalizableAnnotations():613:615 -> K1
    7:7:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):627:627 -> K1
    7:7:boolean hasOnlyInternalizableAnnotations():613 -> K1
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    1:1:boolean isDeprecated():755:755 -> L1
    1:1:boolean originatesFromClassResource():373:373 -> M1
    1:1:boolean originatesFromDexResource():369:369 -> N1
    1:1:java.lang.Iterable programInstanceInitializers():252:252 -> O1
    1:1:void setDeprecated():751:751 -> P1
    1:5:com.android.tools.r8.synthesis.SyntheticMarker stripSyntheticInputMarker():172:176 -> Q1
    com.android.tools.r8.graph.DexProgramClass asProgramClass() -> R
    1:1:java.lang.Iterable virtualProgramMethods():243:243 -> R1
    boolean isProgramClass() -> U
    1:1:void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):153:153 -> a
    2:16:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):181:195 -> a
    17:17:boolean lambda$forEachProgramInstanceInitializerMatching$19(java.util.function.Predicate,com.android.tools.r8.graph.DexEncodedMethod):272:272 -> a
    18:18:com.android.tools.r8.utils.TraversalContinuation lambda$traverseProgramFields$21(java.util.function.Function,com.android.tools.r8.graph.DexEncodedField):341:341 -> a
    19:19:com.android.tools.r8.utils.TraversalContinuation lambda$traverseProgramMethods$22(java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod):346:346 -> a
    20:21:com.android.tools.r8.utils.TraversalContinuation traverseProgramMethods(java.util.function.Function,java.util.function.Predicate):356:357 -> a
    22:24: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
    25:26:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):378:379 -> a
    27:27:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    27:27:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):379 -> a
    28:28: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":1204,"2":1205,"3":1206}}
    1204:1204:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    1204:1204:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):379 -> a
    1205:1205:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    1205:1205:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):379 -> a
    1206:1206:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    1206:1206:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    1206:1206:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):379 -> a
    408:408:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):380:380 -> a
    409:409:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    409:409:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):381 -> a
    410:410: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":1207,"2":1208,"3":1209}}
    1207:1207:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    1207:1207:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):381 -> a
    1208:1208:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    1208:1208:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):381 -> a
    1209:1209:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    1209:1209:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    1209:1209:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):381 -> a
    793:795:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):383:385 -> a
    796:796:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    796:796:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):386 -> a
    797:798:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):388:389 -> a
    799:800:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):113:114 -> a
    799:800:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):390 -> a
    801:801:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    801:801:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):114 -> a
    801:801:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):390 -> a
    802:802: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":1210,"2":1211,"3":1212}}
    1210:1210:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    1210:1210:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):114 -> a
    1210:1210:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):390 -> a
    1211:1211:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    1211:1211:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):114 -> a
    1211:1211:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):390 -> a
    1212:1212:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    1212:1212:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    1212:1212:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):114 -> a
    1212:1212:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):390 -> a
    1194:1201:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):392:399 -> a
    1202:1202:void forEachProgramField(java.util.function.Consumer):199:199 -> a
    1202:1202:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):399 -> a
    1203:1203:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):400:400 -> a
    1213:1213:void lambda$collectIndexedItems$24(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramField):399:399 -> a
    1214:1218:void com.android.tools.r8.graph.ProgramField.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):18:22 -> a
    1214:1218:void lambda$collectIndexedItems$24(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramField):399 -> a
    1219:1219: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:400 -> a
    1220:1222: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):60:62 -> a
    1220:1222: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
    1223:1223:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):178:178 -> a
    1223:1223: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):62 -> a
    1223:1223: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
    1224:1224:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193:193 -> a
    1224:1224:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    1224:1224: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):62 -> a
    1224:1224: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
    1225:1225:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    1225:1225:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193 -> a
    1225:1225:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    1225:1225: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):62 -> a
    1225:1225: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
    1226:1231: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:68 -> a
    1226:1231: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
    1232:1236:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):406:410 -> a
    1237:1237:void lambda$addDependencies$26(com.android.tools.r8.dex.MixedSectionCollection,com.android.tools.r8.graph.DexEncodedMethod):422:422 -> a
    1238:1238:void com.android.tools.r8.graph.DexEncodedMethod.collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):779:779 -> a
    1238:1238:void lambda$addDependencies$26(com.android.tools.r8.dex.MixedSectionCollection,com.android.tools.r8.graph.DexEncodedMethod):422 -> a
    1239:1239:com.android.tools.r8.graph.DexProgramClass asProgramClassOrNull(com.android.tools.r8.graph.DexClass):473:473 -> a
    1240:1242:void setKotlinInfo(com.android.tools.r8.kotlin.KotlinClassLevelInfo):487:489 -> a
    1243:1247:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):502:506 -> a
    1248:1255:boolean internalClassMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):516:523 -> a
    1248:1255:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):508 -> a
    1256:1256:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):578:578 -> a
    1256:1256:boolean internalClassMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):524 -> a
    1256:1256:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):508 -> a
    1257:1259: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
    1257:1259:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):579 -> a
    1257:1259:boolean internalClassMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):524 -> a
    1257:1259:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):508 -> a
    1260:1261:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):583:584 -> a
    1260:1261:boolean internalClassMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):524 -> a
    1260:1261:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):508 -> a
    1262:1264: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
    1262:1264:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):584 -> a
    1262:1264:boolean internalClassMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):524 -> a
    1262:1264:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):508 -> a
    1265:1265: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
    1266:1268:boolean hasNonDefaultStaticFieldValues():655:657 -> a
    1266:1268:com.android.tools.r8.graph.DexEncodedArray computeStaticValuesArray(com.android.tools.r8.naming.NamingLens):632 -> a
    1269:1269:boolean com.android.tools.r8.graph.DexValue.isDefault(com.android.tools.r8.graph.DexType):412:412 -> a
    1269:1269:boolean hasNonDefaultStaticFieldValues():657 -> a
    1269:1269:com.android.tools.r8.graph.DexEncodedArray computeStaticValuesArray(com.android.tools.r8.naming.NamingLens):632 -> a
    1270:1280:com.android.tools.r8.graph.DexEncodedArray computeStaticValuesArray(com.android.tools.r8.naming.NamingLens):635:645 -> a
    1281:1281:boolean com.android.tools.r8.graph.DexValue.isDefault(com.android.tools.r8.graph.DexType):412:412 -> a
    1281:1281:com.android.tools.r8.graph.DexEncodedArray computeStaticValuesArray(com.android.tools.r8.naming.NamingLens):645 -> a
    1282:1282:com.android.tools.r8.graph.DexEncodedArray computeStaticValuesArray(com.android.tools.r8.naming.NamingLens):650:650 -> a
    1283:1284:void downgradeInitialClassFileVersion(com.android.tools.r8.cf.CfVersion):738:739 -> a
    1285:1285:java.lang.Iterable asProgramClasses(java.lang.Iterable,com.android.tools.r8.graph.DexDefinitionSupplier):779:779 -> a
    1286:1286:java.util.Iterator lambda$asProgramClasses$28(java.lang.Iterable,com.android.tools.r8.graph.DexDefinitionSupplier):780:780 -> a
    1287:1287:long invalidChecksumRequest(com.android.tools.r8.graph.DexProgramClass):812:812 -> a
    1288:1288:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    1288:1288:long invalidChecksumRequest(com.android.tools.r8.graph.DexProgramClass):812 -> a
    1289:1289:long invalidChecksumRequest(com.android.tools.r8.graph.DexProgramClass):812:812 -> a
    com.android.tools.r8.graph.DexClass getContextClass() -> b
    com.android.tools.r8.graph.DexProgramClass getContextClass() -> b
    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:17:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):423:426 -> b
    18:19:void com.android.tools.r8.graph.DexAnnotationSet.collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):127:128 -> b
    18:19:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):426 -> b
    20:20:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):427:427 -> b
    21:21:void com.android.tools.r8.graph.DexTypeList.collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):120:120 -> b
    21:21:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):428 -> b
    22:40:boolean internalInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):547:565 -> b
    41:41:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):578:578 -> b
    41:41:boolean internalInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):569 -> b
    42:44: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
    42:44:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):579 -> b
    42:44:boolean internalInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):569 -> b
    45:46:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):583:584 -> b
    45:46:boolean internalInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):569 -> b
    47:49: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
    47:49:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):584 -> b
    47:49:boolean internalInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):569 -> b
    50:50:boolean com.android.tools.r8.graph.DexClass.isFinal():656:656 -> b
    50:50:boolean isEffectivelyFinal(com.android.tools.r8.graph.AppView):448 -> b
    51:57:boolean isEffectivelyFinal(com.android.tools.r8.graph.AppView):451:457 -> b
    58:60: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
    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
    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
    1:1:java.lang.String toSourceString():439:439 -> f0
    1:1:com.android.tools.r8.cf.CfVersion lambda$specify$5(com.android.tools.r8.graph.DexProgramClass):186:186 -> g
    2:2:void forEachProgramInstanceField(java.util.function.Consumer):208:208 -> g
    3:3:void forEachProgramMethodMatching(java.util.function.Predicate,java.util.function.Consumer):226:226 -> g
    4:4:com.android.tools.r8.graph.ProgramMethod lambda$virtualProgramMethods$16(com.android.tools.r8.graph.DexEncodedMethod):243:243 -> g
    com.android.tools.r8.graph.DexDefinition getDefinition() -> h
    1:1:boolean lambda$specify$6(com.android.tools.r8.graph.DexProgramClass):187:187 -> h
    2:2:void forEachProgramField(java.util.function.Consumer):199:199 -> h
    2:2:void forEachProgramMember(java.util.function.Consumer):216 -> h
    3:3:void forEachProgramMember(java.util.function.Consumer):217:217 -> h
    4:4:void forEachProgramVirtualMethodMatching(java.util.function.Predicate,java.util.function.Consumer):281:281 -> h
    1:1:boolean lambda$specify$7(com.android.tools.r8.graph.DexProgramClass):192:192 -> i
    2:2:void forEachProgramMethod(java.util.function.Consumer):221:221 -> i
    1:1:com.android.tools.r8.graph.DexEncodedField[] lambda$specify$8(com.android.tools.r8.graph.DexProgramClass):193:193 -> j
    1:1:com.android.tools.r8.graph.DexEncodedField[] lambda$specify$9(com.android.tools.r8.graph.DexProgramClass):194:194 -> k
    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() -> o1
    1:1:java.lang.String toString():434:434 -> toString
    1:1:void clearKotlinInfo():493:493 -> x1
    1:1:com.android.tools.r8.graph.DexType getContextType():723:723 -> y
    1:1:java.lang.Iterable directProgramMethods():235:235 -> y1
    1:1:long getChecksum():821:821 -> z1
com.android.tools.r8.graph.DexProgramClass$1 -> com.android.tools.r8.graph.U0:
    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 -> l
    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.V0$a:
    long getChecksum(com.android.tools.r8.graph.DexProgramClass) -> a
com.android.tools.r8.graph.DexProto -> com.android.tools.r8.graph.W0:
    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() -> L
    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 forEachType(java.util.function.Consumer):78:79 -> a
    145:146:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):100:101 -> a
    147:147:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    147:147:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):101 -> a
    148:148:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):102:102 -> a
    149:149:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    149:149:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):102 -> a
    150:150:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":258,"2":259,"3":260}}
    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.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    259:259:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):102 -> a
    260:260:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    260:260:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    260:260:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):102 -> a
    253:253:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):103:103 -> a
    254:255:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):113:114 -> a
    254:255:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):103 -> a
    256:256:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):245:245 -> a
    256:256:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):114 -> a
    256:256:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):103 -> a
    257:257:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":261,"2":262,"3":263}}
    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.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246: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:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    263:263:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    263:263:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):114 -> a
    263:263:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):103 -> a
    264:264: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:1:java.lang.String toDescriptorString():118:118 -> e0
    1:1:java.lang.String toSmaliString():114 -> e0
    1:1:int computeHashCode():58:58 -> g0
    1:5:boolean computeEquals(java.lang.Object):47:51 -> h
    1:1:com.android.tools.r8.graph.DexType getReturnType():62:62 -> h0
    1:1:com.android.tools.r8.graph.DexType getParameter(int):83:83 -> i
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():37:37 -> n
    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.X0:
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>():14:14 -> <init>
    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() -> h0
    com.android.tools.r8.graph.DexMember asDexMember() -> i0
    com.android.tools.r8.graph.DexMethod asDexMethod() -> j0
    com.android.tools.r8.graph.DexType asDexType() -> k0
    boolean isDexField() -> l0
    boolean isDexMethod() -> m0
    1:1:boolean isDexType():0:0 -> n0
    1:1:int referenceTypeOrder():87 -> n0
    2:5:int referenceTypeOrder():90:93 -> n0
    com.android.tools.r8.graph.DexType getContextType() -> y
com.android.tools.r8.graph.DexString -> com.android.tools.r8.graph.Z0:
    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() -> L
    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:1:int computeHashCode():115:115 -> g0
    1:3:boolean computeEquals(java.lang.Object):120:122 -> h
    1:3:java.lang.String decode():145:147 -> h0
    1:32:int decodedHashCode():191:222 -> i0
    33:46:int decodedHashCode():205:218 -> i0
    1:11:java.lang.String dump():430:440 -> j0
    1:1:boolean isValidClassDescriptor():396:396 -> k0
    2:13:boolean isValidClassDescriptor(java.lang.String):314:325 -> k0
    2:13:boolean isValidClassDescriptor():396 -> k0
    14:14:boolean isValidClassDescriptor(java.lang.String):323:323 -> k0
    14:14:boolean isValidClassDescriptor():396 -> k0
    1:1:boolean isValidFieldName():388:388 -> l0
    2:18:boolean isValidFieldName(java.lang.String):355:371 -> l0
    2:18:boolean isValidFieldName():388 -> l0
    19:19:boolean isValidFieldName(java.lang.String):369:369 -> l0
    19:19:boolean isValidFieldName():388 -> l0
    1:1:boolean isValidMethodName():380:380 -> m0
    2:16:boolean isValidMethodName(java.lang.String):333:347 -> m0
    2:16:boolean isValidMethodName():380 -> m0
    17:17:boolean isValidMethodName(java.lang.String):345:345 -> m0
    17:17:boolean isValidMethodName():380 -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():50:50 -> n
    1:1:com.android.tools.r8.utils.ThrowingCharIterator iterator():74:74 -> n0
    1:3:java.lang.String toASCIIString():138:140 -> o0
    1:3:java.lang.String toString():130:132 -> toString
com.android.tools.r8.graph.DexString$1 -> com.android.tools.r8.graph.Y0:
    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.a1:
    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:boolean isBooleanType():280:280 -> A0
    1:1:boolean isClassType():323:323 -> B0
    1:1:boolean isDoubleType():308:308 -> C0
    1:1:boolean isFloatType():300:300 -> D0
    1:1:boolean isIntType():296:296 -> E0
    1:1:boolean isLegacySynthesizedTypeAllowedDuplication():353:353 -> F0
    2:3:boolean oldSynthesizedName(java.lang.String):357:358 -> F0
    2:3:boolean isLegacySynthesizedTypeAllowedDuplication():353 -> F0
    1:1:boolean isLongType():304:304 -> G0
    1:2:boolean isNullValueType():312:313 -> H0
    1:4:boolean isPrimitiveArrayType():334:337 -> I0
    1:1:boolean isPrimitiveType():272:272 -> J0
    1:2:boolean isReferenceType():328:329 -> K0
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    1:1:boolean isVoidType():276:276 -> L0
    1:1:boolean isWideType():341:341 -> M0
    1:4:java.lang.String toBinaryName():179:182 -> N0
    5:5:java.lang.String toBinaryName():180:180 -> N0
    6:6:java.lang.String toBinaryName():0:0 -> N0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7,"3":9}}
    7:7:java.lang.String toBinaryName():183:183 -> N0
    9:9:java.lang.String toBinaryName():183:183 -> N0
    1:1:java.lang.String toDescriptorString():175:175 -> O0
    1:1:char toShorty():229:229 -> P0
    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
    281:284:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexString.toArrayDescriptor(int,com.android.tools.r8.graph.DexItemFactory):536:539 -> a
    281:284:com.android.tools.r8.graph.DexType toArrayType(int,com.android.tools.r8.graph.DexItemFactory):473 -> a
    281:284:com.android.tools.r8.graph.DexType replaceBaseType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):442 -> a
    285:285:com.android.tools.r8.graph.DexType toArrayType(int,com.android.tools.r8.graph.DexItemFactory):473:473 -> a
    285:285:com.android.tools.r8.graph.DexType replaceBaseType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):442 -> a
    286:290:com.android.tools.r8.graph.DexType addSuffix(java.lang.String,com.android.tools.r8.graph.DexItemFactory):457:461 -> a
    291:295:com.android.tools.r8.graph.DexType toArrayElementType(com.android.tools.r8.graph.DexItemFactory):477:481 -> a
    296:299:com.android.tools.r8.graph.DexType toArrayElementType(com.android.tools.r8.graph.DexItemFactory):479:482 -> a
    300:304:java.lang.String getPackageOrName(boolean):486:490 -> a
    305:305:java.lang.String getPackageOrName(boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1289,"3":1290}}
    1289:1289:java.lang.String getPackageOrName(boolean):490:490 -> a
    1290:1290:java.lang.String getPackageOrName(boolean):490:490 -> a
    798:798:java.lang.String getPackageOrName(boolean):493:493 -> a
    799:799:java.lang.String getPackageOrName(boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1294,"3":1295}}
    1294:1294:java.lang.String getPackageOrName(boolean):494:494 -> a
    1295:1295: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:1:java.lang.String toSmaliString():235:235 -> e0
    1:9:java.lang.String toSourceString():217:225 -> f0
    1:1:int computeHashCode():124:124 -> g0
    1:2:boolean computeEquals(java.lang.Object):129:130 -> h
    com.android.tools.r8.graph.DexType asDexType() -> k0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():93:93 -> n
    1:1:com.android.tools.r8.references.ClassReference asClassReference():56:56 -> o0
    1:16:int elementSizeForPrimitiveArrayType():384:399 -> p0
    17:17:int elementSizeForPrimitiveArrayType():0:0 -> p0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":417,"2":418,"3":419}}
    417:417:int elementSizeForPrimitiveArrayType():399:399 -> p0
    418:418:int elementSizeForPrimitiveArrayType():399:399 -> p0
    419:419:int elementSizeForPrimitiveArrayType():399:399 -> p0
    416:416:int elementSizeForPrimitiveArrayType():399:399 -> p0
    1:1:com.android.tools.r8.graph.DexString getDescriptor():114:114 -> q0
    1:2:java.lang.String getInternalName():522:523 -> r0
    1:4:java.lang.String getName():503:506 -> s0
    1:1:int getNumberOfLeadingSquareBrackets():405:405 -> t0
    1:1:java.lang.String toString():240:240 -> toString
    1:1:java.lang.String getPackageDescriptor():499:499 -> u0
    1:1:java.lang.String getPackageName():527:527 -> v0
    2:4:java.lang.String com.android.tools.r8.utils.DescriptorUtils.getPackageNameFromBinaryName(java.lang.String):512:514 -> v0
    2:4:java.lang.String getPackageName():527 -> v0
    1:2:int getRequiredRegisters():118:119 -> w0
    1:2:java.lang.String getSimpleName():510:511 -> x0
    com.android.tools.r8.graph.DexType getContextType() -> y
    1:1:java.lang.String getTypeName():212:212 -> y0
    1:1:boolean isArrayType():318:318 -> z0
com.android.tools.r8.graph.DexTypeList -> com.android.tools.r8.graph.b1:
    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() -> L
    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.DexTypeList empty():34:34 -> g0
    1:1:int hashCode():109:109 -> hashCode
    1:1:com.android.tools.r8.graph.DexType get(int):59:59 -> i
    1:1:boolean isEmpty():133:133 -> isEmpty
    1:1:java.util.Iterator iterator():158:158 -> iterator
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():93:93 -> n
    1:1:int size():137:137 -> size
    1:8:java.lang.String toString():146:153 -> toString
com.android.tools.r8.graph.DexTypeUtils -> com.android.tools.r8.internal.Ng:
    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.e1:
    com.android.tools.r8.graph.DexValue[] EMPTY_ARRAY -> b
    1:1:void <clinit>():145:145 -> <clinit>
    1:1:void <init>():34:34 -> <init>
    java.lang.Object getBoxedValue() -> A0
    com.android.tools.r8.graph.DexValue$DexValueKind getValueKind() -> B0
    boolean isDexValueBoolean() -> C0
    boolean isDexValueByte() -> D0
    boolean isDexValueChar() -> E0
    boolean isDexValueDouble() -> F0
    boolean isDexValueFloat() -> G0
    boolean isDexValueInt() -> H0
    boolean isDexValueLong() -> I0
    boolean isDexValueNumber() -> J0
    boolean isDexValueShort() -> K0
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    boolean isDexValueString() -> L0
    boolean isDexValueType() -> M0
    boolean isNestedDexValue() -> N0
    boolean mayHaveSideEffects() -> O0
    void sort() -> P0
    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() -> g0
    com.android.tools.r8.graph.DexValue$DexItemBasedValueString asDexItemBasedValueString() -> h0
    com.android.tools.r8.graph.DexValue$DexValueAnnotation asDexValueAnnotation() -> i0
    com.android.tools.r8.graph.DexValue$DexValueArray asDexValueArray() -> j0
    com.android.tools.r8.graph.DexValue$DexValueBoolean asDexValueBoolean() -> k0
    com.android.tools.r8.graph.DexValue$DexValueByte asDexValueByte() -> l0
    com.android.tools.r8.graph.DexValue$DexValueChar asDexValueChar() -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():121:121 -> n
    com.android.tools.r8.graph.DexValue$DexValueDouble asDexValueDouble() -> n0
    com.android.tools.r8.graph.DexValue$DexValueEnum asDexValueEnum() -> o0
    com.android.tools.r8.graph.DexValue$DexValueField asDexValueField() -> p0
    com.android.tools.r8.graph.DexValue$DexValueFloat asDexValueFloat() -> q0
    com.android.tools.r8.graph.DexValue$DexValueInt asDexValueInt() -> r0
    com.android.tools.r8.graph.DexValue$DexValueLong asDexValueLong() -> s0
    com.android.tools.r8.graph.DexValue$DexValueMethod asDexValueMethod() -> t0
    com.android.tools.r8.graph.DexValue$DexValueMethodHandle asDexValueMethodHandle() -> u0
    com.android.tools.r8.graph.DexValue$DexValueMethodType asDexValueMethodType() -> v0
    com.android.tools.r8.graph.DexValue$DexValueNumber asDexValueNumber() -> w0
    com.android.tools.r8.graph.DexValue$DexValueShort asDexValueShort() -> x0
    com.android.tools.r8.graph.DexValue$DexValueString asDexValueString() -> y0
    com.android.tools.r8.graph.DexValue$DexValueType asDexValueType() -> z0
com.android.tools.r8.graph.DexValue$DexItemBasedValueString -> com.android.tools.r8.graph.c1:
    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 -> B0
    boolean isNestedDexValue() -> N0
    void sort() -> P0
    1:1:com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo getNameComputationInfo():1313:1313 -> R0
    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 -> g0
    com.android.tools.r8.graph.DexValue$DexItemBasedValueString asDexItemBasedValueString() -> h0
com.android.tools.r8.graph.DexValue$DexValueAnnotation -> com.android.tools.r8.graph.d1:
    com.android.tools.r8.graph.DexEncodedAnnotation value -> c
    1:2:void <init>(com.android.tools.r8.graph.DexEncodedAnnotation):1688:1689 -> <init>
    1:1:java.lang.Object getBoxedValue():1744:1744 -> A0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1708:1708 -> B0
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    1:1:void sort():1754:1754 -> P0
    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:java.lang.Object asAsmEncodedObject():1749:1749 -> g0
    1:1:int hashCode():1759:1759 -> hashCode
    com.android.tools.r8.graph.DexValue$DexValueAnnotation asDexValueAnnotation() -> i0
    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.e1$a:
    com.android.tools.r8.graph.DexValue[] values -> c
    1:2:void <init>(com.android.tools.r8.graph.DexValue[]):1579:1580 -> <init>
    1:1:java.lang.Object getBoxedValue():1631:1631 -> A0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1605:1605 -> B0
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    1:2:void sort():1646:1647 -> P0
    1:1:com.android.tools.r8.graph.DexValue[] getValues():1600:1600 -> Q0
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):1575:1575 -> a
    2:3:void forEachElement(java.util.function.Consumer):1594:1595 -> a
    4:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1610:1611 -> a
    6:7:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1617:1618 -> a
    8:8:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    8:8:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1618 -> a
    9:10:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1619:1620 -> a
    11:11:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1626:1626 -> a
    12:12: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:3:boolean equals(java.lang.Object):1661:1663 -> equals
    1:1:java.lang.Object asAsmEncodedObject():1641:1641 -> g0
    1:1:int hashCode():1653:1653 -> hashCode
    com.android.tools.r8.graph.DexValue$DexValueArray asDexValueArray() -> j0
    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.e1$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 -> A0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1902:1902 -> B0
    boolean isDexValueBoolean() -> C0
    1:1:long getRawValue():1912:1912 -> Q0
    1:1:com.android.tools.r8.graph.DexValue$DexValueBoolean access$000():1869:1869 -> R0
    1:1:boolean getValue():1897:1897 -> S0
    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:java.lang.Object asAsmEncodedObject():1937:1937 -> g0
    1:1:int hashCode():1942:1942 -> hashCode
    com.android.tools.r8.graph.DexValue$DexValueBoolean asDexValueBoolean() -> k0
    1:1:java.lang.String toString():1955:1955 -> toString
com.android.tools.r8.graph.DexValue$DexValueByte -> com.android.tools.r8.graph.e1$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 -> A0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():499:499 -> B0
    boolean isDexValueByte() -> D0
    1:1:long getRawValue():509:509 -> Q0
    1:1:byte getValue():494:494 -> R0
    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:java.lang.Object asAsmEncodedObject():535:535 -> g0
    1:1:int hashCode():540:540 -> hashCode
    com.android.tools.r8.graph.DexValue$DexValueByte asDexValueByte() -> l0
    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.e1$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 -> A0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():684:684 -> B0
    boolean isDexValueChar() -> E0
    1:1:long getRawValue():694:694 -> Q0
    1:1:char getValue():679:679 -> R0
    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:java.lang.Object asAsmEncodedObject():723:723 -> g0
    1:1:int hashCode():728:728 -> hashCode
    com.android.tools.r8.graph.DexValue$DexValueChar asDexValueChar() -> m0
    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.e1$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 -> A0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1062:1062 -> B0
    boolean isDexValueDouble() -> F0
    1:1:long getRawValue():1072:1072 -> Q0
    1:1:double getValue():1057:1057 -> R0
    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:java.lang.Object asAsmEncodedObject():1101:1101 -> g0
    1:1:int hashCode():1112:1112 -> hashCode
    com.android.tools.r8.graph.DexValue$DexValueDouble asDexValueDouble() -> n0
    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.f1:
    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 -> B0
    boolean isNestedDexValue() -> N0
    void sort() -> P0
    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() -> o0
com.android.tools.r8.graph.DexValue$DexValueField -> com.android.tools.r8.graph.g1:
    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 -> B0
    boolean isNestedDexValue() -> N0
    void sort() -> P0
    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() -> p0
com.android.tools.r8.graph.DexValue$DexValueFloat -> com.android.tools.r8.graph.e1$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 -> A0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():964:964 -> B0
    boolean isDexValueFloat() -> G0
    1:1:long getRawValue():974:974 -> Q0
    1:1:float getValue():959:959 -> R0
    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:java.lang.Object asAsmEncodedObject():1003:1003 -> g0
    1:1:int hashCode():1014:1014 -> hashCode
    com.android.tools.r8.graph.DexValue$DexValueFloat asDexValueFloat() -> q0
    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$DexValueInt -> com.android.tools.r8.graph.e1$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 -> A0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():780:780 -> B0
    boolean isDexValueInt() -> H0
    1:1:long getRawValue():790:790 -> Q0
    1:1:int getValue():775:775 -> R0
    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:java.lang.Object asAsmEncodedObject():815:815 -> g0
    1:1:int hashCode():820:820 -> hashCode
    1:1:com.android.tools.r8.graph.DexValue$DexValueInt create(int):761:761 -> i
    com.android.tools.r8.graph.DexValue$DexValueInt asDexValueInt() -> r0
    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$DexValueKind -> com.android.tools.r8.graph.h1:
    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.e1$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 -> A0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():872:872 -> B0
    boolean isDexValueLong() -> I0
    1:1:long getRawValue():882:882 -> Q0
    1:1:long getValue():867:867 -> R0
    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:java.lang.Object asAsmEncodedObject():907:907 -> g0
    1:1:int hashCode():912:912 -> hashCode
    com.android.tools.r8.graph.DexValue$DexValueLong asDexValueLong() -> s0
    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$DexValueMethod -> com.android.tools.r8.graph.i1:
    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 -> B0
    boolean isNestedDexValue() -> N0
    void sort() -> P0
    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
    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() -> t0
com.android.tools.r8.graph.DexValue$DexValueMethodHandle -> com.android.tools.r8.graph.j1:
    1:1:void <init>(com.android.tools.r8.graph.DexMethodHandle):1968:1968 -> <init>
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1993:1993 -> B0
    boolean isNestedDexValue() -> N0
    void sort() -> P0
    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$DexValueMethodHandle asDexValueMethodHandle() -> u0
com.android.tools.r8.graph.DexValue$DexValueMethodType -> com.android.tools.r8.graph.k1:
    1:1:void <init>(com.android.tools.r8.graph.DexProto):1536:1536 -> <init>
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1561:1561 -> B0
    boolean isNestedDexValue() -> N0
    void sort() -> P0
    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$DexValueMethodType asDexValueMethodType() -> v0
com.android.tools.r8.graph.DexValue$DexValueNull -> com.android.tools.r8.graph.l1:
    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() -> A0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1806:1806 -> B0
    long getRawValue() -> Q0
    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() -> g0
    1:1:java.lang.String toString():1859:1859 -> toString
com.android.tools.r8.graph.DexValue$DexValueNumber -> com.android.tools.r8.graph.m1:
    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>
    boolean isDexValueNumber() -> J0
    com.android.tools.r8.utils.structural.StructuralItem com.android.tools.r8.graph.DexValue$SimpleDexValue.self() -> L
      # {"id":"com.android.tools.r8.synthesized"}
    boolean mayHaveSideEffects() -> O0
    void sort() -> P0
    long getRawValue() -> Q0
    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$DexValueNumber asDexValueNumber() -> w0
com.android.tools.r8.graph.DexValue$DexValueShort -> com.android.tools.r8.graph.e1$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>
    1:1:java.lang.Object getBoxedValue():617:617 -> A0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():592:592 -> B0
    boolean isDexValueShort() -> K0
    1:1:long getRawValue():602:602 -> Q0
    1:1:short getValue():587:587 -> R0
    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:java.lang.Object asAsmEncodedObject():627:627 -> g0
    1:1:int hashCode():632:632 -> hashCode
    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$DexValueShort asDexValueShort() -> x0
com.android.tools.r8.graph.DexValue$DexValueString -> com.android.tools.r8.graph.e1$j:
    1:1:void <init>(com.android.tools.r8.graph.DexString):1203:1203 -> <init>
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1242:1242 -> B0
    boolean isDexValueString() -> L0
    boolean isNestedDexValue() -> N0
    void sort() -> P0
    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 -> g0
    com.android.tools.r8.graph.DexValue$DexValueString asDexValueString() -> y0
com.android.tools.r8.graph.DexValue$DexValueType -> com.android.tools.r8.graph.e1$k:
    1:1:void <init>(com.android.tools.r8.graph.DexType):1368:1368 -> <init>
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1383:1383 -> B0
    boolean isDexValueType() -> M0
    boolean isNestedDexValue() -> N0
    void sort() -> P0
    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$DexValueType asDexValueType() -> z0
com.android.tools.r8.graph.DexValue$NestedDexValue -> com.android.tools.r8.graph.e1$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>
    1:1:java.lang.Object getBoxedValue():1164:1164 -> A0
    2:2:java.lang.Object getBoxedValue():0:0 -> A0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1167,"2":1168,"3":1169}}
    1167:1167:java.lang.Object getBoxedValue():1164:1164 -> A0
    1168:1168:java.lang.Object getBoxedValue():1164:1164 -> A0
    1169:1169:java.lang.Object getBoxedValue():1164:1164 -> A0
    1166:1166:java.lang.Object getBoxedValue():1164:1164 -> A0
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    boolean isNestedDexValue() -> N0
    void sort() -> P0
    1:1:com.android.tools.r8.graph.IndexedDexItem getValue():1149:1149 -> Q0
    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:java.lang.Object asAsmEncodedObject():1169:1169 -> g0
    2:2:java.lang.Object asAsmEncodedObject():0:0 -> g0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1172,"2":1173,"3":1174}}
    1172:1172:java.lang.Object asAsmEncodedObject():1169:1169 -> g0
    1173:1173:java.lang.Object asAsmEncodedObject():1169:1169 -> g0
    1174:1174:java.lang.Object asAsmEncodedObject():1169:1169 -> g0
    1171:1171:java.lang.Object asAsmEncodedObject():1169:1169 -> g0
    1:1:int hashCode():1179:1179 -> hashCode
    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.o1:
    1:1:void <clinit>():18:18 -> <clinit>
    com.android.tools.r8.graph.DexDebugInfoForWriting getDebugInfoForWriting() -> B
    com.android.tools.r8.graph.DexCode asDexCode() -> J
    int codeSizeInBytes() -> M
    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() -> p
    com.android.tools.r8.graph.Code asCode() -> q
    com.android.tools.r8.graph.ThrowExceptionCode asThrowExceptionCode() -> s
    com.android.tools.r8.graph.DexCode$TryHandler[] getHandlers() -> v
    com.android.tools.r8.graph.DexString getHighestSortingString() -> x
    int getOutgoingRegisterSize() -> z
com.android.tools.r8.graph.DexWritableCode$1 -> com.android.tools.r8.graph.n1:
    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.Rg:
    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.q1:
    com.android.tools.r8.com.google.common.collect.ImmutableList libraryClasses -> m
    boolean $assertionsDisabled -> n
    com.android.tools.r8.com.google.common.collect.ImmutableList classpathClasses -> l
    com.android.tools.r8.com.google.common.collect.ImmutableList programClasses -> k
    java.util.Map codeOwners -> i
    java.util.Map allClasses -> j
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.graph.DexApplicationReadFlags,java.util.Map,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.DirectMappedDexApplication$1):23:23 -> <init>
    2:2:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.graph.DexApplicationReadFlags,java.util.Map,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.Timing):47:47 -> <init>
    3:27:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.graph.DexApplicationReadFlags,java.util.Map,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.Timing):27:51 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList access$100(com.android.tools.r8.graph.DirectMappedDexApplication):23:23 -> a
    2:2:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):109:109 -> a
    3:3:java.util.List programClasses():64:64 -> a
    3:3:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):109 -> a
    4:5:boolean mappingIsValid(java.util.List,com.android.tools.r8.graph.GraphLens):132:133 -> a
    4:5:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):109 -> 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.List,com.android.tools.r8.graph.GraphLens):134:134 -> a
    16:16:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):109 -> a
    17:17:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    17:17:boolean mappingIsValid(java.util.List,com.android.tools.r8.graph.GraphLens):134 -> a
    17:17:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):109 -> a
    18:18:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    18:18:boolean mappingIsValid(java.util.List,com.android.tools.r8.graph.GraphLens):134 -> a
    18:18:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):109 -> a
    7:14:boolean mappingIsValid(java.util.List,com.android.tools.r8.graph.GraphLens):135:142 -> a
    7:14:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):109 -> a
    15:15:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):110:110 -> a
    19:21:void addAll(java.util.Map,java.lang.Iterable):322:324 -> a
    19:21:void access$300(java.util.Map,java.lang.Iterable):23 -> a
    22:22:void access$300(java.util.Map,java.lang.Iterable):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":24,"2":25,"3":26}}
    24:24:void addAll(java.util.Map,java.lang.Iterable):324:324 -> a
    24:24:void access$300(java.util.Map,java.lang.Iterable):23 -> a
    25:25:void addAll(java.util.Map,java.lang.Iterable):324:324 -> a
    25:25:void access$300(java.util.Map,java.lang.Iterable):23 -> a
    26:26:void addAll(java.util.Map,java.lang.Iterable):324:324 -> a
    26:26:void access$300(java.util.Map,java.lang.Iterable):23 -> a
    23:23:void addAll(java.util.Map,java.lang.Iterable):324:324 -> a
    23:23:void access$300(java.util.Map,java.lang.Iterable):23 -> a
    com.android.tools.r8.graph.DirectMappedDexApplication asDirect() -> b
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList access$200(com.android.tools.r8.graph.DirectMappedDexApplication):23:23 -> b
    1:1:com.android.tools.r8.graph.DexApplication$Builder builder():23:23 -> c
    2:2:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):73:73 -> c
    3:3:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":78,"2":79,"3":80,"4":81,"5":82}}
    78:78:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):73:73 -> c
    79:79:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):73:73 -> c
    80:80:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):73:73 -> c
    81:81:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):73:73 -> c
    82:82:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):73:73 -> c
    76:77:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):73:74 -> c
    1:1:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):80:80 -> d
    1:1:java.util.List programClasses():64:64 -> h
    com.android.tools.r8.graph.DirectMappedDexApplication toDirect() -> i
    1:1:java.util.Collection allClasses():55:55 -> j
    1:1:com.android.tools.r8.graph.DirectMappedDexApplication$Builder builder():85:85 -> k
    1:1:java.util.List classpathClasses():59:59 -> l
    1:1:java.util.List libraryClasses():68:68 -> m
    1:4:boolean verifyCodeObjectsOwners():162:165 -> n
    5:5:java.lang.Iterable com.android.tools.r8.graph.DexClass.methods(java.util.function.Predicate):220:220 -> n
    5:5:boolean verifyCodeObjectsOwners():165 -> n
    6:16:boolean verifyCodeObjectsOwners():165:175 -> n
    1:1:java.lang.String toString():105:105 -> toString
com.android.tools.r8.graph.DirectMappedDexApplication$Builder -> com.android.tools.r8.graph.p1:
    com.android.tools.r8.com.google.common.collect.ImmutableList libraryClasses -> j
    com.android.tools.r8.com.google.common.collect.ImmutableList classpathClasses -> i
    boolean $assertionsDisabled -> l
    java.util.List pendingClasspathClasses -> k
    1:1:void <clinit>():181:181 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.DirectMappedDexApplication$1):181:181 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.LazyLoadedDexApplication):189:189 -> <init>
    3:12:void <init>(com.android.tools.r8.graph.LazyLoadedDexApplication):186:195 -> <init>
    13:13:void <init>(com.android.tools.r8.graph.DirectMappedDexApplication):199:199 -> <init>
    14:29:void <init>(com.android.tools.r8.graph.DirectMappedDexApplication):186:201 -> <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):251:251 -> a
    2:2:com.android.tools.r8.graph.DirectMappedDexApplication$Builder replaceLibraryClasses(java.util.Collection):284:284 -> a
    3:3:com.android.tools.r8.graph.DirectMappedDexApplication$Builder addLibraryClasses(java.util.Collection):290:290 -> a
    1:1:com.android.tools.r8.graph.DexApplication build():181:181 -> b
    2:3:void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass):216:217 -> b
    4:5:boolean containsType(com.android.tools.r8.graph.DexType,java.util.List):227:228 -> b
    4:5:void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass):217 -> b
    6:6:void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass):218:218 -> b
    7:13:com.android.tools.r8.com.google.common.collect.ImmutableList withoutType(com.android.tools.r8.graph.DexType,java.util.List):236:242 -> b
    7:13:void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass):218 -> b
    14:14:com.android.tools.r8.graph.DirectMappedDexApplication$Builder replaceLibraryClasses(java.util.Collection):284:284 -> b
    14:14:void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass):218 -> b
    15:15:void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass):221:221 -> b
    16:17:boolean containsType(com.android.tools.r8.graph.DexType,java.util.List):227:228 -> b
    16:17:void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass):221 -> b
    18:18:void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass):222:222 -> b
    19:25:com.android.tools.r8.com.google.common.collect.ImmutableList withoutType(com.android.tools.r8.graph.DexType,java.util.List):236:242 -> b
    19:25:void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass):222 -> b
    26:26:void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass):222:222 -> b
    27:29:com.android.tools.r8.graph.DirectMappedDexApplication$Builder replaceClasspathClasses(java.util.Collection):277:279 -> b
    com.android.tools.r8.graph.DexApplication$Builder self() -> d
    1:3:com.android.tools.r8.graph.DirectMappedDexApplication build():298:300 -> e
    4:10:void commitPendingClasspathClasses():261:267 -> e
    4:10:java.util.List getClasspathClasses():272 -> e
    4:10:com.android.tools.r8.graph.DirectMappedDexApplication build():300 -> e
    11:11:java.util.List getClasspathClasses():273:273 -> e
    11:11:com.android.tools.r8.graph.DirectMappedDexApplication build():300 -> e
    12:15:com.android.tools.r8.graph.DirectMappedDexApplication build():300:303 -> e
    16:22:void commitPendingClasspathClasses():261:267 -> e
    16:22:java.util.List getClasspathClasses():272 -> e
    16:22:com.android.tools.r8.graph.DirectMappedDexApplication build():304 -> e
    23:23:java.util.List getClasspathClasses():273:273 -> e
    23:23:com.android.tools.r8.graph.DirectMappedDexApplication build():304 -> e
    24:30:com.android.tools.r8.graph.DirectMappedDexApplication build():304:310 -> e
    31:37:void commitPendingClasspathClasses():261:267 -> e
    31:37:java.util.List getClasspathClasses():272 -> e
    31:37:com.android.tools.r8.graph.DirectMappedDexApplication build():311 -> e
    38:38:java.util.List getClasspathClasses():273:273 -> e
    38:38:com.android.tools.r8.graph.DirectMappedDexApplication build():311 -> e
    39:41:com.android.tools.r8.graph.DirectMappedDexApplication build():311:313 -> e
com.android.tools.r8.graph.EnclosingMethodAttribute -> com.android.tools.r8.graph.r1:
    int $r8$clinit -> d
    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":109,"2":110,"3":111}}
    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.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246:246 -> a
    110:110:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):86 -> a
    111:111:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    111:111:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):246 -> a
    111:111:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):86 -> a
    104:105:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):88:89 -> a
    106:106:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):178:178 -> a
    106:106:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):89 -> a
    107:107:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193: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
    108:108:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    108:108:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193 -> a
    108:108:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    108:108:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):89 -> a
    112:116: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.t1:
    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() -> L
    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():103 -> P
    1:1:int com.android.tools.r8.graph.AccessFlags.materialize():74:74 -> Q
    1:1:int getAsDexAccessFlags():108 -> Q
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):256:256 -> R
    1:1:boolean isEnum():128 -> R
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):256:256 -> T
    1:1:boolean isTransient():120 -> T
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):256:256 -> U
    1:1:boolean isVolatile():112 -> U
    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 -> i
    2:2:void <init>(int):40:40 -> i
    2:2:com.android.tools.r8.graph.FieldAccessFlags fromCfAccessFlags(int):98 -> i
    1:1:com.android.tools.r8.graph.FieldAccessFlags fromDexAccessFlags(int):94:94 -> j
    2:2:void <init>(int):40:40 -> j
    2:2:com.android.tools.r8.graph.FieldAccessFlags fromDexAccessFlags(int):94 -> j
    1:2:com.android.tools.r8.graph.FieldAccessFlags fromSharedAccessFlags(int):89:90 -> k
    3:3:void <init>(int):40:40 -> k
    3:3:com.android.tools.r8.graph.FieldAccessFlags fromSharedAccessFlags(int):90 -> k
    com.android.tools.r8.graph.AccessFlags self() -> y
com.android.tools.r8.graph.FieldAccessFlags$Builder -> com.android.tools.r8.graph.s1:
    1:1:void <init>():138:138 -> <init>
    1:1:com.android.tools.r8.graph.AccessFlags com.android.tools.r8.graph.AccessFlags$BuilderBase.build():366:366 -> 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():320:321 -> 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():356:357 -> 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():361:362 -> 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.fj:
com.android.tools.r8.graph.FieldAccessInfoCollection -> com.android.tools.r8.internal.gj:
com.android.tools.r8.graph.FieldAccessInfoCollectionImpl -> com.android.tools.r8.internal.hj:
    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.ij:
    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):467:467 -> a
    29:29:com.android.tools.r8.graph.FieldAccessInfoImpl rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):311 -> a
    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.FieldResolutionResult -> com.android.tools.r8.internal.Jj:
    1:1:void <init>():9:9 -> <init>
    com.android.tools.r8.graph.DexClass getInitialResolutionHolder() -> a
    1:1:com.android.tools.r8.graph.DexClassAndMember com.android.tools.r8.graph.FieldResolutionResult$SuccessfulFieldResolutionResult.getResolutionPair():73:73 -> c
    com.android.tools.r8.graph.FieldResolutionResult asFieldResolutionResult() -> e
    1:1:com.android.tools.r8.graph.SuccessfulMemberResolutionResult asSuccessfulMemberResolutionResult():9:9 -> g
    boolean isFieldResolutionResult() -> i
    boolean isSuccessfulMemberResolutionResult() -> j
    com.android.tools.r8.graph.FieldResolutionResult$SuccessfulFieldResolutionResult asSuccessfulMemberResolutionResult() -> k
    com.android.tools.r8.graph.FieldResolutionResult$SuccessfulFieldResolutionResult asSuccessfulResolution() -> l
    com.android.tools.r8.graph.ProgramField getProgramField() -> m
    com.android.tools.r8.graph.DexClassAndField getResolutionPair() -> n
    com.android.tools.r8.graph.DexEncodedField getResolvedField() -> o
    com.android.tools.r8.graph.DexField getResolvedFieldReference() -> p
    boolean isFailedOrUnknownResolution() -> q
    boolean isSuccessfulResolution() -> r
com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult -> com.android.tools.r8.graph.u1:
    com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult INSTANCE -> a
    1:1:void <clinit>():154:154 -> <clinit>
    1:1:void <init>():152:152 -> <init>
    1:1:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):159:159 -> a
    com.android.tools.r8.graph.SuccessfulMemberResolutionResult asSuccessfulMemberResolutionResult() -> g
    boolean isFailedResolution() -> h
    1:1:com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult access$000():152:152 -> s
com.android.tools.r8.graph.FieldResolutionResult$SuccessfulFieldResolutionResult -> com.android.tools.r8.graph.v1:
    com.android.tools.r8.graph.DexClass initialResolutionHolder -> a
    com.android.tools.r8.graph.DexClass resolvedHolder -> b
    com.android.tools.r8.graph.DexEncodedField resolvedField -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():73:73 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):81:85 -> <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):128 -> 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):128 -> a
    5:5:com.android.tools.r8.graph.DexClass getInitialResolutionHolder():90:90 -> a
    1:1:com.android.tools.r8.graph.DexEncodedField getResolvedMember():110:110 -> b
    1:1:com.android.tools.r8.graph.DexEncodedMember getResolvedMember():73 -> b
    1:1:com.android.tools.r8.graph.DexClass getResolvedHolder():95:95 -> d
    com.android.tools.r8.graph.SuccessfulMemberResolutionResult asSuccessfulMemberResolutionResult() -> g
    com.android.tools.r8.graph.FieldResolutionResult$SuccessfulFieldResolutionResult asSuccessfulMemberResolutionResult() -> k
    com.android.tools.r8.graph.FieldResolutionResult$SuccessfulFieldResolutionResult asSuccessfulResolution() -> l
    1:2:com.android.tools.r8.graph.ProgramField getProgramField():120:121 -> m
    1:1:com.android.tools.r8.graph.DexClassAndField getResolutionPair():115:115 -> n
    1:1:com.android.tools.r8.graph.DexEncodedField getResolvedField():100:100 -> o
    1:1:com.android.tools.r8.graph.DexField getResolvedFieldReference():105:105 -> p
    boolean isSuccessfulResolution() -> r
com.android.tools.r8.graph.FieldResolutionResult$UnknownFieldResolutionResult -> com.android.tools.r8.graph.w1:
    com.android.tools.r8.graph.FieldResolutionResult$UnknownFieldResolutionResult INSTANCE -> a
    1:1:void <clinit>():179:179 -> <clinit>
    1:1:void <init>():177:177 -> <init>
    1:1:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):184:184 -> a
    com.android.tools.r8.graph.SuccessfulMemberResolutionResult asSuccessfulMemberResolutionResult() -> g
    boolean isFailedOrUnknownResolution() -> q
    1:1:com.android.tools.r8.graph.FieldResolutionResult$UnknownFieldResolutionResult access$100():177:177 -> s
com.android.tools.r8.graph.FinalInitClassLens -> com.android.tools.r8.internal.ak:
    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):397:397 -> 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):397:397 -> 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):467:467 -> 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.x1:
    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.x1$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.y1:
    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.x1$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.z1:
    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.x1$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.x1$d:
    1:1:boolean hasNoSignature():152:152 -> a
    boolean hasSignature() -> b
com.android.tools.r8.graph.GenericSignature$FieldTypeSignature -> com.android.tools.r8.graph.x1$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.x1$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.x1$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.A1:
    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.x1$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.B1:
    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.x1$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.x1$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.x1$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.C1:
    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():680:680 -> a
    44:44:void lambda$create$1(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):151 -> a
    45:46:void lambda$create$1(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):151:152 -> a
    47:47:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.getFormalTypeParameters():258:258 -> a
    47:47:void lambda$create$1(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):152 -> a
    48:48:void lambda$create$1(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):152:152 -> a
    49:76:void lambda$create$1(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):150:177 -> a
    77:77:void lambda$create$1(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):173:173 -> a
    78:81:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.ProgramMethod):156:159 -> a
    82:82:java.util.List com.android.tools.r8.graph.GenericSignature$MethodTypeSignature.getFormalTypeParameters():874:874 -> a
    82:82:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.ProgramMethod):161 -> a
    83:83:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.ProgramMethod):160:160 -> a
    84:84:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.ProgramMethod):158:158 -> a
    85:86: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
    87: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):213:217 -> a
    92:92:boolean com.android.tools.r8.graph.AppView.hasLiveness():659:659 -> a
    92:92: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
    93: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):223:231 -> a
    102:102:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.getFormalTypeParameters():258:258 -> a
    102:102: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
    103:111: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
    112: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):234:241 -> a
    120:120: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
    120:120: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
    121:122: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
    121:122: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
    121:122: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
    123: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):242:247 -> a
    129:129:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):588:588 -> a
    129:129: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
    130: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):250:251 -> a
    132:132:java.util.List com.android.tools.r8.graph.GenericSignature$MethodTypeSignature.getFormalTypeParameters():874:874 -> a
    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 -> 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):251:251 -> a
    134:134: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
    134:134: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
    135:136: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
    135:136: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
    135:136: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
    137:160: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
    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.C1$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.D1:
    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:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):40:40 -> a
    4:4:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getClassBound():186:186 -> a
    4:4:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):40 -> a
    5:5:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):41:41 -> a
    6:6:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getClassBound():186:186 -> a
    6:6:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):42 -> a
    7:7:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):42:42 -> a
    8:8:java.lang.String com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getName():182:182 -> a
    8:8:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):43 -> a
    9:9:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getClassBound():186:186 -> a
    9:9:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):43 -> a
    10:10:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):43:43 -> a
    11:11:java.util.List com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getInterfaceBounds():190:190 -> a
    11:11:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):44 -> a
    12:12:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):44:44 -> a
    13:13:java.util.List com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getInterfaceBounds():190:190 -> a
    13:13:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):45 -> a
    14:14:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):45:45 -> a
    15:15:java.lang.String com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getName():182:182 -> a
    15:15:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):46 -> a
    16:16:java.util.List com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getInterfaceBounds():190:190 -> a
    16:16:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):46 -> a
    17:17:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):46:46 -> a
    18:18:java.lang.String com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getName():182:182 -> a
    18:18:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):48 -> a
    19:19: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.G1:
    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>():34:34 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GenericSignatureContextBuilder,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode):92:96 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper createForInitialCheck(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GenericSignatureContextBuilder):101:101 -> a
    2:8:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult run(java.util.List):110:116 -> 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):66:66 -> a
    9:9:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult run(java.util.List):116 -> a
    10:27:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):122:139 -> a
    28:28:boolean com.android.tools.r8.graph.AppView.hasLiveness():659:659 -> a
    28:28:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):139 -> a
    29:38:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):139:148 -> a
    39:39:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
    39:39:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):149 -> a
    40:40:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):146:146 -> a
    41:41:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):145:145 -> a
    42:42:void com.android.tools.r8.graph.DexClass.clearClassSignature():1043:1043 -> a
    42:42:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):152 -> a
    43:46:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):154:157 -> a
    47:47:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):156:156 -> 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):66:66 -> a
    48:48:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):156 -> a
    49:52:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):183:186 -> a
    53:53:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):185:185 -> a
    54:54:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.combine(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):66:66 -> a
    54:54:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):185 -> a
    55:55: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):160:160 -> a
    56:57:void lambda$evaluateSignaturesForClass$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):165:166 -> a
    58:58:boolean com.android.tools.r8.graph.AppView.hasLiveness():659:659 -> 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):166 -> a
    59:70:void lambda$evaluateSignaturesForClass$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):166:177 -> a
    71:71:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
    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):177 -> a
    72:72:void lambda$evaluateSignaturesForClass$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):174:174 -> a
    73:80:void lambda$evaluateSignaturesForClass$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):173:180 -> a
    81:81: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):189:189 -> a
    82:85:void lambda$evaluateSignaturesForClass$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):192:195 -> a
    86:86:boolean com.android.tools.r8.graph.AppView.hasLiveness():659:659 -> 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):195 -> a
    87:97:void lambda$evaluateSignaturesForClass$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):195:205 -> a
    98:98:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
    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):205 -> a
    99:99:void lambda$evaluateSignaturesForClass$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):202:202 -> a
    100:107:void lambda$evaluateSignaturesForClass$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):201:208 -> a
    108:114:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluate(java.util.function.Supplier,java.util.function.Function,java.util.function.Consumer):219:225 -> a
    115:115:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.isValid():58:58 -> a
    115:115:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluate(java.util.function.Supplier,java.util.function.Function,java.util.function.Consumer):225 -> a
    116:116:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluate(java.util.function.Supplier,java.util.function.Function,java.util.function.Consumer):225:225 -> a
    117:117:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode.doNotVerify():41:41 -> a
    117:117:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluate(java.util.function.Supplier,java.util.function.Function,java.util.function.Consumer):225 -> a
    118:120:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluate(java.util.function.Supplier,java.util.function.Function,java.util.function.Consumer):225:227 -> a
    121:121:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluate(java.util.function.Supplier,java.util.function.Function,java.util.function.Consumer):222:222 -> a
    1:1:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper createForVerification(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GenericSignatureContextBuilder):106:106 -> b
com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$1 -> com.android.tools.r8.graph.E1:
    int[] $SwitchMap$com$android$tools$r8$graph$GenericSignatureCorrectnessHelper$SignatureEvaluationResult -> a
    1:1:void <clinit>():70:70 -> <clinit>
com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator -> com.android.tools.r8.graph.F1:
    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>():232:232 -> <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):232:232 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode,com.android.tools.r8.graph.DexProgramClass):239:242 -> <init>
    1:1: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):232:232 -> a
    2:5:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):338:341 -> a
    2:5: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):232 -> a
    6:6: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):232:232 -> a
    7:11:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):247:251 -> a
    7:11:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):232 -> a
    12:12:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateFormalTypeParameters(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):346:346 -> a
    12:12:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):252 -> a
    12:12:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):232 -> a
    13:24:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):358:369 -> a
    13:24:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateFormalTypeParameters(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):348 -> a
    13:24:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):252 -> a
    13:24:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):232 -> a
    25:29:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateFormalTypeParameters(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):349:353 -> a
    25:29:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):252 -> a
    25:29:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):232 -> a
    30:33:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):253:256 -> a
    30:33:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):232 -> 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):257 -> 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):232 -> a
    35:37:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):257:259 -> a
    35:37:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):232 -> a
    38:38:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature com.android.tools.r8.graph.GenericSignature$ClassSignature.superClassSignature():229:229 -> a
    38:38:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):259 -> a
    38:38:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):232 -> a
    39:39:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):259:259 -> a
    39:39:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):232 -> a
    40:40:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.type():601:601 -> a
    40:40:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):259 -> 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):232 -> a
    41:41:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):260:260 -> a
    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):232 -> a
    42:42:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode.doNotVerify():41:41 -> a
    42:42:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):260 -> 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):232 -> a
    43:44:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):260:261 -> a
    43:44:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):232 -> a
    45:45:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature com.android.tools.r8.graph.GenericSignature$ClassSignature.superClassSignature():229:229 -> a
    45:45:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):265 -> a
    45:45:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):232 -> a
    46:46:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):265:265 -> a
    46:46:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):232 -> a
    47:47:java.util.List com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.typeArguments():605:605 -> a
    47:47:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):265 -> a
    47:47:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):232 -> a
    48:48:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):265:265 -> 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):232 -> a
    49:53:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):264:268 -> a
    49:53:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):232 -> a
    54:54:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.superInterfaceSignatures():233:233 -> a
    54:54:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):271 -> a
    54:54:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):232 -> a
    55:56:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):272:273 -> a
    55:56:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):232 -> a
    57:57:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode.doNotVerify():41:41 -> a
    57:57:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):273 -> a
    57:57:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):232 -> a
    58:65:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):273:280 -> a
    58:65:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):232 -> a
    66:66:java.util.List com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.typeArguments():605:605 -> a
    66:66:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):280 -> a
    66:66:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):232 -> a
    67:67:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):280:280 -> a
    67:67:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):232 -> a
    68:74:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):279:285 -> a
    68:74:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):232 -> a
    75:75:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):249:249 -> a
    75:75:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):232 -> a
    76:80:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):291:295 -> a
    81:81:java.util.List com.android.tools.r8.graph.GenericSignature$MethodTypeSignature.getFormalTypeParameters():874:874 -> a
    81:81:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):299 -> a
    82:82: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
    83:83: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
    84:84:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):297:297 -> a
    85:85:java.util.List com.android.tools.r8.graph.GenericSignature$MethodTypeSignature.getFormalTypeParameters():874:874 -> a
    85:85:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):301 -> a
    86:86:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateFormalTypeParameters(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):346:346 -> a
    86:86:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):301 -> a
    87:98:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):358:369 -> a
    87:98:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateFormalTypeParameters(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):348 -> a
    87:98:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):301 -> a
    99:103:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateFormalTypeParameters(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):349:353 -> a
    99:103:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):301 -> a
    104:107:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):302:305 -> a
    108:115:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArguments(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):325:332 -> a
    108:115:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):305 -> a
    116:119:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):306:309 -> a
    120:127:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArguments(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):325:332 -> a
    120:127:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):309 -> a
    128:134:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):310:316 -> 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):374:374 -> a
    136:136:boolean com.android.tools.r8.graph.GenericSignature$TypeSignature.isBaseTypeSignature():0:0 -> a
    136:136:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):374 -> a
    137:145:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):375:383 -> a
    146:146:java.lang.String com.android.tools.r8.graph.GenericSignature$TypeVariableSignature.typeVariable():747:747 -> a
    146:146:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):383 -> a
    147:150:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):384:387 -> a
    151:151:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode.doNotVerify():41:41 -> a
    151:151:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):387 -> a
    152:157:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):387:392 -> a
    158:158:com.android.tools.r8.graph.GenericSignature$TypeSignature com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature.elementSignature():675:675 -> a
    158:158:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):392 -> a
    159:163:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):391:395 -> 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):400:400 -> 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):395 -> a
    165:165:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.type():601:601 -> 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 -> 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):395 -> a
    166:166:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArguments(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):400:400 -> 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):395 -> a
    167:167:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):379:379 -> a
    168: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):408:412 -> a
    173:173:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode.doNotVerify():41:41 -> a
    173:173:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgumentsAppliedToType(java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):412 -> a
    174: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):412:426 -> a
    189:189:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.getFormalTypeParameters():258:258 -> a
    189:189:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgumentsAppliedToType(java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):426 -> a
    190: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):426:427 -> a
    192:192:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode.doNotVerify():41:41 -> a
    192:192: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
    193:196: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:430 -> a
com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.Bl:
# {"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.G1$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>():49:49 -> <clinit>
    1:1:void <init>(java.lang.String,int):49:49 -> <init>
    1:1:boolean isInvalid():62:62 -> a
    1:1:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult[] values():49:49 -> b
com.android.tools.r8.graph.GenericSignatureEnqueuerAnalysis -> com.android.tools.r8.graph.H1:
    com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier enqueuerDefinitionSupplier -> a
    java.util.Set processedSignatures -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier):18:18 -> <init>
    2:5:void <init>(com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier):16:19 -> <init>
    1:1:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):24:24 -> a
    2:2:void notifyMarkFieldAsReachable(com.android.tools.r8.graph.ProgramField):29:29 -> a
    3:3:void processNewlyLiveField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition):34:34 -> a
    4:4:void notifyMarkMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod):39:39 -> a
    5:5:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):44:44 -> a
    6:13:void processSignature(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition):48:55 -> 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):54 -> a
    18:20:void processSignature(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition):56:58 -> 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):57 -> a
    25:27:void processSignature(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition):60:62 -> a
    28:28:void processSignature(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition):61:61 -> a
com.android.tools.r8.graph.GenericSignatureFormatDiagnostic -> com.android.tools.r8.graph.I1:
    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.J1:
    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):397:397 -> 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
    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):397:397 -> 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):397:397 -> 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
    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):397:397 -> 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):397:397 -> 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
    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.K1:
    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.M1:
    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.L1:
    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.N1:
    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.O1:
    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.P1:
    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():70:80 -> 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():78:78 -> 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():76:76 -> 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():74:74 -> 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():72:72 -> 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():58:58 -> a
    33:33:java.lang.String com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.getDescription():80 -> 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():80:81 -> 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.Q1:
    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.c2:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():54:54 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.GraphLens$1):54:54 -> <init>
    2:2:void <init>():299:299 -> <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):312:312 -> a
    2:2:com.android.tools.r8.graph.DexMethod getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    3:8:com.android.tools.r8.graph.DexMethod getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):322:327 -> a
    9:9:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField):332:332 -> 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):696 -> 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):696:696 -> a
    11: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):358:367 -> a
    11:20:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):351 -> a
    21:21:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):588:588 -> 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):367 -> a
    21:21:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):351 -> 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):368:368 -> a
    22:22:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):351 -> a
    23:23:boolean isSimpleRenaming(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):384:384 -> a
    24:24:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    24:24:void lambda$rewriteTypeKeys$9(java.util.Map,java.util.function.BiFunction,com.android.tools.r8.graph.DexType,java.lang.Object):712 -> a
    25:27:void lambda$rewriteTypeKeys$9(java.util.Map,java.util.function.BiFunction,com.android.tools.r8.graph.DexType,java.lang.Object):713:715 -> a
    28:28:void lambda$rewriteTypeKeys$9(java.util.Map,java.util.function.BiFunction,com.android.tools.r8.graph.DexType,java.lang.Object):714:714 -> a
    29:29:com.android.tools.r8.graph.DexReference lookupReference(com.android.tools.r8.graph.DexReference):498:498 -> a
    30:35:boolean assertDefinitionsNotModified(java.lang.Iterable):581:586 -> a
    36:39:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):593:596 -> a
    40:43:boolean assertReferencesNotModified(java.lang.Iterable):601:604 -> a
    40:43:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):597 -> a
    44:44:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField):332:332 -> a
    44:44:boolean assertReferencesNotModified(java.lang.Iterable):604 -> a
    44:44:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):597 -> a
    45:48:boolean assertReferencesNotModified(java.lang.Iterable):604:607 -> a
    45:48:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):597 -> a
    49:49:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):344:344 -> a
    49:49:boolean assertReferencesNotModified(java.lang.Iterable):607 -> a
    49:49:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):597 -> a
    50:52:boolean assertReferencesNotModified(java.lang.Iterable):607:609 -> a
    50:52:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):597 -> a
    53:53:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    53:53:boolean assertReferencesNotModified(java.lang.Iterable):609 -> a
    53:53:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):597 -> a
    54:55:boolean assertReferencesNotModified(java.lang.Iterable):609:610 -> a
    54:55:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):597 -> a
    56:56:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    56:56:boolean assertReferencesNotModified(java.lang.Iterable):611 -> a
    56:56:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):597 -> a
    57:57:boolean assertReferencesNotModified(java.lang.Iterable):611:611 -> a
    57:57:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):597 -> a
    58:60:java.util.Map rewriteCallSites(java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier):619:621 -> 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):623:627 -> a
    66:66:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$rewriteCallSites$1(com.android.tools.r8.graph.DexCallSite):626:626 -> a
    67:67:com.android.tools.r8.graph.DexReference rewriteReference(com.android.tools.r8.graph.DexReference):635:635 -> a
    67:67:void lambda$rewriteReferenceKeys$6(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexReference,java.lang.Object):661 -> a
    68:72:void lambda$rewriteReferenceKeys$6(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexReference,java.lang.Object):662:666 -> 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):670 -> a
    76:77:void lambda$rewriteReferenceKeys$6(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexReference,java.lang.Object):670:671 -> a
    78:79:com.android.tools.r8.graph.DexReference rewriteReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.GraphLens):640:641 -> a
    80:80:com.android.tools.r8.graph.DexReference lambda$rewriteReference$3(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType):642:642 -> a
    81:81:com.android.tools.r8.graph.DexReference lambda$rewriteReference$4(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexField):643:643 -> a
    82:82:com.android.tools.r8.graph.DexReference lambda$rewriteReference$5(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexMethod):644:644 -> a
    83:84:java.util.Set rewriteReferences(java.util.Set):648:649 -> a
    85:85:com.android.tools.r8.graph.DexReference rewriteReference(com.android.tools.r8.graph.DexReference):635:635 -> a
    85:85:java.util.Set rewriteReferences(java.util.Set):650 -> a
    86:86:java.util.Set rewriteReferences(java.util.Set):650:650 -> a
    87:105:java.util.Map rewriteReferenceKeys(java.util.Map,java.util.function.BiFunction):657:675 -> a
    106:108:void lambda$rewriteReferenceKeys$7(java.util.function.BiFunction,java.util.Map,com.android.tools.r8.graph.DexReference,java.util.List):677:679 -> a
    109:111:com.android.tools.r8.com.google.common.collect.ImmutableMap rewriteFieldKeys(java.util.Map):695:697 -> a
    112:128:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):722:738 -> a
    129:129:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265:265 -> a
    129:129:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):738 -> a
    130:130:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):261:261 -> a
    130:130:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265 -> a
    130:130:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):738 -> a
    131:137:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):741:747 -> a
    138:138: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":1661,"2":1662,"3":1663}}
    1661:1661:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):747:747 -> a
    1662:1662:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):747:747 -> a
    1663:1663:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):747:747 -> a
    887:895:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):749:757 -> a
    896:896:com.android.tools.r8.graph.DexMethod getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    896:896:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):757 -> a
    897:897:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):758:758 -> a
    898:898: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":1674,"2":1675,"3":1676}}
    1674:1674:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):758:758 -> a
    1675:1675:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):758:758 -> a
    1676:1676:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):758:758 -> a
    1658:1660:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):760:762 -> 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):332:332 -> b
    2:2:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):344:344 -> b
    3:3:com.android.tools.r8.graph.DexField lookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):474:474 -> b
    4:5:java.util.Map rewriteTypeKeys(java.util.Map,java.util.function.BiFunction):709:710 -> b
    com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens asNonIdentityLens() -> c
    com.android.tools.r8.graph.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):397:397 -> c
    2:2:com.android.tools.r8.graph.DexMethod lookupMethod(com.android.tools.r8.graph.DexMethod):404:404 -> 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):429:429 -> c
    3:3:com.android.tools.r8.graph.DexMethod lookupMethod(com.android.tools.r8.graph.DexMethod):405 -> c
    4:4:com.android.tools.r8.graph.DexMethod lookupMethod(com.android.tools.r8.graph.DexMethod):405:405 -> c
    5:5:com.android.tools.r8.graph.DexField lookupField(com.android.tools.r8.graph.DexField):467:467 -> c
    6:6:com.android.tools.r8.graph.GraphLens$FieldLookupResult lookupFieldResult(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):486:486 -> c
    1:1:boolean verifyIsContextFreeForMethod(com.android.tools.r8.graph.DexMethod):514:514 -> d
    2:2:com.android.tools.r8.graph.GraphLens getIdentityLens():518:518 -> d
    boolean hasCodeRewritings() -> e
    boolean hasCustomCodeRewritings() -> f
    boolean isContextFreeForMethods() -> g
    boolean isEnumUnboxerLens() -> h
    boolean isIdentityLens() -> i
    boolean isNonIdentityLens() -> j
com.android.tools.r8.graph.GraphLens$Builder -> com.android.tools.r8.internal.Jl:
    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>():269:269 -> <init>
    2:5:void <init>():264:267 -> <init>
    1:1:void move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):282:282 -> a
com.android.tools.r8.graph.GraphLens$ClearCodeRewritingGraphLens -> com.android.tools.r8.graph.R1:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():1037:1037 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens):1040:1040 -> <init>
    1:1:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):1045:1045 -> a
    2:2:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):1055:1055 -> a
    3:3:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):1061:1061 -> a
    4:4:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):332:332 -> a
    4:4:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):1061 -> a
    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):1091:1091 -> 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):1106:1108 -> a
    9:9:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):1115:1115 -> a
    1:1:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):1050:1050 -> b
    2:2:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):1068:1068 -> b
    3:3:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):1096:1096 -> b
    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):1080:1080 -> 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():1125:1125 -> g
com.android.tools.r8.graph.GraphLens$FieldLookupResult -> com.android.tools.r8.graph.T1:
    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):119:119 -> <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):129:131 -> <init>
    1:1:com.android.tools.r8.graph.DexType getRewrittenReadCastType(java.util.function.Function):147:147 -> b
    1:1:com.android.tools.r8.graph.DexType getRewrittenWriteCastType(java.util.function.Function):159:159 -> c
    1:1:com.android.tools.r8.graph.GraphLens$FieldLookupResult$Builder builder(com.android.tools.r8.graph.GraphLens):135:135 -> d
    1:1:com.android.tools.r8.graph.DexType getReadCastType():143:143 -> e
    1:1:com.android.tools.r8.graph.DexType getWriteCastType():155:155 -> f
    1:1:boolean hasReadCastType():139:139 -> g
    1:1:boolean hasWriteCastType():151:151 -> h
com.android.tools.r8.graph.GraphLens$FieldLookupResult$Builder -> com.android.tools.r8.graph.S1:
    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):162:162 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.GraphLens):168:168 -> <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):107:107 -> 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):173:173 -> a
    3:3:com.android.tools.r8.graph.GraphLens$FieldLookupResult build():189:189 -> 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):102:102 -> 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):178:178 -> b
com.android.tools.r8.graph.GraphLens$IdentityGraphLens -> com.android.tools.r8.graph.U1:
    com.android.tools.r8.graph.GraphLens$IdentityGraphLens INSTANCE -> b
    boolean $assertionsDisabled -> c
    1:3:void <clinit>():929:931 -> <clinit>
    1:1:void <init>():933:933 -> <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):986:986 -> 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):993:994 -> 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):102:102 -> 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):994 -> 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):994:994 -> 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):1009:1009 -> 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):102:102 -> 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):1009 -> 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):1009:1009 -> 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):1008:1008 -> 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):1021:1021 -> 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):956:956 -> b
    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):1000:1000 -> c
    boolean hasCodeRewritings() -> e
    boolean isContextFreeForMethods() -> g
    boolean isIdentityLens() -> i
    boolean isNonIdentityLens() -> j
    1:1:com.android.tools.r8.graph.GraphLens$IdentityGraphLens access$400():929:929 -> k
com.android.tools.r8.graph.GraphLens$LookupFieldContinuation -> com.android.tools.r8.graph.V1:
    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.W1:
    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.Y1:
    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):56:56 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexMember):61:63 -> <init>
    1:1:com.android.tools.r8.graph.DexMember getReboundReference():83:83 -> a
    2:2:com.android.tools.r8.graph.DexMember getRewrittenReboundReference(com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap):88:88 -> a
    3:4:com.android.tools.r8.graph.DexMember getRewrittenReboundReference(java.util.function.Function):92:93 -> a
    1:1:com.android.tools.r8.graph.DexMember getReference():67:67 -> b
    2:2:com.android.tools.r8.graph.DexMember getRewrittenReference(com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap):71:71 -> b
    1:1:boolean hasReboundReference():79:79 -> c
com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder -> com.android.tools.r8.graph.X1:
    com.android.tools.r8.graph.DexMember reference -> a
    com.android.tools.r8.graph.DexMember reboundReference -> b
    1:1:void <init>():96:96 -> <init>
com.android.tools.r8.graph.GraphLens$MethodLookupResult -> com.android.tools.r8.graph.a2:
    com.android.tools.r8.graph.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.RewrittenPrototypeDescription):211:213 -> <init>
    1:1:com.android.tools.r8.graph.GraphLens$MethodLookupResult$Builder builder(com.android.tools.r8.graph.GraphLens):217:217 -> d
    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription getPrototypeChanges():225:225 -> e
    1:1:com.android.tools.r8.ir.code.Invoke$Type getType():221:221 -> f
com.android.tools.r8.graph.GraphLens$MethodLookupResult$Builder -> com.android.tools.r8.graph.Z1:
    com.android.tools.r8.graph.RewrittenPrototypeDescription prototypeChanges -> c
    com.android.tools.r8.ir.code.Invoke$Type type -> d
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():228:228 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$1):228:228 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.GraphLens):234:234 -> <init>
    3:3:void <init>(com.android.tools.r8.graph.GraphLens):231:231 -> <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):107:107 -> 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.RewrittenPrototypeDescription):239:239 -> a
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult$Builder setType(com.android.tools.r8.ir.code.Invoke$Type):244:244 -> a
    4:6:com.android.tools.r8.graph.GraphLens$MethodLookupResult build():249:251 -> 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):102:102 -> 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.b2:
    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>():769:769 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):777:777 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens):780:780 -> <init>
    3:11:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens):774:782 -> <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():790:790 -> a
    1:1:java.lang.String lookupPackageName(java.lang.String):839 -> a
    2:2:java.lang.String lookupPackageName(java.lang.String):839:839 -> a
    3:3:com.android.tools.r8.graph.GraphLens getPrevious():790:790 -> a
    3:3:void withAlternativeParentLens(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.utils.Action):815 -> a
    4:6:void withAlternativeParentLens(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.utils.Action):816:818 -> a
    7:12:com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens find(java.util.function.Predicate):797:802 -> a
    13:13:com.android.tools.r8.graph.GraphLens getPrevious():790:790 -> a
    13:13:com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens find(java.util.function.Predicate):802 -> a
    14:15: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):824:825 -> a
    16:16:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    16: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):825 -> a
    17:18: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):825:826 -> a
    19:19:java.util.stream.Stream com.android.tools.r8.graph.DexTypeList.stream():141:141 -> a
    19:19: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):826 -> a
    20: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):826:826 -> a
    24:25: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):828:829 -> a
    26:26:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    26:26: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 -> a
    27:27: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:829 -> a
    28:28:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReference(com.android.tools.r8.graph.DexMember):102:102 -> a
    28: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):829 -> a
    29:33: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:834 -> a
    34:34:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):865:865 -> a
    35:35: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):865:865 -> a
    907:907:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):865:865 -> a
    908:908:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):865:865 -> a
    36:36: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):865:865 -> a
    910:910:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):865:865 -> a
    911:911:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):865:865 -> a
    912:912:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):865:865 -> a
    901:901:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):865:865 -> a
    902:902:com.android.tools.r8.graph.GraphLens getPrevious():790:790 -> a
    902:902:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):869 -> a
    903:903:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):869:869 -> a
    904:904:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupClassType(com.android.tools.r8.graph.DexType):391:391 -> a
    904:904:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):869 -> a
    905:905:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):869:869 -> 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):876:878 -> 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):881:881 -> 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):892:898 -> 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):896:896 -> 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):901:901 -> 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():790:790 -> b
    1:1:com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens findPrevious(java.util.function.Predicate):810 -> b
    2:2:com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens findPrevious(java.util.function.Predicate):811:811 -> b
    3:9:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):847:853 -> b
    10:10:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> b
    10:10:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):854 -> b
    11:12:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):855:856 -> b
    13:13:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupClassType(com.android.tools.r8.graph.DexType):391:391 -> b
    13:13:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):860 -> 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):397:397 -> e
    1:1:boolean lambda$lookupMethod$0(com.android.tools.r8.graph.DexType):827 -> e
    boolean isIdentityLens() -> i
    boolean isNonIdentityLens() -> j
    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():786:786 -> k
    1:1:com.android.tools.r8.graph.GraphLens getPrevious():790:790 -> l
com.android.tools.r8.graph.ImmediateProgramSubtypingInfo -> com.android.tools.r8.internal.xn:
    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.d2:
    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.Oo:
    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.No:
    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.jp:
    com.android.tools.r8.graph.DexString innerName -> d
    boolean $assertionsDisabled -> e
    int $r8$clinit -> f
    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.Jp:
    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.e2:
    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
    1:1:int computeHashCode():66:66 -> g0
    boolean computeEquals(java.lang.Object) -> h
    1:1:int estimatedDexCodeSizeUpperBoundInBytes():56:56 -> k0
    1:1:com.android.tools.r8.graph.Code getInstance():16:16 -> t0
    1:1:java.lang.String toString():42:42 -> toString
com.android.tools.r8.graph.JarApplicationReader -> com.android.tools.r8.internal.Ru:
    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.j2:
    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
    45:45:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    46:46:void internalRead(com.android.tools.r8.origin.Origin,byte[]):136: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[]):101:101 -> a
    47:47:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    48:48:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    48:48:void internalRead(com.android.tools.r8.origin.Origin,byte[]):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,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    49:49:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):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 internalRead(com.android.tools.r8.origin.Origin,byte[]):101:101 -> a
    50:50:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    51:53:com.android.tools.r8.graph.MethodAccessFlags createMethodAccessFlags(java.lang.String,int):155:157 -> a
    54:57: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
    58:62:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):608:612 -> a
    58:62:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    63:66:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexAnnotationSet.findDuplicateEntryType(java.util.List):78:81 -> a
    63:66:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):612 -> a
    63:66:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    67:67:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):614:614 -> a
    67: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 access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":81,"2":82,"3":83}}
    81:81:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):614:614 -> a
    81:81:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    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
    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":84,"2":85,"3":86,"4":87}}
    84:84:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):615:615 -> a
    84:84:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    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
    70:70:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    70:70:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):615 -> a
    70:70: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,com.android.tools.r8.origin.Origin):30:30 -> a
    71:71:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):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:75:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):615:618 -> a
    72:75:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    76:76:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):609:609 -> a
    76:76: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.f2:
    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
    4:4:void visitEnum(java.lang.String,java.lang.String,java.lang.String):993:993 -> a
    5:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):998:998 -> a
    6:8:void lambda$visitAnnotation$0(java.lang.String,java.lang.String,java.util.List,java.util.List):999:999 -> a
    9:9:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String):1005:1005 -> a
    10:11:void lambda$visitArray$1(java.lang.String,java.util.List,java.util.List):1006:1007 -> a
    12:12:void visitEnd():1013:1013 -> a
    13:18:void addElement(java.lang.String,com.android.tools.r8.graph.DexValue):1018:1023 -> a
    19:40:com.android.tools.r8.graph.DexValue getDexValue(java.lang.Object):1089:1110 -> a
    19:40:void visit(java.lang.String,java.lang.Object):987 -> a
    41:96:com.android.tools.r8.graph.DexValue$DexValueArray getDexValueArray(java.lang.Object):1027:1082 -> a
    41:96:com.android.tools.r8.graph.DexValue getDexValue(java.lang.Object):1112 -> a
    41:96:void visit(java.lang.String,java.lang.Object):987 -> a
    97:97:void visit(java.lang.String,java.lang.Object):987:987 -> a
    98:98:com.android.tools.r8.graph.DexValue$DexValueArray getDexValueArray(java.lang.Object):1084:1084 -> a
    98:98:com.android.tools.r8.graph.DexValue getDexValue(java.lang.Object):1112 -> a
    98:98:void visit(java.lang.String,java.lang.Object):987 -> a
com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor -> com.android.tools.r8.graph.g2:
    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:3:void access$1600(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):193:193 -> a
    4:7:void addDefaultAnnotation(java.lang.String,com.android.tools.r8.graph.DexValue):584:587 -> a
    4:7:void access$1600(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):193 -> a
    8:11:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):242:245 -> a
    12:14:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):252:254 -> a
    15:15: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
    269:269:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    270:270: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
    524:524:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    525:525:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":809,"2":810,"3":811,"4":812,"5":813}}
    809:809:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    810:810:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    811:811:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    812:812:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    813:813:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    779:782:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    792:798:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):264:264 -> a
    814:819:void visitOuterClass(java.lang.String,java.lang.String,java.lang.String):275:280 -> a
    820:821:void visitOuterClass(java.lang.String,java.lang.String,java.lang.String):279:280 -> a
    822:824:void visitNestHost(java.lang.String):285:287 -> 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):310:310 -> 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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":831,"2":832,"3":833}}
    831:831:java.lang.String illegalClassFilePrefix(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String):298:298 -> a
    831:831:java.lang.String illegalClassFileMessage(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String,com.android.tools.r8.cf.CfVersion,java.lang.String):310 -> a
    832:832:java.lang.String illegalClassFilePrefix(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String):298:298 -> a
    832:832:java.lang.String illegalClassFileMessage(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String,com.android.tools.r8.cf.CfVersion,java.lang.String):310 -> a
    833:833:java.lang.String illegalClassFilePrefix(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String):298:298 -> a
    833:833: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):299:299 -> 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 illegalClassFileMessage(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String,com.android.tools.r8.cf.CfVersion,java.lang.String):310:310 -> a
    829:829:java.lang.String illegalClassFilePostfix(com.android.tools.r8.cf.CfVersion):305:305 -> a
    829:829:java.lang.String illegalClassFileMessage(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String,com.android.tools.r8.cf.CfVersion,java.lang.String):312 -> a
    830:830: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
    834:857:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):348:371 -> a
    858:858:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    858:858:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    858:858:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):371 -> a
    859:863:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):371:375 -> a
    864:864: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":2018,"2":2019,"3":2020,"4":2021,"5":2022}}
    2018:2018:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):375:375 -> a
    2019:2019:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):375:375 -> a
    2020:2020:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):375:375 -> a
    2021:2021:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):375:375 -> a
    2022:2022:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):375:375 -> a
    1240:1240:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):376:376 -> a
    1241:1241:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    1241:1241:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    1241:1241:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):376 -> a
    1242:1252:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):376:386 -> a
    1253:1260:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.JarApplicationReader.getTypeListFromNames(java.lang.String[]):68:75 -> a
    1253:1260:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):386 -> a
    1261:1265:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):386:390 -> a
    1266:1266:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    1266:1266:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):390 -> a
    1267:1267:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):390:390 -> a
    1268:1268:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):389:389 -> a
    1269:1269:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):361:361 -> a
    1270:1270: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":2023,"2":2024,"3":2025}}
    2023:2023:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):361:361 -> a
    2024:2024:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):361:361 -> a
    2025:2025:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):361:361 -> a
    1631:1636:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):361:366 -> a
    1637:1637:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):362:362 -> a
    1638:1638:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    1638:1638:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    1638:1638:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):362 -> a
    1639:1639:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):362:362 -> a
    1640:1640:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):350:350 -> a
    1641:1641: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":2026,"2":2027,"3":2028}}
    2026:2026:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):350:350 -> a
    2027:2027:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):350:350 -> a
    2028:2028:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):350:350 -> a
    1991:1991:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):350:350 -> a
    1992:1992:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    1992:1992:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    1992:1992:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):350 -> a
    1993:1993:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):350:350 -> a
    2029:2029:void visitSource(java.lang.String,java.lang.String):397:397 -> a
    2030:2033:java.util.List getAnnotations():595:598 -> a
    2030:2033:void visitSource(java.lang.String,java.lang.String):400 -> a
    2034:2036:void visitSource(java.lang.String,java.lang.String):400:402 -> a
    2037:2037:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2037:2037:void visitSource(java.lang.String,java.lang.String):402 -> a
    2038:2041: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
    2038:2041:void visitSource(java.lang.String,java.lang.String):401 -> a
    2042:2042:void visitSource(java.lang.String,java.lang.String):400:400 -> a
    2043:2051: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
    2052:2059: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
    2060:2062:void visitEnd():447:449 -> a
    2063:2063:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2063:2063:void visitEnd():449 -> a
    2064:2064:void visitEnd():448:448 -> a
    2065:2068:java.util.List getAnnotations():595:598 -> a
    2065:2068:void addAnnotation(com.android.tools.r8.graph.DexAnnotation):591 -> a
    2065:2068:void visitEnd():448 -> a
    2069:2069:void addAnnotation(com.android.tools.r8.graph.DexAnnotation):591:591 -> a
    2069:2069:void visitEnd():448 -> a
    2070:2070:void checkReachabilitySensitivity():561:561 -> a
    2070:2070:void visitEnd():451 -> a
    2071:2071:boolean hasReachabilitySensitiveField():572:572 -> a
    2071:2071:void checkReachabilitySensitivity():561 -> a
    2071:2071:void visitEnd():451 -> a
    2072:2072:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2072:2072:boolean hasReachabilitySensitiveField():572 -> a
    2072:2072:void checkReachabilitySensitivity():561 -> a
    2072:2072:void visitEnd():451 -> a
    2073:2074:boolean hasReachabilitySensitiveField():572:573 -> a
    2073:2074:void checkReachabilitySensitivity():561 -> a
    2073:2074:void visitEnd():451 -> a
    2075:2075:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    2075:2075:boolean hasReachabilitySensitiveField():573 -> a
    2075:2075:void checkReachabilitySensitivity():561 -> a
    2075:2075:void visitEnd():451 -> a
    2076:2078:boolean hasReachabilitySensitiveField():573:575 -> a
    2076:2078:void checkReachabilitySensitivity():561 -> a
    2076:2078:void visitEnd():451 -> a
    2079:2079:void checkReachabilitySensitivity():562:562 -> a
    2079:2079:void visitEnd():451 -> a
    2080:2080:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    2080:2080:void checkReachabilitySensitivity():562 -> a
    2080:2080:void visitEnd():451 -> a
    2081:2084:void checkReachabilitySensitivity():562:565 -> a
    2081:2084:void visitEnd():451 -> a
    2085:2101:void checkRecord():518:534 -> a
    2085:2101:void visitEnd():452 -> a
    2102:2102:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    2102:2102:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    2102:2102:void checkRecord():534 -> a
    2102:2102:void visitEnd():452 -> a
    2103:2103:void checkRecord():534:534 -> a
    2103:2103:void visitEnd():452 -> a
    2104:2123:void visitEnd():453:472 -> a
    2124:2124:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2124:2124:void visitEnd():472 -> a
    2125:2126:void visitEnd():472:473 -> a
    2127:2158:void visitEnd():454:485 -> a
    2159:2167:void com.android.tools.r8.graph.DexClass.replaceInnerClassAttributeForThisClass(com.android.tools.r8.graph.InnerClassAttribute):1060:1068 -> a
    2159:2167:void visitEnd():486 -> a
    2168:2176:void visitEnd():487:495 -> a
    2177:2177:void visitEnd():491:491 -> a
    2178:2178:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    2178:2178:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    2178:2178:void visitEnd():491 -> a
    2179:2190:void visitEnd():491:502 -> a
    2191:2191:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    2191:2191:void visitEnd():504 -> a
    2192:2201:void visitEnd():505:514 -> a
    2202:2202:void checkRecord():529:529 -> a
    2202:2202:void visitEnd():452 -> a
    2203:2203:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    2203:2203:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    2203:2203:void checkRecord():529 -> a
    2203:2203:void visitEnd():452 -> a
    2204:2204:void checkRecord():529:529 -> a
    2204:2204:void visitEnd():452 -> a
    2205:2211:com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier getChecksumSupplier(com.android.tools.r8.graph.ClassKind):540:546 -> 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:11:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):318:324 -> b
    12:12:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> b
    12:12:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):324 -> b
    13:15:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):324:326 -> b
    16:19:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):325:328 -> b
    20:20: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
    4:5:void checkName(java.lang.String):550:551 -> d
    6:13:boolean com.android.tools.r8.graph.DexString.isValidSimpleName(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):404:411 -> d
    6:13:void checkName(java.lang.String):551 -> d
    14:14:void checkName(java.lang.String):552:552 -> d
    15:15:void checkName(java.lang.String):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":19,"2":20,"3":21,"4":22,"5":23,"6":24}}
    19:19:void checkName(java.lang.String):552:552 -> d
    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
    16:16:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> d
    16:16:void checkName(java.lang.String):552 -> d
    17:17:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> d
    17:17:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> d
    17:17:void checkName(java.lang.String):552 -> d
    18:18: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.h2:
    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
    4:9:void visitEnd():671:676 -> a
    10:10:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):703:703 -> a
    10:10:void visitEnd():676 -> a
    11:11:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    11:11:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):703 -> a
    11:11:void visitEnd():676 -> a
    12:41:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):704:733 -> a
    12:41:void visitEnd():676 -> a
    42:42:void visitEnd():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":63,"2":64,"3":65,"4":66,"5":67}}
    63:63:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):733:733 -> a
    63:63:void visitEnd():676 -> a
    64:64:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):733:733 -> a
    64:64:void visitEnd():676 -> a
    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
    43:43:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):733:733 -> a
    43:43:void visitEnd():676 -> a
    44:50:void visitEnd():678:684 -> a
    51:51:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():498:498 -> a
    51:51:void visitEnd():685 -> a
    52:61:void visitEnd():686:695 -> a
    62:62:void visitEnd():693:693 -> a
    68:71:java.util.List getAnnotations():737:740 -> a
    68:71:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):657 -> a
    72:72: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.i2:
    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
    8:10:void visitParameter(java.lang.String,int):869:871 -> b
    11:11: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():1857:1857 -> c
    6:6:boolean classRequiresCode():881 -> c
    6:6:void visitEnd():890 -> c
    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
    35:55:void visitEnd():909:929 -> c
    56:56:boolean isReachabilitySensitive():950:950 -> c
    56:56:void visitEnd():929 -> c
    57:57:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> c
    57:57:boolean isReachabilitySensitive():950 -> c
    57:57:void visitEnd():929 -> c
    58:58:boolean isReachabilitySensitive():950:950 -> c
    58:58:void visitEnd():929 -> c
    59:62:java.util.List getAnnotations():960:963 -> c
    59:62:boolean isReachabilitySensitive():951 -> c
    59:62:void visitEnd():929 -> c
    63:64:boolean isReachabilitySensitive():951:952 -> c
    63:64:void visitEnd():929 -> c
    65:69:void visitEnd():929:933 -> c
    70:80:void visitEnd():931:941 -> c
    81:81:void visitEnd():938:938 -> c
    82:90:void visitEnd():936:944 -> c
com.android.tools.r8.graph.JarClassFileReader$ReparseContext -> com.android.tools.r8.internal.Su:
    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.o2:
    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>():93:93 -> <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):102:113 -> <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):103:106 -> <init>
    1:2:com.android.tools.r8.graph.CfCode asCfCode():137:138 -> F
    3:3:void com.android.tools.r8.utils.ExceptionUtils.withOriginAttachmentHandler(com.android.tools.r8.origin.Origin,java.lang.Runnable):225:225 -> F
    3:3:com.android.tools.r8.graph.CfCode asCfCode():138 -> F
    4:5:com.android.tools.r8.graph.CfCode asCfCode():140:141 -> F
    1:1:void access$100(com.android.tools.r8.graph.LazyCfCode,com.android.tools.r8.graph.CfCode):93:93 -> a
    2:6:void setCode(com.android.tools.r8.graph.CfCode):204:208 -> a
    2:6:void access$100(com.android.tools.r8.graph.LazyCfCode,com.android.tools.r8.graph.CfCode):93 -> a
    7:7: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):174:174 -> a
    8:8:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):190:190 -> a
    9:31:com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions getParsingOptions(com.android.tools.r8.graph.JarApplicationReader,boolean):1057:1079 -> a
    9:31:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):190 -> a
    32:32:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):192:192 -> a
    33:33:java.util.function.BiFunction createCodeLocator(com.android.tools.r8.graph.JarClassFileReader$ReparseContext):294:294 -> a
    33:33:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):195 -> a
    34:39:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):195:200 -> a
    40:40: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):243:243 -> a
    41:42: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.RewrittenPrototypeDescription):256:257 -> a
    43:43:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):270:270 -> a
    44:44:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):275:275 -> a
    45:45:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):290:290 -> a
    46:46:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap collectParameterInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):1103:1103 -> a
    1:1:int computeHashCode():213:213 -> g0
    1:1:boolean computeEquals(java.lang.Object):218:218 -> h
    1:1:com.android.tools.r8.graph.CfWritableCode asCfWritableCode():146:146 -> h0
    1:1:boolean estimatedSizeForInliningAtMost(int):233:233 -> i
    com.android.tools.r8.graph.LazyCfCode asLazyCfCode() -> j0
    1:1:int estimatedDexCodeSizeUpperBoundInBytes():238:238 -> k0
    1:1:int estimatedSizeForInlining():228:228 -> l0
    boolean isCfCode() -> m0
    boolean isCfWritableCode() -> n0
    1:1:boolean verifyNoInputReaders():1084:1084 -> s0
    1:20:void internalParseCode():150:169 -> t0
    21:27:boolean verifyNoReparseContext(com.android.tools.r8.graph.DexClass):1089:1095 -> t0
    21:27:void internalParseCode():169 -> t0
    28:28:void internalParseCode():166:166 -> t0
    1:1:java.lang.String toString():285:285 -> toString
    1:2:void markReachabilitySensitive():116:117 -> u0
com.android.tools.r8.graph.LazyCfCode$ClassCodeVisitor -> com.android.tools.r8.graph.k2:
    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):329:335 -> <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[]):341:351 -> a
com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions -> com.android.tools.r8.internal.vA:
    boolean lineInfo -> a
    boolean localInfo -> b
    int asmReaderOptions -> c
    1:4:void <init>(boolean,boolean,int):182:185 -> <init>
com.android.tools.r8.graph.LazyCfCode$DefaultCodeLocator -> com.android.tools.r8.graph.l2:
    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):297:297 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,com.android.tools.r8.graph.JarApplicationReader):302:302 -> <init>
    3:6:void <init>(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,com.android.tools.r8.graph.JarApplicationReader):300:303 -> <init>
    1:1:java.lang.Object apply(java.lang.Object,java.lang.Object):297:297 -> apply
    2:2:com.android.tools.r8.graph.LazyCfCode apply(java.lang.String,java.lang.String):309:309 -> apply
    2:2:java.lang.Object apply(java.lang.Object,java.lang.Object):297 -> apply
com.android.tools.r8.graph.LazyCfCode$JsrEncountered -> com.android.tools.r8.graph.m2:
    1:1:void <init>(java.lang.String):97:97 -> <init>
com.android.tools.r8.graph.LazyCfCode$MethodCodeVisitor -> com.android.tools.r8.graph.n2:
    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>():358:358 -> <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):382:382 -> <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):368:389 -> <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[]):441:441 -> a
    2:8:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap parseLocals(int,java.lang.Object[]):448:454 -> a
    2:8:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):442 -> a
    9:11:java.util.Deque parseStack(int,java.lang.Object[]):462:464 -> a
    9:11:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):443 -> a
    12:12:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):444:444 -> a
    13:13:void visitInsn(int):672:672 -> a
    14:17:void visitInsn(int):540:540 -> a
    18:21:void visitInsn(int):534:534 -> a
    22:22:void visitInsn(int):529:529 -> a
    23:23:void visitInsn(int):525:525 -> a
    24:24:void visitInsn(int):516:516 -> a
    25:64:void visitInsn(int):513:552 -> a
    65:65:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):703:703 -> a
    65:65:void visitInsn(int):552 -> 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):703:703 -> a
    374:374:void visitInsn(int):552 -> a
    375:375:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):703:703 -> a
    375:375:void visitInsn(int):552 -> a
    376:376:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):703:703 -> a
    376:376:void visitInsn(int):552 -> a
    377:377:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):703:703 -> a
    377:377:void visitInsn(int):552 -> a
    378:378:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):703:703 -> a
    378:378:void visitInsn(int):552 -> a
    67:67:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):703:703 -> a
    67:67:void visitInsn(int):552 -> a
    68:68:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):701:701 -> a
    68:68:void visitInsn(int):552 -> a
    69:69:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):698:698 -> a
    69:69:void visitInsn(int):552 -> a
    70:70:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):695:695 -> a
    70:70:void visitInsn(int):552 -> a
    71:71:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):692:692 -> a
    71:71:void visitInsn(int):552 -> a
    72:72:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):689:689 -> a
    72:72:void visitInsn(int):552 -> a
    73:76:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):683:686 -> a
    73:76:void visitInsn(int):552 -> a
    77:77:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):680:680 -> a
    77:77:void visitInsn(int):552 -> a
    78:141:void visitInsn(int):552:615 -> 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):615 -> 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):615 -> 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):615 -> 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):615 -> 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):615 -> 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):615 -> 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):615 -> 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):615 -> 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):615 -> 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):615 -> 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):615 -> 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):615 -> 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):615 -> 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):615 -> 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):615 -> 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):615 -> 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):615 -> 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):615 -> 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):615 -> a
    157:157:void visitInsn(int):615:615 -> a
    158:158:void visitInsn(int):601:601 -> 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):601 -> 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):601 -> 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):601 -> 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):601 -> 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):601 -> 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):601 -> 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):601 -> 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):601 -> 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):601 -> 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):601 -> 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):601 -> a
    166:166:void visitInsn(int):601:601 -> a
    167:167:void visitInsn(int):595:595 -> a
    168:168:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):112:112 -> a
    168:168:void visitInsn(int):595 -> a
    169:169: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):595 -> 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):595 -> 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):595 -> 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):595 -> 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):595 -> a
    170:170:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):112:112 -> a
    170:170:void visitInsn(int):595 -> a
    171:171:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):110:110 -> a
    171:171:void visitInsn(int):595 -> a
    172:172:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):108:108 -> a
    172:172:void visitInsn(int):595 -> a
    173:173:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):106:106 -> a
    173:173:void visitInsn(int):595 -> a
    174:174:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):104:104 -> a
    174:174:void visitInsn(int):595 -> a
    175:175:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):102:102 -> a
    175:175:void visitInsn(int):595 -> a
    176:176:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):100:100 -> a
    176:176:void visitInsn(int):595 -> a
    177:177:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):98:98 -> a
    177:177:void visitInsn(int):595 -> a
    178:178:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):96:96 -> a
    178:178:void visitInsn(int):595 -> a
    179:179:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):94:94 -> a
    179:179:void visitInsn(int):595 -> a
    180:180:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):92:92 -> a
    180:180:void visitInsn(int):595 -> a
    181:181:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):90:90 -> a
    181:181:void visitInsn(int):595 -> a
    182:182:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):88:88 -> a
    182:182:void visitInsn(int):595 -> a
    183:183:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):86:86 -> a
    183:183:void visitInsn(int):595 -> a
    184:184:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):84:84 -> a
    184:184:void visitInsn(int):595 -> a
    185:185:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):82:82 -> a
    185:185:void visitInsn(int):595 -> a
    186:186:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):80:80 -> a
    186:186:void visitInsn(int):595 -> a
    187:187:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):78:78 -> a
    187:187:void visitInsn(int):595 -> a
    188:188:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):76:76 -> a
    188:188:void visitInsn(int):595 -> a
    189:189:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):74:74 -> a
    189:189:void visitInsn(int):595 -> a
    190:190:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):72:72 -> a
    190:190:void visitInsn(int):595 -> a
    191:191:void visitInsn(int):595:595 -> a
    192:192:void visitInsn(int):573:573 -> a
    193:193:void visitInsn(int):562:562 -> a
    194:194:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):703:703 -> a
    194:194:void visitInsn(int):562 -> 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):703:703 -> a
    394:394:void visitInsn(int):562 -> a
    395:395:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):703:703 -> a
    395:395:void visitInsn(int):562 -> a
    396:396:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):703:703 -> a
    396:396:void visitInsn(int):562 -> a
    397:397:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):703:703 -> a
    397:397:void visitInsn(int):562 -> a
    398:398:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):703:703 -> a
    398:398:void visitInsn(int):562 -> a
    196:196:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):703:703 -> a
    196:196:void visitInsn(int):562 -> a
    197:197:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):701:701 -> a
    197:197:void visitInsn(int):562 -> a
    198:198:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):698:698 -> a
    198:198:void visitInsn(int):562 -> a
    199:199:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):695:695 -> a
    199:199:void visitInsn(int):562 -> a
    200:200:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):692:692 -> a
    200:200:void visitInsn(int):562 -> a
    201:201:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):689:689 -> a
    201:201:void visitInsn(int):562 -> a
    202:205:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):683:686 -> a
    202:205:void visitInsn(int):562 -> a
    206:206:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):680:680 -> a
    206:206:void visitInsn(int):562 -> a
    207:284:void visitInsn(int):562:639 -> 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):639 -> 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):639 -> 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):639 -> 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):639 -> 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):639 -> 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):639 -> 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):639 -> 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):639 -> 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):639 -> 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):639 -> 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):639 -> 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):639 -> a
    293:293:void visitInsn(int):639:639 -> a
    294:294:void visitInsn(int):632:632 -> 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):632 -> 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):632 -> 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):632 -> 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):632 -> 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):632 -> 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):632 -> 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):632 -> 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):632 -> 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):632 -> 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):632 -> 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):632 -> 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):632 -> 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):632 -> 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):632 -> 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):632 -> 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):632 -> 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):632 -> 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):632 -> 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):632 -> 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):632 -> 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):632 -> 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):632 -> a
    313:338:void visitInsn(int):632:657 -> a
    339:339:void visitInsn(int):654:654 -> a
    340:340:void visitInsn(int):651:651 -> a
    341:341:void visitInsn(int):648:648 -> a
    342:342:void visitInsn(int):645:645 -> a
    343:370:void visitInsn(int):642:669 -> a
    371:371:void visitInsn(int):666:666 -> a
    372:372:void visitInsn(int):663:663 -> a
    373:373:void visitInsn(int):660:660 -> a
    409:424:void visitTypeInsn(int,java.lang.String):787:802 -> a
    425:425:void visitTypeInsn(int,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1244,"2":1245,"3":1246,"4":1247,"5":1248}}
    1244:1244:void visitTypeInsn(int,java.lang.String):802:802 -> a
    1245:1245:void visitTypeInsn(int,java.lang.String):802:802 -> a
    1246:1246:void visitTypeInsn(int,java.lang.String):802:802 -> a
    1247:1247:void visitTypeInsn(int,java.lang.String):802:802 -> a
    1248:1248:void visitTypeInsn(int,java.lang.String):802:802 -> a
    1227:1227:void visitTypeInsn(int,java.lang.String):802:802 -> a
    1228:1228:void visitTypeInsn(int,java.lang.String):796:796 -> a
    1229:1229:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    1229:1229:void visitTypeInsn(int,java.lang.String):796 -> a
    1230:1230:void visitTypeInsn(int,java.lang.String):796:796 -> a
    1231:1231:void visitTypeInsn(int,java.lang.String):793:793 -> a
    1232:1232:void visitTypeInsn(int,java.lang.String):790:790 -> a
    1249:1249:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):808:808 -> a
    1250:1251:com.android.tools.r8.graph.DexType createTypeFromInternalType(java.lang.String):505:506 -> a
    1250:1251:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):809 -> a
    1252:1255:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):809:812 -> a
    1256:1256: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
    1256:1256:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):812 -> a
    1257:1257:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1264,"2":1265,"3":1266,"4":1267,"5":1268}}
    1264:1264: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
    1264:1264:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):812 -> a
    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):812 -> 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):812 -> 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):812 -> 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):812 -> a
    1258:1258: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
    1258:1258:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):812 -> 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):62:62 -> a
    1259:1259:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):812 -> 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):60:60 -> a
    1260:1260:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):812 -> 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):58:58 -> a
    1261:1261:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):812 -> 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):56:56 -> a
    1262:1262:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):812 -> a
    1263:1263:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):812:812 -> a
    1269:1269:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):817:817 -> a
    1270:1270: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
    1270:1270:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):817 -> a
    1271:1271:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):818:818 -> a
    1272:1272:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> 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):818:818 -> a
    1274:1274:boolean com.android.tools.r8.graph.DexItemFactory.isClassConstructor(com.android.tools.r8.graph.DexMethod):2800:2800 -> a
    1274:1274:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):818 -> a
    1275:1275:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):821:821 -> a
    1276:1276:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):819:819 -> a
    1277:1277:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    1277:1277:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):819 -> a
    1278:1278:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    1278:1278:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    1278:1278:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):819 -> a
    1279:1279:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):819:819 -> a
    1280:1281:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):826:827 -> a
    1282:1285: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
    1282:1285:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827 -> a
    1286:1286: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":1342,"2":1343,"3":1344}}
    1342: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[]):90:90 -> a
    1342:1342:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827 -> 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[]):90:90 -> a
    1343:1343:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827 -> a
    1344:1344: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
    1344:1344:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827 -> a
    1287:1287: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
    1287:1287:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827 -> a
    1288:1288:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    1288: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[]):90 -> a
    1288:1288:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827 -> a
    1289:1289:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    1289:1289:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    1289:1289: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
    1289:1289:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827 -> a
    1290:1297: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
    1290:1297:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827 -> a
    1298:1319: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
    1298:1319: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
    1298:1319:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827 -> a
    1320:1320: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.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
    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[]):98 -> a
    1345:1345:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827 -> a
    1346:1346: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
    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[]):98 -> a
    1346:1346:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827 -> a
    1347:1347: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
    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[]):98 -> a
    1347:1347:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827 -> a
    1321:1321: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
    1321:1321: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
    1321:1321:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827 -> a
    1322:1332: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
    1322:1332: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
    1322:1332:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827 -> a
    1333:1333: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
    1333:1333:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827 -> a
    1334:1334: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
    1334:1334: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
    1334:1334:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827 -> a
    1335:1335: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":1353,"2":1354,"3":1355}}
    1353:1353: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
    1353:1353: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
    1353:1353:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827 -> a
    1354:1354: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
    1354:1354: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
    1354:1354:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827 -> a
    1355:1355: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
    1355:1355: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
    1355:1355:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827 -> a
    1336:1336: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
    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 -> a
    1336:1336:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827 -> a
    1337:1339: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
    1337: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[]):102 -> a
    1337:1339:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827 -> a
    1340:1340: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):2707:2707 -> a
    1340:1340: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
    1340:1340: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:1340:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827 -> a
    1341:1341:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828:828 -> a
    1356:1360:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):833:837 -> a
    1361:1361:com.android.tools.r8.ir.code.If$Type ifType(int):891:891 -> a
    1361:1361:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):837 -> a
    1362:1362:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2277,"2":2278,"3":2279,"4":2280,"5":2281}}
    2277:2277:com.android.tools.r8.ir.code.If$Type ifType(int):891:891 -> a
    2277:2277:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):837 -> a
    2278:2278:com.android.tools.r8.ir.code.If$Type ifType(int):891:891 -> a
    2278:2278:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):837 -> a
    2279:2279:com.android.tools.r8.ir.code.If$Type ifType(int):891:891 -> a
    2279:2279:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):837 -> a
    2280:2280:com.android.tools.r8.ir.code.If$Type ifType(int):891:891 -> a
    2280:2280:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):837 -> a
    2281:2281:com.android.tools.r8.ir.code.If$Type ifType(int):891:891 -> a
    2281:2281:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):837 -> a
    1363:1363:com.android.tools.r8.ir.code.If$Type ifType(int):891:891 -> a
    1363:1363:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):837 -> a
    1364:1364:com.android.tools.r8.ir.code.If$Type ifType(int):889:889 -> a
    1364:1364:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):837 -> a
    1365:1365:com.android.tools.r8.ir.code.If$Type ifType(int):886:886 -> a
    1365:1365:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):837 -> a
    1366:1366:com.android.tools.r8.ir.code.If$Type ifType(int):883:883 -> a
    1366:1366:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):837 -> a
    1367:1367:com.android.tools.r8.ir.code.If$Type ifType(int):880:880 -> a
    1367:1367:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):837 -> a
    1368:1368:com.android.tools.r8.ir.code.If$Type ifType(int):877:877 -> a
    1368:1368:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):837 -> a
    1369:1369:com.android.tools.r8.ir.code.If$Type ifType(int):873:873 -> a
    1369:1369:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):837 -> a
    1370:1380:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):837:847 -> a
    1381:1381:com.android.tools.r8.ir.code.If$Type ifType(int):891:891 -> a
    1381:1381:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):847 -> a
    1382:1382:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2282,"2":2283,"3":2284,"4":2285,"5":2286}}
    2282:2282:com.android.tools.r8.ir.code.If$Type ifType(int):891:891 -> a
    2282:2282:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):847 -> a
    2283:2283:com.android.tools.r8.ir.code.If$Type ifType(int):891:891 -> a
    2283:2283:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):847 -> a
    2284:2284:com.android.tools.r8.ir.code.If$Type ifType(int):891:891 -> a
    2284:2284:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):847 -> a
    2285:2285:com.android.tools.r8.ir.code.If$Type ifType(int):891:891 -> a
    2285:2285:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):847 -> a
    2286:2286:com.android.tools.r8.ir.code.If$Type ifType(int):891:891 -> a
    2286:2286:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):847 -> a
    1383:1383:com.android.tools.r8.ir.code.If$Type ifType(int):891:891 -> a
    1383:1383:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):847 -> a
    1384:1384:com.android.tools.r8.ir.code.If$Type ifType(int):889:889 -> a
    1384:1384:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):847 -> a
    1385:1385:com.android.tools.r8.ir.code.If$Type ifType(int):886:886 -> a
    1385:1385:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):847 -> a
    1386:1386:com.android.tools.r8.ir.code.If$Type ifType(int):883:883 -> a
    1386:1386:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):847 -> a
    1387:1387:com.android.tools.r8.ir.code.If$Type ifType(int):880:880 -> a
    1387:1387:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):847 -> a
    1388:1388:com.android.tools.r8.ir.code.If$Type ifType(int):877:877 -> a
    1388:1388:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):847 -> a
    1389:1389:com.android.tools.r8.ir.code.If$Type ifType(int):873:873 -> a
    1389:1389:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):847 -> a
    1390:1406:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):847:863 -> a
    1407:1407:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2287,"2":2288,"3":2289,"4":2290,"5":2291}}
    2287:2287:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):863:863 -> a
    2288:2288:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):863:863 -> a
    2289:2289:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):863:863 -> a
    2290:2290:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):863:863 -> a
    2291:2291:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):863:863 -> a
    2270:2270:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):863:863 -> a
    2271:2275:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):857:861 -> a
    2276:2276:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):853:853 -> a
    2292:2292:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):897:897 -> a
    2293:2299:void visitLdcInsn(java.lang.Object):902:908 -> a
    2300:2300:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    2300:2300:void visitLdcInsn(java.lang.Object):908 -> a
    2301:2318:void visitLdcInsn(java.lang.Object):908:925 -> a
    2319:2323:void visitLdcInsn(java.lang.Object):923:927 -> a
    2324:2351: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
    2324:2351:void visitLdcInsn(java.lang.Object):928 -> a
    2352:2352:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    2352:2352: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
    2352:2352:void visitLdcInsn(java.lang.Object):928 -> a
    2353:2353:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    2353:2353:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    2353:2353: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
    2353:2353:void visitLdcInsn(java.lang.Object):928 -> a
    2354: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:115 -> a
    2354:2356:void visitLdcInsn(java.lang.Object):928 -> a
    2357:2357:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> 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):115 -> a
    2357:2357:void visitLdcInsn(java.lang.Object):928 -> a
    2358: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:118 -> a
    2358:2361:void visitLdcInsn(java.lang.Object):928 -> a
    2362:2362:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
    2362:2362: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
    2362:2362:void visitLdcInsn(java.lang.Object):928 -> a
    2363:2363: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
    2363:2363:void visitLdcInsn(java.lang.Object):928 -> a
    2364:2364:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2364:2364: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
    2364:2364:void visitLdcInsn(java.lang.Object):928 -> a
    2365:2369: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
    2365:2369:void visitLdcInsn(java.lang.Object):928 -> a
    2370:2370:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
    2370:2370: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
    2370:2370:void visitLdcInsn(java.lang.Object):928 -> a
    2371:2371: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
    2371:2371:void visitLdcInsn(java.lang.Object):928 -> a
    2372:2372:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2372:2372: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
    2372:2372:void visitLdcInsn(java.lang.Object):928 -> a
    2373:2377: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
    2373:2377:void visitLdcInsn(java.lang.Object):928 -> a
    2378:2378:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
    2378:2378: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
    2378:2378:void visitLdcInsn(java.lang.Object):928 -> a
    2379:2379: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
    2379:2379:void visitLdcInsn(java.lang.Object):928 -> a
    2380:2380:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2380:2380: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
    2380:2380:void visitLdcInsn(java.lang.Object):928 -> a
    2381:2387: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
    2381:2387:void visitLdcInsn(java.lang.Object):928 -> a
    2388:2388:void visitLdcInsn(java.lang.Object):927:927 -> a
    2389:2389: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
    2389:2389:void visitLdcInsn(java.lang.Object):928 -> a
    2390:2390:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    2390:2390: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
    2390:2390:void visitLdcInsn(java.lang.Object):928 -> a
    2391:2391:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    2391:2391:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    2391: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):127 -> a
    2391:2391:void visitLdcInsn(java.lang.Object):928 -> a
    2392:2392: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
    2392:2392:void visitLdcInsn(java.lang.Object):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):123:123 -> a
    2393:2393:void visitLdcInsn(java.lang.Object):928 -> 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):123 -> a
    2394:2394:void visitLdcInsn(java.lang.Object):928 -> 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):123 -> a
    2395:2395:void visitLdcInsn(java.lang.Object):928 -> 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):123:123 -> a
    2396:2396:void visitLdcInsn(java.lang.Object):928 -> 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):119:119 -> a
    2397:2397:void visitLdcInsn(java.lang.Object):928 -> 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):119 -> a
    2398:2398:void visitLdcInsn(java.lang.Object):928 -> 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):119 -> a
    2399:2399:void visitLdcInsn(java.lang.Object):928 -> 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):119:119 -> a
    2400:2400:void visitLdcInsn(java.lang.Object):928 -> 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):116:116 -> a
    2401:2401:void visitLdcInsn(java.lang.Object):928 -> 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):116 -> a
    2402:2402:void visitLdcInsn(java.lang.Object):928 -> 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):116 -> a
    2403:2403:void visitLdcInsn(java.lang.Object):928 -> 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):116:116 -> a
    2404:2404:void visitLdcInsn(java.lang.Object):928 -> 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):107:107 -> a
    2405:2405:void visitLdcInsn(java.lang.Object):928 -> 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):107 -> a
    2406:2406:void visitLdcInsn(java.lang.Object):928 -> 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):107 -> a
    2407:2407:void visitLdcInsn(java.lang.Object):928 -> 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):107:107 -> a
    2408:2408:void visitLdcInsn(java.lang.Object):928 -> 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):101:101 -> a
    2409:2409:void visitLdcInsn(java.lang.Object):928 -> 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):101 -> a
    2410:2410:void visitLdcInsn(java.lang.Object):928 -> 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):101 -> a
    2411:2411:void visitLdcInsn(java.lang.Object):928 -> 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):101:101 -> a
    2412:2412:void visitLdcInsn(java.lang.Object):928 -> 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):97:97 -> a
    2413:2413:void visitLdcInsn(java.lang.Object):928 -> 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):97 -> a
    2414:2414:void visitLdcInsn(java.lang.Object):928 -> 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):97 -> a
    2415:2415:void visitLdcInsn(java.lang.Object):928 -> 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):97:97 -> a
    2416:2416:void visitLdcInsn(java.lang.Object):928 -> 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):94:94 -> a
    2417:2417:void visitLdcInsn(java.lang.Object):928 -> 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):94 -> a
    2418:2418:void visitLdcInsn(java.lang.Object):928 -> 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):94 -> a
    2419:2419:void visitLdcInsn(java.lang.Object):928 -> 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):94:94 -> a
    2420:2420:void visitLdcInsn(java.lang.Object):928 -> 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):90:90 -> a
    2421:2421:void visitLdcInsn(java.lang.Object):928 -> 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):90 -> a
    2422:2422:void visitLdcInsn(java.lang.Object):928 -> 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):90 -> a
    2423:2423:void visitLdcInsn(java.lang.Object):928 -> 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):90:90 -> a
    2424:2424:void visitLdcInsn(java.lang.Object):928 -> a
    2425:2425:void visitLdcInsn(java.lang.Object):931:931 -> a
    2426:2426:void visitLdcInsn(java.lang.Object):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3361,"2":3362,"3":3363}}
    3361:3361:void visitLdcInsn(java.lang.Object):931:931 -> a
    3362:3362:void visitLdcInsn(java.lang.Object):931:931 -> a
    3363:3363:void visitLdcInsn(java.lang.Object):931:931 -> a
    3357:3357:void visitLdcInsn(java.lang.Object):931:931 -> a
    3358:3358:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    3358:3358:void visitLdcInsn(java.lang.Object):931 -> a
    3359:3359:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    3359:3359:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    3359:3359:void visitLdcInsn(java.lang.Object):931 -> a
    3360:3360:void visitLdcInsn(java.lang.Object):931:931 -> a
    3364:3364:void visitIincInsn(int,int):937:937 -> a
    3365:3370:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):942:947 -> a
    3371:3375:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):952:956 -> a
    3376:3417:void visitMultiANewArrayInsn(java.lang.String,int):961:1002 -> a
    3418:3418: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:1009 -> a
    3419:3420:com.android.tools.r8.graph.DexType createTypeFromInternalType(java.lang.String):505:506 -> a
    3419:3420: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 -> a
    3421:3424: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):1008:1011 -> a
    3425:3431: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):1017:1023 -> a
    3432:3438: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):1019:1025 -> a
    3439:3440: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):96:97 -> a
    3439:3440: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 -> a
    3441:3441: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):1024:1024 -> a
    3442:3442:com.android.tools.r8.graph.DebugLocalInfo canonicalize(com.android.tools.r8.graph.DebugLocalInfo):1030:1030 -> a
    1:6:void visitCode():394:399 -> b
    7:11:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(java.lang.Object):470:474 -> b
    12:24:com.android.tools.r8.graph.DexType parseAsmType(java.lang.Object):486:498 -> b
    12:24:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(java.lang.Object):477 -> b
    25:26:com.android.tools.r8.graph.DexType createTypeFromInternalType(java.lang.String):505:506 -> b
    25:26:com.android.tools.r8.graph.DexType parseAsmType(java.lang.Object):498 -> b
    25:26:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(java.lang.Object):477 -> b
    27:27:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(java.lang.Object):477:477 -> b
    28:28:com.android.tools.r8.graph.DexType parseAsmType(java.lang.Object):500:500 -> b
    28:28:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(java.lang.Object):477 -> b
    29:29:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(java.lang.Object):475:475 -> b
    30:30:com.android.tools.r8.cf.code.CfLabel getLabel(com.android.tools.r8.org.objectweb.asm.Label):482:482 -> b
    31:31:void visitIntInsn(int,int):715:715 -> b
    32:32:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):742:742 -> b
    32:32:void visitIntInsn(int,int):716 -> b
    33:33:void visitIntInsn(int,int):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":770,"2":771,"3":772,"4":773,"5":774}}
    770:770:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):742:742 -> b
    770:770:void visitIntInsn(int,int):716 -> b
    771:771:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):742:742 -> b
    771:771:void visitIntInsn(int,int):716 -> b
    772:772:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):742:742 -> b
    772:772:void visitIntInsn(int,int):716 -> b
    773:773:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):742:742 -> b
    773:773:void visitIntInsn(int,int):716 -> b
    774:774:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):742:742 -> b
    774:774:void visitIntInsn(int,int):716 -> b
    34:34:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):742:742 -> b
    34:34:void visitIntInsn(int,int):716 -> b
    35:35:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):740:740 -> b
    35:35:void visitIntInsn(int,int):716 -> b
    36:36:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):738:738 -> b
    36:36:void visitIntInsn(int,int):716 -> b
    37:37:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):736:736 -> b
    37:37:void visitIntInsn(int,int):716 -> b
    38:38:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):734:734 -> b
    38:38:void visitIntInsn(int,int):716 -> b
    39:39:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):732:732 -> b
    39:39:void visitIntInsn(int,int):716 -> b
    40:40:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):730:730 -> b
    40:40:void visitIntInsn(int,int):716 -> b
    41:41:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):728:728 -> b
    41:41:void visitIntInsn(int,int):716 -> b
    42:42:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):726:726 -> b
    42:42:void visitIntInsn(int,int):716 -> b
    43:43:void visitIntInsn(int,int):716:716 -> b
    44:48:void visitIntInsn(int,int):715:719 -> b
    49:49:void visitIntInsn(int,int):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":775,"2":776,"3":777,"4":778,"5":779}}
    775:775:void visitIntInsn(int,int):719:719 -> b
    776:776:void visitIntInsn(int,int):719:719 -> b
    777:777:void visitIntInsn(int,int):719:719 -> b
    778:778:void visitIntInsn(int,int):719:719 -> b
    779:779:void visitIntInsn(int,int):719:719 -> b
    768:768:void visitIntInsn(int,int):719:719 -> b
    769:769:void visitIntInsn(int,int):712:712 -> b
    780:785:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):1035:1040 -> b
    786:786:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):1038:1038 -> b
    1:10:void visitEnd():404:413 -> c
    11:16:com.android.tools.r8.position.Position getDiagnosticPosition():427:432 -> c
    11:16:void visitEnd():413 -> c
    17:17:com.android.tools.r8.position.Position getDiagnosticPosition():428:428 -> c
    17:17:void visitEnd():413 -> c
    18:18:void visitEnd():413:413 -> 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():413 -> c
    20:25:void visitEnd():413:418 -> c
    26:31:com.android.tools.r8.position.Position getDiagnosticPosition():427:432 -> c
    26:31:void visitEnd():423 -> c
    32:32:void visitEnd():423:423 -> c
    33:33:void visitEnd():415:415 -> c
    34:34:com.android.tools.r8.cf.code.CfLabel lambda$getLabel$0(com.android.tools.r8.org.objectweb.asm.Label):482:482 -> c
    35:38:void visitMaxs(int,int):1046:1049 -> c
    1:1:void visitVarInsn(int,int):776:776 -> d
    2:2:void visitVarInsn(int,int):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":817,"2":818,"3":819,"4":820,"5":821}}
    817:817:void visitVarInsn(int,int):776:776 -> d
    818:818:void visitVarInsn(int,int):776:776 -> d
    819:819:void visitVarInsn(int,int):776:776 -> d
    820:820:void visitVarInsn(int,int):776:776 -> d
    821:821:void visitVarInsn(int,int):776:776 -> d
    778:778:void visitVarInsn(int,int):776:776 -> d
    779:779:void visitVarInsn(int,int):768:768 -> d
    780:780:void visitVarInsn(int,int):764:764 -> d
    781:785:void visitVarInsn(int,int):756:760 -> d
    786:815:void visitVarInsn(int,int):752:781 -> d
    816:816:void visitVarInsn(int,int):772:772 -> d
com.android.tools.r8.graph.LazyLoadedDexApplication -> com.android.tools.r8.graph.q2:
    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>():26:26 -> <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):26:26 -> <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):43:46 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList access$000(java.util.Map,java.util.Map,com.android.tools.r8.utils.InternalOptions):26:26 -> a
    2:2:com.android.tools.r8.utils.ClasspathClassCollection access$100(com.android.tools.r8.graph.LazyLoadedDexApplication):26:26 -> a
    3:8:void lambda$fillPrioritizedClasses$1(java.util.Map,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,java.util.Set,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):177:182 -> a
    9:10:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    9:10:void lambda$fillPrioritizedClasses$1(java.util.Map,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,java.util.Set,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):182 -> a
    11:11:void lambda$fillPrioritizedClasses$1(java.util.Map,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,java.util.Set,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):183:183 -> a
    12:21:void warnJavaLibraryOverride(com.android.tools.r8.utils.InternalOptions,java.util.Set):198:207 -> a
    22:22:void warnJavaLibraryOverride(com.android.tools.r8.utils.InternalOptions,java.util.Set):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":232,"2":233,"3":234}}
    232:232:void warnJavaLibraryOverride(com.android.tools.r8.utils.InternalOptions,java.util.Set):207:207 -> a
    233:233:void warnJavaLibraryOverride(com.android.tools.r8.utils.InternalOptions,java.util.Set):207:207 -> a
    234:234:void warnJavaLibraryOverride(com.android.tools.r8.utils.InternalOptions,java.util.Set):207:207 -> a
    231:231:void warnJavaLibraryOverride(com.android.tools.r8.utils.InternalOptions,java.util.Set):209:209 -> a
    1:1:com.android.tools.r8.utils.LibraryClassCollection access$200(com.android.tools.r8.graph.LazyLoadedDexApplication):26:26 -> b
    2:20:com.android.tools.r8.com.google.common.collect.ImmutableList fillPrioritizedClasses(java.util.Map,java.util.Map,com.android.tools.r8.utils.InternalOptions):173:191 -> b
    1:1:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):57:57 -> c
    2:2:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":78,"2":79,"3":80,"4":81,"5":82}}
    78:78:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):57:57 -> c
    79:79:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):57:57 -> c
    80:80:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):57:57 -> c
    81:81:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):57:57 -> c
    82:82:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):57:57 -> c
    59:77:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):57:75 -> c
    83:83:com.android.tools.r8.graph.LazyLoadedDexApplication$Builder builder():278:278 -> c
    83:83:com.android.tools.r8.graph.DexApplication$Builder builder():26 -> c
    1:1:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):83:83 -> d
    2:2:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(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.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):83:83 -> d
    88:88:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):83:83 -> d
    89:89:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):83:83 -> d
    90:90:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):83:83 -> d
    91:91:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):83:83 -> d
    85:86:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):83:84 -> d
    boolean lambda$programClasses$0(com.android.tools.r8.graph.DexType) -> e
    1:2:java.util.List programClasses():51:52 -> h
    1:1:com.android.tools.r8.graph.DirectMappedDexApplication toDirect():283:283 -> i
    1:1:com.android.tools.r8.graph.LazyLoadedDexApplication$AllClasses loadAllClasses():216:216 -> j
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":295,"2":296,"3":297}}
    295:295:java.lang.String toString():293:293 -> toString
    296:296:java.lang.String toString():293:293 -> toString
    297:297:java.lang.String toString():293:293 -> toString
    294:294:java.lang.String toString():293:293 -> toString
com.android.tools.r8.graph.LazyLoadedDexApplication$AllClasses -> com.android.tools.r8.graph.p2:
    com.android.tools.r8.com.google.common.collect.ImmutableList classpathClasses -> b
    com.android.tools.r8.com.google.common.collect.ImmutableList programClasses -> a
    com.android.tools.r8.com.google.common.collect.ImmutableList libraryClasses -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():92:92 -> <clinit>
    1:44:void <init>(com.android.tools.r8.utils.LibraryClassCollection,com.android.tools.r8.utils.ClasspathClassCollection,com.android.tools.r8.utils.ProgramClassCollection,com.android.tools.r8.utils.InternalOptions):105:148 -> <init>
    45:45:void <init>(com.android.tools.r8.utils.LibraryClassCollection,com.android.tools.r8.utils.ClasspathClassCollection,com.android.tools.r8.utils.ProgramClassCollection,com.android.tools.r8.utils.InternalOptions):147:147 -> <init>
    boolean lambda$new$0(com.android.tools.r8.graph.DexType) -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList getClasspathClasses():160:160 -> a
    boolean lambda$new$1(com.android.tools.r8.graph.DexType) -> b
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList getLibraryClasses():164:164 -> b
    boolean lambda$new$2(com.android.tools.r8.graph.DexType) -> c
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList getProgramClasses():156:156 -> c
com.android.tools.r8.graph.LazyLoadedDexApplication$Builder -> com.android.tools.r8.graph.q2$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):219:219 -> <init>
    2:5:void <init>(com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing):226:229 -> <init>
    6:9:void <init>(com.android.tools.r8.graph.LazyLoadedDexApplication):233:236 -> <init>
    1:1:com.android.tools.r8.graph.LazyLoadedDexApplication$Builder setClasspathClassCollection(com.android.tools.r8.utils.ClasspathClassCollection):245:245 -> a
    2:2:com.android.tools.r8.graph.LazyLoadedDexApplication$Builder setLibraryClassCollection(com.android.tools.r8.utils.LibraryClassCollection):250:250 -> a
    1:1:com.android.tools.r8.graph.DexApplication build():219:219 -> b
    2:4:void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass):256:258 -> b
    com.android.tools.r8.graph.DexApplication$Builder self() -> d
    1:5:com.android.tools.r8.graph.LazyLoadedDexApplication build():263:267 -> e
com.android.tools.r8.graph.LibraryDefinition -> com.android.tools.r8.internal.NA:
    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.r2:
    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 -> r
    1:2:com.android.tools.r8.graph.DexLibraryClass getHolder():16:17 -> z
    3:3:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> z
    3:3:com.android.tools.r8.graph.DexLibraryClass getHolder():17 -> z
    4:5:com.android.tools.r8.graph.DexLibraryClass getHolder():17:18 -> z
com.android.tools.r8.graph.LibraryMethod -> com.android.tools.r8.graph.s2:
    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 -> F
    3:3:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> F
    3:3:com.android.tools.r8.graph.DexLibraryClass getHolder():17 -> F
    4:5:com.android.tools.r8.graph.DexLibraryClass getHolder():17:18 -> F
    com.android.tools.r8.graph.LibraryMethod asLibraryMethod() -> N
    1:1:com.android.tools.r8.graph.DexClass getHolder():7:7 -> r
com.android.tools.r8.graph.LookupCompletenessHelper -> com.android.tools.r8.graph.t2:
    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):560:560 -> 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.AC:
    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() -> j
    com.android.tools.r8.graph.LookupLambdaTarget asLambdaTarget() -> n
com.android.tools.r8.graph.LookupResult -> com.android.tools.r8.graph.w2:
    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.u2:
    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.w2$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.v2:
    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.CC:
    void accept(java.util.function.Consumer,java.util.function.Consumer) -> a
    boolean isLambdaTarget() -> j
    com.android.tools.r8.graph.DexClassAndMethod asMethodTarget() -> m
    com.android.tools.r8.graph.LookupLambdaTarget asLambdaTarget() -> n
    boolean isMethodTarget() -> p
com.android.tools.r8.graph.MemberResolutionResult -> com.android.tools.r8.internal.wD:
    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.y2:
    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() -> L
    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():151:151 -> R
    1:1:int com.android.tools.r8.graph.AccessFlags.materialize():74:74 -> T
    1:1:int getAsCfAccessFlags():109 -> T
    1:2:int getAsDexAccessFlags():114:115 -> U
    3:3:void unsetSynchronized():135:135 -> U
    3:3:int getAsDexAccessFlags():116 -> U
    4:4:void setDeclaredSynchronized():239:239 -> U
    4:4:int getAsDexAccessFlags():117 -> U
    5:5:int com.android.tools.r8.graph.AccessFlags.materialize():74:74 -> U
    5:5:int getAsDexAccessFlags():119 -> U
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):256:256 -> V
    1:1:boolean isAbstract():179 -> V
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):256:256 -> W
    1:1:boolean isBridge():139 -> W
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):256:256 -> X
    1:1:boolean isConstructor():215 -> X
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):256:256 -> Y
    1:1:boolean isNative():167 -> Y
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):256:256 -> Z
    1:1:boolean isStrict():199 -> 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):223:223 -> a
    4:4:boolean com.android.tools.r8.graph.DexItemFactory.isConstructor(com.android.tools.r8.graph.DexMethod):2796:2796 -> a
    4:4:void setConstructor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):223 -> a
    5:5:boolean com.android.tools.r8.graph.DexItemFactory.isClassConstructor(com.android.tools.r8.graph.DexMethod):2800:2800 -> a
    5:5:void setConstructor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):223 -> a
    6:6:void setConstructor():219:219 -> a
    6:6:void setConstructor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):224 -> a
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):256:256 -> a0
    1:1:boolean isSynchronized():123 -> 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):256:256 -> b0
    1:1:boolean isVarargs():155 -> b0
    1:9:java.util.List getNames():32:40 -> c
    1:1:void setAbstract():183:183 -> c0
    1:1:void setBridge():143:143 -> d0
    1:9:java.util.List getPredicates():45:53 -> e
    1:1:void setNative():171:171 -> e0
    1:1:void unsetAbstract():195:195 -> f0
    1:1:void unsetBridge():147:147 -> g0
    1:1:void unsetConstructor():229:229 -> h0
    1:1:com.android.tools.r8.graph.MethodAccessFlags fromDexAccessFlags(int):99:99 -> i
    2:2:void <init>(int):57:57 -> i
    2:2:com.android.tools.r8.graph.MethodAccessFlags fromDexAccessFlags(int):99 -> i
    3:3:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):256:256 -> i
    3:3:boolean isDeclaredSynchronized():235 -> i
    3:3:com.android.tools.r8.graph.MethodAccessFlags fromDexAccessFlags(int):100 -> i
    4:4:void setSynchronized():127:127 -> i
    4:4:com.android.tools.r8.graph.MethodAccessFlags fromDexAccessFlags(int):101 -> i
    5:5:void unsetDeclaredSynchronized():243:243 -> i
    5:5:com.android.tools.r8.graph.MethodAccessFlags fromDexAccessFlags(int):102 -> i
    1:1:void unsetDeclaredSynchronized():243:243 -> i0
    1:1:void unsetVarargs():163:163 -> j0
    com.android.tools.r8.graph.AccessFlags self() -> y
com.android.tools.r8.graph.MethodAccessFlags$Builder -> com.android.tools.r8.graph.x2:
    1:1:void <init>():249:249 -> <init>
    1:3:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setPrivate(boolean):326:328 -> a
    1:3:com.android.tools.r8.graph.AccessFlags$BuilderBase setPrivate(boolean):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    4:4:com.android.tools.r8.graph.AccessFlags com.android.tools.r8.graph.AccessFlags$BuilderBase.build():366:366 -> a
    4:4: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):335:337 -> 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():253:253 -> c
    2:6:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setPublic(boolean):348:352 -> 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():258:258 -> d
    2:2:void com.android.tools.r8.graph.MethodAccessFlags.setConstructor():219:219 -> d
    2:2:com.android.tools.r8.graph.MethodAccessFlags$Builder setConstructor():258 -> d
    3:3:com.android.tools.r8.graph.MethodAccessFlags$Builder setStrict(boolean):264:264 -> d
    4:4:void com.android.tools.r8.graph.MethodAccessFlags.setStrict():203:203 -> d
    4:4:com.android.tools.r8.graph.MethodAccessFlags$Builder setStrict(boolean):264 -> d
    5:5:com.android.tools.r8.graph.MethodAccessFlags$Builder setStrict(boolean):266:266 -> d
    6:6:void com.android.tools.r8.graph.MethodAccessFlags.unsetStrict():211:211 -> d
    6:6:com.android.tools.r8.graph.MethodAccessFlags$Builder setStrict(boolean):266 -> d
    1:1:com.android.tools.r8.graph.MethodAccessFlags$Builder setSynchronized(boolean):273:273 -> e
    2:2:void com.android.tools.r8.graph.MethodAccessFlags.setSynchronized():127:127 -> e
    2:2:com.android.tools.r8.graph.MethodAccessFlags$Builder setSynchronized(boolean):273 -> e
    3:3:com.android.tools.r8.graph.MethodAccessFlags$Builder setSynchronized(boolean):275:275 -> e
    4:4:void com.android.tools.r8.graph.MethodAccessFlags.unsetSynchronized():135:135 -> e
    4:4:com.android.tools.r8.graph.MethodAccessFlags$Builder setSynchronized(boolean):275 -> e
    5:6:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setPackagePrivate():320:321 -> 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():356:357 -> 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():361:362 -> 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.OD:
    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):429:429 -> 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
    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.KD:
    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.LD:
    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.MD:
    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.ND:
    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.z2:
    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
    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:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):256:256 -> a
    101:102: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
    101:102:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):256 -> a
    103:103:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):242:242 -> a
    103: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[]):263 -> a
    103:103:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):256 -> a
    104:104:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):287:287 -> a
    105:105:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> a
    105:105:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):287 -> a
    106:107:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):287:288 -> a
    108:108:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):294:294 -> a
    109:113: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
    109:113:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):294 -> a
    114:114:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):295:295 -> a
    115:115:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> a
    115:115:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):295 -> 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:void replaceAllDirectMethods(java.util.function.Function):414:414 -> a
    118:118:void clearDirectMethods():101:101 -> a
    118:118:void replaceAllDirectMethods(java.util.function.Function):415 -> a
    119:123: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.A2:
    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 getDirectMethod(com.android.tools.r8.graph.DexMethod):176:176 -> a
    14:14:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(java.util.function.Predicate):180:180 -> a
    15:15:void resetClassInitializerCache():192:192 -> a
    15:15:void resetDirectMethodCaches():54 -> a
    15:15:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):219 -> a
    16:16:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):220:220 -> a
    17:17:void resetClassInitializerCache():192:192 -> a
    17:17:void resetDirectMethodCaches():54 -> a
    17:17:void replaceAllDirectMethods(java.util.function.Function):251 -> a
    18:18:void replaceAllDirectMethods(java.util.function.Function):252:252 -> a
    19:19:void resetClassInitializerCache():192:192 -> a
    19:19:void resetDirectMethodCaches():54 -> a
    19:19:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):225 -> a
    20:20:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):226:226 -> a
    21:21:void addDirectMethods(java.util.Collection):274:274 -> a
    22:23:boolean verifyCorrectnessOfMethodHolders(java.lang.Iterable):376:377 -> a
    22:23:void addDirectMethods(java.util.Collection):274 -> a
    24:24:void resetClassInitializerCache():192:192 -> a
    24:24:void resetDirectMethodCaches():54 -> a
    24:24:void addDirectMethods(java.util.Collection):275 -> a
    25:25:void addDirectMethods(java.util.Collection):276:276 -> a
    26:26:void removeMethods(java.util.Set):298:298 -> a
    27:27:void resetClassInitializerCache():192:192 -> a
    27:27:void resetDirectMethodCaches():54 -> a
    27:27:void removeMethods(java.util.Set):299 -> a
    28:28:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):304:304 -> a
    29:29:boolean verifyCorrectnessOfMethodHolders(com.android.tools.r8.graph.DexEncodedMethod[]):372:372 -> a
    29:29:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):304 -> a
    30:31:boolean verifyCorrectnessOfMethodHolders(java.lang.Iterable):376:377 -> a
    30:31:boolean verifyCorrectnessOfMethodHolders(com.android.tools.r8.graph.DexEncodedMethod[]):372 -> a
    30:31:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):304 -> a
    32:32:void resetClassInitializerCache():192:192 -> a
    32:32:void resetDirectMethodCaches():54 -> a
    32:32:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):305 -> a
    33:33:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):306:306 -> a
    34:34:void virtualizeMethods(java.util.Set):332:332 -> 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:4:void lambda$forEachMethodMatching$0(java.util.function.Predicate,java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):105:106 -> b
    5:5:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethod):163:163 -> b
    6:6:com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(java.util.function.Predicate):188:188 -> b
    7:7:void resetClassInitializerCache():192:192 -> b
    7:7:void resetDirectMethodCaches():54 -> b
    7:7:void resetCaches():49 -> b
    7:7:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):209 -> b
    8:8:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):210:210 -> b
    9:9:void resetClassInitializerCache():192:192 -> b
    9:9:void resetDirectMethodCaches():54 -> b
    9:9:void clearDirectMethods():280 -> b
    10:10:void clearDirectMethods():281:281 -> b
    11:11:void resetClassInitializerCache():192:192 -> b
    11:11:void resetDirectMethodCaches():54 -> b
    11:11:void resetCaches():49 -> b
    11:11:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):269 -> b
    12:12:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):270:270 -> b
    13:13:void replaceAllVirtualMethods(java.util.function.Function):257:257 -> b
    14:14:void addVirtualMethods(java.util.Collection):314:314 -> b
    15:16:boolean verifyCorrectnessOfMethodHolders(java.lang.Iterable):376:377 -> b
    15:16:void addVirtualMethods(java.util.Collection):314 -> b
    17:17:void addVirtualMethods(java.util.Collection):316:316 -> b
    18:18:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):325:325 -> b
    19:19:boolean verifyCorrectnessOfMethodHolders(com.android.tools.r8.graph.DexEncodedMethod[]):372:372 -> b
    19:19:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):325 -> b
    20:21:boolean verifyCorrectnessOfMethodHolders(java.lang.Iterable):376:377 -> b
    20:21:boolean verifyCorrectnessOfMethodHolders(com.android.tools.r8.graph.DexEncodedMethod[]):372 -> b
    20:21:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):325 -> b
    22:22:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):327:327 -> 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):184:184 -> c
    6:6:void resetClassInitializerCache():192:192 -> c
    6:6:void resetDirectMethodCaches():54 -> c
    6:6:void replaceDirectMethods(java.util.function.Function):241 -> c
    7:7:void replaceDirectMethods(java.util.function.Function):242:242 -> c
    8:8:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):215:215 -> c
    9:9:void clearVirtualMethods():321:321 -> c
    1:1:java.lang.Iterable directMethods():155:155 -> d
    2:3:com.android.tools.r8.graph.DexEncodedMethod getMethod(java.util.function.Predicate):171:172 -> d
    2:3:boolean hasMethods(java.util.function.Predicate):62 -> d
    4:4:void resetClassInitializerCache():192:192 -> d
    4:4:void resetDirectMethodCaches():54 -> d
    4:4:void resetCaches():49 -> d
    4:4:void replaceMethods(java.util.function.Function):236 -> d
    5:5:void replaceMethods(java.util.function.Function):237:237 -> d
    6:8:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):285:287 -> 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):287 -> d
    10:10:void resetClassInitializerCache():192:192 -> d
    10:10:void resetDirectMethodCaches():54 -> d
    10:10:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):288 -> d
    11:11:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):290:290 -> 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):290 -> d
    13:13:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):290:290 -> d
    14:16:com.android.tools.r8.utils.TraversalContinuation lambda$hasAnnotations$3(com.android.tools.r8.graph.DexEncodedMethod):338:340 -> d
    1:1:boolean hasVirtualMethods(java.util.function.Predicate):78:78 -> e
    2:3:com.android.tools.r8.graph.DexEncodedMethod getClassInitializer():196:197 -> e
    4:4:java.lang.Iterable directMethods():155:155 -> e
    4:4:com.android.tools.r8.graph.DexEncodedMethod getClassInitializer():198 -> e
    5:12:com.android.tools.r8.graph.DexEncodedMethod getClassInitializer():198:205 -> e
    13:13:void replaceVirtualMethods(java.util.function.Function):247:247 -> e
    14:14:void lambda$verify$4(com.android.tools.r8.graph.DexEncodedMethod):352:352 -> 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():336:336 -> f
    5:5:com.android.tools.r8.utils.TraversalContinuation traverse(java.util.function.Function):94:94 -> f
    5:5:boolean hasAnnotations():336 -> f
    6:6:boolean hasAnnotations():341:341 -> f
    7:7:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):359:359 -> f
    8:8:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":734,"2":735,"3":736}}
    734:734:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):359:359 -> f
    735:735:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):359:359 -> f
    736:736:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):359:359 -> f
    369:369:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):361:361 -> f
    370:370:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":740,"2":741,"3":742,"4":743}}
    740:740:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):363:363 -> f
    741:741:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):363:363 -> f
    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
    733:733:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):363:363 -> 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():345:345 -> l
    2:2:int size():90:90 -> l
    2:2:void useSortedBacking():345 -> l
    3:4:void useSortedBacking():345:346 -> l
    1:1:boolean verify():350:350 -> m
    2:2:void forEachMethod(java.util.function.Consumer):98:98 -> m
    2:2:boolean verify():350 -> m
    3:3:boolean verify():354:354 -> m
    1:1:java.lang.Iterable virtualMethods():159:159 -> n
com.android.tools.r8.graph.MethodCollectionBacking -> com.android.tools.r8.graph.B2:
    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.C2:
    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.G2:
    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.D2:
    com.android.tools.r8.graph.MethodResolutionResult$ArrayCloneMethodResult INSTANCE -> a
    1:1:void <clinit>():840:840 -> <clinit>
    1:1:void <init>():842:842 -> <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):804 -> 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):838 -> 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):813 -> 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):838 -> a
    3:3:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):849:849 -> a
    1:1:com.android.tools.r8.utils.OptionalBool isAccessibleForVirtualDispatchFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):855:855 -> 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.E2:
    com.android.tools.r8.graph.MethodResolutionResult$ClassNotFoundResult INSTANCE -> a
    1:1:void <clinit>():910:910 -> <clinit>
    1:1:void <init>():912:912 -> <init>
com.android.tools.r8.graph.MethodResolutionResult$EmptyResult -> com.android.tools.r8.graph.F2:
    1:1:void <init>():772:772 -> <init>
    1:1:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.AppInfoWithClassHierarchy):772:772 -> 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.G2$a:
    1:1:void <init>():870:870 -> <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):804 -> 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):870 -> 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):813 -> 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):870 -> a
    3:3:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):890:890 -> a
    1:1:com.android.tools.r8.utils.OptionalBool isAccessibleForVirtualDispatchFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):896:896 -> 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.H2:
    java.util.Collection methodsCausingError -> a
    1:1:void <init>(java.util.Collection,com.android.tools.r8.graph.MethodResolutionResult$1):922:922 -> <init>
    2:3:void <init>(java.util.Collection):926:927 -> <init>
    1:1:void forEachFailureDependency(java.util.function.Consumer):933:933 -> a
    1:1:boolean hasMethodsCausingError():938:938 -> t
com.android.tools.r8.graph.MethodResolutionResult$IllegalAccessOrNoSuchMethodResult -> com.android.tools.r8.graph.I2:
    com.android.tools.r8.graph.DexClass initialResolutionHolder -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():972:972 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexClass,java.util.Collection):978:979 -> <init>
    1:14:boolean isIllegalAccessErrorResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):990:1003 -> 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):997:1001 -> 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):998:998 -> a
    21:21:void lambda$verifyInvalidSymbolicReference$1(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.DexEncodedMethod):1026:1026 -> a
    22:22:void lambda$verifyInvalidSymbolicReference$1(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.DexEncodedMethod):1025:1025 -> a
    1:10:boolean isNoSuchMethodErrorResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):1008:1017 -> b
    1:7:boolean verifyInvalidSymbolicReference():1022:1028 -> u
com.android.tools.r8.graph.MethodResolutionResult$IncompatibleClassResult -> com.android.tools.r8.graph.J2:
    com.android.tools.r8.graph.MethodResolutionResult$IncompatibleClassResult INSTANCE -> b
    1:2:void <clinit>():943:944 -> <clinit>
    1:1:void <init>(java.util.Collection):947:947 -> <init>
    1:3:com.android.tools.r8.graph.MethodResolutionResult$IncompatibleClassResult create(java.util.Collection):951:953 -> a
com.android.tools.r8.graph.MethodResolutionResult$NoSuchMethodResult -> com.android.tools.r8.graph.G2$b:
    com.android.tools.r8.graph.MethodResolutionResult$NoSuchMethodResult INSTANCE -> a
    1:1:void <clinit>():964:964 -> <clinit>
    1:1:void <init>():962:962 -> <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.G2$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:74:com.android.tools.r8.graph.DexClassAndMethod internalInvokeSpecialOrSuper(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.BiPredicate):360:421 -> a
    75:75:boolean isSuperclass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):429:429 -> a
    75:75:boolean lambda$lookupInvokeSpecialTarget$0(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):276 -> a
    76:78: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):439:441 -> a
    79:79:com.android.tools.r8.graph.LookupResult$LookupResultFailure com.android.tools.r8.graph.LookupResult.createFailedResult():52:52 -> a
    79:79: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):442 -> a
    80:87: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):444:451 -> a
    88:89:com.android.tools.r8.utils.collections.DexClassAndMethodSet com.android.tools.r8.utils.collections.DexClassAndMethodSet.create(com.android.tools.r8.graph.DexClassAndMethod):40:41 -> a
    88:89: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):451 -> a
    90: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):452:453 -> a
    92:92: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
    92:92: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):450 -> a
    93:94: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):458:459 -> a
    95:95:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder com.android.tools.r8.graph.LookupResult$LookupResultSuccess.builder():85:85 -> a
    95: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):459 -> a
    96:127: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):460:491 -> a
    128:135: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):464:471 -> a
    136:172:void addVirtualDispatchTarget(com.android.tools.r8.graph.DexClassAndMethod,boolean,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder):554:590 -> a
    136:172: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):470 -> a
    173:175: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):475:475 -> a
    177:185: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):477:485 -> a
    186:222:void addVirtualDispatchTarget(com.android.tools.r8.graph.DexClassAndMethod,boolean,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder):554:590 -> a
    186:222: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):484 -> a
    223:226: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):500:503 -> a
    227:244: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):502:519 -> a
    245:245: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):529:529 -> a
    246:257: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):530:541 -> a
    258:260: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):532:534 -> a
    261:263:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.AppInfoWithClassHierarchy):602:604 -> a
    264:266:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):619:621 -> a
    267:267:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):94:94 -> a
    267:267:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):621 -> a
    268:273:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):622:627 -> a
    274:285:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):700:711 -> a
    274:285:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):629 -> a
    286:286:boolean com.android.tools.r8.graph.MethodResolutionResult.isArrayCloneMethodResult():0:0 -> a
    286:286:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):711 -> a
    286:286:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):629 -> a
    287:287:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):711:711 -> a
    287:287:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):629 -> a
    288:300: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):638:650 -> a
    301:301:com.android.tools.r8.graph.DexEncodedMethod lookupOverrideCandidate(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):723:723 -> a
    301:301: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):652 -> a
    302:302:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):560:560 -> a
    302:302:com.android.tools.r8.graph.DexEncodedMethod lookupOverrideCandidate(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):723 -> a
    302:302: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):652 -> a
    303:305:com.android.tools.r8.graph.DexEncodedMethod lookupOverrideCandidate(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):724:726 -> a
    303: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):652 -> a
    306: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):653:654 -> a
    308:314: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):734:740 -> a
    308:314: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):654 -> a
    315:315:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):560:560 -> a
    315:315: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):740 -> a
    315:315: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):654 -> a
    316:318: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):742:744 -> a
    316:318: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):654 -> a
    319: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):666:666 -> a
    320:330: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):660:670 -> a
    331:342:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):681:692 -> a
    331:342: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):673 -> a
    343:343:boolean com.android.tools.r8.graph.MethodResolutionResult.isArrayCloneMethodResult():0:0 -> a
    343:343:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):692 -> a
    343:343: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):673 -> a
    344:344:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):692:692 -> a
    344:344: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):673 -> a
    345:352:boolean isOverriding(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):761:768 -> 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):610:610 -> 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):429:429 -> 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.JF:
    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.RF:
    com.android.tools.r8.graph.DexType nestHost -> b
    int $r8$clinit -> d
    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() -> L
    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.SF:
    com.android.tools.r8.graph.DexType nestMember -> b
    int $r8$clinit -> d
    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() -> L
    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.K2:
    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>():28:34 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):67:67 -> <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):79:79 -> <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):88:92 -> <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):89:89 -> <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):101:105 -> <init>
    com.android.tools.r8.graph.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.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):118:118 -> a
    2:2:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):128:128 -> 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):128 -> a
    4:5:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):128:129 -> a
    6:6:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):137:137 -> a
    7:7:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):332:332 -> a
    7:7:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):137 -> a
    8:8:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):138:138 -> a
    9:19:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):189:199 -> a
    20:23:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):197:200 -> 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):102:102 -> a
    24:24:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):201 -> 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):107:107 -> a
    25:25:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):202 -> a
    26:26:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):205:205 -> a
    27:27:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):204:204 -> a
    28:33:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):203:208 -> a
    34:34:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):207:207 -> a
    35:54:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):206:225 -> 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):102:102 -> a
    55:55:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):226 -> a
    56:58:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):227:229 -> 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):280:293 -> a
    73:76:void lambda$toString$0(java.lang.StringBuilder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):315:318 -> a
    77:78:void lambda$toString$1(java.lang.StringBuilder,java.util.Set,com.android.tools.r8.graph.DexField):322:323 -> 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":410,"2":411,"3":412}}
    410:410:void lambda$toString$1(java.lang.StringBuilder,java.util.Set,com.android.tools.r8.graph.DexField):323:323 -> a
    411:411:void lambda$toString$1(java.lang.StringBuilder,java.util.Set,com.android.tools.r8.graph.DexField):323:323 -> a
    412:412:void lambda$toString$1(java.lang.StringBuilder,java.util.Set,com.android.tools.r8.graph.DexField):323:323 -> a
    403:403:void lambda$toString$1(java.lang.StringBuilder,java.util.Set,com.android.tools.r8.graph.DexField):324:324 -> a
    404:409:void lambda$toString$1(java.lang.StringBuilder,java.util.Set,com.android.tools.r8.graph.DexField):321:326 -> a
    1:1:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):123:123 -> b
    2:3:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):146:147 -> b
    4:12:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):157:165 -> b
    13:16:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):163:166 -> 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):107:107 -> b
    17:17:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):167 -> 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):102:102 -> b
    18:18:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):168 -> b
    19:22:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):168:171 -> b
    23:30:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):170:177 -> 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):102:102 -> b
    31:31:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):178 -> b
    32:35:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):178:181 -> b
    36:38:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):180:182 -> b
    1:6:com.android.tools.r8.graph.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):237:242 -> c
    1:1:com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType):152:152 -> d
    2:2:com.android.tools.r8.graph.DexField internalGetNextFieldSignature(com.android.tools.r8.graph.DexField):251:251 -> d
    3:3:boolean verifyIsContextFreeForMethod(com.android.tools.r8.graph.DexMethod):305:305 -> d
    1:1:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):256:256 -> 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):256 -> e
    3:3:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):256:256 -> e
    1:1:java.lang.Iterable internalGetOriginalTypes(com.android.tools.r8.graph.DexType):113:113 -> f
    2:2:com.android.tools.r8.graph.DexMethod internalGetNextMethodSignature(com.android.tools.r8.graph.DexMethod):260:260 -> 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 internalGetNextMethodSignature(com.android.tools.r8.graph.DexMethod):260 -> f
    4:4:com.android.tools.r8.graph.DexMethod internalGetNextMethodSignature(com.android.tools.r8.graph.DexMethod):260:260 -> f
    1:1:boolean isContextFreeForMethods():300:300 -> g
    boolean isLegitimateToHaveEmptyMappings() -> m
    1:19:java.lang.String toString():311:329 -> toString
com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl -> com.android.tools.r8.graph.N2:
    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):246:261 -> a
    90:90:boolean lambda$removeAllocationsForPrunedItems$4(java.util.Set,java.util.Map$Entry):252:252 -> a
    91:91:boolean lambda$removeAllocationsForPrunedItems$5(java.util.Set,com.android.tools.r8.graph.DexProgramClass):254:254 -> a
    92:107:boolean verifyAllocatedTypesAreLive(java.util.Set,com.android.tools.r8.shaking.MissingClasses,com.android.tools.r8.graph.DexDefinitionSupplier):266:281 -> a
    108:108:boolean verifyAllocatedTypesAreLive(java.util.Set,com.android.tools.r8.shaking.MissingClasses,com.android.tools.r8.graph.DexDefinitionSupplier):279:279 -> 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):256:256 -> 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):259:259 -> 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.M2:
    com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder$Data data -> h
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():286:286 -> <clinit>
    1:1:void <init>(boolean,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$1):286:286 -> <init>
    2:3:void <init>(boolean,com.android.tools.r8.shaking.GraphReporter):302:303 -> <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":515,"2":516,"3":517}}
    515:515:void lambda$rewrittenWithLens$9(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType,java.util.List):507:507 -> a
    516:516:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    516:516:void lambda$rewrittenWithLens$9(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType,java.util.List):507 -> a
    517:517:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    517:517:void lambda$rewrittenWithLens$9(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType,java.util.List):507 -> a
    509:514:void lambda$rewrittenWithLens$9(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType,java.util.List):508:513 -> a
    518:523:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl build(com.android.tools.r8.graph.DexDefinitionSupplier):307:312 -> a
    524:525:void mutate(java.util.function.Consumer,com.android.tools.r8.graph.AppInfo):319:320 -> a
    526:530: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):350:354 -> a
    531:538:boolean shouldTrackAllocationSitesForClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.InstantiationReason):325:332 -> a
    531:538: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 -> a
    539:548: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):356:365 -> a
    549:550:boolean recordInstantiatedAnnotation(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):372:373 -> a
    551:551:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> a
    551:551:boolean recordInstantiatedAnnotation(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):373 -> a
    552:554:boolean recordInstantiatedAnnotation(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):373:375 -> a
    555:555:void recordInstantiatedLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfo):393:393 -> a
    556:558:void populateInstantiatedHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):412:414 -> a
    556:558:void recordInstantiatedLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfo):394 -> a
    559:559:void lambda$repopulateInstantiatedHierarchy$2(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):401:401 -> a
    560:562:void populateInstantiatedHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):412:414 -> a
    560:562:void lambda$repopulateInstantiatedHierarchy$5(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):408 -> a
    563:564:void injectInterfaces(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass,java.util.Set):420:421 -> a
    565:569:void populateInstantiatedHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexClass):426:430 -> a
    570:581:void populateInstantiatedHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):436:447 -> a
    582:584:void populateInstantiatedHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):412:414 -> a
    582:584:void populateInstantiatedHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):448 -> a
    585:619: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):461:495 -> a
    620:620: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":1126,"2":1127,"3":1128}}
    1126:1126: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):495:495 -> a
    1127:1127:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    1127:1127: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):495 -> a
    1128:1128:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    1128:1128: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):495 -> a
    1116:1125: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):496:505 -> a
    1129:1129: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):464:464 -> a
    1130:1130: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":1602,"2":1603,"3":1604}}
    1602:1602: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):464:464 -> a
    1603:1603:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    1603:1603: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):464 -> a
    1604:1604:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    1604:1604: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):464 -> a
    1595:1601: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):465:471 -> a
    1605:1605: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):475:475 -> a
    1606:1606: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":2099,"2":2100,"3":2101}}
    2099:2099: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):475:475 -> a
    2100:2100:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    2100:2100: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):475 -> a
    2101:2101:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    2101:2101: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):475 -> a
    2082:2094: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):476:488 -> a
    2095:2097: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
    2095:2097: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):490 -> a
    2098:2098: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):489:489 -> a
    2102:2104:void lambda$validate$10(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass,java.util.Set):522:524 -> a
    2105:2110:void lambda$validate$12(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType,java.util.List):534:539 -> a
    2111:2111:void lambda$validate$12(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType,java.util.List):538:538 -> a
    2112:2114:void lambda$validate$13(com.android.tools.r8.graph.DexType,java.util.Set):547:549 -> a
    2115:2115:boolean isImmediateSuperType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):570:570 -> a
    2115:2115:void lambda$validate$13(com.android.tools.r8.graph.DexType,java.util.Set):549 -> a
    2116:2116:void lambda$validate$13(com.android.tools.r8.graph.DexType,java.util.Set):549:549 -> a
    2117:2118:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):557:558 -> a
    2119:2120:boolean typeIsInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):565:566 -> a
    2119:2120:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):558 -> a
    2121:2121:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):558:558 -> a
    2122:2122:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2681,"2":2682,"3":2683,"4":2684,"5":2685}}
    2681:2681:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):558:558 -> a
    2682:2682:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):558:558 -> a
    2683:2683:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):558:558 -> a
    2684:2684:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):558:558 -> a
    2685:2685:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):558:558 -> a
    2680:2680:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):558:558 -> a
    1:2:boolean recordInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):382:383 -> b
    3:3:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> b
    3:3:boolean recordInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):383 -> b
    4:6:boolean recordInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):383:385 -> b
    7:7:java.util.List lambda$recordInstantiatedLambdaInterface$1(com.android.tools.r8.graph.DexType):393:393 -> b
    8:18:void repopulateInstantiatedHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier):398:408 -> b
    19:19:void lambda$repopulateInstantiatedHierarchy$3(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):403:403 -> b
    1:1:void lambda$repopulateInstantiatedHierarchy$4(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):405:405 -> c
    2:27:boolean validate(com.android.tools.r8.graph.DexDefinitionSupplier):520:545 -> c
    1:3:void lambda$validate$11(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):528:530 -> d
    1:1:java.util.Set lambda$recordDirectAllocationSite$0(com.android.tools.r8.graph.DexProgramClass):359:359 -> e
    1:1:java.util.Set lambda$rewrittenWithLens$7(com.android.tools.r8.graph.DexProgramClass):488:488 -> f
    1:3:void markNoLongerInstantiated(com.android.tools.r8.graph.DexProgramClass):452:454 -> g
com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder$Data -> com.android.tools.r8.graph.L2:
    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):288:288 -> <init>
    2:4:void <init>(boolean,com.android.tools.r8.shaking.GraphReporter):293:295 -> <init>
    1:1:boolean access$300(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder$Data):288:288 -> a
    1:1:com.android.tools.r8.shaking.GraphReporter access$400(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder$Data):288:288 -> b
com.android.tools.r8.graph.ObjectToOffsetMapping -> com.android.tools.r8.internal.EJ:
    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.CJ:
    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.DJ:
    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.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):31:31 -> 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):48 -> a
    13:13:int getDepth(com.android.tools.r8.graph.DexProgramClass):231 -> 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):48:48 -> a
    14:14:int getDepth(com.android.tools.r8.graph.DexProgramClass):231 -> a
    15:19:int getDepth(com.android.tools.r8.graph.DexProgramClass):233:237 -> a
    20:20: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):31:31 -> a
    20:20: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):48 -> a
    20:20:int getDepth(com.android.tools.r8.graph.DexProgramClass):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):48:48 -> a
    21:21:int getDepth(com.android.tools.r8.graph.DexProgramClass):237 -> a
    22:25:int getDepth(com.android.tools.r8.graph.DexProgramClass):238:241 -> a
com.android.tools.r8.graph.OffsetToObjectMapping -> com.android.tools.r8.internal.NJ:
    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.O2:
    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() -> L
    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:12:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):123:124 -> a
    13:14:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):131:132 -> a
    15:17:void forEachAnnotation(java.util.function.Consumer):141:143 -> 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:boolean equals(java.lang.Object):115:117 -> equals
    1:1:int countNonMissing():161:161 -> g0
    1:1:com.android.tools.r8.graph.ParameterAnnotationsList empty():55:55 -> h0
    1:1:int hashCode():107:107 -> hashCode
    1:5:com.android.tools.r8.graph.DexAnnotationSet get(int):184:188 -> i
    1:7:com.android.tools.r8.graph.ParameterAnnotationsList withFakeThisParameter():210:216 -> i0
    1:1:boolean isEmpty():136:136 -> isEmpty
    1:2:boolean isMissing(int):171:172 -> j
    1:13:com.android.tools.r8.graph.ParameterAnnotationsList withParameterCount(int):193:205 -> k
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():98:98 -> n
    1:1:int size():153:153 -> size
com.android.tools.r8.graph.PinnedPredicate -> com.android.tools.r8.internal.gL:
    boolean isPinned(com.android.tools.r8.graph.DexDefinition) -> a
com.android.tools.r8.graph.ProgramClassVisitor -> com.android.tools.r8.internal.lM:
    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.nM:
    1:1:void clearAllAnnotations():37:37 -> G
    com.android.tools.r8.graph.ProgramDerivedContext asProgramDerivedContext(com.android.tools.r8.graph.ProgramDerivedContext) -> a
    1:1:void rewriteAllAnnotations(java.util.function.BiFunction):42:42 -> a
    com.android.tools.r8.graph.DexProgramClass getContextClass() -> b
    1:1:com.android.tools.r8.graph.DexClass getContextClass():11:11 -> b
    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() -> f
    boolean isProgramDefinition() -> g
com.android.tools.r8.graph.ProgramDerivedContext -> com.android.tools.r8.internal.oM:
    1:1:boolean isProgramContext():12:12 -> I
com.android.tools.r8.graph.ProgramDexCode -> com.android.tools.r8.internal.pM:
    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.P2:
    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.ProgramField asProgramField() -> K
    1:1:com.android.tools.r8.kotlin.KotlinFieldLevelInfo getKotlinInfo():74:74 -> Q
    1:1:com.android.tools.r8.kotlin.KotlinMemberLevelInfo getKotlinInfo():10 -> Q
    1:3:com.android.tools.r8.graph.DexProgramClass getHolder():67:69 -> a
    1:1:com.android.tools.r8.graph.DexProgramClass getContextClass():37:37 -> b
    1:1:com.android.tools.r8.graph.DexClass getContextClass():10 -> b
    2:2:com.android.tools.r8.graph.DexProgramClass getContextClass():37:37 -> b
    com.android.tools.r8.graph.DexClassAndField asField() -> d
    com.android.tools.r8.graph.ProgramField asField() -> d
    com.android.tools.r8.graph.ProgramMember asProgramMember() -> o
    1:1:com.android.tools.r8.graph.DexClass getHolder():10:10 -> r
com.android.tools.r8.graph.ProgramMember -> com.android.tools.r8.internal.sM:
    1:1:void clearGenericSignature():27:27 -> A
    com.android.tools.r8.kotlin.KotlinMemberLevelInfo getKotlinInfo() -> Q
    com.android.tools.r8.graph.DexProgramClass getHolder() -> a
    com.android.tools.r8.graph.DexEncodedMember getDefinition() -> h
com.android.tools.r8.graph.ProgramMethod -> com.android.tools.r8.graph.Q2:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():21:21 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):25:25 -> <init>
    boolean isProgramMember() -> O
    1:1:com.android.tools.r8.kotlin.KotlinMethodLevelInfo getKotlinInfo():171:171 -> Q
    1:1:com.android.tools.r8.kotlin.KotlinMemberLevelInfo getKotlinInfo():21 -> Q
    com.android.tools.r8.graph.ProgramMethod asProgramMethod() -> V
    1:2:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.AppView):29:30 -> a
    3:6:void registerCodeReferences(com.android.tools.r8.graph.UseRegistry):113:116 -> 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):116 -> a
    8:8:void registerCodeReferences(com.android.tools.r8.graph.UseRegistry):118:118 -> a
    9:11:com.android.tools.r8.graph.DexProgramClass getHolder():164:166 -> a
    1:8:boolean canBeConvertedToAbstractMethod(com.android.tools.r8.graph.AppView):72:79 -> b
    9:9:com.android.tools.r8.graph.DexProgramClass getContextClass():134:134 -> b
    9:9:com.android.tools.r8.graph.DexClass getContextClass():21 -> b
    10:10:com.android.tools.r8.graph.DexProgramClass getContextClass():134:134 -> b
    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):89:92 -> c
    5:5:void com.android.tools.r8.graph.MethodAccessFlags.demoteFromStrict():207:207 -> c
    5:5:boolean convertToAbstractMethodIfPossible(com.android.tools.r8.graph.AppView):93 -> c
    6:6:void com.android.tools.r8.graph.MethodAccessFlags.demoteFromSynchronized():131:131 -> c
    6:6:boolean convertToAbstractMethodIfPossible(com.android.tools.r8.graph.AppView):94 -> c
    7:7:void com.android.tools.r8.graph.AccessFlags.promote(int):278:278 -> c
    7:7:void com.android.tools.r8.graph.MethodAccessFlags.promoteToAbstract():191 -> c
    7:7:boolean convertToAbstractMethodIfPossible(com.android.tools.r8.graph.AppView):95 -> c
    8:10:boolean convertToAbstractMethodIfPossible(com.android.tools.r8.graph.AppView):96:98 -> c
    11:31:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.unsetOptimizationInfoForAbstractMethod(com.android.tools.r8.graph.ProgramMethod):127:147 -> c
    11:31:boolean convertToAbstractMethodIfPossible(com.android.tools.r8.graph.AppView):98 -> c
    1:2:void convertToAbstractOrThrowNullMethod(com.android.tools.r8.graph.AppView):83:84 -> d
    1:2:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):104:105 -> e
    3:3:void com.android.tools.r8.graph.MethodAccessFlags.demoteFromAbstract():187:187 -> e
    3:3:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):105 -> e
    4:6:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):106:108 -> e
    7:7:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.markProcessed(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):136:136 -> e
    7:7:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):108 -> e
    8:8:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):109:109 -> e
    9:29:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.unsetOptimizationInfoForAbstractMethod(com.android.tools.r8.graph.ProgramMethod):127:147 -> e
    9:29:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.unsetOptimizationInfoForThrowNullMethod(com.android.tools.r8.graph.ProgramMethod):152 -> e
    9:29:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):109 -> e
    30:32:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.unsetOptimizationInfoForThrowNullMethod(com.android.tools.r8.graph.ProgramMethod):153:155 -> e
    30:32:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):109 -> e
    33:35:java.util.BitSet com.android.tools.r8.utils.BitSetUtils.createFilled(boolean,int):12:14 -> e
    33:35:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.unsetOptimizationInfoForThrowNullMethod(com.android.tools.r8.graph.ProgramMethod):155 -> e
    33:35:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):109 -> e
    36:36:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.unsetOptimizationInfoForThrowNullMethod(com.android.tools.r8.graph.ProgramMethod):154:154 -> e
    36:36:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):109 -> e
    com.android.tools.r8.graph.ProgramMember asProgramMember() -> o
    1:1:com.android.tools.r8.graph.DexClass getHolder():21:21 -> r
com.android.tools.r8.graph.ProgramPackage -> com.android.tools.r8.internal.yM:
    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:void lambda$forEachField$0(java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):60:60 -> 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:java.util.Set classesInPackage():68:68 -> a
    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.zM:
    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.WO:
    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.VO:
    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.RewrittenPrototypeDescription -> com.android.tools.r8.graph.W2:
    java.util.List extraParameters -> a
    com.android.tools.r8.graph.RewrittenPrototypeDescription NONE -> d
    com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection argumentInfoCollection -> b
    boolean $assertionsDisabled -> e
    int $r8$clinit -> f
    com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo rewrittenReturnInfo -> c
    1:590:void <clinit>():41:630 -> <clinit>
    1:4:void <init>():636:639 -> <init>
    5:10:void <init>(java.util.List,com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):645:650 -> <init>
    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription create(java.util.List,com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):657:657 -> a
    2:2:com.android.tools.r8.graph.RewrittenPrototypeDescription none():668:668 -> a
    2:2:com.android.tools.r8.graph.RewrittenPrototypeDescription create(java.util.List,com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):658 -> a
    3:3:com.android.tools.r8.graph.RewrittenPrototypeDescription create(java.util.List,com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):659:659 -> a
    4:14:com.android.tools.r8.graph.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.RewrittenPrototypeDescription):681:691 -> a
    15:15:java.util.List getExtraParameters():716:716 -> a
    15:15:com.android.tools.r8.graph.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.RewrittenPrototypeDescription):692 -> a
    16:16:com.android.tools.r8.graph.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.RewrittenPrototypeDescription):692:692 -> a
    17:17:java.util.List getExtraParameters():716:716 -> a
    17:17:com.android.tools.r8.graph.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.RewrittenPrototypeDescription):693 -> a
    18:21:com.android.tools.r8.graph.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.RewrittenPrototypeDescription):693:696 -> a
    22:22:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo getRewrittenReturnInfo():742:742 -> a
    22:22:com.android.tools.r8.graph.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.RewrittenPrototypeDescription):697 -> a
    23:23:com.android.tools.r8.graph.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.RewrittenPrototypeDescription):697:697 -> a
    24:24:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo.combine(com.android.tools.r8.graph.RewrittenPrototypeDescription):251:251 -> a
    24:24:com.android.tools.r8.graph.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.RewrittenPrototypeDescription):697 -> a
    25:25:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo getRewrittenReturnInfo():742:742 -> a
    25:25:com.android.tools.r8.graph.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.RewrittenPrototypeDescription):698 -> a
    26:27:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection getArgumentInfoCollection():728:728 -> a
    26:27:com.android.tools.r8.graph.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.RewrittenPrototypeDescription):700 -> a
    28:29:com.android.tools.r8.graph.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.RewrittenPrototypeDescription):700:701 -> a
    30:30:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection getArgumentInfoCollection():728:728 -> a
    30:30:java.util.function.Consumer createParameterAnnotationsRemover(com.android.tools.r8.graph.DexEncodedMethod):673 -> a
    31:31:java.util.function.Consumer createParameterAnnotationsRemover(com.android.tools.r8.graph.DexEncodedMethod):673:673 -> a
    32:32:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection getArgumentInfoCollection():728:728 -> 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):759:762 -> 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):762 -> 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):763:763 -> a
    39:43:boolean verifyConstantReturnAccessibleInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):769:773 -> a
    44:45:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):778:779 -> a
    46:50:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):786:790 -> a
    46:50:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):781 -> a
    51:58:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):796:803 -> a
    51:58:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):791 -> a
    51:58:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):781 -> a
    59:60:int com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection.numberOfRemovedNonReceiverArguments(com.android.tools.r8.graph.ProgramMethod):466:467 -> a
    59:60:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):803 -> a
    59:60:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):791 -> a
    59:60:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):781 -> a
    61:63:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):803:805 -> a
    61:63:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):791 -> a
    61:63:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):781 -> a
    64:64:int com.android.tools.r8.graph.DexEncodedMethod.getFirstNonReceiverArgumentIndex():204:204 -> a
    64:64:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):805 -> a
    64:64:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):791 -> a
    64:64:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):781 -> a
    65:67:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):807:809 -> a
    65:67:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):791 -> a
    65:67:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):781 -> a
    68:68:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isNone():0:0 -> a
    68:68:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):809 -> a
    68:68:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):791 -> a
    68:68:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):781 -> a
    69:69:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):810:810 -> a
    69:69:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):791 -> a
    69:69:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):781 -> a
    70:70:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    70:70:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):811 -> a
    70:70:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):791 -> a
    70:70:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):781 -> a
    71:77:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):812:818 -> a
    71:77:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):791 -> a
    71:77:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):781 -> a
    78:78:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):792:792 -> a
    78:78:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):781 -> a
    79:79:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):782:782 -> a
    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):782 -> a
    81:89:com.android.tools.r8.graph.RewrittenPrototypeDescription rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):825:833 -> a
    90:93:com.android.tools.r8.graph.RewrittenPrototypeDescription withRewrittenReturnInfo(com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo):841:844 -> a
    94:101:com.android.tools.r8.graph.RewrittenPrototypeDescription withExtraParameters(java.util.List):860:867 -> a
    1:1:java.util.List getExtraParameters():716:716 -> b
    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo getRewrittenReturnInfo():742:742 -> c
    1:1:boolean hasBeenChangedToReturnVoid():724:724 -> d
    1:1:boolean hasExtraParameters():712:712 -> e
    1:7:boolean equals(java.lang.Object):873:879 -> equals
    1:1:boolean hasRewrittenReturnInfo():732:732 -> f
    1:3:boolean isEmpty():706:708 -> g
    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription none():668:668 -> h
    1:1:int hashCode():884:884 -> hashCode
    1:1:int numberOfExtraParameters():720:720 -> i
    1:1:boolean requiresRewritingAtCallSite():736:736 -> j
    2:2:int numberOfExtraParameters():720:720 -> j
    2:2:boolean requiresRewritingAtCallSite():737 -> j
    3:4:boolean requiresRewritingAtCallSite():737:738 -> j
com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo -> com.android.tools.r8.graph.S2:
    boolean $assertionsDisabled -> b
    com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo NO_INFO -> a
    1:3:void <clinit>():43:45 -> <clinit>
    1:1:void <init>():43:43 -> <init>
    com.android.tools.r8.graph.RewrittenPrototypeDescription$RemovedArgumentInfo asRemovedArgumentInfo() -> a
    com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo) -> a
    com.android.tools.r8.graph.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$RewrittenTypeInfo asRewrittenTypeInfo() -> b
com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo$1 -> com.android.tools.r8.graph.R2:
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():46:46 -> <clinit>
    1:1:void <init>():46:46 -> <init>
    com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo 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.graph.RewrittenPrototypeDescription$ArgumentInfo combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo):50:50 -> a
    1:1:int hashCode():72:72 -> hashCode
com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection -> com.android.tools.r8.graph.T2:
    com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection EMPTY -> b
    boolean $assertionsDisabled -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap argumentInfos -> a
    1:3:void <clinit>():384:386 -> <clinit>
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap,com.android.tools.r8.graph.RewrittenPrototypeDescription$1):384:384 -> <init>
    2:3:void <init>():391:392 -> <init>
    4:7:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap):395:398 -> <init>
    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection access$100():384:384 -> a
    2:3:void forEach(com.android.tools.r8.utils.IntObjConsumer):406:407 -> a
    4:4:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo getArgumentInfo(int):475:475 -> a
    5:21:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):484:500 -> a
    22:35:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):545:558 -> a
    36:38:int peekNextOrMax(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator):580:582 -> a
    36:38:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):559 -> a
    39:40:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):561:562 -> a
    41:43:int peekNextOrMax(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator):580:582 -> a
    41:43:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):563 -> a
    44:44:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):564:564 -> a
    45:45:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> a
    45:45:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):564 -> a
    46:47:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):570:571 -> a
    48:55:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo):79:86 -> a
    48:55:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):570 -> a
    56:59:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):572:575 -> a
    60:65:boolean com.android.tools.r8.com.google.common.collect.Ordering.isOrdered(java.lang.Iterable):876:881 -> a
    60:65:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):575 -> a
    66:67:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):575:576 -> a
    68:75:java.util.function.Consumer createParameterAnnotationsRemover(com.android.tools.r8.graph.DexEncodedMethod):600:607 -> a
    76:76:void lambda$createParameterAnnotationsRemover$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):602:602 -> a
    77:77:int com.android.tools.r8.graph.DexEncodedMethod.getFirstNonReceiverArgumentIndex():204:204 -> a
    77:77:void lambda$createParameterAnnotationsRemover$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):602 -> a
    78:78:void lambda$createParameterAnnotationsRemover$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):603:603 -> a
    79:79:boolean lambda$createParameterAnnotationsRemover$0(int,int):604:604 -> a
    80:80:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> a
    80:80:boolean lambda$createParameterAnnotationsRemover$0(int,int):604 -> a
    81:81:boolean lambda$getNewArgumentIndex$2(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):625:625 -> a
    1:1:java.util.Iterator iterator():443:443 -> b
    1:1:int getNewArgumentIndex(int):612 -> b
    2:9:int getNewArgumentIndex(int):613:620 -> b
    10:10:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> b
    10:10:int getNewArgumentIndex(int):620 -> b
    11:11:int getNewArgumentIndex(int):624:624 -> b
    12:12:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection$Builder builder():520:520 -> b
    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection empty():402:402 -> c
    2:2:boolean hasArgumentInfo(int):471:471 -> c
    1:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection getRemovedParameterIndices():416:420 -> d
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet getKeys():412:412 -> d
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection getRemovedParameterIndices():421 -> d
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection getRemovedParameterIndices():423:423 -> d
    8:8:java.util.Iterator iterator():443:443 -> d
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection getRemovedParameterIndices():424 -> d
    9:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection getRemovedParameterIndices():425:427 -> d
    12:12:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> d
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection getRemovedParameterIndices():427 -> d
    13:13:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection getRemovedParameterIndices():428:428 -> d
    14:14:boolean isArgumentRemoved(int):435:435 -> d
    15:15:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> d
    15:15:boolean isArgumentRemoved(int):435 -> d
    1:2:boolean hasRemovedArguments():447:448 -> e
    3:3:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> e
    3:3:boolean hasRemovedArguments():448 -> e
    1:5:boolean equals(java.lang.Object):507:511 -> equals
    1:1:boolean isEmpty():439:439 -> f
    1:2:int numberOfRemovedArguments():457:458 -> g
    3:3:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> g
    3:3:int numberOfRemovedArguments():458 -> g
    1:1:int hashCode():516:516 -> hashCode
com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection$Builder -> com.android.tools.r8.graph.T2$a:
    boolean $assertionsDisabled -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap argumentInfos -> a
    1:1:void <clinit>():523:523 -> <clinit>
    1:1:void <init>():523:523 -> <init>
    1:5:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection$Builder addArgumentInfo(int,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo):528:532 -> a
    6:9:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection build():537:540 -> a
    10:10:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection build():538:538 -> a
com.android.tools.r8.graph.RewrittenPrototypeDescription$RemovedArgumentInfo -> com.android.tools.r8.graph.U2:
    boolean $assertionsDisabled -> f
    com.android.tools.r8.ir.analysis.value.SingleValue singleValue -> d
    boolean checkNullOrZero -> c
    com.android.tools.r8.graph.DexType type -> e
    1:1:void <clinit>():122:122 -> <clinit>
    1:1:void <init>(boolean,com.android.tools.r8.ir.analysis.value.SingleValue,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.RewrittenPrototypeDescription$1):122:122 -> <init>
    2:5:void <init>(boolean,com.android.tools.r8.ir.analysis.value.SingleValue,com.android.tools.r8.graph.DexType):155:158 -> <init>
    com.android.tools.r8.graph.RewrittenPrototypeDescription$RemovedArgumentInfo asRemovedArgumentInfo() -> a
    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo):193:193 -> a
    2:5:com.android.tools.r8.graph.RewrittenPrototypeDescription$RemovedArgumentInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):201:204 -> a
    2:5:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):122 -> a
    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription$RemovedArgumentInfo$Builder builder():162:162 -> c
    1:1:com.android.tools.r8.ir.analysis.value.SingleValue getSingleValue():170:170 -> d
    1:1:com.android.tools.r8.graph.DexType getType():174:174 -> e
    1:7:boolean equals(java.lang.Object):211:217 -> equals
    1:1:boolean hasSingleValue():166:166 -> f
    1:1:boolean isCheckNullOrZeroSet():178:178 -> g
    1:1:int hashCode():222:222 -> hashCode
com.android.tools.r8.graph.RewrittenPrototypeDescription$RemovedArgumentInfo$Builder -> com.android.tools.r8.graph.U2$a:
    com.android.tools.r8.graph.DexType type -> c
    com.android.tools.r8.ir.analysis.value.SingleValue singleValue -> b
    boolean checkNullOrZero -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():124:124 -> <clinit>
    1:1:void <init>():124:124 -> <init>
    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription$RemovedArgumentInfo$Builder setSingleValue(com.android.tools.r8.ir.analysis.value.SingleValue):136:136 -> a
    2:2:com.android.tools.r8.graph.RewrittenPrototypeDescription$RemovedArgumentInfo$Builder setType(com.android.tools.r8.graph.DexType):141:141 -> a
    3:4:com.android.tools.r8.graph.RewrittenPrototypeDescription$RemovedArgumentInfo build():146:147 -> a
    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription$RemovedArgumentInfo$Builder setCheckNullOrZero(boolean):131:131 -> b
com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo -> com.android.tools.r8.graph.V2:
    com.android.tools.r8.graph.DexType oldType -> d
    com.android.tools.r8.graph.DexType castType -> c
    boolean $assertionsDisabled -> g
    com.android.tools.r8.graph.DexType newType -> e
    com.android.tools.r8.ir.analysis.value.SingleValue singleValue -> f
    1:1:void <clinit>():226:226 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):238:238 -> <init>
    2:7: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):242:247 -> <init>
    1:1:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> a
    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo):294 -> a
    2:2:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo):297:297 -> a
    3:3:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    3:3:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo):297 -> a
    4:5:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo):297:298 -> a
    6:6:com.android.tools.r8.graph.DexType access$300(com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo):226:226 -> a
    7:7:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):226:226 -> a
    com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo asRewrittenTypeInfo() -> b
    1:1:com.android.tools.r8.graph.DexType access$400(com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo):226:226 -> b
    2:5:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):312:315 -> b
    6:6:com.android.tools.r8.ir.analysis.value.SingleValue getSingleValue():267:267 -> b
    6:6:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):316 -> b
    7:13:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):316:322 -> b
    1:1:com.android.tools.r8.graph.DexType getCastType():255:255 -> c
    2:5:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo):302:305 -> c
    6:6:com.android.tools.r8.graph.DexType getCastType():255:255 -> c
    6:6:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo):305 -> c
    7:7:com.android.tools.r8.ir.analysis.value.SingleValue getSingleValue():267:267 -> c
    7:7:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo):305 -> c
    8:8:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo combine(com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo):305:305 -> c
    1:1:com.android.tools.r8.graph.DexType getNewType():259:259 -> d
    1:1:com.android.tools.r8.graph.DexType getOldType():263:263 -> e
    1:7:boolean equals(java.lang.Object):330:336 -> equals
    1:1:com.android.tools.r8.ir.analysis.value.SingleValue getSingleValue():267:267 -> f
    1:1:boolean hasBeenChangedToReturnVoid():271:271 -> g
    1:1:boolean hasCastType():275:275 -> h
    1:1:int hashCode():341:341 -> hashCode
    1:1:boolean hasSingleValue():279:279 -> i
com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo$Builder -> com.android.tools.r8.internal.aT:
    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>():344:344 -> <init>
    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo$Builder applyIf(boolean,java.util.function.Consumer):353:353 -> a
    2:2:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo$Builder setCastType(com.android.tools.r8.graph.DexType):359:359 -> a
    3:3:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo$Builder setSingleValue(com.android.tools.r8.ir.analysis.value.SingleValue):374:374 -> a
    4:4:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo build():379:379 -> a
    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo$Builder setNewType(com.android.tools.r8.graph.DexType):369:369 -> b
    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo$Builder setOldType(com.android.tools.r8.graph.DexType):364:364 -> c
com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer -> com.android.tools.r8.internal.bT:
    com.android.tools.r8.graph.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.RewrittenPrototypeDescription):28 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.RewrittenPrototypeDescription):29:29 -> <init>
    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():33:33 -> a
    1:1:java.util.BitSet fixupArgumentInfo(java.util.BitSet):161 -> a
    2:8:java.util.BitSet fixupArgumentInfo(java.util.BitSet):161:167 -> a
    9:9:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():33:33 -> a
    9:9:java.util.BitSet fixupArgumentInfo(java.util.BitSet):170 -> a
    10:11:java.util.BitSet fixupArgumentInfo(java.util.BitSet):170:171 -> a
    12:12:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> a
    12:12:java.util.BitSet fixupArgumentInfo(java.util.BitSet):171 -> a
    13:13:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    13:13:java.util.BitSet fixupArgumentInfo(java.util.BitSet):171 -> a
    14:14:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():33:33 -> a
    14:14:java.util.BitSet fixupArgumentInfo(java.util.BitSet):174 -> a
    15:17:java.util.BitSet fixupArgumentInfo(java.util.BitSet):174:176 -> a
    18:18:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():33:33 -> a
    18:18:com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo fixupBridgeInfo(com.android.tools.r8.ir.optimize.info.bridge.VirtualBridgeInfo):42 -> a
    19:19:com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo fixupBridgeInfo(com.android.tools.r8.ir.optimize.info.bridge.VirtualBridgeInfo):42:42 -> a
    20:20:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():33:33 -> 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):69 -> 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):69:69 -> a
    22:22:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():33:33 -> 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 -> a
    23:23: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):72:72 -> a
    24:24:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():33:33 -> a
    24:24:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):83 -> a
    25:25:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):83:83 -> a
    26:26:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():33:33 -> a
    26:26:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):86 -> a
    27:27:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):86:86 -> a
    28:28:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():33:33 -> 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):97 -> 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):97:97 -> a
    30:30:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():33:33 -> 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 -> a
    31:31: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):100:100 -> a
    32:32:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():33:33 -> a
    32:32:int fixupReturnedArgumentIndex(int):128 -> a
    33:33:int fixupReturnedArgumentIndex(int):128:128 -> a
    34:34:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():33:33 -> a
    34:34:int fixupReturnedArgumentIndex(int):131 -> a
    35:35:int fixupReturnedArgumentIndex(int):131:131 -> a
    36:36:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():33:33 -> a
    36:36:int fixupReturnedArgumentIndex(int):133 -> a
    37:37:int fixupReturnedArgumentIndex(int):133:133 -> a
    38:38:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():33:33 -> 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):145 -> 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):145:145 -> a
    40:40:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():33:33 -> 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):148 -> 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):148:148 -> a
    42:45:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupCallSiteOptimizationInfo(com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):55:58 -> a
    1:1:java.util.BitSet fixupNonNullParamOnNormalExits(java.util.BitSet):110:110 -> b
    1:1:java.util.BitSet fixupNonNullParamOrThrow(java.util.BitSet):119:119 -> c
    1:1:java.util.BitSet fixupUnusedArguments(java.util.BitSet):157:157 -> d
com.android.tools.r8.graph.SmaliWriter -> com.android.tools.r8.internal.zU:
    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.IU:
    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.JU:
    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.internal.OW:
    java.util.Map subtypeMap -> a
    java.util.Map typeInfo -> b
    java.util.Set NO_DIRECT_SUBTYPE -> c
    boolean $assertionsDisabled -> d
    1:8:void <clinit>():23:30 -> <clinit>
    1:3:void <init>(java.util.Map,java.util.Map):36:38 -> <init>
    1:1:java.util.Set access$000():23:23 -> a
    2:2:com.android.tools.r8.graph.SubtypingInfo create(com.android.tools.r8.graph.AppView):42:42 -> a
    3:3:com.android.tools.r8.graph.SubtypingInfo create(com.android.tools.r8.graph.AppInfoWithClassHierarchy):46:46 -> a
    4:7:com.android.tools.r8.graph.SubtypingInfo com.android.tools.r8.graph.SubtypingInfo.create(java.util.Collection,com.android.tools.r8.graph.DexDefinitionSupplier):51:54 -> a
    4:7:com.android.tools.r8.graph.SubtypingInfo create(com.android.tools.r8.graph.AppInfoWithClassHierarchy):46 -> a
    8:8:com.android.tools.r8.graph.SubtypingInfo$TypeInfo com.android.tools.r8.graph.SubtypingInfo.getTypeInfo(com.android.tools.r8.graph.DexType):73:73 -> a
    8:8:java.lang.Iterable allImmediateExtendsSubtypes(com.android.tools.r8.graph.DexType):197 -> a
    9:16:java.lang.Iterable allImmediateExtendsSubtypes(com.android.tools.r8.graph.DexType):198:205 -> a
    17:18:com.android.tools.r8.graph.SubtypingInfo$TypeInfo getTypeInfo(com.android.tools.r8.graph.DexType,java.util.Map):77:78 -> a
    19:40: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):87:108 -> a
    41:46: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):93:98 -> a
    47:52:void populateSubtypeMap(java.util.Collection,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier):118:123 -> a
    53:87:boolean com.android.tools.r8.graph.SubtypingInfo.validateLevelsAreCorrect(java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier):128:162 -> a
    53:87:void populateSubtypeMap(java.util.Collection,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier):123 -> a
    88:88:java.util.Set lambda$populateSubtypeMap$2(com.android.tools.r8.graph.DexType,java.util.Set):122:122 -> a
    89:89:void forAllImmediateExtendsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):193:193 -> 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):64:67 -> b
    5:5:com.android.tools.r8.graph.SubtypingInfo$TypeInfo com.android.tools.r8.graph.SubtypingInfo.getTypeInfo(com.android.tools.r8.graph.DexType):73:73 -> b
    5:5:java.lang.Iterable allImmediateImplementsSubtypes(com.android.tools.r8.graph.DexType):221 -> b
    6:9:java.lang.Iterable allImmediateImplementsSubtypes(com.android.tools.r8.graph.DexType):222:225 -> b
    1:1:com.android.tools.r8.graph.SubtypingInfo$TypeInfo com.android.tools.r8.graph.SubtypingInfo.getTypeInfo(com.android.tools.r8.graph.DexType):73:73 -> c
    1:1:java.util.Set allImmediateSubtypes(com.android.tools.r8.graph.DexType):318 -> c
    2:2:java.util.Set allImmediateSubtypes(com.android.tools.r8.graph.DexType):318:318 -> c
    1:1:com.android.tools.r8.graph.SubtypingInfo$TypeInfo com.android.tools.r8.graph.SubtypingInfo.getTypeInfo(com.android.tools.r8.graph.DexType):73:73 -> d
    1:1:com.android.tools.r8.graph.DexType getSingleDirectSubtype(com.android.tools.r8.graph.DexType):176 -> d
    2:4:com.android.tools.r8.graph.DexType getSingleDirectSubtype(com.android.tools.r8.graph.DexType):177:179 -> 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):179 -> 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):179 -> d
    7:7:com.android.tools.r8.graph.DexType getSingleDirectSubtype(com.android.tools.r8.graph.DexType):179:179 -> d
    1:1:com.android.tools.r8.graph.SubtypingInfo$TypeInfo com.android.tools.r8.graph.SubtypingInfo.getTypeInfo(com.android.tools.r8.graph.DexType):73:73 -> e
    1:1:boolean lambda$allImmediateExtendsSubtypes$3(com.android.tools.r8.graph.DexType):200 -> e
    2:2:boolean lambda$allImmediateExtendsSubtypes$3(com.android.tools.r8.graph.DexType):200:200 -> e
    1:1:com.android.tools.r8.graph.SubtypingInfo$TypeInfo com.android.tools.r8.graph.SubtypingInfo.getTypeInfo(com.android.tools.r8.graph.DexType):73:73 -> f
    1:1:boolean lambda$allImmediateExtendsSubtypes$4(com.android.tools.r8.graph.DexType):203 -> f
    2:2:boolean lambda$allImmediateExtendsSubtypes$4(com.android.tools.r8.graph.DexType):203:203 -> f
    1:1:com.android.tools.r8.graph.SubtypingInfo$TypeInfo com.android.tools.r8.graph.SubtypingInfo.getTypeInfo(com.android.tools.r8.graph.DexType):73:73 -> g
    1:1:boolean lambda$allImmediateImplementsSubtypes$5(com.android.tools.r8.graph.DexType):223 -> g
    2:2:boolean lambda$allImmediateImplementsSubtypes$5(com.android.tools.r8.graph.DexType):223:223 -> g
    1:1:java.util.Set lambda$populateSuperType$0(com.android.tools.r8.graph.DexType):64:64 -> h
    1:3:java.util.Set subtypes(com.android.tools.r8.graph.DexType):170:172 -> i
com.android.tools.r8.graph.SubtypingInfo$TypeInfo -> com.android.tools.r8.internal.NW:
    java.util.Set directSubtypes -> c
    com.android.tools.r8.graph.DexType type -> a
    int hierarchyLevel -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():228:228 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType):239:239 -> <init>
    2:10:void <init>(com.android.tools.r8.graph.DexType):232:240 -> <init>
    1:2:void ensureDirectSubTypeSet():263:264 -> a
    3:13:void setLevel(int):269:279 -> a
    14:17:void addDirectSubtype(com.android.tools.r8.graph.SubtypingInfo$TypeInfo):284:287 -> a
    18:20:void addInterfaceSubtype(com.android.tools.r8.graph.DexType):311:313 -> a
    1:3:boolean isInterface():299:301 -> b
    1:1:void tagAsInterface():295:295 -> c
    1:1:void tagAsSubtypeRoot():291:291 -> d
    1:5:boolean equals(java.lang.Object):250:254 -> equals
    1:1:int hashCode():245:245 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":262,"2":263,"3":264}}
    262:262:java.lang.String toString():259:259 -> toString
    263:263:java.lang.String toString():259:259 -> toString
    264:264:java.lang.String toString():259:259 -> toString
    260:260:java.lang.String toString():259:259 -> toString
    261:261:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":262,"2":263,"3":264}}
    262:262:java.lang.String toString():259:259 -> toString
    263:263:java.lang.String toString():259:259 -> toString
    264:264:java.lang.String toString():259:259 -> toString
com.android.tools.r8.graph.SuccessfulMemberResolutionResult -> com.android.tools.r8.internal.PW:
    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.X2:
    com.android.tools.r8.graph.DexType exceptionType -> d
    1:2:void <init>(com.android.tools.r8.graph.DexType):30:31 -> <init>
    com.android.tools.r8.graph.DexDebugInfoForWriting getDebugInfoForWriting() -> B
    int codeSizeInBytes() -> M
    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):35:35 -> a
    2:3:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):45:46 -> 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):51:51 -> 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.RewrittenPrototypeDescription):64:64 -> a
    6: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):79:81 -> a
    9:9:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):178:178 -> 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):81 -> a
    10:10:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193: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):81 -> 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.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193 -> a
    11:11:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> 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):81 -> a
    12:12:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):183:183 -> a
    13:13:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):188:188 -> a
    14:21: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):213:220 -> a
    22:22:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):235:235 -> a
    int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod) -> b
    void setCallSiteContexts(com.android.tools.r8.graph.ProgramMethod) -> c
    1:1:int computeHashCode():91:91 -> g0
    1:5:boolean computeEquals(java.lang.Object):99:103 -> h
    com.android.tools.r8.graph.DexWritableCode asDexWritableCode() -> i0
    int estimatedDexCodeSizeUpperBoundInBytes() -> k0
    1:1:com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind getDexWritableCodeKind():113:113 -> m
    1:1:com.android.tools.r8.graph.DexCode$Try[] getTries():148:148 -> p
    boolean isDexWritableCode() -> p0
    com.android.tools.r8.graph.Code asCode() -> q
    boolean isSharedCodeObject() -> r0
    com.android.tools.r8.graph.ThrowExceptionCode asThrowExceptionCode() -> s
    1:1:java.lang.String toString():230:230 -> toString
    1:1:com.android.tools.r8.graph.DexCode$TryHandler[] getHandlers():123:123 -> v
    com.android.tools.r8.graph.DexString getHighestSortingString() -> x
    int getOutgoingRegisterSize() -> z
com.android.tools.r8.graph.ThrowNullCode -> com.android.tools.r8.graph.Z2:
    com.android.tools.r8.graph.ThrowNullCode INSTANCE -> d
    1:1:void <clinit>():35:35 -> <clinit>
    1:1:void <init>():37:37 -> <init>
    com.android.tools.r8.graph.DexDebugInfoForWriting getDebugInfoForWriting() -> B
    int codeSizeInBytes() -> M
    void collectIndexedItems(com.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):50:50 -> 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):55:55 -> a
    3:3:void com.android.tools.r8.graph.ThrowNullCode$ThrowNullSourceCode.<init>(com.android.tools.r8.graph.ProgramMethod):269:269 -> 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):55 -> 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):56:56 -> 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.RewrittenPrototypeDescription):69:72 -> a
    9:11:int getMaxLocals(com.android.tools.r8.graph.ProgramMethod):140:142 -> a
    9:11:int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod):136 -> a
    9:11:int getRegisterSize(com.android.tools.r8.graph.ProgramMethod):154 -> a
    12:12:int getRegisterSize(com.android.tools.r8.graph.ProgramMethod):154:154 -> 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):233:234 -> a
    15:17:int getMaxLocals(com.android.tools.r8.graph.ProgramMethod):140:142 -> 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):236 -> 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):236:236 -> 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):247:248 -> a
    21:21:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):263:263 -> a
    1:3:int getMaxLocals(com.android.tools.r8.graph.ProgramMethod):140:142 -> b
    1:3:int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod):136 -> b
    com.android.tools.r8.graph.CfWritableCode$CfWritableCodeKind getCfWritableCodeKind() -> b0
    void setCallSiteContexts(com.android.tools.r8.graph.ProgramMethod) -> c
    1:1:int computeHashCode():96:96 -> g0
    boolean computeEquals(java.lang.Object) -> h
    com.android.tools.r8.graph.CfWritableCode asCfWritableCode() -> h0
    com.android.tools.r8.graph.DexWritableCode asDexWritableCode() -> i0
    int estimatedDexCodeSizeUpperBoundInBytes() -> k0
    1:1:com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind getDexWritableCodeKind():116:116 -> m
    boolean isCfWritableCode() -> n0
    1:1:com.android.tools.r8.graph.DexCode$Try[] getTries():159:159 -> p
    boolean isDexWritableCode() -> p0
    com.android.tools.r8.graph.Code asCode() -> q
    boolean isSharedCodeObject() -> r0
    1:1:com.android.tools.r8.graph.ThrowNullCode get():40:40 -> t0
    1:1:java.lang.String toString():258:258 -> toString
    1:1:com.android.tools.r8.graph.DexCode$TryHandler[] getHandlers():126:126 -> v
    com.android.tools.r8.graph.DexString getHighestSortingString() -> x
    int getOutgoingRegisterSize() -> z
com.android.tools.r8.graph.ThrowNullCode$ThrowNullSourceCode -> com.android.tools.r8.graph.Y2:
    1:6:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):274:279 -> <init>
    7:7:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):273:273 -> <init>
    1:1:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):283:283 -> d
    2:2:void com.android.tools.r8.ir.conversion.IRBuilder.addNullConst(int):1216:1216 -> d
    2:2:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):283 -> d
    1:1:void lambda$getInstructionBuilders$1(com.android.tools.r8.ir.conversion.IRBuilder):283:283 -> e
    1:1:java.util.List getInstructionBuilders():283:283 -> f
com.android.tools.r8.graph.ThrowingInitClassLens -> com.android.tools.r8.internal.GX:
    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.aY:
    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:27:boolean com.android.tools.r8.graph.ClassHierarchyTraversal$Scope.shouldBePassedToVisitor(com.android.tools.r8.graph.DexClass):25:39 -> a
    13: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.a3:
    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():761:761 -> 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[]):253:253 -> 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[]):273:273 -> 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:127:com.android.tools.r8.graph.DexEncodedMethod fixupMethod(com.android.tools.r8.graph.DexEncodedMethod):257:260 -> a
    128:129:com.android.tools.r8.graph.DexMethod fixupMethodReference(com.android.tools.r8.graph.DexMethod):267:268 -> a
    130:133:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):296:299 -> a
    130:133:com.android.tools.r8.graph.DexMethod fixupMethodReference(com.android.tools.r8.graph.DexMethod):268 -> a
    134:138:com.android.tools.r8.graph.DexType[] fixupTypes(com.android.tools.r8.graph.DexType[]):351:355 -> a
    134:138:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):299 -> a
    134:138:com.android.tools.r8.graph.DexMethod fixupMethodReference(com.android.tools.r8.graph.DexMethod):268 -> a
    139:140:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):300:301 -> a
    139:140:com.android.tools.r8.graph.DexMethod fixupMethodReference(com.android.tools.r8.graph.DexMethod):268 -> a
    141:141:com.android.tools.r8.graph.DexMethod fixupMethodReference(com.android.tools.r8.graph.DexMethod):268:268 -> a
    142:142:com.android.tools.r8.graph.DexMethod fixupMethodReference(com.android.tools.r8.graph.DexMethod):267:267 -> a
    143:152:com.android.tools.r8.graph.DexType fixupType(com.android.tools.r8.graph.DexType):335:344 -> a
    153:153:com.android.tools.r8.graph.DexMethodSignature fixupMethodSignature(com.android.tools.r8.graph.DexMethodSignature):368:368 -> a
    154:157:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):296:299 -> a
    154:157:com.android.tools.r8.graph.DexMethodSignature fixupMethodSignature(com.android.tools.r8.graph.DexMethodSignature):368 -> a
    158:162:com.android.tools.r8.graph.DexType[] fixupTypes(com.android.tools.r8.graph.DexType[]):351:355 -> a
    158:162:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):299 -> a
    158:162:com.android.tools.r8.graph.DexMethodSignature fixupMethodSignature(com.android.tools.r8.graph.DexMethodSignature):368 -> a
    163:164:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):300:301 -> a
    163:164:com.android.tools.r8.graph.DexMethodSignature fixupMethodSignature(com.android.tools.r8.graph.DexMethodSignature):368 -> a
    165:165:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.withProto(com.android.tools.r8.graph.DexProto):54:54 -> a
    165:165:com.android.tools.r8.graph.DexMethodSignature fixupMethodSignature(com.android.tools.r8.graph.DexMethodSignature):368 -> a
    166:166: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
    166:166:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.withProto(com.android.tools.r8.graph.DexProto):54 -> a
    166:166: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
    7:13:java.util.List fixupInnerClassAttributes(java.util.List):205:211 -> b
    14:14:com.android.tools.r8.graph.DexType fixupTypeOrNull(com.android.tools.r8.graph.DexType):330:330 -> b
    14:14:java.util.List fixupInnerClassAttributes(java.util.List):212 -> b
    15:15:java.util.List fixupInnerClassAttributes(java.util.List):213:213 -> b
    16:16:com.android.tools.r8.graph.DexType fixupTypeOrNull(com.android.tools.r8.graph.DexType):330:330 -> b
    16:16:java.util.List fixupInnerClassAttributes(java.util.List):214 -> b
    17:28:java.util.List fixupInnerClassAttributes(java.util.List):215:226 -> b
    29:36:java.util.List fixupInnerClassAttributes(java.util.List):225:232 -> b
    37:37:boolean com.android.tools.r8.utils.InternalOptions.isTreeShakingEnabled():608:608 -> b
    37:37:java.util.List fixupInnerClassAttributes(java.util.List):232 -> b
    38:44:java.util.List fixupInnerClassAttributes(java.util.List):232:238 -> b
    45:45:java.util.List fixupInnerClassAttributes(java.util.List):236:236 -> b
com.android.tools.r8.graph.UseRegistry -> com.android.tools.r8.graph.b3:
    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[]):61:61 -> a
    3:3:void registerInstanceFieldReadInstruction(com.android.tools.r8.code.CfOrDexInstanceFieldRead):94:94 -> a
    4:4:void registerStaticFieldReadInstruction(com.android.tools.r8.code.CfOrDexStaticFieldRead):122:122 -> a
    5:5:void registerConstClass(com.android.tools.r8.graph.DexType,java.util.ListIterator,boolean):145:145 -> a
    6:6:void registerCheckCast(com.android.tools.r8.graph.DexType,boolean):149:149 -> a
    7:7:void registerExceptionGuard(com.android.tools.r8.graph.DexType):157:157 -> a
    8:42:void registerMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):161:195 -> a
    43:43:void registerMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):189:189 -> a
    44:50:void registerMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):186:192 -> a
    51:53:void registerMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):181:183 -> a
    54:57:void registerMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):175:178 -> a
    58:67:void registerMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):163:172 -> a
    68:69:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):214:215 -> a
    70:70:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):906:906 -> a
    70:70:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):215 -> a
    71:95:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):218:242 -> a
    96:96:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):238:238 -> a
    97:97:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):235:235 -> a
    98:106:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):224:232 -> a
    107:109:void registerProto(com.android.tools.r8.graph.DexProto):253:255 -> a
    107:109:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):232 -> a
    110:111:void registerCallSite(com.android.tools.r8.graph.DexCallSite):248:249 -> 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):201 -> b
    2:2:void registerCallSiteExceptBootstrapArgs(com.android.tools.r8.graph.DexCallSite):201:201 -> b
    3:3:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):906:906 -> b
    3:3:void registerCallSiteExceptBootstrapArgs(com.android.tools.r8.graph.DexCallSite):201 -> b
    4:10:void registerCallSiteExceptBootstrapArgs(com.android.tools.r8.graph.DexCallSite):204:210 -> b
    11:12:void doBreak():39:40 -> b
    13:13:void registerInstanceFieldReadFromMethodHandle(com.android.tools.r8.graph.DexField):98:98 -> 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():52:53 -> c
    2:3:void registerInvokeSpecial(com.android.tools.r8.graph.DexMethod):75 -> c
    4:4:void registerInvokeSpecial(com.android.tools.r8.graph.DexMethod):76:76 -> c
    5:5:boolean com.android.tools.r8.ir.code.Invoke$Type.isDirect():181:181 -> c
    5:5:void registerInvokeSpecial(com.android.tools.r8.graph.DexMethod):77 -> c
    6:6:void registerInvokeSpecial(com.android.tools.r8.graph.DexMethod):78:78 -> c
    7:7:boolean com.android.tools.r8.ir.code.Invoke$Type.isSuper():193:193 -> c
    7:7:void registerInvokeSpecial(com.android.tools.r8.graph.DexMethod):80 -> c
    8:9:void registerInvokeSpecial(com.android.tools.r8.graph.DexMethod):80:81 -> c
    10:10:void registerInstanceOf(com.android.tools.r8.graph.DexType):138:138 -> c
    void registerInvokeStatic(com.android.tools.r8.graph.DexMethod) -> d
    1:1:com.android.tools.r8.graph.Definition getContext():48:48 -> d
    2:2:void registerInstanceFieldWriteFromMethodHandle(com.android.tools.r8.graph.DexField):104:104 -> d
    3:3:void registerNewInstance(com.android.tools.r8.graph.DexType):112:112 -> d
    void registerStaticFieldRead(com.android.tools.r8.graph.DexField) -> e
    1:1:com.android.tools.r8.utils.TraversalContinuation getTraversalContinuation():57:57 -> e
    2:2:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod,boolean):108:108 -> e
    3:3:void registerSafeCheckCast(com.android.tools.r8.graph.DexType):153:153 -> 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):126:126 -> 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):132:132 -> h
com.android.tools.r8.graph.UseRegistry$MethodHandleUse -> com.android.tools.r8.internal.s00:
    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.t00:
    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.h2:
    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>():18:18 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView):24:27 -> <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):32:32 -> a
    2:2:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):37:37 -> a
    3:12:void processTracedCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry):42:51 -> a
    13:13:void notifyMarkMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod):56:56 -> a
    14:14:void notifyMarkFieldAsReachable(com.android.tools.r8.graph.ProgramField):61:61 -> a
    15:15:void notifyMarkVirtualDispatchTargetAsLive(com.android.tools.r8.graph.LookupTarget):66:66 -> a
    16:16:void notifyFailedMethodResolutionTarget(com.android.tools.r8.graph.DexEncodedMethod):76:76 -> a
    17:22:void computeAndSetApiLevelForDefinition(com.android.tools.r8.graph.DexClassAndMember):81:86 -> a
    23:23:void computeAndSetApiLevelForDefinition(com.android.tools.r8.graph.DexClassAndMember):83:83 -> 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):83 -> a
    25:25:void computeAndSetApiLevelForDefinition(com.android.tools.r8.graph.DexClassAndMember):82:82 -> a
com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis -> com.android.tools.r8.internal.P9:
    com.android.tools.r8.ir.optimize.info.OptimizationFeedback feedback -> b
    com.android.tools.r8.graph.DexString kotlinAssertionsEnabled -> c
    java.util.List jacocoInstructionSequence -> f
    java.util.List r8InstructionSequence -> e
    java.util.List javacInstructionSequence -> d
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    1:10:void <clinit>():108:117 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):35:38 -> <init>
    1:5:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):43:47 -> a
    6:14:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):120:128 -> a
    6:14:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
    15:22:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):190:197 -> a
    15:22:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):129 -> a
    15:22:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
    23:23:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    23:23:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):197 -> a
    23:23:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):129 -> a
    23:23:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
    24:24:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):197:197 -> a
    24:24:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):129 -> a
    24:24:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
    25:25:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    25:25:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):197 -> a
    25:25:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):129 -> a
    25:25:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
    26:28:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):201:203 -> a
    26:28:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):129 -> a
    26:28:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
    29:35:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.skipSequence(java.util.List,com.android.tools.r8.graph.CfCode,int):180:186 -> a
    29:35:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):204 -> a
    29:35:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):129 -> a
    29:35:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
    36:42:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):205:211 -> a
    36:42:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):129 -> a
    36:42:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
    43:43:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    43:43:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):211 -> a
    43:43:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):129 -> a
    43:43:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
    44:44:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):211:211 -> a
    44:44:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):129 -> a
    44:44:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
    45:45:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    45:45:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):211 -> a
    45:45:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):129 -> a
    45:45:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
    46:53:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):215:222 -> a
    46:53:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):129 -> a
    46:53:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
    54:61:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isR8InstructionSequence(com.android.tools.r8.graph.CfCode,int):227:234 -> a
    54:61:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):131 -> a
    54:61:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
    62:62:boolean com.android.tools.r8.cf.code.CfInstruction.isStore():0:0 -> a
    62:62:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isR8InstructionSequence(com.android.tools.r8.graph.CfCode,int):234 -> a
    62:62:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):131 -> a
    62:62:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
    63:63:boolean com.android.tools.r8.cf.code.CfInstruction.isLoad():0:0 -> a
    63:63:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isR8InstructionSequence(com.android.tools.r8.graph.CfCode,int):234 -> a
    63:63:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):131 -> a
    63:63:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
    64:70:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isR8InstructionSequence(com.android.tools.r8.graph.CfCode,int):238:244 -> a
    64:70:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):131 -> a
    64:70:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
    71:77:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):134:140 -> a
    71:77:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
    78:100:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasKotlincClinitAssertionCode(com.android.tools.r8.graph.ProgramMethod):148:170 -> a
    78:100:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):47 -> a
    101:101:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):48:48 -> a
com.android.tools.r8.graph.analysis.EnqueuerAnalysis -> com.android.tools.r8.internal.Nh:
    1:1:void <init>():18:18 -> <init>
    void done(com.android.tools.r8.shaking.Enqueuer) -> a
    void notifyFailedMethodResolutionTarget(com.android.tools.r8.graph.DexEncodedMethod) -> 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) -> a
    void notifyMarkMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod) -> a
    void notifyMarkVirtualDispatchTargetAsLive(com.android.tools.r8.graph.LookupTarget) -> a
    void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod) -> 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) -> a
    void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition) -> a
    void processTracedCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry) -> a
com.android.tools.r8.graph.analysis.EnqueuerFieldAccessAnalysis -> com.android.tools.r8.internal.Th:
com.android.tools.r8.graph.analysis.GetArrayOfMissingTypeVerifyErrorWorkaround -> com.android.tools.r8.internal.El:
    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):42:45 -> <init>
    1:3:boolean com.android.tools.r8.graph.analysis.GetArrayOfMissingTypeVerifyErrorWorkaround.isNoop(com.android.tools.r8.graph.AppView):57:59 -> a
    1:3:void register(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer):50 -> a
    4:4:void register(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer):51:51 -> a
    5:19:boolean com.android.tools.r8.graph.analysis.GetArrayOfMissingTypeVerifyErrorWorkaround.isUnsafeToUseFieldOnDalvik(com.android.tools.r8.graph.DexField):79:93 -> a
    5:19:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod):65 -> a
    20:20:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod):66:66 -> a
    1:15:boolean com.android.tools.r8.graph.analysis.GetArrayOfMissingTypeVerifyErrorWorkaround.isUnsafeToUseFieldOnDalvik(com.android.tools.r8.graph.DexField):79:93 -> b
    1:15:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod):73 -> b
    16:16:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod):74:74 -> b
com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis -> com.android.tools.r8.internal.Qo:
    java.util.Map mapping -> b
    com.android.tools.r8.graph.AppView appView -> a
    1:1:void <init>(com.android.tools.r8.graph.AppView):61:61 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppView):58:62 -> <init>
    1:17:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):67:83 -> a
    18:18:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):81:81 -> a
    19:19:void done(com.android.tools.r8.shaking.Enqueuer):89:89 -> a
com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$InitializedClassesInInstanceMethods -> com.android.tools.r8.internal.Po:
    java.util.Map mapping -> 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,java.util.Map,com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$1):20:20 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.AppView,java.util.Map):26:28 -> <init>
    1:18:boolean isClassDefinitelyLoadedInInstanceMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):33:50 -> a
com.android.tools.r8.graph.analysis.InvokeVirtualToInterfaceVerifyErrorWorkaround -> com.android.tools.r8.internal.tu:
    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:5:boolean com.android.tools.r8.graph.analysis.InvokeVirtualToInterfaceVerifyErrorWorkaround.isInterfaceInSomeApiLevel(com.android.tools.r8.graph.DexType):65:66 -> a
    4: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():477:477 -> 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:8:boolean com.android.tools.r8.graph.analysis.InvokeVirtualToInterfaceVerifyErrorWorkaround.isInterfaceInSomeApiLevel(com.android.tools.r8.graph.DexType):66:67 -> a
    7:8:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):57 -> a
    9:9: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.c6:
    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.b6:
    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.e6:
    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.d6:
    java.util.Map backing -> b
    com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider bytecodeMetadataProvider -> a
    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
com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider -> com.android.tools.r8.internal.f6:
    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.f6$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.BD:
    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.CD:
    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.j10:
    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.horizontalclassmerging.ClassInstanceFieldsMerger -> com.android.tools.r8.internal.ga:
    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:53:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):122:122 -> a
    54:54:boolean com.android.tools.r8.graph.DexEncodedField.isSynthetic():234:234 -> a
    54:54:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):122 -> a
    55:55:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):122:122 -> a
    56:56: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
    56:56:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):122 -> a
    57:57:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):123:123 -> a
    58:58:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    58:58:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):125 -> a
    59:59:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):125:125 -> a
    60:60: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
    60:60:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):125 -> a
    61:61:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):126:126 -> a
    62:62:boolean lambda$fixAccessFlags$3(com.android.tools.r8.graph.DexEncodedField):122:122 -> a
    63:63:boolean com.android.tools.r8.graph.DexEncodedField.isSynthetic():234:234 -> a
    63:63:boolean lambda$fixAccessFlags$3(com.android.tools.r8.graph.DexEncodedField):122 -> a
    64:74:com.android.tools.r8.graph.DexEncodedField[] merge():135:145 -> a
    75:75:void lambda$merge$5(java.util.List,java.util.Set,com.android.tools.r8.graph.DexEncodedField):144:144 -> a
    76:84:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):150:158 -> a
    85:85:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    85:85:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):158 -> a
    86:86:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):158:158 -> a
    87:87:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):157:157 -> a
    88:95:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):155:162 -> a
    96:96: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
    96:96:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):162 -> a
    97:97: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
    97:97:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):161 -> a
    98:98:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):167:167 -> a
    99:99:java.lang.Iterable com.android.tools.r8.utils.IterableUtils.append(java.lang.Iterable,java.lang.Object):52:52 -> a
    99:99:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):169 -> a
    100:100:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    100:100:java.lang.Iterable com.android.tools.r8.utils.IterableUtils.append(java.lang.Iterable,java.lang.Object):52 -> a
    100:100:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):169 -> a
    101:101:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):169:169 -> a
    102:105:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):168:171 -> a
    106:106:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):167:167 -> a
    107:107:boolean needsRelaxedType(com.android.tools.r8.graph.DexEncodedField,java.lang.Iterable):178:178 -> a
    108:108: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
    108:108:boolean needsRelaxedType(com.android.tools.r8.graph.DexEncodedField,java.lang.Iterable):178 -> a
    109:109:boolean lambda$needsRelaxedType$6(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):179:179 -> a
    1:1:java.util.LinkedList lambda$getAvailableFieldsByRelaxedInfo$1(com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields$InstanceFieldInfo):116:116 -> b
    2:2:boolean lambda$fixAccessFlags$4(com.android.tools.r8.graph.DexEncodedField):125:125 -> b
    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.la:
    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>():51:55 -> <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):51:51 -> <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):81:81 -> <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):63:99 -> <init>
    1:2:void buildClassIdentifierMap():103:104 -> a
    3:3:void lambda$buildClassIdentifierMap$0(com.android.tools.r8.graph.DexProgramClass):104:104 -> a
    4:4:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):110:110 -> a
    5:11:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):117:123 -> a
    5:11:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):111 -> a
    12:12:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2383:2383 -> a
    12:12:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):123 -> a
    12:12:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):111 -> a
    13:14:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):124:125 -> a
    13:14:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):111 -> a
    15:15: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
    15:15:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):125 -> a
    15:15:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):111 -> a
    16:16: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
    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 -> a
    16:16:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):125 -> a
    16:16:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):111 -> a
    17:22:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):126:131 -> a
    17:22:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):111 -> a
    23:23:com.android.tools.r8.graph.MethodAccessFlags com.android.tools.r8.graph.MethodAccessFlags.createForClassInitializer():79:79 -> a
    23:23:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):132 -> a
    23:23:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):111 -> a
    24:37:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):132:145 -> a
    24:37:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):111 -> a
    38:38:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):112:112 -> a
    39:43:void lambda$mergeDirectMethods$1(com.android.tools.r8.graph.ProgramMethod):152:156 -> a
    44:44:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2383:2383 -> a
    44:44:void lambda$mergeDirectMethods$1(com.android.tools.r8.graph.ProgramMethod):156 -> a
    45:56:void lambda$mergeDirectMethods$1(com.android.tools.r8.graph.ProgramMethod):154:165 -> a
    57:57:void lambda$mergeInstanceInitializers$2(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger):192:192 -> a
    58:58:void lambda$mergeVirtualMethods$3(com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger):206:206 -> a
    59:59:boolean lambda$fixNestMemberAttributes$5(com.android.tools.r8.graph.NestMemberClassAttribute):254:254 -> a
    60:60:void lambda$mergeInterfaces$6(java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):278:278 -> a
    61:61:void lambda$mergeInterfaces$7(java.util.function.Consumer):278:278 -> a
    62:64:void lambda$mergeInterfaces$8(java.util.Set,java.util.Set,com.android.tools.r8.graph.DexProgramClass):281:283 -> a
    65:65:void lambda$mergeInterfaces$9(java.util.Set,com.android.tools.r8.graph.DexProgramClass):289:289 -> a
    66:72:void mergeInstanceFields(com.android.tools.r8.graph.PrunedItems$Builder):303:309 -> a
    73:73:void lambda$mergeInstanceFields$10(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.graph.DexEncodedField):306:306 -> a
    74:77:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):322:325 -> a
    78:78:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):295:295 -> a
    78:78:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):326 -> a
    79:79:void com.android.tools.r8.horizontalclassmerging.ClassMerger.appendClassIdField():211:211 -> a
    79:79:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):296 -> a
    79:79:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):326 -> a
    80:80:boolean com.android.tools.r8.graph.AppView.hasLiveness():659:659 -> a
    80:80:void com.android.tools.r8.horizontalclassmerging.ClassMerger.appendClassIdField():211 -> a
    80:80:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):296 -> 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):326 -> a
    81:86:void com.android.tools.r8.horizontalclassmerging.ClassMerger.appendClassIdField():211:216 -> a
    81:86:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):296 -> a
    81:86:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):326 -> a
    87:87:com.android.tools.r8.graph.FieldAccessFlags com.android.tools.r8.graph.FieldAccessFlags.createPublicFinalSynthetic():80:80 -> a
    87:87:void com.android.tools.r8.horizontalclassmerging.ClassMerger.appendClassIdField():217 -> a
    87:87:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):296 -> a
    87:87:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):326 -> a
    88:102:void com.android.tools.r8.horizontalclassmerging.ClassMerger.appendClassIdField():217:231 -> a
    88:102:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):296 -> a
    88:102:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):326 -> a
    103:104:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):298:299 -> a
    103:104:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):326 -> a
    105:107:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):199:201 -> a
    105:107:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):327 -> 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):328:330 -> a
    111:111:void lambda$mergeGroup$12(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.graph.DexProgramClass):330:330 -> a
    1:3:com.android.tools.r8.graph.DexMethod renameDirectMethod(com.android.tools.r8.graph.ProgramMethod):179:181 -> b
    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):181 -> b
    5:7:com.android.tools.r8.graph.DexMethod renameDirectMethod(com.android.tools.r8.graph.ProgramMethod):181:183 -> b
    8:8:com.android.tools.r8.graph.DexMethod renameDirectMethod(com.android.tools.r8.graph.ProgramMethod):180:180 -> b
    9:9:void mergeInstanceInitializers(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):190:190 -> b
    10:10:void lambda$mergeVirtualMethods$4(com.android.tools.r8.graph.DexProgramClass):207:207 -> b
    11:11:void fixAccessFlags():235:235 -> b
    12:12: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
    12:12:void fixAccessFlags():235 -> b
    13:15:void fixAccessFlags():236:238 -> b
    16:16: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
    16:16:void fixAccessFlags():238 -> b
    17:17:void fixAccessFlags():239:239 -> b
    18:20:void lambda$mergeInstanceFields$11(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.graph.DexProgramClass):305:307 -> b
    1:1:void mergeDirectMethods(com.android.tools.r8.graph.DexProgramClass):150:150 -> 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):150 -> c
    3:3:void mergeDirectMethods(com.android.tools.r8.graph.DexProgramClass):170:170 -> c
    4:12:void fixNestMemberAttributes():244:252 -> c
    1:4:void mergeAnnotations():262:265 -> d
    1:1:java.util.LinkedHashSet com.android.tools.r8.com.google.common.collect.Sets.newLinkedHashSet():305:305 -> e
    1:1:void mergeInterfaces():272 -> e
    2:20:void mergeInterfaces():273:291 -> 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():291 -> 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():291 -> e
    23:23:void mergeInterfaces():291:291 -> e
    24:24:void com.android.tools.r8.graph.DexClass.setInterfaces(com.android.tools.r8.graph.DexTypeList):173:173 -> e
    24:24:void mergeInterfaces():291 -> e
    1:3:void mergeStaticFields():313:315 -> f
    1:3:void mergeVirtualMethods():205:207 -> g
com.android.tools.r8.horizontalclassmerging.ClassMerger$Builder -> com.android.tools.r8.internal.ka:
    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>():333:333 -> <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):343:347 -> <init>
    1:15:java.util.List createVirtualMethodMergers():351:365 -> a
    16:16:void lambda$createVirtualMethodMergers$2(java.util.Map,com.android.tools.r8.graph.DexProgramClass):355:355 -> 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):355 -> a
    18:18:void lambda$createVirtualMethodMergers$1(java.util.Map,com.android.tools.r8.graph.ProgramMethod):359:359 -> a
    19:22:void lambda$createVirtualMethodMergers$1(java.util.Map,com.android.tools.r8.graph.ProgramMethod):358:361 -> a
    23:23:com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger$Builder lambda$createVirtualMethodMergers$0(com.android.tools.r8.graph.DexMethodSignature):360:360 -> a
    24:30:com.android.tools.r8.horizontalclassmerging.ClassMerger build(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):380:386 -> a
    31:34:void com.android.tools.r8.horizontalclassmerging.ClassMerger$Builder.createClassIdField():372:375 -> a
    31:34:com.android.tools.r8.horizontalclassmerging.ClassMerger build(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):387 -> a
    35:35:void com.android.tools.r8.horizontalclassmerging.ClassMerger$Builder.createClassIdField():374:374 -> a
    35:35:com.android.tools.r8.horizontalclassmerging.ClassMerger build(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):387 -> a
    36:36:void com.android.tools.r8.horizontalclassmerging.ClassMerger$Builder.createClassIdField():373:373 -> a
    36:36:com.android.tools.r8.horizontalclassmerging.ClassMerger build(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):387 -> a
    37:37:com.android.tools.r8.horizontalclassmerging.ClassMerger build(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):390:390 -> a
    38:38:boolean lambda$build$3(com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger):384:384 -> a
com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder -> com.android.tools.r8.internal.ma:
    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.Ha:
    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.Gd:
    boolean $assertionsDisabled -> o
    com.android.tools.r8.graph.DexField classIdField -> m
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap typeConstructors -> n
    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):1208:1208 -> 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.xm:
    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>():27:27 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):46:49 -> <init>
    1:1:com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger createForFinalClassMerging(com.android.tools.r8.graph.AppView):59:59 -> a
    2:16:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):81:95 -> 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):205:207 -> a
    17:19:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):99 -> 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):207 -> a
    20:20:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):99 -> a
    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):207:211 -> a
    21:25:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):99 -> 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):210:210 -> a
    26:26:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):99 -> a
    27:31:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):101:105 -> a
    32:32: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):221:221 -> a
    32:32:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):107 -> a
    33:33:com.android.tools.r8.graph.DexApplication com.android.tools.r8.graph.AppView.app():220:220 -> a
    33:33: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):221 -> a
    33:33:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):107 -> a
    34:39: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):221:226 -> a
    34:39:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):107 -> a
    40:48:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):111:119 -> a
    49:49:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses$Builder com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses.builder():28:28 -> a
    49:49:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):119 -> a
    50:53:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):119:122 -> a
    54:55: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):238:239 -> a
    54:55:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):123 -> a
    56:60:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):125:129 -> a
    61:61:com.android.tools.r8.shaking.KeepInfoCollection com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection.mutate(java.util.function.Consumer):507:507 -> a
    61:61:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):129 -> a
    62:64:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):133:133 -> a
    65:65:void com.android.tools.r8.graph.AppView.rewriteWithLensAndApplication(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DirectMappedDexApplication):738:738 -> a
    65:65:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):133 -> a
    66:73:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):137:144 -> a
    74:74:com.android.tools.r8.graph.DexApplication com.android.tools.r8.graph.AppView.app():220:220 -> a
    74:74:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):144 -> a
    75:75:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):144:144 -> a
    76:76:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):143:143 -> a
    77:77:void lambda$run$0(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):129:129 -> a
    78:93:com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier createFieldAccessInfoCollectionModifier(java.util.Collection):149:164 -> a
    94:94:boolean lambda$createFieldAccessInfoCollectionModifier$1(com.android.tools.r8.graph.DexEncodedMethod):156:156 -> a
    95:95:void lambda$createFieldAccessInfoCollectionModifier$2(com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):157:157 -> a
    96:103:com.android.tools.r8.graph.DirectMappedDexApplication getNewApplication(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses):170:177 -> a
    104:104:boolean lambda$getNewApplication$5(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.graph.DexProgramClass):176:176 -> a
    105:117:java.util.List getInitialGroups():181:193 -> a
    118:118:com.android.tools.r8.utils.TraversalContinuation lambda$verifyNoCyclesInInterfaceHierarchies$6(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):253:253 -> a
    119:119:com.android.tools.r8.utils.TraversalContinuation lambda$verifyNoCyclesInInterfaceHierarchies$6(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":375,"2":376,"3":377}}
    375:375:com.android.tools.r8.utils.TraversalContinuation lambda$verifyNoCyclesInInterfaceHierarchies$6(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):253:253 -> a
    376:376:com.android.tools.r8.utils.TraversalContinuation lambda$verifyNoCyclesInInterfaceHierarchies$6(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):253:253 -> a
    377:377:com.android.tools.r8.utils.TraversalContinuation lambda$verifyNoCyclesInInterfaceHierarchies$6(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):253:253 -> a
    373:374:com.android.tools.r8.utils.TraversalContinuation lambda$verifyNoCyclesInInterfaceHierarchies$6(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):254:255 -> a
    1:1:com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger createForInitialClassMerging(com.android.tools.r8.graph.AppView):54:54 -> b
    2:2:void runIfNecessary(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):65:65 -> 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":78,"2":79,"3":80}}
    78:78:void runIfNecessary(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):66:66 -> b
    79:79:void runIfNecessary(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):66:66 -> b
    80:80:void runIfNecessary(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):66:66 -> b
    69:77:void runIfNecessary(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):66:74 -> b
    81:81:boolean lambda$createFieldAccessInfoCollectionModifier$3(com.android.tools.r8.graph.DexEncodedMethod):160:160 -> b
    82:82:void lambda$createFieldAccessInfoCollectionModifier$4(com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):161:161 -> b
    83:90:boolean verifyNoCyclesInInterfaceHierarchies(java.util.Collection):243:250 -> b
com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode -> com.android.tools.r8.internal.wm:
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode INITIAL -> b
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode FINAL -> c
    1:2:void <clinit>():30:31 -> <clinit>
    1:1:void <init>(java.lang.String,int):29:29 -> <init>
    1:1:boolean isFinal():38:38 -> a
    1:1:boolean isInitial():34:34 -> b
com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerCfCode -> com.android.tools.r8.internal.ym:
    1:1:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):26:26 -> <init>
com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens -> com.android.tools.r8.internal.Am:
    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):59:68 -> a
    1:10:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):73:82 -> b
    11:11:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> b
    11:11:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):82 -> b
    12:17:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):80:85 -> b
    1:1:java.lang.Iterable internalGetOriginalTypes(com.android.tools.r8.graph.DexType):49:49 -> 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):49 -> 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):49 -> f
com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder -> com.android.tools.r8.internal.zm:
    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>():88:88 -> <clinit>
    1:1:void <init>():108:108 -> <init>
    2:17:void <init>():91:106 -> <init>
    1:5:com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens build(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses):112:116 -> a
    6:18:com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens build(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses):115:127 -> a
    19:20:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):132:133 -> a
    21:23:void recordNewFieldSignature(java.lang.Iterable,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):144:144 -> a
    25:27:void recordNewFieldSignature(java.lang.Iterable,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):146:148 -> a
    28:28:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.recordNewFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):137:137 -> a
    28:28:void recordNewFieldSignature(java.lang.Iterable,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):149 -> a
    29:29:void recordNewFieldSignature(java.lang.Iterable,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):151:151 -> a
    30:30:void fixupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):155:155 -> 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):224:233 -> a
    31:40:void fixupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):155 -> a
    41:41:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.mapMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):163:163 -> a
    41:41:void mapMergedConstructor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,java.util.List):264 -> a
    42:43:void mapMergedConstructor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,java.util.List):265:266 -> a
    44:46:void recordNewMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean):192:194 -> a
    47:52:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.fixupMethodMap(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):208:213 -> a
    47:52:void fixupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):199 -> a
    53:53:void fixupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):200:200 -> 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):224:233 -> a
    54:63:void fixupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):200 -> a
    64:69:void commitPendingUpdates():240:245 -> 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):253:255 -> a
    70:72:void commitPendingUpdates():245 -> a
    73:73:void commitPendingUpdates():246:246 -> 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):253:255 -> a
    74:76:void commitPendingUpdates():246 -> a
    77:87:void addExtraParameters(com.android.tools.r8.graph.DexMethod,java.util.List):271:281 -> a
    88:88:java.util.List lambda$addExtraParameters$2(java.util.List,com.android.tools.r8.graph.DexMethod):274:274 -> 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):118:118 -> b
    4:4:void mapMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):163:163 -> b
    5:5:java.util.List lambda$addExtraParameters$3(java.util.List,com.android.tools.r8.graph.DexMethod):280:280 -> b
    1:1:void recordNewFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):137:137 -> c
    2:2:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.mapMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):163:163 -> 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):171 -> c
    2:2:void moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):167 -> 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):172:172 -> c
    3:3:void moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):167 -> c
com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerUtils -> com.android.tools.r8.internal.Bm:
    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.Dm:
    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
    10:10:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses$Builder com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses.builder():28:28 -> a
    10:10:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses extend(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses):42 -> a
    11:18:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses extend(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses):43:50 -> a
    19:20:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):98:99 -> a
    21:21:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":124,"2":125,"3":126}}
    124:124:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):99:99 -> a
    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
    22:22:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":128,"2":129,"3":130,"4":131}}
    128:128:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):101:101 -> a
    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
    123:123: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.Cm:
    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.bn:
    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.InstanceInitializerAnalysis -> com.android.tools.r8.internal.zp:
    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):409:409 -> 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):429:429 -> 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):409 -> 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):467:467 -> 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
    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.Bp:
    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:80: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:175 -> a
    81:81:void addCfInstructionsForInstanceFieldAssignments(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,java.util.Map,int[],com.android.tools.r8.utils.IntBox):183:183 -> a
    82: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):186:189 -> a
    86:88: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):188:190 -> a
    89:89:void com.android.tools.r8.cf.code.CfInstanceFieldWrite.<init>(com.android.tools.r8.graph.DexField):16:16 -> a
    89:89: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):190 -> a
    90:91: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):190:191 -> a
    92:93:void com.android.tools.r8.utils.IntBox.setMax(int):61:62 -> a
    92:93: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):191 -> a
    94:97: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):200:203 -> a
    98: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):202:211 -> a
    108:108:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleConstClassValue():0:0 -> a
    108:108: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):211 -> a
    109:110: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:213 -> a
    111:111:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    111: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):213 -> 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):212:212 -> a
    113:113:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleDexItemBasedStringValue():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):215 -> a
    114:117: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:220 -> a
    118:118: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
    119:119:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    119:119: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):222 -> a
    120:120: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:223 -> a
    121:121:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNull():42:42 -> a
    121:121: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):224 -> a
    122:128: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):224:230 -> a
    129:137: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):228:236 -> a
    138:138: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):235:235 -> a
    1:8:boolean equals(java.lang.Object):243:250 -> equals
    1:1:int hashCode():255:255 -> hashCode
com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription$Builder -> com.android.tools.r8.internal.Ap:
    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>():263:263 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.ProgramMethod):275:275 -> <init>
    2:14:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.ProgramMethod):268:280 -> <init>
    1:1:com.android.tools.r8.graph.DexType lambda$new$0(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):281:281 -> a
    2:20:void addInstancePut(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):285:303 -> a
    21:23:boolean addInvokeConstructor(com.android.tools.r8.graph.DexMethod,java.util.List):308:310 -> a
    24:25:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription build():317:318 -> a
    1:1:boolean isValid():327:327 -> b
com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger -> com.android.tools.r8.internal.Fp:
    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):180:182 -> a
    55:57:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.moveMethods(java.lang.Iterable,com.android.tools.r8.graph.DexMethod):176 -> 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):171:172 -> 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):182 -> a
    58:59:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.moveMethods(java.lang.Iterable,com.android.tools.r8.graph.DexMethod):176 -> 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:64:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean):171:172 -> a
    63: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 merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):336:336 -> a
    72:72:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.recordNewMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):187:187 -> a
    72:72:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):336 -> 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):343:343 -> a
    74:74:boolean com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.isSingleton():297:297 -> a
    74:74:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):344 -> a
    75:86: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
    87:87:void com.android.tools.r8.ir.conversion.ExtraUnusedNullParameter.<init>():20:20 -> a
    87:87:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):355 -> a
    88:90: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
    91:98: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
    99:99:com.android.tools.r8.graph.MethodAccessFlags com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewAccessFlags():268:268 -> 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 -> 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):364:364 -> a
    101:101:boolean com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.hasInstanceInitializerDescription():241:241 -> 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):277 -> 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.DexMethod com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getOriginalMethodReference():131: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.ProgramMethod com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getRepresentative():135:135 -> a
    103:103:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getOriginalMethodReference():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.horizontalclassmerging.InstanceInitializerMerger.getOriginalMethodReference():131:131 -> a
    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.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    105:105:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getOriginalMethodReference():131 -> 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 -> 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):280:280 -> 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: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
    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:boolean com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.isSingleton():297:297 -> 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 -> 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.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
    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:110:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getRepresentative():135:135 -> a
    110:110: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
    110:110:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):366 -> a
    111: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):287:289 -> a
    111: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:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.createClassIdToInstanceInitializerMap():155: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:115:boolean com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.hasInstanceInitializerDescription():241:241 -> a
    115:115:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.createClassIdToInstanceInitializerMap():155 -> a
    115:115: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:115:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):366 -> a
    116:121:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.createClassIdToInstanceInitializerMap():155:160 -> a
    116: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
    116: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.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.createClassIdToInstanceInitializerMap():158:158 -> 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):290 -> 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: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
    123:123:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):366 -> a
    124:124: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
    125:129:com.android.tools.r8.cf.CfVersion com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewClassFileVersion():95:99 -> a
    125: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:130:com.android.tools.r8.cf.CfVersion com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewClassFileVersion():98:98 -> a
    130:130:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):367 -> a
    131:140: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
    141:145: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
    146:146: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.Ep:
    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():313:313 -> a
    7:7:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder add(com.android.tools.r8.graph.ProgramMethod):200 -> a
    8:14:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder add(com.android.tools.r8.graph.ProgramMethod):200:206 -> a
    15:16:java.util.List build(com.android.tools.r8.horizontalclassmerging.MergeGroup):216:217 -> a
    17:17:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger lambda$build$0(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.List):220:220 -> a
    18:18: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
    18:18:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger lambda$build$0(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.List):220 -> a
    19:22: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.Gp:
    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.AD:
    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
    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
    19:23:void selectTarget(com.android.tools.r8.graph.AppView):185:189 -> b
    24:24:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> b
    24:24:void selectTarget(com.android.tools.r8.graph.AppView):189 -> b
    25:25:void selectTarget(com.android.tools.r8.graph.AppView):189:189 -> b
    26:27:void com.android.tools.r8.horizontalclassmerging.MergeGroup.setTarget(com.android.tools.r8.graph.DexProgramClass):193:194 -> b
    26:27:void selectTarget(com.android.tools.r8.graph.AppView):189 -> b
    28:28: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.lF:
    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.mF:
    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.nF:
    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.lL:
    int numberOfRemovedInterfaces -> b
    boolean $assertionsDisabled -> c
    int numberOfRemovedClasses -> 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:7:boolean recordRemovedClassesForDebugging(boolean,int,java.util.Collection):68:72 -> a
    8:8:boolean com.android.tools.r8.horizontalclassmerging.MergeGroup.isNonTrivial():202:202 -> a
    8:8:boolean recordRemovedClassesForDebugging(boolean,int,java.util.Collection):72 -> a
    9:17:boolean recordRemovedClassesForDebugging(boolean,int,java.util.Collection):73:81 -> 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.mL:
    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.nL:
    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.jU:
    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.MW:
    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.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):31:31 -> 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):48 -> a
    4:4:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.horizontalclassmerging.SubtypingForrestForClasses.superClass(com.android.tools.r8.graph.DexProgramClass):44 -> a
    4:4:void calculateSubtyping(com.android.tools.r8.graph.DexProgramClass):55 -> 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):48:48 -> a
    5:5:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.horizontalclassmerging.SubtypingForrestForClasses.superClass(com.android.tools.r8.graph.DexProgramClass):44 -> a
    5:5:void calculateSubtyping(com.android.tools.r8.graph.DexProgramClass):55 -> a
    6:8:void calculateSubtyping(com.android.tools.r8.graph.DexProgramClass):57:59 -> a
    9:9:java.util.Collection getProgramRoots():64:64 -> a
    10:10:java.lang.Object traverseNodeDepthFirst(com.android.tools.r8.graph.DexProgramClass,java.lang.Object,java.util.function.BiFunction):73:73 -> a
    11:11:java.util.Collection com.android.tools.r8.horizontalclassmerging.SubtypingForrestForClasses.getSubtypesFor(com.android.tools.r8.graph.DexProgramClass):68:68 -> a
    11:11:java.lang.Object traverseNodeDepthFirst(com.android.tools.r8.graph.DexProgramClass,java.lang.Object,java.util.function.BiFunction):74 -> a
    12:12:java.lang.Object traverseNodeDepthFirst(com.android.tools.r8.graph.DexProgramClass,java.lang.Object,java.util.function.BiFunction):74:74 -> a
    13:13: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.hX:
    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.gX:
    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.pY:
    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):62:62 -> 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:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):422:422 -> a
    236:236:java.lang.Object com.android.tools.r8.graph.DexItemFactory.createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType):2196:2196 -> a
    236:236:com.android.tools.r8.graph.DexMember com.android.tools.r8.graph.DexItemFactory.createFreshMember(java.util.function.Function,java.lang.String):2227 -> a
    236:236:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):422 -> a
    237:237:com.android.tools.r8.graph.DexMember com.android.tools.r8.graph.DexItemFactory.createFreshMember(java.util.function.Function,java.lang.String):2227:2227 -> a
    237:237:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):422 -> a
    238:249:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):422:433 -> a
    250:250: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
    250:250:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):433 -> a
    251:253:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):433:435 -> a
    254:254:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):409:409 -> 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:424 -> a
    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:33:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":53,"2":54,"3":55}}
    53:53:java.lang.String com.android.tools.r8.graph.DexItemFactory.createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2182:2182 -> b
    53:53:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String,com.android.tools.r8.graph.DexType):2238 -> b
    53:53:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String):2251 -> b
    53:53:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):217 -> b
    54:54:java.lang.String com.android.tools.r8.graph.DexItemFactory.createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2182:2182 -> b
    54:54:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String,com.android.tools.r8.graph.DexType):2238 -> b
    54:54:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String):2251 -> b
    54:54:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):217 -> b
    55:55:java.lang.String com.android.tools.r8.graph.DexItemFactory.createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2182:2182 -> b
    55:55:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String,com.android.tools.r8.graph.DexType):2238 -> b
    55:55:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String):2251 -> b
    55:55:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):217 -> b
    34:37:java.lang.String com.android.tools.r8.graph.DexItemFactory.createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2188:2191 -> b
    34:37:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String,com.android.tools.r8.graph.DexType):2238 -> b
    34:37:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String):2251 -> b
    34:37:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):217 -> b
    38:40:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String,com.android.tools.r8.graph.DexType):2239:2241 -> b
    38:40:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String):2251 -> b
    38:40:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):217 -> b
    41:48:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):219:226 -> b
    49:49:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexMember.getContextType():37:37 -> b
    49:49: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):62 -> b
    49:49:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):227 -> b
    50:50: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):62:62 -> b
    50:50:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):227 -> b
    51:52:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):228:229 -> b
    56:68:void fixupInterfaceClass(com.android.tools.r8.graph.DexProgramClass):233:245 -> b
    69:69: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
    70:71:boolean lambda$fixupDirectMethod$5(java.util.Set,com.android.tools.r8.graph.DexMethod):307:308 -> b
    72:72: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):173:173 -> 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.VirtualMethodEntryPoint -> com.android.tools.r8.internal.x10:
    com.android.tools.r8.graph.DexMethod superMethod -> o
    boolean $assertionsDisabled -> p
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap mappedMethods -> m
    com.android.tools.r8.graph.DexField classIdField -> n
    1:1:void <clinit>():53:53 -> <clinit>
    1:7:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexMethod):65:71 -> <init>
    1:1:void addInvokeDirect(com.android.tools.r8.graph.DexMethod):75:75 -> a
    2:7:void lambda$addInvokeDirect$0(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.IRBuilder):77:82 -> a
    8:8:void lambda$prepareInstructions$5(int,int[],com.android.tools.r8.utils.IntBox,int[],com.android.tools.r8.ir.conversion.IRBuilder):134:134 -> a
    9:9:boolean lambda$prepareInstructions$6(int,com.android.tools.r8.utils.IntBox,int[],com.android.tools.r8.ir.conversion.IRBuilder):135:135 -> a
    10:13:boolean com.android.tools.r8.ir.synthetic.SyntheticSourceCode.endsSwitch(com.android.tools.r8.ir.conversion.IRBuilder,int,int,int[]):237:240 -> a
    10:13:boolean lambda$prepareInstructions$6(int,com.android.tools.r8.utils.IntBox,int[],com.android.tools.r8.ir.conversion.IRBuilder):135 -> a
    1:1:void lambda$handleReturn$2(int,com.android.tools.r8.ir.conversion.IRBuilder):104:104 -> b
    1:1:void lambda$handleReturn$3(int,com.android.tools.r8.ir.conversion.IRBuilder):105:105 -> c
    1:1:void lambda$prepareInstructions$4(int,com.android.tools.r8.ir.conversion.IRBuilder):130:130 -> d
    1:6:void lambda$addInvokeSuper$1(com.android.tools.r8.ir.conversion.IRBuilder):91:96 -> f
    1:5:void handleReturn(int):101:105 -> i
    6:55:void prepareInstructions():111:160 -> i
    1:3:void addInvokeSuper():87:89 -> j
com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger -> com.android.tools.r8.internal.A10:
    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>():30:30 -> <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):42:47 -> <init>
    1:7:com.android.tools.r8.graph.DexMethod moveMethod(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.graph.ProgramMethod):100:106 -> a
    8:22:com.android.tools.r8.graph.DexMethod moveMethod(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.graph.ProgramMethod):102:116 -> a
    23:29:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():120:126 -> 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():126 -> a
    31:33:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():127:129 -> 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():129 -> a
    35:38:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():130:133 -> 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():133 -> a
    40:43:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():134:137 -> 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():137 -> a
    45:47:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():138:140 -> 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():140 -> a
    49:51:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():141:143 -> a
    52:52:boolean lambda$getAccessFlags$0(com.android.tools.r8.graph.MethodAccessFlags):123:123 -> a
    53:53:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger.getNewMethodReference():148:148 -> a
    53:53:void mergeTrivial(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):187 -> 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():148 -> a
    54:54:void mergeTrivial(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):187 -> a
    55:91:void mergeTrivial(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):190:226 -> a
    92:92:boolean lambda$isNop$6(com.android.tools.r8.graph.ProgramMethod):157:157 -> 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):197:197 -> a
    94:94:void lambda$mergeTrivial$10(com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.graph.DexEncodedMethod$Builder):221:221 -> a
    95:95:com.android.tools.r8.graph.DexEncodedMethod$Builder com.android.tools.r8.graph.DexEncodedMethod$Builder.setIsLibraryMethodOverrideIfKnown(com.android.tools.r8.utils.OptionalBool):1460:1460 -> a
    95:95:void lambda$mergeTrivial$10(com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.graph.DexEncodedMethod$Builder):221 -> 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):1453:1453 -> a
    96:96:com.android.tools.r8.graph.DexEncodedMethod$Builder com.android.tools.r8.graph.DexEncodedMethod$Builder.setIsLibraryMethodOverrideIfKnown(com.android.tools.r8.utils.OptionalBool):1459 -> a
    96:96:void lambda$mergeTrivial$10(com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.graph.DexEncodedMethod$Builder):221 -> 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):233:254 -> a
    119:119:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.recordNewMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):187:187 -> 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):254 -> a
    120:130: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):255:265 -> a
    131:131:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    131:131: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):265 -> a
    132:136: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):266:270 -> a
    137:142: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):267:272 -> a
    143:143:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger.getNewMethodReference():148:148 -> a
    143:143: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):273 -> a
    144:144: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
    144:144:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger.getNewMethodReference():148 -> a
    144: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):273 -> a
    145:172: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):274:301 -> a
    173:173:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.recordNewMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):187:187 -> a
    173: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):301 -> a
    174:174: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):303:303 -> a
    1:1:boolean lambda$getAccessFlags$1(com.android.tools.r8.graph.MethodAccessFlags):126:126 -> b
    2:3:boolean isNop():156:157 -> b
    4:4:boolean lambda$isTrivial$7(com.android.tools.r8.graph.ProgramMethod):173:173 -> b
    1:1:boolean lambda$getAccessFlags$2(com.android.tools.r8.graph.MethodAccessFlags):129:129 -> c
    2:2:boolean isNopOrTrivial():178:178 -> c
    3:3:boolean lambda$mergeTrivial$8(com.android.tools.r8.graph.ProgramMethod):191:191 -> c
    1:1:boolean lambda$getAccessFlags$3(com.android.tools.r8.graph.MethodAccessFlags):133:133 -> d
    2:9:boolean isTrivial():166:173 -> d
    10:12:int com.android.tools.r8.com.google.common.collect.Iterables.size(java.lang.Iterable):124:126 -> d
    10:12:boolean isTrivial():173 -> 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():173 -> d
    1:1:boolean lambda$getAccessFlags$4(com.android.tools.r8.graph.MethodAccessFlags):137:137 -> e
    1:1:boolean lambda$getAccessFlags$5(com.android.tools.r8.graph.MethodAccessFlags):140:140 -> f
com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger$Builder -> com.android.tools.r8.internal.z10:
    java.util.List methods -> a
    1:2:void <init>():50:51 -> <init>
    1:1:com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger$Builder add(com.android.tools.r8.graph.ProgramMethod):54:54 -> a
    2:2:com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger build(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.MergeGroup):86:86 -> a
    3:21:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger$Builder.superMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):61:79 -> a
    3:21:com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger build(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.MergeGroup):86 -> a
    22:22:com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger build(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.MergeGroup):87:87 -> a
com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger -> com.android.tools.r8.internal.W9:
    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.T9:
    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.U9:
    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.V9:
    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:int computeHashCode():273:273 -> g0
    1:1:boolean computeEquals(java.lang.Object):278:278 -> h
    1:1:int estimatedDexCodeSizeUpperBoundInBytes():283:283 -> k0
    1:1:java.lang.String toString():303:303 -> toString
com.android.tools.r8.horizontalclassmerging.code.ConstructorEntryPointSynthesizedCode -> com.android.tools.r8.internal.Hd:
    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() -> q0
    1:1:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():35:35 -> t0
com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter -> com.android.tools.r8.internal.nX:
    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.mX:
    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.code.VirtualMethodEntryPointSynthesizedCode -> com.android.tools.r8.internal.y10:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap mappedMethods -> f
    com.android.tools.r8.graph.DexMethod superMethod -> g
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():18:18 -> <clinit>
    1:12:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):31:42 -> <init>
    1:1:com.android.tools.r8.ir.conversion.SourceCode lambda$new$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):33:33 -> a
    2:2:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.code.VirtualMethodEntryPointSynthesizedCode.computeSuperMethodTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):52:52 -> a
    2:2:com.android.tools.r8.ir.conversion.SourceCode lambda$new$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):36 -> a
    3:3:com.android.tools.r8.ir.conversion.SourceCode lambda$new$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):36:36 -> a
    4:4:java.util.function.Consumer getRegistryCallback(com.android.tools.r8.graph.DexClassAndMethod):57:57 -> a
    5:13:void com.android.tools.r8.horizontalclassmerging.code.VirtualMethodEntryPointSynthesizedCode.registerReachableDefinitions(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):61:69 -> a
    5:13:void lambda$getRegistryCallback$1(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):57 -> a
    14:14:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.code.VirtualMethodEntryPointSynthesizedCode.computeSuperMethodTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):52:52 -> a
    14:14:void com.android.tools.r8.horizontalclassmerging.code.VirtualMethodEntryPointSynthesizedCode.registerReachableDefinitions(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):69 -> a
    14:14:void lambda$getRegistryCallback$1(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):57 -> a
    15:15:void com.android.tools.r8.horizontalclassmerging.code.VirtualMethodEntryPointSynthesizedCode.registerReachableDefinitions(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):71:71 -> a
    15:15:void lambda$getRegistryCallback$1(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):57 -> a
    boolean isHorizontalClassMergingCode() -> q0
com.android.tools.r8.horizontalclassmerging.policies.AllInstantiatedOrUninstantiated -> com.android.tools.r8.internal.A1:
    com.android.tools.r8.graph.AppView appView -> d
    boolean $assertionsDisabled -> e
    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.g9:
    com.android.tools.r8.utils.InternalOptions options -> d
    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.f9:
    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.w9:
    com.android.tools.r8.synthesis.SyntheticItems syntheticItems -> e
    com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions options -> d
    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):265:265 -> 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):261:261 -> a
    3:3:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265 -> 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):265:265 -> 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):261:261 -> a
    6:6:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265 -> 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.bk:
    com.android.tools.r8.graph.AppView appView -> d
    boolean $assertionsDisabled -> f
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> e
    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.cB:
    boolean $assertionsDisabled -> e
    int maxGroupSize -> d
    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.dB:
    int maxGroupSize -> d
    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.vE:
    boolean $assertionsDisabled -> d
    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.cG:
    1:1:void <init>():10:10 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):13:13 -> a
    2:2:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> 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.dG:
    com.android.tools.r8.shaking.KeepInfoCollection keepInfo -> d
    com.android.tools.r8.utils.InternalOptions options -> e
    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.eG:
    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.hG:
    com.android.tools.r8.graph.AppView appView -> d
    boolean $assertionsDisabled -> g
    java.util.Map allGroups -> e
    com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation singleCallerInformation -> f
    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):167:171 -> 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.gG:
    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.fG:
    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):409:409 -> 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):429:429 -> 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):409 -> 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):906:906 -> 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
    46:46:void registerCallSite(com.android.tools.r8.graph.DexCallSite):575 -> a
    47:49:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.fail():415:417 -> a
    47:49: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):397:397 -> 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):397:397 -> 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):413:413 -> 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):429:429 -> 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):413 -> 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):417:417 -> 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):429:429 -> 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):417 -> 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):397:397 -> 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):397:397 -> 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):467:467 -> e
    2:2:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):558 -> e
    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):421:421 -> 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):429:429 -> 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):421 -> 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):626:626 -> 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):425:425 -> 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):429:429 -> 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):425 -> 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):467:467 -> g
    16:16:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):564 -> g
    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.iG:
    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.jG:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> e
    com.android.tools.r8.graph.AppView appView -> d
    boolean $assertionsDisabled -> f
    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.DexProto rewriteProto(com.android.tools.r8.graph.DexProto,java.util.Map):115:115 -> a
    9:9:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
    9:9:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.DexProto,java.util.Map):115 -> a
    10:10:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.DexProto,java.util.Map):115:115 -> a
    11:15:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.DexProto,java.util.Map):114:118 -> a
    16:16:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProto.getReturnType():62:62 -> a
    16:16:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.DexProto,java.util.Map):118 -> a
    17:17:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.DexProto,java.util.Map):118:118 -> a
    18:18:com.android.tools.r8.graph.DexType lambda$rewriteProto$1(java.util.Map,com.android.tools.r8.graph.DexType):116:116 -> a
    19:33: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.kG:
    java.util.Set deadEnumLiteMaps -> d
    boolean $assertionsDisabled -> e
    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.lG:
    com.android.tools.r8.graph.AppView appView -> d
    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():1213:1214 -> 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():444:444 -> a
    4:4:boolean com.android.tools.r8.graph.DexClass.hasStaticSynchronizedMethods():1214 -> 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.nG:
    com.android.tools.r8.graph.AppView appView -> d
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> e
    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:80:java.util.Map computeInheritedClassMethodsPerProgramClass(java.util.Collection):193:210 -> a
    81:81:void lambda$computeInheritedClassMethodsPerProgramClass$0(java.util.Map,com.android.tools.r8.graph.DexClass):202:202 -> a
    82:82:void lambda$computeInheritedClassMethodsPerProgramClass$0(java.util.Map,com.android.tools.r8.graph.DexClass):201:201 -> a
    83:89:void lambda$computeInheritedClassMethodsPerProgramClass$0(java.util.Map,com.android.tools.r8.graph.DexClass):200:206 -> a
    90:133:java.util.Map computeInheritedDefaultMethodsPerProgramType(java.util.Collection,java.util.Map):222:265 -> a
    134:161:void lambda$computeInheritedDefaultMethodsPerProgramType$5(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexClass):230:257 -> a
    162:162:void lambda$computeInheritedDefaultMethodsPerProgramType$5(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexClass):256:256 -> a
    163:168:void lambda$computeInheritedDefaultMethodsPerProgramType$5(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexClass):255:260 -> a
    169:231:java.util.Map computeDefaultMethodsInheritedBySubclassesPerProgramClass(java.util.Collection,java.util.Map,java.util.Collection,com.android.tools.r8.graph.SubtypingInfo):281:343 -> a
    232:233:void lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$9(java.util.Collection,java.util.function.BiConsumer):284:285 -> a
    234:234:void lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$7(java.util.function.BiConsumer,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.DexProgramClass):286:286 -> a
    235:235:void lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$8(java.util.function.BiConsumer,com.android.tools.r8.horizontalclassmerging.MergeGroup):286:286 -> a
    236:236:java.util.Map lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$10(java.util.Map):295:295 -> a
    237:243:java.lang.Iterable lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$12(com.android.tools.r8.graph.SubtypingInfo,java.util.Map,com.android.tools.r8.graph.DexType):305:311 -> a
    244:244:void lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$11(java.util.Set,com.android.tools.r8.graph.DexProgramClass):309:309 -> a
    245:245:void lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$16(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):324:324 -> a
    246:256:void lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$16(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):323:333 -> a
    257:257:java.util.Map lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$13(com.android.tools.r8.graph.DexType):332:332 -> a
    258:258:java.util.Set lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$14(com.android.tools.r8.graph.DexMethodSignature):336:336 -> a
    259:260:void lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$15(java.util.Map,com.android.tools.r8.graph.DexMethodSignature,java.util.Set):336:337 -> a
    1:1:java.util.Set lambda$computeInheritedDefaultMethodsPerProgramType$2(com.android.tools.r8.graph.DexMethodSignature):237:237 -> b
    2:3:void lambda$computeInheritedDefaultMethodsPerProgramType$3(java.util.Map,com.android.tools.r8.graph.DexMethodSignature,java.util.Set):237:238 -> b
    4:4: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.mG:
    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.oG:
    com.android.tools.r8.utils.InternalOptions options -> e
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> d
    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.pG:
    com.android.tools.r8.graph.AppView appView -> e
    boolean enableApiCallerIdentification -> f
    boolean $assertionsDisabled -> g
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> 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):38:38 -> 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):37:37 -> 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):46:50 -> 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):35 -> 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.qG:
    com.android.tools.r8.synthesis.SyntheticItems syntheticItems -> f
    com.android.tools.r8.utils.InternalOptions options -> d
    boolean $assertionsDisabled -> g
    com.android.tools.r8.shaking.RuntimeTypeCheckInfo runtimeTypeCheckInfo -> e
    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):265:265 -> 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):261:261 -> a
    4:4:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265 -> 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.rG:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap cache -> e
    com.android.tools.r8.graph.AppView appView -> d
    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.sG:
    java.util.Set failedResolutionHolders -> d
    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.tG:
    com.android.tools.r8.graph.AppView appView -> d
    boolean $assertionsDisabled -> e
    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.uG:
    com.android.tools.r8.graph.AppView appView -> d
    com.android.tools.r8.shaking.RuntimeTypeCheckInfo runtimeTypeCheckInfo -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap cache -> f
    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:22:boolean computeInterfaceHasDirectOrIndirectRuntimeTypeCheck(com.android.tools.r8.graph.DexType):44:64 -> a
    23:23:boolean computeInterfaceHasDirectOrIndirectRuntimeTypeCheck(com.android.tools.r8.graph.DexType):59:59 -> a
    24:24:boolean computeInterfaceHasDirectOrIndirectRuntimeTypeCheck(com.android.tools.r8.graph.DexType):49:49 -> a
    1:2:com.android.tools.r8.graph.DexTypeList getMergeKey(com.android.tools.r8.graph.DexProgramClass):38:39 -> b
    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 getMergeKey(com.android.tools.r8.graph.DexProgramClass):40:40 -> b
    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():73:73 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoInnerClasses -> com.android.tools.r8.internal.vG:
    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.wG:
    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.xG:
    com.android.tools.r8.graph.AppView appView -> d
    com.android.tools.r8.horizontalclassmerging.IRCodeProvider codeProvider -> e
    boolean $assertionsDisabled -> f
    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):2391:2391 -> 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.yG:
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> d
    com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions options -> e
    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.zG:
    java.util.Set dontMergeTypes -> g
    com.android.tools.r8.shaking.KeepInfoCollection keepInfo -> e
    com.android.tools.r8.graph.AppView appView -> d
    com.android.tools.r8.utils.InternalOptions options -> f
    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.AG:
    boolean $assertionsDisabled -> d
    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.BG:
    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.CG:
    com.android.tools.r8.graph.AppView appView -> d
    java.util.Set allServiceImplementations -> e
    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.DG:
    com.android.tools.r8.graph.AppView appView -> d
    boolean $assertionsDisabled -> e
    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.EG:
    com.android.tools.r8.graph.AppView appView -> d
    boolean $assertionsDisabled -> e
    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.FG:
    com.android.tools.r8.optimize.argumentpropagation.utils.ProgramClassesBidirectedGraph graph -> d
    java.util.Map stronglyConnectedComponentsCache -> i
    com.android.tools.r8.graph.ImmediateProgramSubtypingInfo immediateSubtypingInfo -> e
    java.util.Map inheritedInterfaceMethodsCache -> f
    java.util.Map nonPublicVirtualMethodSignaturesCache -> g
    java.util.Map nonPublicVirtualLibraryMethodSignaturesCache -> h
    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.aH:
    com.android.tools.r8.graph.AppView appView -> d
    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.SJ:
    com.android.tools.r8.graph.AppView appView -> d
    boolean $assertionsDisabled -> g
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> e
    java.util.Map committed -> f
    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.RJ:
    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.QL:
    com.android.tools.r8.graph.AppView appView -> d
    boolean $assertionsDisabled -> e
    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.OL:
    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):794:794 -> 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
    5:5: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.PL:
    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.YL:
    com.android.tools.r8.graph.AppView appView -> d
    com.android.tools.r8.graph.ImmediateProgramSubtypingInfo immediateSubtypingInfo -> e
    com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$InterfaceDefaultSignaturesCache interfaceDefaultMethodsCache -> f
    com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$ReservedInterfaceSignaturesFor reservedInterfaceSignaturesFor -> h
    com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$ParentClassSignaturesCache parentClassMethodsCache -> g
    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.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexItemFactory):58:58 -> a
    21:21:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):172 -> a
    22:22:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> 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):58 -> a
    22:22:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):172 -> a
    23:23: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):62:62 -> a
    23:23: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):58 -> a
    23:23:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):172 -> a
    24:27:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):173:176 -> a
    28:29: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
    28:29:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):179 -> a
    30:32:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):181:183 -> a
    33:33: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.RL:
    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.SL:
    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.TL:
    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.UL:
    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.VL:
    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.WL:
    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.XL:
    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.fS:
    com.android.tools.r8.graph.AppView appView -> d
    1:2:void <init>(com.android.tools.r8.graph.AppView):28:29 -> <init>
    1:1:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):34:34 -> a
    2:2:boolean com.android.tools.r8.graph.DexClass.isPublic():725:725 -> a
    2:2:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):34 -> a
    3:4:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):43:44 -> 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:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):44 -> a
    6:8:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):49:51 -> a
    9:9:boolean com.android.tools.r8.graph.DexClass.isPublic():725:725 -> a
    9:9:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):52 -> a
    10:30:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):59:79 -> a
    31:32:com.android.tools.r8.utils.TraversalContinuation lambda$shouldRestrictMergingAcrossPackageBoundary$0(com.android.tools.r8.graph.ProgramMethod):71:72 -> a
    33:34:java.lang.Object com.android.tools.r8.graph.ProgramMethod.registerCodeReferencesWithResult(com.android.tools.r8.graph.UseRegistryWithResult):123:124 -> a
    33:34:com.android.tools.r8.utils.TraversalContinuation lambda$shouldRestrictMergingAcrossPackageBoundary$0(com.android.tools.r8.graph.ProgramMethod):72 -> a
    35:40:com.android.tools.r8.utils.TraversalContinuation lambda$shouldRestrictMergingAcrossPackageBoundary$0(com.android.tools.r8.graph.ProgramMethod):72:77 -> a
    41:41:void tryFindRestrictedPackage(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map):85:85 -> a
    42:44:boolean lambda$tryFindRestrictedPackage$1(java.util.Map,com.android.tools.r8.graph.DexProgramClass):87:89 -> a
    45:68:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):98:121 -> a
    69:69:com.android.tools.r8.horizontalclassmerging.MergeGroup lambda$apply$2(java.lang.String):105:105 -> a
    1:1:java.lang.String getName():127:127 -> e
com.android.tools.r8.horizontalclassmerging.policies.SameFeatureSplit -> com.android.tools.r8.internal.mT:
    com.android.tools.r8.graph.AppView appView -> d
    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.oT:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> d
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> e
    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.nT:
    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.pT:
    com.android.tools.r8.shaking.MainDexInfo mainDexInfo -> d
    com.android.tools.r8.synthesis.SyntheticItems synthetics -> e
    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.qT:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> d
    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.rT:
    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.qX:
    com.android.tools.r8.synthesis.SyntheticItems syntheticItems -> e
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> d
    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):265:265 -> 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):261:261 -> a
    3:3:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265 -> 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.pX:
    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.P00:
    com.android.tools.r8.horizontalclassmerging.SingleClassPolicy policy -> d
    boolean $assertionsDisabled -> e
    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.iU:
    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.hU:
    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.gU:
    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):409:409 -> 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):429:429 -> 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):409 -> 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):397:397 -> 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):397:397 -> 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):409:409 -> 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):429:429 -> 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):409 -> 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):397:397 -> 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):397:397 -> 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):467:467 -> e
    2:2:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):247 -> e
    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):467:467 -> g
    2:2:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):253 -> g
    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.fa:
    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.tj:
    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.op:
    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.XD:
    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.H00:
    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
    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
    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
    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
    3:4: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
    3:4: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
    3:4: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
    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
    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
    1:1:boolean isStringValue():179:179 -> isStringValue
com.android.tools.r8.internal.ApiLevelException$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.e2:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:6:java.lang.String com.android.tools.r8.ApiLevelException$$InternalSyntheticOutline$131$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.f2:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:java.lang.StringBuilder com.android.tools.r8.ApiLevelException$$InternalSyntheticOutline$131$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.i2:
# {"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$131$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.l2:
# {"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$131$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.o2:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:4:java.lang.String com.android.tools.r8.dex.ApplicationReader$$InternalSyntheticOutline$131$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.D2:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:5:java.lang.String com.android.tools.r8.ArchiveClassFileProvider$$InternalSyntheticOutline$131$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.S3:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:6:void com.android.tools.r8.androidapi.AvailableApiExceptions$$InternalSyntheticOutline$131$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.U3:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:java.lang.String com.android.tools.r8.BackportedMethodListCommand$$InternalSyntheticOutline$131$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.V3:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:5:java.lang.String com.android.tools.r8.BackportedMethodListCommand$Builder$$InternalSyntheticOutline$131$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.n4:
# {"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$131$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.W4:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:java.lang.String com.android.tools.r8.bisect.BisectState$Range$$InternalSyntheticOutline$131$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.O6:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:5:java.lang.String com.android.tools.r8.cf.code.CfConstClass$$InternalSyntheticOutline$131$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.n8:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:6:java.lang.String com.android.tools.r8.ir.conversion.CfSourceCode$$InternalSyntheticOutline$131$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.i9:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:void com.android.tools.r8.code.CheckCast$$InternalSyntheticOutline$131$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.gg:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:java.lang.StringBuilder com.android.tools.r8.DexFileMergerHelper$$InternalSyntheticOutline$131$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.Jg:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:5:java.lang.StringBuilder com.android.tools.r8.dex.DexOutputBuffer$$InternalSyntheticOutline$131$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.ll:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:java.lang.String com.android.tools.r8.GenerateLintFiles$HTMLBuilder$$InternalSyntheticOutline$131$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.Pt:
# {"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.OptimizationFeedbackSimple$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.XJ:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple$$InternalSyntheticOutline$131$a48108f1a3c711dfb0c033791276613c3d23be8404938e273469161646a15533$0.m(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):0:2 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.StatelessLibraryMethodModelCollection$$ExternalSyntheticThrowCCEIfNotNull0 -> com.android.tools.r8.internal.xV:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    void com.android.tools.r8.ir.optimize.library.StatelessLibraryMethodModelCollection$$InternalSyntheticThrowCCEIfNotNull$61$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.O9:
    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.K9:
    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.L9:
    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.M9:
    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):94:94 -> 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.N9:
    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.Hf:
    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.So:
    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.Ro:
    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.vZ:
    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.J00:
    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):94:94 -> 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):1194:1198 -> 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: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):336:351 -> a
    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.I00:
    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.Q00:
    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.y5:
    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.ad:
    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.fd:
    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
    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.rA:
    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.QU:
    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.YX:
    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.G00:
    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.F00:
    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.u4:
    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.Ji:
    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.Ki:
    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.dj:
    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):34:41 -> <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):50:55 -> <init>
    1:1:com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker fieldAssignmentTracker():59:59 -> a
    2:3:void acceptClassInitializerDefaultsResult(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):64:65 -> a
    4:26: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):74:96 -> a
    27:32: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:100 -> a
    33:47: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):99:113 -> a
com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker -> com.android.tools.r8.internal.mj:
    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
    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
    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
    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
    121:163:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):250:292 -> a
    164:169:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):289:294 -> a
    170:170:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> a
    170:170:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):294 -> a
    171:178:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):294:301 -> a
    179:192:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):298:311 -> a
    193:193:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> a
    193:193:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):311 -> a
    194:218:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):311:335 -> a
    219:219: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
    219:219: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
    220:220:com.android.tools.r8.ir.analysis.fieldaccess.state.BottomFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.bottom():14:14 -> 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 -> 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:224: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
    221:224: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
    225:225:boolean com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.isClass():0:0 -> a
    225: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):346 -> a
    225: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:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo com.android.tools.r8.graph.DexClassAndField.getOptimizationInfo():41:41 -> 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:236: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
    227:236: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
    237:237:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60:60 -> a
    237: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):355 -> a
    237: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.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.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65 -> 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 -> 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.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
    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:248: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
    240:248: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
    249:249:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):370:370 -> a
    250:250:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexClassAndField):1050:1050 -> a
    250:250:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):370 -> a
    251:259:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):371:379 -> a
    260:260: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
    260:260:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):379 -> a
    261:266:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):380:385 -> a
    267:267: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
    267:267:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):382 -> a
    268:277:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):386:395 -> a
    278:285:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):394:401 -> a
    286:286:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> a
    286:286:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):401 -> a
    287:290:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):401:404 -> a
    291:300:void recordAllAllocationsSitesProcessed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):411:420 -> a
    301:301:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> a
    301:301:void recordAllAllocationsSitesProcessed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):420 -> a
    302:308:void recordAllAllocationsSitesProcessed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):421:427 -> a
    309:309:void lambda$recordAllAllocationsSitesProcessed$5(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.AppInfoWithLivenessModifier):421:421 -> a
    310:318:void waveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):434:442 -> a
    319:319: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
com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker$FieldAccessGraph -> com.android.tools.r8.internal.kj:
    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):461:471 -> a
    14:14:java.util.List lambda$initialize$0(com.android.tools.r8.graph.DexEncodedMethod):469:469 -> a
    15:16:void lambda$initialize$1(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):469:470 -> a
    17:24:void markProcessed(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):477:484 -> a
com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker$ObjectAllocationGraph -> com.android.tools.r8.internal.lj:
    java.util.Map objectAllocations -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap pendingObjectAllocations -> b
    1:1:void <init>():501:501 -> <init>
    2:6:void <init>():494:498 -> <init>
    1:2:void initialize(com.android.tools.r8.graph.AppView):505:506 -> a
    3:6:void lambda$initialize$1(com.android.tools.r8.graph.DexProgramClass,java.util.Set):508:511 -> a
    7:7:java.util.List lambda$initialize$0(com.android.tools.r8.graph.DexEncodedMethod):509:509 -> a
    8:15:void markProcessed(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):517:524 -> a
com.android.tools.r8.ir.analysis.fieldaccess.FieldBitAccessAnalysis -> com.android.tools.r8.internal.nj:
    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.Ej:
    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.Fj:
    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.xY:
    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>():47:47 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder):78:78 -> <init>
    2:24:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder):58:80 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):47:47 -> a
    2:7:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):86:91 -> a
    8:21:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.computeFieldsWithNonTrivialValue():127:140 -> a
    8:21:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):92 -> a
    22:22:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.computeFieldsWithNonTrivialValue():137:137 -> a
    22:22:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):92 -> a
    23:46:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.computeFieldsWithNonTrivialValue():133:156 -> a
    23:46:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):92 -> a
    47:49:boolean com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.verifyNoConstantFieldsOnSynthesizedClasses(com.android.tools.r8.graph.AppView):300:302 -> a
    47:49:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.computeFieldsWithNonTrivialValue():156 -> a
    47:49:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):92 -> a
    50:56:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):93:99 -> a
    57:59:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.clearReadsAndWritesFromFieldsOfInterest(com.android.tools.r8.shaking.AppInfoWithLiveness):160:162 -> a
    57:59:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):100 -> 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):162 -> a
    60:60:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):100 -> a
    61:64:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.clearReadsAndWritesFromFieldsOfInterest(com.android.tools.r8.shaking.AppInfoWithLiveness):162:165 -> a
    61:64:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):100 -> 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):165 -> a
    65:65:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):100 -> a
    66:69:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.clearReadsAndWritesFromFieldsOfInterest(com.android.tools.r8.shaking.AppInfoWithLiveness):165:168 -> a
    66:69:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):100 -> 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):168 -> a
    70:70:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):100 -> a
    71:71:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.clearReadsAndWritesFromFieldsOfInterest(com.android.tools.r8.shaking.AppInfoWithLiveness):168:168 -> a
    71:71:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):100 -> a
    72:77:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):101:106 -> a
    78:81:void markFieldAsDead(com.android.tools.r8.graph.DexEncodedField):119:122 -> a
    82:84:void enqueueMethodsForReprocessing(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.concurrent.ExecutorService):174:176 -> a
    85:91:void enqueueMethodsForReprocessing(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.concurrent.ExecutorService):175:181 -> a
    92:92:void processClass(com.android.tools.r8.graph.DexProgramClass):185:185 -> a
    93:93:void lambda$processClass$0(com.android.tools.r8.graph.ProgramMethod):187:187 -> 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):193:193 -> 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):193 -> a
    96:96:com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$FieldClassification classifyField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView):195:195 -> 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):196 -> 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):197:219 -> a
    121:129:void processFieldsNeverRead(com.android.tools.r8.shaking.AppInfoWithLiveness):226:234 -> a
    130:130:boolean lambda$processFieldsNeverRead$1(com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Map$Entry):231:231 -> 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):231 -> a
    132:132:boolean lambda$processFieldsNeverRead$1(com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Map$Entry):233:233 -> a
    133:133:boolean lambda$processFieldsNeverRead$1(com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Map$Entry):232:232 -> 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):236:237 -> 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):237 -> a
    137:139:void lambda$processFieldsNeverRead$2(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AbstractAccessContexts):237:239 -> 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):238:240 -> a
    143:145:void lambda$processFieldsNeverWritten$4(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AbstractAccessContexts):255:257 -> a
    146:148:void lambda$processFieldsNeverWritten$4(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AbstractAccessContexts):256:258 -> a
    149:151:boolean canOptimizeOnlyReadOrWrittenField(com.android.tools.r8.graph.DexEncodedField,boolean,com.android.tools.r8.graph.FieldAccessInfoCollection):266:268 -> 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):268 -> a
    153:159:boolean canOptimizeOnlyReadOrWrittenField(com.android.tools.r8.graph.DexEncodedField,boolean,com.android.tools.r8.graph.FieldAccessInfoCollection):270:276 -> 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):277 -> a
    161:167:boolean canOptimizeOnlyReadOrWrittenField(com.android.tools.r8.graph.DexEncodedField,boolean,com.android.tools.r8.graph.FieldAccessInfoCollection):278:284 -> 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):284 -> 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):284 -> a
    170:175:boolean canOptimizeOnlyReadOrWrittenField(com.android.tools.r8.graph.DexEncodedField,boolean,com.android.tools.r8.graph.FieldAccessInfoCollection):284:289 -> a
    1:1:java.util.Map access$100(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):47:47 -> b
    2:5:void markWriteOnlyFieldAsDead(com.android.tools.r8.graph.DexEncodedField):110:113 -> b
    6:6:void markWriteOnlyFieldAsDead(com.android.tools.r8.graph.DexEncodedField):112:112 -> b
    7:15:void processFieldsNeverWritten(com.android.tools.r8.shaking.AppInfoWithLiveness):245:253 -> b
    16:16:boolean lambda$processFieldsNeverWritten$3(com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Map$Entry):250:250 -> 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):250 -> b
    18:18:boolean lambda$processFieldsNeverWritten$3(com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Map$Entry):252:252 -> b
    19:19:boolean lambda$processFieldsNeverWritten$3(com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Map$Entry):251:251 -> b
    1:1:java.util.Map access$200(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):47:47 -> c
    1:1:java.util.Map access$300(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):47:47 -> d
    1:1:java.util.Set access$400(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):47:47 -> e
    1:1:java.util.Set access$500(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):47:47 -> f
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet access$600(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):47:47 -> g
com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry -> com.android.tools.r8.internal.wY:
    com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor this$0 -> e
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():308:308 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor,com.android.tools.r8.graph.ProgramMethod):310:311 -> <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):319:330 -> a
    13:13:boolean com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry.isUnusedReadAfterMethodStaticizing(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):372:372 -> a
    13:13:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):336 -> a
    14:14:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo com.android.tools.r8.graph.DexClassAndField.getOptimizationInfo():41:41 -> 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):373 -> a
    14:14:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):336 -> a
    15:29:boolean com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry.isUnusedReadAfterMethodStaticizing(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):373:387 -> a
    15:29:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):336 -> a
    30:35:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):338:343 -> a
    36:36:boolean com.android.tools.r8.graph.Definition.isProgramField():0:0 -> a
    36:36:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):352 -> a
    37:42:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):352:357 -> a
    43:46:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry.destroyFieldAccessContexts(com.android.tools.r8.graph.DexEncodedField):428:431 -> a
    43:46:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):360 -> a
    47:49:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):364:366 -> a
    50:50:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry.recordAccessThatCannotBeOptimized(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.DexEncodedField):396:396 -> a
    50:50:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):331 -> a
    51:51:boolean com.android.tools.r8.graph.Definition.isProgramField():0:0 -> a
    51:51:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry.recordAccessThatCannotBeOptimized(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.DexEncodedField):397 -> a
    51:51:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):331 -> a
    52:52:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry.recordAccessThatCannotBeOptimized(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.DexEncodedField):397:397 -> a
    52:52:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):331 -> a
    53:56:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry.destroyFieldAccessContexts(com.android.tools.r8.graph.DexEncodedField):428:431 -> a
    53:56:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry.recordAccessThatCannotBeOptimized(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.DexEncodedField):398 -> a
    53:56:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):331 -> a
    57:60:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):406:409 -> a
    61:61:boolean com.android.tools.r8.graph.AbstractAccessContexts.isBottom():0:0 -> a
    61:61:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):409 -> a
    62:64:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):411:413 -> a
    65:65:boolean com.android.tools.r8.graph.AbstractAccessContexts.isConcrete():0:0 -> a
    65:65:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):413 -> a
    66:67:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):413:414 -> a
    68:68:boolean com.android.tools.r8.graph.AbstractAccessContexts.isTop():0:0 -> a
    68:68:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):415 -> a
    69:73:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):417:421 -> a
    74:74:boolean com.android.tools.r8.graph.AbstractAccessContexts.isTop():0:0 -> a
    74:74:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):421 -> a
    75:76:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):421:422 -> a
    77:77:boolean com.android.tools.r8.graph.AbstractAccessContexts.isTop():0:0 -> a
    77:77:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):422 -> a
    78:80:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):422:424 -> a
    81:81:com.android.tools.r8.graph.AbstractAccessContexts lambda$recordFieldAccessContext$0(com.android.tools.r8.graph.DexEncodedField):412:412 -> a
    82:82:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):436:436 -> a
    83:84:void registerInstanceFieldReadInstruction(com.android.tools.r8.code.CfOrDexInstanceFieldRead):442:443 -> a
    85:86:void registerStaticFieldReadInstruction(com.android.tools.r8.code.CfOrDexStaticFieldRead):459:460 -> 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):448:448 -> 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):453:453 -> 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):465:465 -> g
com.android.tools.r8.ir.analysis.fieldaccess.state.BottomFieldState -> com.android.tools.r8.internal.B5:
    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.xc:
    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
    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.Ac:
    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
    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.Cc:
    1:1:void <init>():8:8 -> <init>
    boolean isConcrete() -> d
com.android.tools.r8.ir.analysis.fieldaccess.state.ConcretePrimitiveTypeFieldState -> com.android.tools.r8.internal.Mc:
    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
    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.Pc:
    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.Nj:
    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.VZ:
    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.RewrittenPrototypeDescription$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.Hc:
    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.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$ArgumentInfoCollection):87 -> a
    17:17: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
    18:18:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet.isEmpty():113:113 -> 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 -> a
    19:25: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
    26:26:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):467:467 -> a
    26: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):99 -> 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):100:100 -> a
    28:28:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):94:94 -> a
    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 -> a
    29:31: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
    32:32:void com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet.add(com.android.tools.r8.graph.DexEncodedField):34:34 -> a
    32: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):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.yh:
    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.RewrittenPrototypeDescription$ArgumentInfoCollection):48:71 -> a
    25:25:void lambda$fixupReadSetAfterParametersChanged$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet,int,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo):56:56 -> a
    26:26:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> a
    26:26:void lambda$fixupReadSetAfterParametersChanged$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet,int,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo):56 -> a
    27:35:void lambda$fixupReadSetAfterParametersChanged$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet,int,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo):57: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.Pj:
    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:22:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):115:133 -> a
    23:23: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
    23:23:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):134 -> a
    24:24:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.isStaticFieldValueAnalysis():0:0 -> a
    24:24:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):135 -> a
    25:26:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):136:137 -> a
    27:27: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
    27:27:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):138 -> a
    28:28:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.isInstanceFieldValueAnalysis():0:0 -> a
    28:28:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):141 -> a
    29:53:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):141:165 -> a
    54:55:boolean com.android.tools.r8.ir.code.DominatorTree.dominatesAllOf(com.android.tools.r8.ir.code.BasicBlock,java.lang.Iterable):118:119 -> a
    54:55:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):165 -> a
    56:56:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):170:170 -> a
    57:57:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeInstruction(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Instruction):190:190 -> a
    57:57:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):171 -> a
    58:58:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeBlock(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.BasicBlock):215:215 -> a
    58:58:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeInstruction(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Instruction):193 -> a
    58:58:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):171 -> a
    59:62:java.util.Map com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.getOrCreateFieldsMaybeReadBeforeBlockInclusive():76:79 -> a
    59:62:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeBlockInclusive(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.BasicBlock):225 -> a
    59:62:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeBlock(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.BasicBlock):216 -> a
    59:62:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeInstruction(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Instruction):193 -> a
    59:62:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):171 -> a
    63:63:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeBlockInclusive(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.BasicBlock):225:225 -> a
    63:63:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeBlock(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.BasicBlock):216 -> a
    63:63:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeInstruction(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Instruction):193 -> a
    63:63:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):171 -> a
    64:70:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeInstruction(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Instruction):199:205 -> a
    64:70:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):171 -> a
    71:71:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.isStaticFieldValueAnalysis():0:0 -> a
    71:71:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):173 -> a
    72:78:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):178:184 -> a
    79:79:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet lambda$createFieldsMaybeReadBeforeBlockInclusive$1(com.android.tools.r8.ir.code.BasicBlock):239:239 -> 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():233:240 -> c
    10:10:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isTop():0:0 -> c
    10:10:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():240 -> c
    11:22:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():245:256 -> c
    23:23:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isBottom():0:0 -> c
    23:23:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():256 -> c
    24:24:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isTop():0:0 -> c
    24:24:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():259 -> c
    25:25:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():263:263 -> c
    26:26:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isConcreteFieldSet():0:0 -> c
    26:26:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():263 -> c
    27:28:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():263:264 -> c
    29:29:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isConcreteFieldSet():0:0 -> c
    29:29:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():264 -> c
    30:39:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():265:274 -> 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):318:320 -> c
    40:42:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():274 -> 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):320 -> c
    43:43:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():274 -> 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):320:321 -> c
    44:45:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():274 -> 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):321 -> c
    46:46:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():274 -> 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):324:325 -> c
    47:48:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():274 -> c
    49:51:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():276:278 -> c
    52:52:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isBottom():0:0 -> c
    52:52:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():278 -> c
    53:53:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isTop():0:0 -> c
    53:53:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():281 -> c
    54:54:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():285:285 -> c
    55:55:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isConcreteFieldSet():0:0 -> c
    55:55:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():285 -> c
    56:80:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():286:310 -> 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.Oj:
    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.xp:
    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
    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:64: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
    32:64:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.Value):133 -> a
    65:65: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
    65:65:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.Value):134 -> 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):226:226 -> 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:73:void analyzeForwardingConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.code.Value):139:145 -> a
    74:74: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
    74:74:void analyzeForwardingConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.code.Value):145 -> a
    75:80:void analyzeForwardingConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.code.Value):153:158 -> a
    81:85:java.util.List com.android.tools.r8.graph.DexClass.getDirectAndIndirectInstanceFields(com.android.tools.r8.graph.AppView):1194:1198 -> a
    81:85:void analyzeForwardingConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.code.Value):158 -> a
    86:92:void analyzeForwardingConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.code.Value):158:164 -> a
    93:104: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
    105:105: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
    105:105: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
    106:112: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
    113:113:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.fieldNeverWrittenBetweenParentConstructorCallAndMethodExit(com.android.tools.r8.graph.DexEncodedField):277:277 -> a
    113:113:void lambda$analyzeParentConstructorCall$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):182 -> 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
    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.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.fieldNeverWrittenBetweenParentConstructorCallAndMethodExit(com.android.tools.r8.graph.DexEncodedField):280:280 -> 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:119:void lambda$analyzeParentConstructorCall$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):183:186 -> a
    120:120: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
    120:120:void lambda$analyzeParentConstructorCall$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):185 -> 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):226:226 -> 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:123:void lambda$analyzeParentConstructorCall$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):188:189 -> a
    124:124: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
    124:124: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.vy:
    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.zV:
    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):232:232 -> 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.FV:
    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.AV:
    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.CV:
    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.BV:
    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.EV:
    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.DV:
    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.UZ:
    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.RewrittenPrototypeDescription$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.o1:
    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() -> c
com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractTransferFunction -> com.android.tools.r8.internal.r1:
    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.ge:
    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.ee:
    1:1:void <init>():65:65 -> <init>
com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult$SuccessfulDataflowAnalysisResult -> com.android.tools.r8.internal.fe:
    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.aj:
    1:1:void <init>():16:16 -> <init>
    1:1:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState asAbstractState():20:20 -> a
    boolean isFailedTransferResult() -> b
com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis -> com.android.tools.r8.internal.Ot:
    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
    31: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:116 -> a
    31: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:35:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState.isGreaterThanOrEquals(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):16:17 -> a
    34: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
    34: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.mY:
    com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState asAbstractState() -> a
    boolean isFailedTransferResult() -> b
    boolean isAbstractState() -> c
com.android.tools.r8.ir.analysis.inlining.AlwaysSimpleInliningConstraint -> com.android.tools.r8.internal.G1:
    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.RewrittenPrototypeDescription$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.Di:
    boolean value -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():17:17 -> <clinit>
    1:2:void <init>(int,boolean):22:23 -> <init>
    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:9:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):37:43 -> a
    10:14:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):42:46 -> a
    15:15:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    15:15:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):46 -> a
    16:22:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):47:53 -> a
    23:23: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
    23:23:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):53 -> a
    24:26:boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod):58:60 -> a
    27:27:boolean com.android.tools.r8.ir.code.ConstNumber.getBooleanValue():82:82 -> a
    27:27:boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod):60 -> a
    28:28:boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod):60:60 -> a
    29:29:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):66:66 -> a
com.android.tools.r8.ir.analysis.inlining.EqualToNumberSimpleInliningConstraint -> com.android.tools.r8.internal.Ei:
    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.VF:
    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.RewrittenPrototypeDescription$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.ZG:
    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.gH:
    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>
    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:4:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):41:42 -> a
    5:5:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> a
    5:5:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):42 -> a
    6:10:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):44:48 -> a
    11:14:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):50 -> a
    16:18:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):50:52 -> a
    19:19:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$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
    44:44:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):87:87 -> a
com.android.tools.r8.ir.analysis.inlining.NumberSimpleInliningConstraint -> com.android.tools.r8.internal.pH:
    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:7:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):34:40 -> a
    8:12:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):39:43 -> a
    13:13:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    13:13:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):43 -> a
    14:20:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):43:49 -> a
    21:23: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.ZT:
    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.aU:
    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.RewrittenPrototypeDescription$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.cU:
    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:119: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:122 -> a
    120:120:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexEncodedMethod.getArgumentType(int):200:200 -> a
    120:120:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):122 -> a
    121:121:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):129:129 -> a
    122:133: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
    134:144: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
    145:145:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isAlways():0:0 -> a
    145:145: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
    145:145: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
    146:146: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
    146:146: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
    147:147:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isAlways():0:0 -> a
    147:147: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
    147:147: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
    148:148:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isNever():0:0 -> a
    148:148: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
    148:148: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
    149:149:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isNever():0:0 -> a
    149:149: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
    149: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):148 -> a
    150:150:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isDisjunction():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):84 -> 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):85:85 -> 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.isDisjunction():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):87 -> 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: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):88:90 -> a
    153: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:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isConjunction():0:0 -> 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):90 -> 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:158: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
    157:158: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
    159:159:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isConjunction():0:0 -> a
    159:159: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
    159:159: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
    160: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):91:92 -> a
    160: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:162: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
    162:162: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
    163: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):166:166 -> 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):151:151 -> a
    165:165: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
    165:165: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
    166:166:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$analyzeInstructionsInBlock$0(com.android.tools.r8.ir.code.If,int):133:133 -> a
    167:167: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
    167:167:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$analyzeInstructionsInBlock$0(com.android.tools.r8.ir.code.If,int):133 -> a
    168:202: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
    203:204: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
    205:205:com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createNotEqualToNullConstraint(int):75:75 -> a
    205:205: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
    206: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):194:195 -> a
    208:208:com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createEqualToTrueConstraint(int):58:58 -> a
    208:208: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
    209: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):197:200 -> a
    213:213:com.android.tools.r8.ir.analysis.inlining.NotEqualToNumberSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createNotEqualToNumberConstraint(int,long):89:89 -> 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):200 -> a
    214:214: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
    215:216: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
    217:217:com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createEqualToNullConstraint(int):71:71 -> a
    217: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):176 -> a
    218: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):178:179 -> a
    220:220:com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createEqualToFalseConstraint(int):54:54 -> a
    220:220: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
    221: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):181:184 -> a
    225:225:com.android.tools.r8.ir.analysis.inlining.EqualToNumberSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createEqualToNumberConstraint(int,long):94:94 -> 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):184 -> a
    226:226: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
    227:231: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.bU:
    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.dU:
    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.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$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.eU:
    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.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$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.fU:
    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.XA:
    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):1584:1584 -> 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
    17:19: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.ei:
    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():1594:1594 -> a
    2:2:void clearDeadEnumLiteMaps():59 -> a
    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):48:48 -> 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
    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:37:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.computeCorrespondingEnumLite(com.android.tools.r8.graph.DexProgramClass):132:133 -> a
    36:37:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):85 -> a
    36:37:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    36:37:void clearDeadEnumLiteMaps():70 -> a
    38:38:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):88:88 -> a
    38:38:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    38:38:void clearDeadEnumLiteMaps():70 -> a
    39:41:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.createInternalValueMapField(com.android.tools.r8.graph.DexType):53:55 -> a
    39:41:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):88 -> a
    39:41:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    39:41:void clearDeadEnumLiteMaps():70 -> a
    42:45:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):88:91 -> a
    42:45:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    42:45:void clearDeadEnumLiteMaps():70 -> a
    46:48:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():76:78 -> a
    46:48: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.ol:
    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>():76:76 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):85:85 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):82:89 -> <init>
    1:203:void forEachClassInitializerWithRemovedExtensionFields(java.util.function.Consumer,com.android.tools.r8.shaking.Enqueuer$Mode):0:202 -> a
    204:204:void lambda$run$0(com.android.tools.r8.shaking.Enqueuer$Mode,com.android.tools.r8.graph.DexField):103:103 -> a
    205:206:com.android.tools.r8.shaking.TreePrunerConfiguration run(com.android.tools.r8.shaking.Enqueuer$Mode):103:104 -> a
    207:218:com.android.tools.r8.shaking.TreePrunerConfiguration com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker.createTreePrunerConfiguration(com.android.tools.r8.shaking.Enqueuer$Mode):116:127 -> a
    207:218:com.android.tools.r8.shaking.TreePrunerConfiguration run(com.android.tools.r8.shaking.Enqueuer$Mode):105 -> a
    219:222:void recordDeadProtoExtensionField(com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.Enqueuer$Mode):109:112 -> a
    223:223:java.util.Map lambda$recordDeadProtoExtensionField$2(com.android.tools.r8.graph.DexType):111:111 -> a
    224:227:void rewriteCode(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):136:139 -> a
    228:239:void rewriteClassInitializer(com.android.tools.r8.ir.code.IRCode):144:155 -> a
    240:242:boolean com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker.wasRemoved(com.android.tools.r8.graph.DexField):160:162 -> a
    240:242:boolean lambda$run$1(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessInfoImpl):104 -> a
    243:255:void postOptimizeGeneratedExtensionRegistry(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):168:180 -> 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):176:176 -> a
    257:257: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):174:174 -> a
    258:258:void lambda$forEachClassInitializerWithRemovedExtensionFields$5(com.android.tools.r8.shaking.Enqueuer$Mode,java.util.Set,java.util.Map):195:195 -> 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):199:199 -> a
    260:260: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
    261:263:void lambda$forEachClassInitializerWithRemovedExtensionFields$6(java.util.function.Consumer,com.android.tools.r8.graph.DexType):204:206 -> a
    264:264:void lambda$forEachFindLiteExtensionByNumberMethod$8(java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):217:217 -> a
    265:265:boolean lambda$forEachFindLiteExtensionByNumberMethod$7(com.android.tools.r8.graph.DexEncodedMethod):219:219 -> a
    266:266:void lambda$forEachFindLiteExtensionByNumberMethod$9(com.android.tools.r8.ir.desugar.LambdaDescriptor):222:222 -> a
    267:267:void handleFailedOrUnknownFieldResolution(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$Mode):228:228 -> a
    268:268:boolean com.android.tools.r8.shaking.Enqueuer$Mode.isTreeShaking():201:201 -> 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 -> a
    269:269:void handleFailedOrUnknownFieldResolution(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$Mode):228:228 -> a
    270:270:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isFindLiteExtensionByNumberMethod(com.android.tools.r8.graph.ProgramMethod):189:189 -> a
    270:270:void handleFailedOrUnknownFieldResolution(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$Mode):228 -> a
    271:271:void handleFailedOrUnknownFieldResolution(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$Mode):229:229 -> a
    272:279:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.DexField):234:241 -> a
    280:280:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.DexField):240:240 -> a
    281:281:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.shaking.KeepInfoCollection):250:250 -> a
    282:282:com.android.tools.r8.shaking.KeepFieldInfo com.android.tools.r8.shaking.KeepInfoCollection.getFieldInfo(com.android.tools.r8.graph.ProgramField):118:118 -> a
    282:282:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.shaking.KeepInfoCollection):250 -> a
    283:291:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.shaking.KeepInfoCollection):250:258 -> a
    292:292:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    292:292:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.shaking.KeepInfoCollection):258 -> a
    293:293:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.shaking.KeepInfoCollection):264:264 -> a
    294:294:boolean lambda$isDeadProtoExtensionField$10(com.android.tools.r8.graph.ProgramMethod):265:265 -> a
    295:295:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isFindLiteExtensionByNumberMethod(com.android.tools.r8.graph.ProgramMethod):189:189 -> a
    295:295:boolean lambda$isDeadProtoExtensionField$10(com.android.tools.r8.graph.ProgramMethod):265 -> a
    296:298:void lambda$forEachDeadProtoExtensionField$11(java.util.function.Consumer,com.android.tools.r8.graph.FieldAccessInfo):273:275 -> a
    1:3:boolean wasRemoved(com.android.tools.r8.graph.DexField):160:162 -> b
    4:6:void forEachDeadProtoExtensionField(java.util.function.Consumer):269:271 -> b
    1:3:void forEachFindLiteExtensionByNumberMethod(java.util.function.Consumer):212:214 -> c
    1:2:void forEachMethodThatRequiresPostOptimization(java.util.function.Consumer):184:185 -> d
com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker$1 -> com.android.tools.r8.internal.nl:
    com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker this$0 -> b
    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):117:117 -> <init>
    1:1:boolean isReachableOrReferencedField(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedField):122:122 -> 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):123 -> a
com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker -> com.android.tools.r8.internal.yl:
    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:418:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):351:362 -> a
    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.wl:
    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.xl:
    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.zl:
    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
    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:38: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
    36:38: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:38:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    39:39: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
    39:39:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    40: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:284 -> a
    40: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
    40: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
    40: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
    44:45: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
    44:45: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
    44:45: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:45:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    46:46:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.previous():39:39 -> a
    46: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):295 -> a
    46: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
    46: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
    46:46:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    47:56: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
    47:56: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:56: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:56:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    57:57:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):39:39 -> a
    57: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):304 -> a
    57: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
    57: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
    57:57:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    58:60: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
    58:60: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:60: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:60:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    61:61:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):39:39 -> a
    61: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):311 -> a
    61: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
    61: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
    61:61:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    62:64: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
    62:64: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:64: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:64:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    65:65:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):39:39 -> a
    65: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 -> a
    65: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
    65: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
    65:65:void run(com.android.tools.r8.ir.code.IRCode):112 -> 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):319:319 -> 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.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
    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 -> 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:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> 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 -> 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:71: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
    69:71: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:71: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:71: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:71:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    72:75: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
    72:75:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    76:76:void run(com.android.tools.r8.ir.code.IRCode):113:113 -> a
    77:77:boolean com.android.tools.r8.graph.AppView.hasLiveness():659:659 -> a
    77:77:void run(com.android.tools.r8.ir.code.IRCode):113 -> a
    78:78:void run(com.android.tools.r8.ir.code.IRCode):114:114 -> a
    79:85:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):119:125 -> a
    86:92: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:187 -> a
    86:92:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    93:93:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.DexMethod):170:170 -> a
    93:93: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
    93:93:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    94: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):190:191 -> a
    94:95:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    96:96:int com.android.tools.r8.ir.code.InvokeMethod.getFirstNonReceiverArgumentIndex():79:79 -> a
    96:96:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.InvokeMethod.getFirstNonReceiverArgument():75 -> 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):192 -> a
    96:96:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    97:97:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.InvokeMethod.getFirstNonReceiverArgument():75:75 -> a
    97:97: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
    97:97:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    98: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):191:191 -> a
    98:98:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    99:101:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):389:391 -> a
    99: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 -> a
    99:101:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    102:102:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    102:102:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):391 -> a
    102:102: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:102:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    103:104:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):391:392 -> a
    103: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
    103: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.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.graph.DexField):385:385 -> a
    105:105:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):392 -> 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:111: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
    106:111:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    112:117:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):132:137 -> a
    118:125:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):136:143 -> a
    126:126:com.android.tools.r8.ir.code.NewInstance$Builder com.android.tools.r8.ir.code.NewInstance.builder():42:42 -> a
    126:126:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):143 -> a
    127:129:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):144:146 -> a
    130:130: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
    130:130:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):146 -> a
    131:131: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
    131:131:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):145 -> a
    132:139:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):145:152 -> a
    140:140:com.android.tools.r8.ir.code.InvokeDirect$Builder com.android.tools.r8.ir.code.InvokeDirect.builder():50:50 -> a
    140:140:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):152 -> a
    141:142:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):153:154 -> a
    143:143: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
    143:143:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):154 -> a
    144:155:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):154:165 -> a
    156:156:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlockIterator.previousUntil(java.util.function.Predicate):68:68 -> a
    156:156:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):166 -> a
    157:165:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):167:175 -> a
    166:166:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    166:166:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):175 -> a
    167:167:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):175:175 -> a
    168:179:void postOptimizeDynamicMethods(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):208:219 -> a
    180:180: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
    181:181: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
    182:185:void forEachDynamicMethod(java.util.function.Consumer):223:226 -> a
    186:191:void lambda$forEachDynamicMethod$3(com.android.tools.r8.graph.DexItemFactory,java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):229:234 -> a
    192:192:void lambda$forEachDynamicMethod$4(com.android.tools.r8.ir.desugar.LambdaDescriptor):238:238 -> a
    193:196: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
    197:197:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    197:197: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.wO:
    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.xO:
    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.CO:
    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: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):76:81 -> a
    32: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.QO:
    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:3:void com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedExtensionMethods.forEachMethodReference(java.util.function.Consumer):236:237 -> a
    2:3:void forEachMethodReference(java.util.function.Consumer):134 -> a
    4:4:void forEachMethodReference(java.util.function.Consumer):135:135 -> a
    5:9:void com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteMethods.forEachMethodReference(java.util.function.Consumer):299:303 -> a
    5:9:void forEachMethodReference(java.util.function.Consumer):135 -> a
    10:10:void forEachMethodReference(java.util.function.Consumer):136:136 -> a
    11:11:void com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteBuilderMethods.forEachMethodReference(java.util.function.Consumer):320:320 -> a
    11:11:void forEachMethodReference(java.util.function.Consumer):136 -> a
    12:12:void forEachMethodReference(java.util.function.Consumer):137:137 -> a
    13:14:void com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteExtendableBuilderMethods.forEachMethodReference(java.util.function.Consumer):344:345 -> a
    13:14:void forEachMethodReference(java.util.function.Consumer):137 -> a
    15:18:void forEachMethodReference(java.util.function.Consumer):138:141 -> a
    19:19:com.android.tools.r8.graph.DexField getDefaultInstanceField(com.android.tools.r8.graph.DexProgramClass):145:145 -> a
    20:20:boolean isDynamicMethod(com.android.tools.r8.graph.DexMethod):158:158 -> a
    21:21:boolean isDynamicMethod(com.android.tools.r8.graph.DexEncodedMethod):162:162 -> 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.LO:
    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.MO:
    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.NO:
    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.OO:
    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.PO:
    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.RO:
    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():502:502 -> 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:18:void com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.disable():1575:1579 -> a
    14: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():937:937 -> 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():938:938 -> a
    26:26:void setDeadProtoTypes(java.util.Set):83 -> a
com.android.tools.r8.ir.analysis.proto.ProtoUtils -> com.android.tools.r8.internal.UO:
    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
    3:5: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.dP:
    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
    3:5: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
    6:6: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
    6:6: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
    7:7:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> 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 -> 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:10: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
    8:10: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
    11:11: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
    12:48: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
    49:52:java.lang.Object com.android.tools.r8.utils.ThrowingIterator.computeNextIfAbsent(com.android.tools.r8.utils.ThrowingSupplier):18:21 -> a
    49:52: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
    53:53: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
    54:59: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
    60:63:java.lang.Object com.android.tools.r8.utils.ThrowingIterator.computeNextIfAbsent(com.android.tools.r8.utils.ThrowingSupplier):18:21 -> a
    60:63: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
    64:64: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
    65:71: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
    72:72: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
    73: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):135:135 -> a
    74:87: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
    88:91:java.lang.Object com.android.tools.r8.utils.ThrowingIterator.computeNextIfAbsent(com.android.tools.r8.utils.ThrowingSupplier):18:21 -> a
    88:91: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
    92:92: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
    93:98: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
    99:131: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
    132:132: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
    133:133:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    133: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):158 -> a
    134:134:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    134:134:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> 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 -> a
    135:164: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
    165:171: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
    172:175: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
    176:176:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    176:176: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
    177:178: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
    179:179:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    179:179: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
    180:182: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
    183:188:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexClass.lookupUniqueInstanceFieldWithName(com.android.tools.r8.graph.DexString):522:527 -> a
    183:188: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
    189:193: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
    194:194:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    194:194: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
    195:198: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
    199:199:boolean com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo.isFieldNameComputationInfo():0:0 -> a
    199:199: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
    200:212:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):218:230 -> a
    213:213:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    213:213: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
    214:218: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
    219:219:int invalidInfoFailure():241:241 -> a
    220:220:com.android.tools.r8.utils.ThrowingIntIterator createInfoIterator(com.android.tools.r8.ir.code.Value):250:250 -> a
    221:221:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    221:221:com.android.tools.r8.utils.ThrowingIntIterator createInfoIterator(com.android.tools.r8.ir.code.Value):250 -> a
    222:222:com.android.tools.r8.utils.ThrowingIntIterator createInfoIterator(com.android.tools.r8.ir.code.Value):251:251 -> a
    223:223:com.android.tools.r8.utils.ThrowingIntIterator com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder.createInfoIterator(com.android.tools.r8.graph.DexString):259:259 -> a
    223:223:com.android.tools.r8.utils.ThrowingIntIterator createInfoIterator(com.android.tools.r8.ir.code.Value):251 -> a
    224:224: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.aP:
    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.bP:
    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.cP:
    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.eP:
    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.oe:
    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.LB:
    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:6:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):34: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.vO:
    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>():63:63 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):94:94 -> <init>
    2:30:void <init>(com.android.tools.r8.graph.AppView):71:99 -> <init>
    1:3:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):104:106 -> a
    4:14:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):113:123 -> a
    4:14:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):107 -> a
    15:21:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):119:125 -> a
    15:21:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):107 -> a
    22:22: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":26,"2":27,"3":28}}
    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):125:125 -> a
    26:26:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):107 -> a
    27:27:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):125:125 -> a
    27:27:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):107 -> 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):125:125 -> a
    28:28:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):107 -> a
    23:23:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):125:125 -> a
    23:23:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):107 -> a
    24:24: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,"4":32}}
    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):107 -> 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):107 -> 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):107 -> a
    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):126:126 -> a
    32:32:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):107 -> a
    25:25: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
    25:25:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):107 -> a
    33:38:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):136:141 -> a
    39:39:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethod(com.android.tools.r8.graph.ProgramMethod):166:166 -> a
    39:39:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):141 -> a
    40:50:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):145:155 -> a
    51:59:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.createProtoMessageInfoFromDynamicMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map):160:168 -> a
    51:59:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):155 -> a
    60:72:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):173:185 -> a
    73:96:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):472:495 -> a
    73:96:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):186 -> a
    97:97:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isProtoObjectFromStaticGet():0:0 -> a
    97:97:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):495 -> a
    97:97:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):186 -> a
    98:98:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):497:497 -> a
    98:98:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):186 -> a
    99:99:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):496:496 -> a
    99:99:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):186 -> a
    100:100:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isProtoTypeObject():0:0 -> a
    100:100:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):498 -> a
    100:100:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):186 -> a
    101:101:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):500:500 -> a
    101:101:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):186 -> a
    102:102:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):499:499 -> a
    102:102:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):186 -> a
    103:103:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):189:189 -> a
    104:120:void lambda$populateExtensionGraph$0(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass,java.util.Set):221:237 -> a
    121:127:java.util.Map collectExtensionFields():250:256 -> a
    128:128:java.util.Set lambda$collectExtensionFields$1(com.android.tools.r8.graph.DexProgramClass):261:261 -> a
    129:130:void lambda$collectExtensionFields$2(java.util.Map,com.android.tools.r8.graph.ProgramField):261:262 -> a
    131:147:void collectExtensionFieldsFromValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.function.Consumer):270:286 -> 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):286 -> a
    149:151:void collectExtensionFieldsFromValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.function.Consumer):287:289 -> 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):290 -> a
    153:153:void collectExtensionFieldsFromValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.function.Consumer):294:294 -> a
    154:163:void collectExtensionFieldsFromValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.function.Consumer):291:300 -> a
    164:164:void collectExtensionFieldsFromValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.function.Consumer):299:299 -> a
    165:165:void collectExtensionFieldsFromValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.function.Consumer):298:298 -> a
    166:174:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):309:317 -> 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):317 -> a
    176:193:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):319:336 -> a
    194:194:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedExtensionMethods.isConstructor(com.android.tools.r8.graph.DexMethod):241:241 -> a
    194:194:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):336 -> a
    195:212:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):337:354 -> a
    213:215:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):353:355 -> a
    216:216:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):348:348 -> a
    217:246:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):367:396 -> a
    247:258:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):395:406 -> a
    259:259:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.isOneOf():0:0 -> a
    259:259:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):406 -> a
    260:269:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):407:416 -> a
    270:270:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.isOneOf():0:0 -> a
    270:270:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):416 -> a
    271:315:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):417:461 -> a
    316:316:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):460:460 -> a
    317:321: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):511:515 -> a
    317:321:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):466 -> a
    322:323: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):523:524 -> a
    322:323: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):516 -> a
    322:323:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):466 -> a
    324:324:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isLiveProtoFieldObject():0:0 -> a
    324:324: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):524 -> a
    324: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):516 -> a
    324:324:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):466 -> a
    325: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):525:559 -> a
    325: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):516 -> a
    325:359:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):466 -> 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):559 -> 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):516 -> a
    360:360:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):466 -> a
    361: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):560:581 -> a
    361: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):516 -> a
    361:382:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):466 -> 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):580:580 -> 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):516 -> a
    383:383:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):466 -> 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):575:575 -> 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):516 -> a
    384:384:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):466 -> a
    385:385:boolean lambda$markMapOrRequiredFieldsAsReachable$4(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):450:450 -> a
    386:386:boolean com.android.tools.r8.graph.DexClassAndMethod.isStructurallyEqualTo(com.android.tools.r8.graph.DexClassAndMethod):41:41 -> a
    386:386:boolean lambda$markMapOrRequiredFieldsAsReachable$4(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):450 -> a
    387:387:boolean com.android.tools.r8.graph.DexClassAndMethod.isStructurallyEqualTo(com.android.tools.r8.graph.DexClassAndMethod):41:41 -> a
    387:387:boolean lambda$markMapOrRequiredFieldsAsReachable$4(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):451 -> a
    388:395:boolean reachesMapOrRequiredField(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo):591:598 -> a
    396:396:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.isOneOf():0:0 -> a
    396:396:boolean reachesMapOrRequiredField(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo):599 -> a
    397:409:boolean reachesMapOrRequiredField(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo):599:611 -> a
    410:416:boolean reachesMapOrRequiredField(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):622:628 -> a
    417:443:boolean reachesMapOrRequiredField(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):627:653 -> a
    444:464:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo getOrCreateProtoMessageInfo(com.android.tools.r8.graph.DexType):662:682 -> a
    465:473:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.createProtoMessageInfoFromDynamicMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map):160:168 -> a
    465:473:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo getOrCreateProtoMessageInfo(com.android.tools.r8.graph.DexType):682 -> a
    474:474:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo getOrCreateProtoMessageInfo(com.android.tools.r8.graph.DexType):684:684 -> a
    1:25:void populateExtensionGraph(com.android.tools.r8.shaking.Enqueuer):218:242 -> b
    26:26:java.util.Set lambda$populateExtensionGraphWithExtensionFieldDefinition$3(com.android.tools.r8.graph.DexType):354:354 -> b
com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo -> com.android.tools.r8.internal.yO:
    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>():17:17 -> <clinit>
    1:5:void <init>(int,com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType,java.util.OptionalInt,java.util.List):36:40 -> <init>
    1:1:int getAuxData():48:48 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo.hasAuxData():44:44 -> a
    2:2:int getAuxData():48 -> a
    3:4:int getAuxData():48:49 -> a
    5:5:void setAuxData(int):53:53 -> a
    6:6:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo.hasAuxData():44:44 -> a
    6:6:void setAuxData(int):53 -> a
    7:8:void setAuxData(int):53:54 -> a
    9:9:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):78:78 -> 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):78 -> a
    11:11:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):79:79 -> 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):79 -> a
    13:15:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):80:82 -> a
    16:16:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isProtoTypeObject():0:0 -> a
    16:16:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):82 -> a
    17:29:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):82:94 -> a
    30:30:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isProtoTypeObject():0:0 -> a
    30:30:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):94 -> a
    31:32:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):94:95 -> a
    33:34:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):88:89 -> a
    35:35:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isLiveProtoFieldObject():0:0 -> a
    35:35:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):89 -> a
    36:37:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):89:90 -> a
    38:38:com.android.tools.r8.graph.ProgramField getHazzerBitField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):127:127 -> a
    39:39:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo.hasHazzerBitField(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):122:122 -> 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):127 -> a
    40:46:com.android.tools.r8.graph.ProgramField getHazzerBitField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):127:133 -> a
    47:47:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isLiveProtoFieldObject():0:0 -> a
    47:47:com.android.tools.r8.graph.ProgramField getHazzerBitField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):133 -> a
    48:52:com.android.tools.r8.graph.ProgramField getHazzerBitField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):133:137 -> a
    53:53:int getHazzerBitFieldIndex(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):143:143 -> a
    54:54:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo.hasHazzerBitField(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):122:122 -> a
    54:54:int getHazzerBitFieldIndex(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):143 -> a
    55:56:int getHazzerBitFieldIndex(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):143:144 -> a
    1:1:int getNumber():58:58 -> b
    2:2:boolean hasHazzerBitField(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):122:122 -> 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):175:175 -> 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):175 -> 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):175:177 -> 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):177 -> 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):177:181 -> b
    1:1:java.util.List getObjects():62:62 -> 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):195:195 -> 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):195 -> 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):196:198 -> 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):198 -> 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):198:202 -> c
    1:1:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType getType():66:66 -> d
    1:1:boolean hasAuxData():44:44 -> e
    1:15:java.lang.String toString():209:223 -> toString
com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject -> com.android.tools.r8.internal.zO:
    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.AO:
    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.BO:
    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.FO:
    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.DO:
    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.EO:
    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.GO:
    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.HO:
    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.IO:
    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.JO:
    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.KO:
    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.SO:
    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.X9:
    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.k3:
    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.w5:
    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.J5:
    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.Z5:
    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.d9:
    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.Ma:
    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.Ka:
    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
    4:8:boolean merge(com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):369:373 -> a
    9:10: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
    9:10:boolean merge(com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):373 -> a
    11:16:boolean merge(com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):373:378 -> a
    17:18: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
    17:18:boolean merge(com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):378 -> a
    19:21: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.La:
    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.af:
    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.eh:
    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.mh:
    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:boolean com.android.tools.r8.ir.analysis.type.Nullability.isNullable():49:49 -> 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):169 -> 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):169:169 -> a
    64:64:boolean com.android.tools.r8.ir.analysis.type.Nullability.isNullable():49:49 -> 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):169 -> a
    65:65:com.android.tools.r8.ir.analysis.type.NotNullDynamicType com.android.tools.r8.ir.analysis.type.DynamicType.definitelyNotNull():87:87 -> a
    65:65: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
    66:66:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicType.unknown():91:91 -> a
    66:66: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
    67:67:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicType.unknown():91:91 -> a
    67:67: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.oh:
    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.ph:
    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
    41:43: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
    41:43: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
    44:44: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
    44: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):185 -> a
    44: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:51: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
    45:51: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
    52:52: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
    52:52: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
    52:52: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
    53: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):197:198 -> a
    53: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:55: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
    55:55: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
    55:55: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
    56:60: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
    61:75: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
    76:79: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
    76:79: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
    76:79: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
    80:82: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
    80:82: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
    83:105:boolean strictlyLessThan(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.graph.AppView):230:252 -> a
    106:116: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.Li:
    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.rk:
    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.ht:
    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.it:
    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
    8:10: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.it$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.zC:
    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.bH:
    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.hH:
    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:com.android.tools.r8.ir.analysis.type.Nullability maybeNull():99:99 -> h
    1:13:java.lang.String toString():108:120 -> toString
com.android.tools.r8.ir.analysis.type.NullabilityVariants -> com.android.tools.r8.internal.iH:
    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.fM:
    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.eM:
    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.cR:
    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.bR:
    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
    2:2:boolean com.android.tools.r8.ir.analysis.type.Nullability.isNullable():49:49 -> a
    2:2:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement getOrCreateVariant(com.android.tools.r8.ir.analysis.type.Nullability):19 -> a
    3:3: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.MT:
    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.qU:
    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.bY:
    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.rZ:
    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.xZ:
    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
    2:2:boolean com.android.tools.r8.ir.analysis.type.Nullability.isNullable():49:49 -> w
    2:2:boolean isNullable():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.FZ:
    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:54: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:172 -> a
    44:54: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:54: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
    55:55:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    55: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):172 -> a
    55: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
    55: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,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> 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 -> 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:59: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
    57:59: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:59: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
    60:60:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    60: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):175 -> a
    60: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
    60: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: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
    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.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
    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:66: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
    63:66: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
    63:66: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
    67:67:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    67: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):152 -> a
    67: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
    67: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,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> 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 -> 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:72: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
    69:72: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:72: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
    73:73:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    73: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):155 -> a
    73: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
    73: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,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> 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 -> 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.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
    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.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
    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.computeUseTypeForInstanceGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstanceGet):144:144 -> 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 -> 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.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> 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 -> 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,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> 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 -> 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.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
    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):112:112 -> 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:83: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
    82:83: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
    82:83: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
    84:85: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):85:86 -> a
    86:86:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    86: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):86 -> 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:86 -> a
    88:92: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.EZ:
    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.M10:
    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.s1:
    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
    boolean isNonConstantNumberValue() -> c
    com.android.tools.r8.ir.analysis.value.NumberFromIntervalValue asNumberFromIntervalValue() -> d
    com.android.tools.r8.ir.analysis.value.SingleNumberValue asSingleNumberValue() -> e
    boolean isSingleValue() -> g
    com.android.tools.r8.ir.analysis.value.NumberFromSetValue asNumberFromSetValue() -> i
    com.android.tools.r8.ir.analysis.value.SingleValue asSingleValue() -> 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.t1:
    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.L5:
    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.nd:
    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
    boolean isNonConstantNumberValue() -> c
    com.android.tools.r8.ir.analysis.value.NumberFromIntervalValue asNumberFromIntervalValue() -> d
    com.android.tools.r8.ir.analysis.value.SingleNumberValue asSingleNumberValue() -> e
    com.android.tools.r8.ir.analysis.value.NumberFromSetValue asNumberFromSetValue() -> i
com.android.tools.r8.ir.analysis.value.NonConstantNumberValue -> com.android.tools.r8.internal.KG:
    1:1:void <init>():7:7 -> <init>
    long getAbstractionSize() -> E
    com.android.tools.r8.ir.analysis.value.NonConstantNumberValue asNonConstantNumberValue() -> b
    boolean isNonConstantNumberValue() -> c
    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.fH:
    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.lH:
    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() -> d
    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.nH:
    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
    1:1:int hashCode():106:106 -> hashCode
    com.android.tools.r8.ir.analysis.value.NumberFromSetValue asNumberFromSetValue() -> i
    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.mH:
    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.kU:
    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.RewrittenPrototypeDescription$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():725:725 -> 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.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156: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
    42:42:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):115 -> a
    43:43:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> 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 -> 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: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
    44:44:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):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 com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179:179 -> a
    45:45:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    45:45:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):115 -> a
    46:46: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.lU:
    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.nU:
    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.RewrittenPrototypeDescription$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.oU:
    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.RewrittenPrototypeDescription$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:9:boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):100:101 -> a
    10:12:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):106:108 -> a
    13:13:boolean com.android.tools.r8.graph.DexEncodedField.isPublic():225:225 -> a
    13:13:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):111 -> a
    14:16:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):114:116 -> a
    17:17:boolean com.android.tools.r8.graph.DexClass.isPublic():725:725 -> a
    17:17:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):119 -> a
    18:21:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):122:125 -> a
    22:22: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
    22:22:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179 -> a
    22:22:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    22:22:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):125 -> a
    23:23:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    23:23: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
    23:23:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179 -> a
    23:23:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    23:23:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):125 -> a
    24:24: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
    24:24:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179 -> a
    24:24:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    24:24:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):125 -> a
    25:25:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179:179 -> a
    25:25:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    25:25:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):125 -> 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):140:150 -> 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.pU:
    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.RewrittenPrototypeDescription$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() -> e
    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.rU:
    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.sU:
    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.tU:
    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.RewrittenPrototypeDescription$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.vU:
    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() -> g
    com.android.tools.r8.ir.analysis.value.SingleValue asSingleValue() -> j
    boolean isNonTrivial() -> y
com.android.tools.r8.ir.analysis.value.StatefulObjectValue -> com.android.tools.r8.internal.wV:
    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.d00:
    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.Gh:
    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.Ci:
    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.wy:
    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.NG:
    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.AJ:
    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.zJ:
    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.BJ:
    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
    9:9:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> 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):50 -> 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):53:53 -> a
    11:11:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> 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):55 -> a
    12:16: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
    17:17:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> a
    17: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):65 -> a
    18:18:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState$Builder com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.builder():24:24 -> 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):68 -> a
    19:42: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
    43:44: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
    45:45:boolean com.android.tools.r8.graph.DexItemFactory$EnumMembers.isNameOrOrdinalField(com.android.tools.r8.graph.DexField):1691:1691 -> a
    45: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):79 -> a
    46:53: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
    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.y1:
    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.z1:
    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.D1:
    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.E1:
    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.F1:
    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.N1:
    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.F2:
    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.E2:
    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.Z2:
    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.Y2:
    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.a3:
    1:1:void <init>(com.android.tools.r8.ir.code.Value,java.util.List):16:16 -> <init>
    1:1:boolean instructionInstanceCanThrow():47:47 -> b1
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> b1
    2:2:boolean instructionInstanceCanThrow():47 -> b1
    3:6:boolean instructionInstanceCanThrow():48:51 -> 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.d3:
    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":327,"2":328,"3":329}}
    327:327:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):110:110 -> a
    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
    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":330,"2":331,"3":332}}
    330:330:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):108:108 -> a
    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
    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
    298:298:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):96:96 -> a
    299:301:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):95:97 -> a
    302:326:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):88:112 -> a
    333:335:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):65:67 -> a
    336:336:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forArrayGet():78:78 -> a
    336:336:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):151 -> a
    337:343:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):162:168 -> a
    344:345:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):173:174 -> a
    346:346:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):179:179 -> a
    347:347:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):185:185 -> a
    348:348:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.ArrayGet.getMemberType():60:60 -> a
    348:348:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):186 -> a
    349:385:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):186:222 -> a
    386:386: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":651,"2":652,"3":653}}
    651:651:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):222:222 -> a
    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
    604:606:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):218:218 -> a
    607:607:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ArrayGet.dest():55:55 -> a
    607:607:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):220 -> a
    608:608:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):220:220 -> a
    609:613: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
    609:613:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):220 -> a
    614:614:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    614: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):231 -> a
    614: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,com.android.tools.r8.origin.Origin):30:30 -> a
    615:615:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):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: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
    616:616:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):220 -> a
    617:619:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):214:214 -> a
    620:620:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ArrayGet.dest():55:55 -> a
    620:620:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):216 -> a
    621:621:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):216:216 -> a
    622:626: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
    622:626:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):216 -> a
    627:627:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    627: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):231 -> a
    627: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,com.android.tools.r8.origin.Origin):30:30 -> a
    628:628:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):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: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
    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 evaluate(com.android.tools.r8.graph.AppView):211:211 -> a
    631:631:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDouble():0:0 -> a
    631:631:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):211 -> a
    632:633:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):211:212 -> a
    634:634:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):208:208 -> a
    635:635:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isLong():0:0 -> a
    635:635:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):208 -> a
    636:637:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):208:209 -> a
    638:638:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):205:205 -> a
    639:639:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFloat():0:0 -> a
    639:639:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):205 -> a
    640:641:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):205:206 -> a
    642:642:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):202:202 -> a
    643:643:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    643:643:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):202 -> a
    644:645:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):202:203 -> a
    646:648:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):194:196 -> a
    649:649:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.ArrayGet.getMemberType():60:60 -> a
    649:649:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):222 -> a
    650:650:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):222:222 -> a
    654:654:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):237:237 -> a
    655:656:boolean outTypeKnownToBeBoolean(java.util.Set):252:253 -> a
    657:657:void constrainType(com.android.tools.r8.ir.conversion.TypeConstraintResolver):258:258 -> a
    658:658:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ArrayGet.dest():55:55 -> a
    658:658:void constrainType(com.android.tools.r8.ir.conversion.TypeConstraintResolver):258 -> a
    659:659:void constrainType(com.android.tools.r8.ir.conversion.TypeConstraintResolver):258:258 -> a
    660:660:void lambda$constrainType$0(com.android.tools.r8.ir.code.MemberType):258:258 -> a
    661:669: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.e3:
    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.h3:
    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":302,"2":303,"3":304}}
    302:302:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):101:101 -> a
    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
    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":305,"2":306,"3":307}}
    305:305:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):99:99 -> a
    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
    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
    273:273:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):87:87 -> a
    274:276:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):86:88 -> a
    277:301:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):79:103 -> a
    308:308:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forArrayPut():86:86 -> a
    308:308:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):201 -> a
    309:316: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
    317:317:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    317:317:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):128 -> a
    318:353: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
    354:354:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):206:206 -> a
    355:355:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):216:216 -> a
    356:356:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):221:221 -> a
    357:357:void constrainType(com.android.tools.r8.ir.conversion.TypeConstraintResolver):236:236 -> a
    358:358: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.A3:
    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.y3:
    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.z3:
    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.B3:
    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:5:com.android.tools.r8.ir.code.Value getAliasForOutValue(com.android.tools.r8.ir.code.Instruction):27:28 -> a
    6:6:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    6:6:com.android.tools.r8.ir.code.Value getAliasForOutValue(com.android.tools.r8.ir.code.Instruction):28 -> a
    7:7: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.t4:
    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
    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:146:void close(com.android.tools.r8.ir.conversion.IRBuilder):806:807 -> a
    147:158:void com.android.tools.r8.ir.code.BasicBlock.filledPredecessor(com.android.tools.r8.ir.conversion.IRBuilder):1170:1181 -> a
    147:158:void close(com.android.tools.r8.ir.conversion.IRBuilder):807 -> a
    159:159:boolean blocksClean(java.util.List):819:819 -> a
    160:169:void removeCatchHandlerWithGuard(com.android.tools.r8.graph.DexType):899:908 -> a
    170:170:boolean lambda$removeCatchHandlerWithGuard$6(int,com.android.tools.r8.ir.code.BasicBlock):905:905 -> a
    171:175:java.util.List unlink(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):934:938 -> a
    176:176:java.util.List com.android.tools.r8.ir.code.DominatorTree.dominatedBlocks(com.android.tools.r8.ir.code.BasicBlock):171:171 -> a
    176:176:java.util.List unlink(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):939 -> a
    177:181:java.util.List unlink(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):939:943 -> a
    182:191:void linkCatchSuccessors(java.util.List,java.util.List):982:991 -> a
    192:223:void appendCatchHandler(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType):995:1026 -> a
    224:234:boolean renameGuardsInCatchHandlers(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):1037:1047 -> a
    235:236: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
    235:236:boolean com.android.tools.r8.ir.code.BasicBlock.isOnThrowValue(int,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1104 -> a
    235:236:void addIncompletePhi(int,com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1215 -> a
    237:238:void addIncompletePhi(int,com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1218:1219 -> a
    239:240: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
    239:240:com.android.tools.r8.ir.code.Value readCurrentDefinition(int,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1110 -> a
    241:243:com.android.tools.r8.ir.code.Value readCurrentDefinition(int,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1112:1114 -> a
    244:245: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
    244:245:boolean com.android.tools.r8.ir.code.BasicBlock.isOnThrowValue(int,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1104 -> a
    244:245:void updateCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1135 -> a
    246:250:void updateCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1141:1145 -> a
    251:252:boolean com.android.tools.r8.ir.code.BasicBlock.verifyOnThrowWrite(int):1655:1656 -> a
    251:252:void updateCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1145 -> a
    253:260:void updateCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1146:1153 -> a
    261:262:void writeCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):1161:1162 -> a
    263:264:boolean com.android.tools.r8.ir.code.BasicBlock.verifyOnThrowWrite(int):1655:1656 -> a
    263:264:void writeCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):1162 -> a
    265:267:void writeCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):1163:1163 -> a
    270:270:void writeCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):1166:1166 -> a
    271:276:void print(com.android.tools.r8.utils.CfgPrinter):1338:1343 -> a
    277:278:void com.android.tools.r8.ir.code.BasicBlock.printBlockList(com.android.tools.r8.utils.CfgPrinter,java.util.List):1374:1375 -> a
    277:278:void print(com.android.tools.r8.utils.CfgPrinter):1343 -> a
    279:281:void print(com.android.tools.r8.utils.CfgPrinter):1344:1346 -> a
    282:283:void com.android.tools.r8.ir.code.BasicBlock.printBlockList(com.android.tools.r8.utils.CfgPrinter,java.util.List):1374:1375 -> a
    282:283:void print(com.android.tools.r8.utils.CfgPrinter):1346 -> a
    284:307:void print(com.android.tools.r8.utils.CfgPrinter):1347:1370 -> a
    308:309: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
    310:314: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
    315:324: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
    325:325: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
    325:325: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
    326:326: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
    326: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):1515 -> 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):1516:1516 -> a
    328:328:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> 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):1517 -> 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):1517:1517 -> a
    330:331:boolean canThrow():1642:1643 -> a
    332:332:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRCode):1691:1691 -> a
    333:333: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
    333:333:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRCode):1691 -> a
    334:334:com.android.tools.r8.ir.code.InstructionListIterator 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,int):1699:1699 -> a
    336:336: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
    337:348:com.android.tools.r8.ir.code.BasicBlock createSplitBlock(int,boolean):1728:1739 -> a
    349:354:void com.android.tools.r8.ir.code.BasicBlock.moveCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):1760:1765 -> a
    349:354:com.android.tools.r8.ir.code.BasicBlock createSplitBlock(int,boolean):1743 -> a
    355:359:com.android.tools.r8.ir.code.BasicBlock createSplitBlock(int,boolean):1747:1751 -> a
    360:376: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:1792 -> a
    377: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:1812 -> a
    377: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
    379:379:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    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 -> 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: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:1834 -> a
    380: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
    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:406: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
    400:406: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
    407:407: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
    407: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):1841 -> a
    407: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:411: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
    408:411: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
    412:412: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
    412: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):1846 -> a
    412: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:418: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
    413:418: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
    419: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):1830:1830 -> a
    419: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.errors.CompilationError.<init>(java.lang.String):22:22 -> 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 -> 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,com.android.tools.r8.origin.Origin):30:30 -> a
    421:421:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):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:459: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
    422:459: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
    460:533:java.util.List appendCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):1883:1956 -> a
    1:2:void unlinkCatchHandler():872:873 -> a0
    3:5:void com.android.tools.r8.ir.code.BasicBlock.removeSuccessor(com.android.tools.r8.ir.code.BasicBlock):324:326 -> a0
    3:5:void unlinkCatchHandler():873 -> a0
    6:6:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>(int[]):135:135 -> a0
    6:6:void com.android.tools.r8.ir.code.BasicBlock.removeSuccessor(com.android.tools.r8.ir.code.BasicBlock):326 -> a0
    6:6:void unlinkCatchHandler():873 -> a0
    7:7:void com.android.tools.r8.ir.code.BasicBlock.removeSuccessor(com.android.tools.r8.ir.code.BasicBlock):326:326 -> a0
    7:7:void unlinkCatchHandler():873 -> a0
    8:8:void unlinkCatchHandler():874:874 -> a0
    1:1:void lambda$notifyPredecessorsMayChangeListeners$2(com.android.tools.r8.ir.code.BasicBlock$BasicBlockChangeListener):308:308 -> b
    2:34:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):399: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):431 -> b
    36:36:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):431:431 -> b
    37:37:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> b
    37:37:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):432 -> b
    38:41:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):432:435 -> b
    42:42:boolean com.android.tools.r8.ir.code.Instruction.isLoad():0:0 -> b
    42:42:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):435 -> b
    43:44:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):435:436 -> b
    45:49: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
    45:49:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):436 -> b
    50:50: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":540,"2":541,"3":542}}
    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
    541:541: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
    541:541:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):436 -> b
    542:542: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
    542:542:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):436 -> b
    486:539:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):436:489 -> b
    543:544:void removePhisByIndex(java.util.List):587:588 -> b
    545:545:java.lang.Iterable instructionsBefore(com.android.tools.r8.ir.code.Instruction):661:661 -> b
    546:547:void decrementUnfilledPredecessorCount(int):763:764 -> b
    548:549:void removePhi(com.android.tools.r8.ir.code.Phi):783:784 -> b
    550:550:void unlinkCatchHandlerForGuard(com.android.tools.r8.graph.DexType):887:887 -> b
    551:555:boolean com.android.tools.r8.ir.code.BasicBlock.isCatchHandlerForSingleGuard():913:917 -> b
    551:555:void unlinkCatchHandlerForGuard(com.android.tools.r8.graph.DexType):888 -> b
    556:560:void unlinkCatchHandlerForGuard(com.android.tools.r8.graph.DexType):890:894 -> b
    561:568:java.util.Set cleanForRemoval():948:955 -> b
    569:571:void com.android.tools.r8.ir.code.BasicBlock.removeSuccessor(com.android.tools.r8.ir.code.BasicBlock):324:326 -> b
    569:571:java.util.Set cleanForRemoval():955 -> b
    572:572:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>(int[]):135:135 -> b
    572:572:void com.android.tools.r8.ir.code.BasicBlock.removeSuccessor(com.android.tools.r8.ir.code.BasicBlock):326 -> b
    572:572:java.util.Set cleanForRemoval():955 -> b
    573:573:void com.android.tools.r8.ir.code.BasicBlock.removeSuccessor(com.android.tools.r8.ir.code.BasicBlock):326:326 -> b
    573:573:java.util.Set cleanForRemoval():955 -> b
    574:592:java.util.Set cleanForRemoval():957:975 -> b
    593:594: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.o4:
    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 -> l
    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.p4:
com.android.tools.r8.ir.code.BasicBlock$EdgeType -> com.android.tools.r8.internal.q4:
    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.r4:
    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.s4:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    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:125 -> a
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> 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.v4:
    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.w4:
    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
    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:36: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:253 -> a
    37:37: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
    37:37: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
    38:38:boolean com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.hasInsertionPosition():100:100 -> a
    38:38: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
    39:40: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
    41:41:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    41:41: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
    42:47: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
    48:48: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:270 -> a
    49:50: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
    49:50: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
    49:50: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
    51:51: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
    52:55: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
    56:62: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:291 -> a
    63:63:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    63:63: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
    64:65: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):292:293 -> a
    66:66: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
    66:66: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):293 -> a
    67:68: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):293:294 -> a
    69:70: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 -> a
    69:70: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):294 -> a
    71:76: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):294:299 -> a
    77:77:com.android.tools.r8.ir.code.InvokeVirtual$Builder com.android.tools.r8.ir.code.InvokeVirtual.builder():37:37 -> a
    77:77: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):299 -> a
    78:79: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):300:301 -> a
    80:80: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
    80:80: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):301 -> a
    81:82: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):301:302 -> a
    83:84: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 -> a
    83:84: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):302 -> a
    85:90: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):302:307 -> a
    91:100:boolean replaceCurrentInstructionByNullCheckIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):315:324 -> a
    101:101:boolean com.android.tools.r8.graph.DexMethod.mustBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):300:300 -> a
    101:101:boolean replaceCurrentInstructionByNullCheckIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):325 -> a
    102:102:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    102:102:boolean com.android.tools.r8.graph.DexMethod.mustBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):300 -> a
    102:102:boolean replaceCurrentInstructionByNullCheckIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):325 -> a
    103:121:boolean replaceCurrentInstructionByNullCheckIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):329:347 -> a
    122:122:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    122:122:boolean replaceCurrentInstructionByNullCheckIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):349 -> a
    123:148: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):359:384 -> a
    149:149:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    149:149: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):385 -> a
    150:150: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):386:386 -> a
    151:155: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):394:398 -> a
    156:156: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
    156:156: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):398 -> a
    157:158: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):399:400 -> a
    159:159: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
    159:159: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):400 -> a
    160:160:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    160:160: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):401 -> a
    161:161: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):395:395 -> a
    162:166:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):406:410 -> a
    167:167:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    167:167:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):410 -> a
    168:171:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):410:413 -> a
    172:172:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    172:172:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):414 -> a
    173:173:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):407:407 -> a
    174:182:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):432:440 -> a
    183:183:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    183:183:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):441 -> a
    184:185:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):444:445 -> a
    186:186:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):433:433 -> a
    187:215: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):457:485 -> a
    216:216: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):484:484 -> a
    217:234: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:500 -> a
    235:235:boolean com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.hasInsertionPosition():100:100 -> a
    235:235: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):501 -> a
    236:240: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):502:506 -> a
    241:241:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.Position.syntheticNone():117:117 -> a
    241:241: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):507 -> a
    242:244: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):507:509 -> a
    245:245: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):458:458 -> a
    246: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):519:539 -> a
    267:267:boolean com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.hasNext():68:68 -> a
    267:267:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):544 -> a
    268:274:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):544:550 -> a
    275:275:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):549:549 -> a
    276:299:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):548:571 -> a
    300:300:boolean com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.hasInsertionPosition():100:100 -> a
    300:300:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):572 -> a
    301:307:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):573:579 -> a
    308:308:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.Position.syntheticNone():117:117 -> a
    308:308:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):580 -> a
    309:336:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):580:607 -> a
    337:337:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):520:520 -> a
    338:347: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):591:600 -> a
    348:349:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):615:616 -> a
    350:350:boolean com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.hasNext():68:68 -> a
    350:350:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):619 -> a
    351:354:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):619:622 -> a
    355:355:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    355:355:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):622 -> a
    356:356:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):626:626 -> a
    357:357:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    357:357:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):626 -> a
    358:361:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):626:629 -> a
    362:363:void com.android.tools.r8.ir.code.Goto.<init>(com.android.tools.r8.ir.code.BasicBlock):21:22 -> a
    362:363:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):629 -> a
    364:382:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):630:648 -> a
    383:390:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,int,java.util.ListIterator):657:664 -> a
    391:394:com.android.tools.r8.ir.code.BasicBlock splitCopyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):672:675 -> a
    395:427: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):701:733 -> a
    428:433:void removeArgumentInstruction(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Value):771:776 -> a
    434:441: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):787:794 -> a
    442:444: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):793:795 -> a
    445:447:boolean com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.canThrow(com.android.tools.r8.ir.code.IRCode):681:683 -> a
    445:447: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):797 -> a
    448:465: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):801:818 -> a
    466:466:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    466:466: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):818 -> a
    467: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):818:828 -> a
    478:478:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    478:478: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):828 -> a
    479:519: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):828:868 -> a
    520:520:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    520:520: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):868 -> a
    521:525: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):868:872 -> a
    526:526:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    526:526: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):873 -> a
    527:534: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):873:880 -> a
    535:535:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    535:535: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
    536:555: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:899 -> a
    556:556:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    556:556: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):899 -> a
    557:557: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):902:902 -> a
    558:558:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    558: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):901 -> a
    559:592: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):900:933 -> a
    593:593:com.android.tools.r8.ir.code.BasicBlockIterator com.android.tools.r8.ir.code.IRCode.listIterator(int):1060:1060 -> a
    593: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):933 -> a
    594:600: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):936:942 -> a
    601:601:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    601:601: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):943 -> a
    602:607: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):943:948 -> a
    608:624: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):748:764 -> a
    608:624: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):949 -> a
    625:630: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):956:961 -> a
    631:631:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    631:631: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):961 -> a
    632:642: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):961:971 -> a
    643:647: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):970:974 -> a
    648:655:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):980:987 -> a
    656:656:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    656:656:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):987 -> a
    657:682:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):987:1012 -> a
    683:683:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    683:683:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):1012 -> a
    684:701:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):1012:1029 -> 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):420:425 -> 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):425 -> 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):426 -> b
    17:17:void replaceCurrentInstructionWithConstString(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):421:421 -> b
    1:1:void unsetInsertionPosition():110:110 -> h
    1:1:boolean hasNext():68:68 -> hasNext
    1:1:boolean hasPrevious():84:84 -> hasPrevious
    1:7:void removeOrReplaceByDebugLocalRead():213:219 -> i
    8:8:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> i
    8:8:void removeOrReplaceByDebugLocalRead():219 -> i
    9:9:void removeOrReplaceByDebugLocalRead():214:214 -> i
    1:5:void removeInstructionIgnoreOutValue():204:208 -> k
    6:6:void removeInstructionIgnoreOutValue():205:205 -> k
    1:1:com.android.tools.r8.ir.code.Instruction next():73:73 -> l
    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
    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
    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.y4:
    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 -> l
    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.T4:
    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.q6:
    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:19:com.android.tools.r8.ir.code.Position canonicalizeCallerPosition(com.android.tools.r8.ir.code.Position):73:90 -> a
    20:21:com.android.tools.r8.ir.code.Position$PositionBuilder com.android.tools.r8.ir.code.Position$PositionBuilder.disableLineCheck():270:271 -> a
    20:21:com.android.tools.r8.ir.code.Position canonicalizeCallerPosition(com.android.tools.r8.ir.code.Position):90 -> a
    22:24:com.android.tools.r8.ir.code.Position canonicalizeCallerPosition(com.android.tools.r8.ir.code.Position):90:92 -> a
    25:25:com.android.tools.r8.ir.code.Position canonicalizeCallerPosition(com.android.tools.r8.ir.code.Position):85:85 -> a
    26:35:com.android.tools.r8.ir.code.Position getExceptionalExitPosition(boolean,java.util.function.Supplier,com.android.tools.r8.graph.DexMethod):102:111 -> a
    36:36:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.CanonicalPositions.getPreamblePosition():55:55 -> a
    36:36:com.android.tools.r8.ir.code.Position getExceptionalExitPosition(boolean,java.util.function.Supplier,com.android.tools.r8.graph.DexMethod):115 -> a
    37:47:com.android.tools.r8.ir.code.Position getExceptionalExitPosition(boolean,java.util.function.Supplier,com.android.tools.r8.graph.DexMethod):116:126 -> a
    48:48:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.Position.syntheticNone():117:117 -> a
    48:48:com.android.tools.r8.ir.code.Position getExceptionalExitPosition(boolean,java.util.function.Supplier,com.android.tools.r8.graph.DexMethod):126 -> a
    49:52: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.t6:
    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.r6:
    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.s6:
    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.k9:
    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
    1:1:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> e
    1:1:com.android.tools.r8.ir.code.Value object():94 -> e
    2:2:com.android.tools.r8.ir.code.Value object():94:94 -> e
    int maxInValueRegister() -> h2
    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.j9:
    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.mb:
    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.kb:
    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.lb:
    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.Yc:
    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
    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.Xc:
    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.Zc:
    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.bd:
    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() -> X1
    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
    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.cd:
    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() -> X1
    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
    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.ed:
    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() -> X1
    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.dd:
    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.gd:
    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() -> X1
    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
    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():477:477 -> 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
    10:13: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
    14:14: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
    15:15:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):142:142 -> a
    16:16:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):147:147 -> a
    17:17:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):152:152 -> a
    18:18:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):157:157 -> a
    19:22:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):168:171 -> a
    23:25: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.od:
    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:14:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):26:32 -> a
    15:15:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1576:1576 -> a
    15:15:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):32 -> a
    16:16:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):33:33 -> a
    17:18:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):42:43 -> a
    19:19:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1576:1576 -> a
    19:19:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):43 -> a
    20:20:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):42:42 -> a
    21:21:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    21:21:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):44 -> a
    22:22:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):44:44 -> a
    23:23:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    23:23:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):44 -> a
    24:24:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):44:44 -> a
    25:25:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    25:25:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):45 -> a
    26:30:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):45:49 -> a
    31:31: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
    31:31:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):48 -> a
    32:33:java.lang.String com.android.tools.r8.utils.DescriptorUtils.javaTypeToDescriptorIfValidJavaType(java.lang.String):93:94 -> a
    32:33: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
    32:33:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):48 -> 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):315:315 -> 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:39:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):51:55 -> a
    40:40:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    40:40:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):55 -> a
    41:41: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.re:
    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.se:
    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.te:
    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() -> X1
    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.ue:
    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.ve:
    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:4:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):45:46 -> a
    5:5:void com.android.tools.r8.ir.conversion.DexBuilder.addDebugPosition(com.android.tools.r8.ir.code.DebugPosition):618:618 -> a
    5:5:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):46 -> 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):72:72 -> a
    7:7:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):87:87 -> a
    8:8:boolean com.android.tools.r8.ir.code.Position.isSyntheticPosition():0:0 -> a
    8:8:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):87 -> a
    9:11:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):87:89 -> a
    12:12:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forDebugPosition():118:118 -> 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):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.we:
    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.Ee:
    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.hg:
    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() -> X1
    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
    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.Yg:
    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.bh:
    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.Zg:
    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.ah:
    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.kh:
    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.jh:
    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.rj:
    com.android.tools.r8.ir.code.Value outValue() -> a
com.android.tools.r8.ir.code.FieldInstruction -> com.android.tools.r8.internal.uj:
    com.android.tools.r8.graph.DexField field -> i
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():26:26 -> <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):31:31 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value,java.util.List):35:37 -> <init>
    com.android.tools.r8.ir.code.FieldInstruction asFieldInstruction() -> J
    boolean hasInvariantOutType() -> V0
    1:10: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$SuccessfulFieldResolutionResult):82:91 -> a
    11:11:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    11:11: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$SuccessfulFieldResolutionResult):97 -> a
    12:36: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$SuccessfulFieldResolutionResult):97:121 -> a
    37:70:boolean isStoringObjectWithFinalizer(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):169:202 -> a
    71:73:boolean com.android.tools.r8.graph.DexEncodedMethod.isProgramMethod(com.android.tools.r8.graph.DexDefinitionSupplier):367:369 -> a
    71:73:boolean isStoringObjectWithFinalizer(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):203 -> a
    74:74:boolean isStoringObjectWithFinalizer(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):206:206 -> a
    75:80:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):212:217 -> a
    1:1:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):62:62 -> b
    2:2:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):71:71 -> 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):232:232 -> b
    3:3:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):71 -> b
    4:4:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):71:71 -> 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):67:67 -> b
    1:24:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):136:159 -> f
    1:1:com.android.tools.r8.graph.DexField getField():47:47 -> getField
    1:1:com.android.tools.r8.ir.code.FieldMemberType getType():43:43 -> m2
    boolean isFieldInstruction() -> z1
com.android.tools.r8.ir.code.FieldMemberType$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.vj:
# {"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.Dj:
    void setValue(com.android.tools.r8.ir.code.Value) -> a
    boolean isStaticPut() -> b
    int getValueIndex() -> f
com.android.tools.r8.ir.code.FixedRegisterValue -> com.android.tools.r8.internal.ek:
    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() -> J
    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.Gl:
    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.Ym:
    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:15:boolean lambda$prepareBlocksForCatchHandlers$0(com.android.tools.r8.ir.code.BasicBlock):367:367 -> a
    16:17:int com.android.tools.r8.ir.code.BasicBlock.numberOfThrowingInstructions():1633:1634 -> a
    16:17:boolean lambda$prepareBlocksForCatchHandlers$0(com.android.tools.r8.ir.code.BasicBlock):367 -> a
    18:22:void com.android.tools.r8.ir.code.IRCode.ensureBlockNumbering():465:469 -> a
    18:22:void print(com.android.tools.r8.utils.CfgPrinter):571 -> a
    23:24:void print(com.android.tools.r8.utils.CfgPrinter):572:573 -> a
    25:32:boolean hasNoMergedClasses(com.android.tools.r8.graph.AppView):594:601 -> a
    33:33:boolean hasNoMergedClasses(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":643,"2":644,"3":645}}
    643:643:boolean hasNoMergedClasses(com.android.tools.r8.graph.AppView):601:601 -> a
    644:644:boolean hasNoMergedClasses(com.android.tools.r8.graph.AppView):601:601 -> a
    645:645:boolean hasNoMergedClasses(com.android.tools.r8.graph.AppView):601:601 -> a
    636:641:boolean hasNoMergedClasses(com.android.tools.r8.graph.AppView):603:608 -> a
    642:642:boolean hasNoMergedClasses(com.android.tools.r8.graph.AppView):606:606 -> a
    646:646:boolean lambda$hasNoMergedClasses$1(com.android.tools.r8.graph.classmerging.MergedClassesCollection,com.android.tools.r8.graph.DexType,java.lang.Boolean):610:610 -> a
    647:647: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
    648:648:java.util.Collection lambda$consistentPredecessorSuccessors$3(java.util.Collection):769:769 -> a
    649:649:java.util.Collection lambda$consistentPredecessorSuccessors$4(java.util.function.Function,com.android.tools.r8.ir.code.BasicBlock):773:773 -> a
    650:651:void lambda$consistentBlockNumbering$8(java.lang.Integer,java.lang.Long):813:814 -> a
    652:655:boolean consistentBlockInstructions(boolean):821:824 -> a
    656:656:boolean consistentBlockInstructions(boolean):822:822 -> a
    657:661:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):68:72 -> a
    657:661:boolean consistentBlockInstructions(boolean):822 -> a
    662:662:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalRead():0:0 -> a
    662:662:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):72 -> a
    662:662:boolean consistentBlockInstructions(boolean):822 -> a
    663:664:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):72:73 -> a
    663:664:boolean consistentBlockInstructions(boolean):822 -> a
    665:665:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> a
    665:665:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):73 -> a
    665:665:boolean consistentBlockInstructions(boolean):822 -> a
    666:666:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):74:74 -> a
    666:666:boolean consistentBlockInstructions(boolean):822 -> a
    667:669:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):73:75 -> a
    667:669:boolean consistentBlockInstructions(boolean):822 -> a
    670:670:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    670:670:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):75 -> a
    670:670:boolean consistentBlockInstructions(boolean):822 -> a
    671:674:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):76:79 -> a
    671:674:boolean consistentBlockInstructions(boolean):822 -> a
    675:679:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):78:82 -> a
    675:679:boolean consistentBlockInstructions(boolean):822 -> a
    680:681:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):958:959 -> a
    682:682:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBoolean():0:0 -> a
    682:682:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():388 -> a
    682:682:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):959 -> a
    683:683:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isByte():0:0 -> a
    683:683:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():389 -> a
    683:683:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):959 -> a
    684:684:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isShort():0:0 -> a
    684:684:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():390 -> a
    684:684:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):959 -> a
    685:685:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isChar():0:0 -> a
    685:685:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():391 -> a
    685:685:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):959 -> a
    686:689:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):959:962 -> a
    690:690:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    690:690:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):962 -> a
    691:693:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):962:964 -> a
    694:694:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):963:963 -> a
    695:695:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$11(com.android.tools.r8.ir.code.Instruction):984:984 -> a
    696:696:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    696:696:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$11(com.android.tools.r8.ir.code.Instruction):984 -> a
    697:700:boolean lambda$wrapSSAVerifierWithStackValueHandling$14(java.util.function.Predicate,com.android.tools.r8.ir.code.Value):999:1002 -> a
    701:701:java.lang.Iterable blocks(java.util.function.Predicate):1022:1022 -> a
    702:702:com.android.tools.r8.ir.code.BasicBlockIterator listIterator(int):1060:1060 -> a
    703:703:java.util.Iterator argumentIterator():1091:1091 -> a
    704:704: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
    705:705: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
    706:706:com.android.tools.r8.ir.code.ConstNumber createIntConstant(int,com.android.tools.r8.graph.DebugLocalInfo):1178:1178 -> a
    707:710:boolean removeAllDeadAndTrivialPhis(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):1255:1258 -> a
    711:716:boolean com.android.tools.r8.ir.code.IRCode.isDeadPhi(com.android.tools.r8.utils.WorkList):1271:1276 -> a
    711:716:boolean removeAllDeadAndTrivialPhis(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):1259 -> a
    717:720:boolean removeAllDeadAndTrivialPhis(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):1260:1263 -> a
    721:721:void markTransitivePredecessors(com.android.tools.r8.ir.code.BasicBlock,int):1426:1426 -> a
    722:722:boolean com.android.tools.r8.ir.code.IRCode.isMarkingColorInUse(int):1312:1312 -> a
    722:722:void markTransitivePredecessors(com.android.tools.r8.ir.code.BasicBlock,int):1426 -> a
    723:734:void markTransitivePredecessors(com.android.tools.r8.ir.code.BasicBlock,int):1426:1437 -> a
    735:751:com.android.tools.r8.ir.code.Position findFirstNonNonePosition(com.android.tools.r8.ir.code.Position):1448:1464 -> a
    752:752: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":2222,"2":2223,"3":2224}}
    2222:2222:com.android.tools.r8.ir.code.Position findFirstNonNonePosition(com.android.tools.r8.ir.code.Position):1465:1465 -> a
    2223:2223:com.android.tools.r8.ir.code.Position findFirstNonNonePosition(com.android.tools.r8.ir.code.Position):1465:1465 -> a
    2224:2224: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):1469:1469 -> 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:48:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():876:879 -> b
    45:48:boolean isConsistentGraph(boolean):628 -> b
    49:49:boolean com.android.tools.r8.ir.code.Instruction.isInvokeSuper():0:0 -> b
    49:49:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():881 -> b
    49:49:boolean isConsistentGraph(boolean):628 -> b
    50:53:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():882:885 -> b
    50:53:boolean isConsistentGraph(boolean):628 -> b
    54:54:boolean com.android.tools.r8.ir.code.Instruction.isOr():0:0 -> b
    54:54:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():887 -> b
    54:54:boolean isConsistentGraph(boolean):628 -> b
    55:55:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():888:888 -> b
    55:55:boolean isConsistentGraph(boolean):628 -> b
    56:56:boolean com.android.tools.r8.ir.code.Instruction.isMonitor():0:0 -> b
    56:56:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():890 -> b
    56:56:boolean isConsistentGraph(boolean):628 -> b
    57:57:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():891:891 -> b
    57:57:boolean isConsistentGraph(boolean):628 -> b
    58:58:boolean com.android.tools.r8.ir.code.Instruction.isMul():0:0 -> b
    58:58:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():893 -> b
    58:58:boolean isConsistentGraph(boolean):628 -> b
    59:62:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():894:897 -> b
    59:62:boolean isConsistentGraph(boolean):628 -> b
    63:63:boolean com.android.tools.r8.ir.code.Instruction.isRem():0:0 -> b
    63:63:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():899 -> b
    63:63:boolean isConsistentGraph(boolean):628 -> b
    64:64:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():900:900 -> b
    64:64:boolean isConsistentGraph(boolean):628 -> b
    65:65:boolean com.android.tools.r8.ir.code.Instruction.isShl():0:0 -> b
    65:65:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():902 -> b
    65:65:boolean isConsistentGraph(boolean):628 -> b
    66:66:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():903:903 -> b
    66:66:boolean isConsistentGraph(boolean):628 -> b
    67:67:boolean com.android.tools.r8.ir.code.Instruction.isShr():0:0 -> b
    67:67:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():905 -> b
    67:67:boolean isConsistentGraph(boolean):628 -> b
    68:68:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():906:906 -> b
    68:68:boolean isConsistentGraph(boolean):628 -> b
    69:69:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> b
    69:69:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():908 -> b
    69:69:boolean isConsistentGraph(boolean):628 -> b
    70:76:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():909:915 -> b
    70:76:boolean isConsistentGraph(boolean):628 -> b
    77:77:boolean com.android.tools.r8.ir.code.Instruction.isSub():0:0 -> b
    77:77:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():917 -> b
    77:77:boolean isConsistentGraph(boolean):628 -> b
    78:78:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():918:918 -> b
    78:78:boolean isConsistentGraph(boolean):628 -> b
    79:79:boolean com.android.tools.r8.ir.code.Instruction.isUshr():0:0 -> b
    79:79:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():920 -> b
    79:79:boolean isConsistentGraph(boolean):628 -> b
    80:80:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():921:921 -> b
    80:80:boolean isConsistentGraph(boolean):628 -> b
    81:81:boolean com.android.tools.r8.ir.code.Instruction.isXor():0:0 -> b
    81:81:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():923 -> b
    81:81:boolean isConsistentGraph(boolean):628 -> b
    82:82:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():924:924 -> b
    82:82:boolean isConsistentGraph(boolean):628 -> b
    83:83:boolean isConsistentGraph(boolean):629:629 -> b
    84:86:boolean verifyTypes(com.android.tools.r8.graph.AppView):636:638 -> b
    87:89:boolean com.android.tools.r8.ir.code.IRCode.validAssumeInstructions(com.android.tools.r8.graph.AppView):646:648 -> b
    87:89:boolean verifyTypes(com.android.tools.r8.graph.AppView):638 -> b
    90:90:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> b
    90:90:boolean com.android.tools.r8.ir.code.IRCode.validAssumeInstructions(com.android.tools.r8.graph.AppView):648 -> b
    90:90:boolean verifyTypes(com.android.tools.r8.graph.AppView):638 -> b
    91:91:boolean com.android.tools.r8.ir.code.IRCode.validAssumeInstructions(com.android.tools.r8.graph.AppView):649:649 -> b
    91:91:boolean verifyTypes(com.android.tools.r8.graph.AppView):638 -> b
    92:94:boolean verifyTypes(com.android.tools.r8.graph.AppView):639:641 -> b
    95:95:java.util.Collection lambda$consistentPredecessorSuccessors$5(java.util.function.Function,com.android.tools.r8.ir.code.BasicBlock):776:776 -> b
    96:98:boolean lambda$verifyNoNullabilityBottomTypes$10(com.android.tools.r8.ir.code.Value):973:973 -> b
    99:99:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$12(com.android.tools.r8.ir.code.Instruction):987:987 -> b
    100:100:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> b
    100:100:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$12(com.android.tools.r8.ir.code.Instruction):987 -> b
    101:101:java.lang.Iterable instructions(java.util.function.Predicate):1034:1034 -> b
    102:102:java.util.List com.android.tools.r8.ir.code.IRCode.collectArguments(boolean):1118:1118 -> b
    102:102:java.util.List collectArguments():1114 -> b
    103:103:java.util.Iterator com.android.tools.r8.ir.code.IRCode.argumentIterator():1091:1091 -> b
    103:103:java.util.List com.android.tools.r8.ir.code.IRCode.collectArguments(boolean):1119 -> b
    103:103:java.util.List collectArguments():1114 -> b
    104:113:java.util.List com.android.tools.r8.ir.code.IRCode.collectArguments(boolean):1120:1129 -> b
    104:113:java.util.List collectArguments():1114 -> b
    114:114:java.util.List com.android.tools.r8.ir.code.IRCode.collectArguments(boolean):1127:1127 -> b
    114:114:java.util.List collectArguments():1114 -> b
    115:115:void returnMarkingColor(int):1306:1306 -> b
    116:116:boolean com.android.tools.r8.ir.code.IRCode.isMarkingColorInUse(int):1312:1312 -> b
    116:116:void returnMarkingColor(int):1306 -> b
    117:117:void returnMarkingColor(int):1306:1306 -> b
    118:119:void com.android.tools.r8.ir.code.IRCode.clearMarks(int):486:487 -> b
    118:119:void returnMarkingColor(int):1307 -> b
    120:120:void returnMarkingColor(int):1308:1308 -> b
    121:121:void markTransitiveSuccessors(com.android.tools.r8.ir.code.BasicBlock,int):1401:1401 -> b
    122:122:void com.android.tools.r8.ir.code.IRCode.markTransitiveSuccessors(java.util.Deque,int):1405:1405 -> b
    122:122:void markTransitiveSuccessors(com.android.tools.r8.ir.code.BasicBlock,int):1401 -> b
    123:123:boolean com.android.tools.r8.ir.code.IRCode.isMarkingColorInUse(int):1312:1312 -> b
    123:123:void com.android.tools.r8.ir.code.IRCode.markTransitiveSuccessors(java.util.Deque,int):1405 -> b
    123:123:void markTransitiveSuccessors(com.android.tools.r8.ir.code.BasicBlock,int):1401 -> b
    124:125:boolean com.android.tools.r8.ir.code.IRCode.anyBlocksMarkedWithColor(int):1316:1317 -> b
    124:125:void com.android.tools.r8.ir.code.IRCode.markTransitiveSuccessors(java.util.Deque,int):1405 -> b
    124:125:void markTransitiveSuccessors(com.android.tools.r8.ir.code.BasicBlock,int):1401 -> b
    126:135:void com.android.tools.r8.ir.code.IRCode.markTransitiveSuccessors(java.util.Deque,int):1405:1414 -> b
    126:135: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
    118:118:java.util.Map computeLiveAtEntrySets():288:288 -> d
    119:119:java.util.Map computeLiveAtEntrySets():0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":410,"2":411,"3":412}}
    410:410:java.util.Map computeLiveAtEntrySets():288:288 -> d
    411:411:java.util.Map computeLiveAtEntrySets():288:288 -> d
    412:412:java.util.Map computeLiveAtEntrySets():288:288 -> d
    409:409:java.util.Map computeLiveAtEntrySets():290:290 -> d
    413:413:java.util.Collection lambda$consistentPredecessorSuccessors$7(java.util.function.Function,com.android.tools.r8.ir.code.BasicBlock):794:794 -> d
    414:414: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
    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.Vm:
    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.Wm:
    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.Xm:
    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.Zm:
    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.an:
    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 unsetInsertionPosition():247:247 -> h
    1:1:boolean hasNext():155:155 -> hasNext
    1:1:boolean hasPrevious():173:173 -> hasPrevious
    1:1:void removeOrReplaceByDebugLocalRead():232:232 -> i
    1:1:void removeInstructionIgnoreOutValue():101:101 -> k
    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.cn:
    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.en:
    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 mayHaveNewInstance():218:218 -> A
    1:1:boolean mayHaveOr():222:222 -> B
    1:1:boolean mayHaveRem():226:226 -> C
    1:1:boolean mayHaveShl():230:230 -> D
    1:1:boolean mayHaveShr():234:234 -> E
    1:1:boolean mayHaveStaticGet():238:238 -> F
    1:1:boolean mayHaveStaticPut():242:242 -> G
    1:1:boolean mayHaveStringSwitch():246:246 -> H
    1:1:boolean mayHaveSub():250:250 -> I
    1:2:boolean mayHaveSwitch():258:259 -> J
    3:3:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveIntSwitch():136:136 -> J
    3:3:boolean mayHaveSwitch():259 -> J
    4:4:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveStringSwitch():246:246 -> J
    4:4:boolean mayHaveSwitch():259 -> J
    5:5:boolean mayHaveSwitch():259:259 -> J
    1:1:boolean mayHaveUshr():264:264 -> K
    1:1:boolean mayHaveXor():268:268 -> L
    1:1:com.android.tools.r8.ir.code.IRMetadata unknown():20:20 -> M
    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():298:298 -> c
    2:2:boolean com.android.tools.r8.ir.code.IRMetadata.isAnySetInSecond(long):38:38 -> c
    2:2:boolean mayHaveArithmeticOrLogicalBinop():298 -> c
    3:3:boolean mayHaveArithmeticOrLogicalBinop():299:299 -> c
    4:4:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveAdd():61:61 -> c
    4:4:boolean mayHaveArithmeticOrLogicalBinop():300 -> c
    5:5:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveDiv():93:93 -> c
    5:5:boolean mayHaveArithmeticOrLogicalBinop():301 -> c
    6:6:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveMul():214:214 -> c
    6:6:boolean mayHaveArithmeticOrLogicalBinop():302 -> c
    7:7:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveRem():226:226 -> c
    7:7:boolean mayHaveArithmeticOrLogicalBinop():303 -> c
    8:8:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveSub():250:250 -> c
    8:8:boolean mayHaveArithmeticOrLogicalBinop():304 -> c
    9:9:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveAnd():65:65 -> c
    9:9:boolean mayHaveArithmeticOrLogicalBinop():305 -> c
    10:10:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveOr():222:222 -> c
    10:10:boolean mayHaveArithmeticOrLogicalBinop():306 -> c
    11:11:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveShl():230:230 -> c
    11:11:boolean mayHaveArithmeticOrLogicalBinop():307 -> c
    12:12:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveShr():234:234 -> c
    12:12:boolean mayHaveArithmeticOrLogicalBinop():308 -> c
    13:13:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveUshr():264:264 -> c
    13:13:boolean mayHaveArithmeticOrLogicalBinop():309 -> c
    14:14:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveXor():268:268 -> c
    14:14:boolean mayHaveArithmeticOrLogicalBinop():310 -> c
    15:15:boolean mayHaveArithmeticOrLogicalBinop():299:299 -> c
    1:1:boolean mayHaveArrayLength():69:69 -> d
    1:1:boolean mayHaveCheckCast():73:73 -> e
    1:1:boolean mayHaveConstNumber():77:77 -> f
    1:1:boolean mayHaveConstString():81:81 -> g
    1:1:boolean mayHaveDebugPosition():85:85 -> h
    1:1:boolean mayHaveDexItemBasedConstString():89:89 -> i
    1:1:boolean mayHaveDiv():93:93 -> j
    1:2:boolean mayHaveFieldInstruction():110:111 -> k
    3:3:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInstanceGet():124:124 -> k
    3:3:boolean mayHaveFieldInstruction():112 -> k
    4:4:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInstancePut():128:128 -> k
    4:4:boolean mayHaveFieldInstruction():113 -> k
    5:5:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveStaticGet():238:238 -> k
    5:5:boolean mayHaveFieldInstruction():114 -> k
    6:6:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveStaticPut():242:242 -> k
    6:6:boolean mayHaveFieldInstruction():115 -> k
    7:7:boolean mayHaveFieldInstruction():111:111 -> k
    1:1:boolean mayHaveInitClass():120:120 -> l
    1:1:boolean mayHaveInstanceGet():124:124 -> m
    1:1:boolean mayHaveInstanceOf():132:132 -> n
    1:1:boolean mayHaveInstancePut():128:128 -> o
    1:1:boolean mayHaveIntSwitch():136:136 -> p
    1:1:boolean mayHaveInvokeDirect():140:140 -> q
    1:1:boolean mayHaveInvokeInterface():144:144 -> r
    1:2:boolean mayHaveInvokeMethod():162:163 -> s
    3:3:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeDirect():140:140 -> s
    3:3:boolean mayHaveInvokeMethod():164 -> s
    4:4:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeInterface():144:144 -> s
    4:4:boolean mayHaveInvokeMethod():165 -> s
    5:5:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokePolymorphic():194:194 -> s
    5:5:boolean mayHaveInvokeMethod():166 -> s
    6:6:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeStatic():198:198 -> s
    6:6:boolean mayHaveInvokeMethod():167 -> s
    7:7:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeSuper():202:202 -> s
    7:7:boolean mayHaveInvokeMethod():168 -> s
    8:8:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeVirtual():206:206 -> s
    8:8:boolean mayHaveInvokeMethod():169 -> s
    9:9:boolean mayHaveInvokeMethod():163:163 -> s
    1:2:boolean mayHaveInvokeMethodWithReceiver():184:185 -> t
    3:3:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeDirect():140:140 -> t
    3:3:boolean mayHaveInvokeMethodWithReceiver():186 -> t
    4:4:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeInterface():144:144 -> t
    4:4:boolean mayHaveInvokeMethodWithReceiver():187 -> t
    5:5:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeSuper():202:202 -> t
    5:5:boolean mayHaveInvokeMethodWithReceiver():188 -> t
    6:6:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeVirtual():206:206 -> t
    6:6:boolean mayHaveInvokeMethodWithReceiver():189 -> t
    7:7:boolean mayHaveInvokeMethodWithReceiver():185:185 -> t
    1:1:boolean mayHaveInvokePolymorphic():194:194 -> u
    1:1:boolean mayHaveInvokeStatic():198:198 -> v
    1:1:boolean mayHaveInvokeSuper():202:202 -> w
    1:1:boolean mayHaveInvokeVirtual():206:206 -> x
    1:1:boolean mayHaveMonitorInstruction():210:210 -> y
    1:1:boolean mayHaveMul():214:214 -> z
com.android.tools.r8.ir.code.If -> com.android.tools.r8.internal.vn:
    int $r8$clinit -> l
    boolean $assertionsDisabled -> k
    com.android.tools.r8.ir.code.If$Type type -> j
    1:1:void <clinit>():20:20 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.Value):73:74 -> <init>
    3:4:void <init>(com.android.tools.r8.ir.code.If$Type,java.util.List):78:79 -> <init>
    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):154:154 -> a
    2:3:void print(com.android.tools.r8.utils.CfgPrinter):193:194 -> a
    4:5:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber):209:210 -> 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):65:65 -> a
    6:6:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber):210 -> 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):65 -> a
    7:7:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber):210 -> 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):66 -> a
    8:8:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber):210 -> 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):66:67 -> a
    9:10:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber):210 -> a
    11:12:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber):210:211 -> 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):215:217 -> 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):65:65 -> 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):217 -> 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):65 -> 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):217 -> 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):66 -> 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):217 -> 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):66:67 -> 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):217 -> 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):217:218 -> a
    23:23:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):264:264 -> a
    24:31:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):269:276 -> a
    1:2:void setFallthroughBlock(com.android.tools.r8.ir.code.BasicBlock):148:149 -> b
    3:8:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):199:204 -> b
    1:4:void setTrueTarget(com.android.tools.r8.ir.code.BasicBlock):132:135 -> c
    5:20:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):234:249 -> c
    21:21:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":288,"2":289,"3":290}}
    288:288:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):249:249 -> c
    289:289:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):249:249 -> c
    290:290:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):249:249 -> c
    270:270:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):249:249 -> c
    271:271:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):247:247 -> c
    272:272:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):245:245 -> c
    273:273:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):243:243 -> c
    274:274:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):241:241 -> c
    275:275:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):239:239 -> c
    276:276:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):237:237 -> c
    1:1:int maxInValueRegister():182:182 -> h2
    1:1:int maxOutValueRegister():187:187 -> i2
    int opcode() -> j2
    1:4:com.android.tools.r8.ir.code.BasicBlock fallthroughBlock():140:143 -> m2
    1:4:com.android.tools.r8.ir.code.BasicBlock getTrueTarget():125:128 -> n2
    1:1:com.android.tools.r8.ir.code.If$Type getType():114:114 -> o2
    1:4:void invert():118:121 -> p2
    1:1:boolean isZeroTest():101:101 -> q2
    1:1:com.android.tools.r8.ir.code.Value lhs():105:105 -> r2
    1:2:com.android.tools.r8.ir.code.Value rhs():109:110 -> s2
    1:3:com.android.tools.r8.ir.code.BasicBlock targetFromNonNullObject():222:224 -> t2
    1:8:java.lang.String toString():169:176 -> toString
    1:3:com.android.tools.r8.ir.code.BasicBlock targetFromNullObject():228:230 -> u2
com.android.tools.r8.ir.code.If$1 -> com.android.tools.r8.internal.un:
    int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
    1:1:void <clinit>():27:27 -> <clinit>
com.android.tools.r8.ir.code.If$Type -> com.android.tools.r8.internal.vn$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>():23:23 -> <clinit>
    2:2:void <clinit>():22:22 -> <clinit>
    1:1:void <init>(java.lang.String,int):22:22 -> <init>
    1:14:com.android.tools.r8.ir.code.If$Type forSwappedOperands():27:40 -> a
    15:15:com.android.tools.r8.ir.code.If$Type forSwappedOperands():38:38 -> a
    16:16:com.android.tools.r8.ir.code.If$Type forSwappedOperands():36:36 -> a
    17:17:com.android.tools.r8.ir.code.If$Type forSwappedOperands():34:34 -> a
    18:18:com.android.tools.r8.ir.code.If$Type forSwappedOperands():32:32 -> a
    1:15:com.android.tools.r8.ir.code.If$Type inverted():45:59 -> b
    16:16:com.android.tools.r8.ir.code.If$Type inverted():55:55 -> b
    17:17:com.android.tools.r8.ir.code.If$Type inverted():53:53 -> b
    18:18:com.android.tools.r8.ir.code.If$Type inverted():51:51 -> b
    19:27:com.android.tools.r8.ir.code.If$Type inverted():49:57 -> b
    28:28:com.android.tools.r8.ir.code.If$Type inverted():47:47 -> b
    1:1:com.android.tools.r8.ir.code.If$Type[] values():22:22 -> c
com.android.tools.r8.ir.code.ImpreciseMemberTypeInstruction -> com.android.tools.r8.internal.vo:
    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.zo:
    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:14:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):86: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():102:102 -> toString
com.android.tools.r8.ir.code.InitClass -> com.android.tools.r8.internal.Mo:
    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.Lo:
    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.vp:
    com.android.tools.r8.ir.code.Value object() -> e
com.android.tools.r8.ir.code.InstanceGet -> com.android.tools.r8.internal.yp:
    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
    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:201:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.conversion.CfBuilder.resolveField(com.android.tools.r8.graph.DexField):229:231 -> a
    199: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
    1:2:com.android.tools.r8.ir.code.Value object():62:63 -> e
    int maxInValueRegister() -> h2
    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.Hp:
    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.Ip:
    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():259:259 -> 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:209:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):131:144 -> a
    210:210:boolean com.android.tools.r8.graph.DexType.isAlwaysNull(com.android.tools.r8.graph.AppView):153:153 -> a
    210:210:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):144 -> a
    211:212:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):148:149 -> a
    213:223:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):158:168 -> a
    224:224:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InstancePut):179:179 -> a
    224:224:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):64 -> a
    225:225:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):199:199 -> a
    226:226:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):239:239 -> a
    227:227:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):244:244 -> a
    228:230:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.conversion.CfBuilder.resolveField(com.android.tools.r8.graph.DexField):229:231 -> a
    228:230:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):244 -> a
    231:231:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):244:244 -> a
    232:232:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):249:249 -> a
    233:233: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):269:269 -> a
    1:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):178:182 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean instructionTypeCanThrow() -> d1
    1:1:com.android.tools.r8.ir.code.Value object():74:74 -> e
    int getValueIndex() -> f
    int maxInValueRegister() -> h2
    1:1:int maxOutValueRegister():192:192 -> i2
    int opcode() -> j2
    boolean throwsOnNullInput() -> l2
    1:1:java.lang.String toString():234:234 -> 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.Sp:
    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 isInvokeStatic() -> M1
    com.android.tools.r8.ir.code.InitClass asInitClass() -> N
    1:1:java.lang.String getInstructionName():346:346 -> N0
    boolean isInvokeVirtual() -> N1
    com.android.tools.r8.ir.code.InstanceFieldInstruction asInstanceFieldInstruction() -> O
    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():1518:1518 -> O0
    boolean isJumpInstruction() -> O1
    com.android.tools.r8.ir.code.InstanceGet asInstanceGet() -> P
    1:1:int getNumber():395:395 -> P0
    boolean isLoad() -> P1
    com.android.tools.r8.ir.code.InstanceOf asInstanceOf() -> Q
    com.android.tools.r8.ir.code.ConstInstruction getOutConstantConstInstruction() -> Q0
    boolean isLogicalBinop() -> Q1
    com.android.tools.r8.ir.code.InstancePut asInstancePut() -> R
    1:2:com.android.tools.r8.ir.code.Position getPosition():82:83 -> R0
    boolean isMonitorEnter() -> R1
    com.android.tools.r8.ir.code.IntSwitch asIntSwitch() -> S
    1:1:java.lang.String getPositionAsString():98:98 -> S0
    boolean isMove() -> S1
    com.android.tools.r8.ir.code.Invoke asInvoke() -> T
    1:1:boolean hasBlock():342:342 -> T0
    boolean isNewArrayEmpty() -> T1
    com.android.tools.r8.ir.code.InvokeCustom asInvokeCustom() -> U
    1:1:boolean hasInValueWithLocalInfo():128:128 -> U0
    boolean isNewArrayFilledData() -> U1
    com.android.tools.r8.ir.code.InvokeDirect asInvokeDirect() -> V
    boolean hasInvariantOutType() -> V0
    boolean isNewInstance() -> V1
    com.android.tools.r8.ir.code.InvokeInterface asInvokeInterface() -> W
    1:1:boolean hasOutValue():141:141 -> W0
    boolean isNumberConversion() -> W1
    com.android.tools.r8.ir.code.InvokeMethod asInvokeMethod() -> X
    1:1:boolean hasPosition():78:78 -> X0
    boolean isOutConstant() -> X1
    com.android.tools.r8.ir.code.InvokeMethodWithReceiver asInvokeMethodWithReceiver() -> Y
    1:1:boolean hasUnusedOutValue():145:145 -> Y0
    boolean isPop() -> Y1
    com.android.tools.r8.ir.code.InvokeMultiNewArray asInvokeMultiNewArray() -> Z
    1:1:boolean hasUsedOutValue():149:149 -> Z0
    boolean isReturn() -> 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:699:boolean com.android.tools.r8.ir.code.InvokeDirect.sameConstructorReceiverValue(com.android.tools.r8.ir.code.Invoke):108:111 -> a
    696:699:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):517 -> a
    700:701:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):520:521 -> a
    702:702:int com.android.tools.r8.ir.code.Instruction.getNumber():395:395 -> a
    702:702:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):525 -> a
    703:711: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
    703:711:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):524 -> a
    712:712: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
    712: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):477 -> a
    712:712:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):524 -> a
    713:713:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.Value.outType():790:790 -> 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 -> 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: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
    714:714:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):524 -> a
    715:721: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
    715:721: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
    715:721:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):524 -> a
    722:722: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
    722:722: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
    722: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
    722:722:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):524 -> a
    723:723:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.Value.outType():790:790 -> 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 -> 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:741: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
    724:741:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):524 -> a
    742:751:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):528:537 -> a
    752:752:int com.android.tools.r8.ir.code.Instruction.getNumber():395:395 -> a
    752:752:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    753:761: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
    753:761:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    762:762: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
    762: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):432 -> a
    762:762:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    763:763:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.Value.outType():790:790 -> 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 -> 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: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
    764:764:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    765:771: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
    765:771: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
    765:771:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    772:772: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
    772:772: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
    772: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
    772:772:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    773:773:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.Value.outType():790:790 -> 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 -> 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:794: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
    774:794:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    795:811: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
    795:811:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    812:813:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):544:545 -> a
    814:814: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
    815:817: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
    818:819:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):1454:1455 -> a
    820:823:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):1461:1464 -> a
    824:825:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):1469:1470 -> a
    826:826: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":2298,"2":2299,"3":2300}}
    2298:2298:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):1470:1470 -> a
    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
    2297:2297:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):1471:1471 -> a
    2301:2309:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1475:1483 -> a
    2310:2310: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":5284,"2":5285,"3":5286}}
    5284:5284:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1483:1483 -> a
    5285:5285:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    5285:5285:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1483 -> a
    5286:5286:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    5286:5286:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1483 -> a
    3793:3796:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1483:1486 -> a
    3797:3797: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":5287,"2":5288,"3":5289}}
    5287:5287:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1486:1486 -> a
    5288:5288:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    5288:5288:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1486 -> a
    5289:5289:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    5289:5289:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1486 -> a
    5283:5283:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1486:1486 -> a
    5290:5292:boolean verifyValidPositionInfo(boolean):1538:1540 -> a
    5293:5293:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    5293:5293:boolean verifyValidPositionInfo(boolean):1541 -> a
    5294:5294:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    5294:5294:boolean verifyValidPositionInfo(boolean):1542 -> a
    5295:5296:boolean verifyValidPositionInfo(boolean):1543:1544 -> a
    5297:5297:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.Position.syntheticNone():117:117 -> a
    5297:5297:boolean com.android.tools.r8.ir.code.Position.isSyntheticNone():137 -> a
    5297:5297:boolean verifyValidPositionInfo(boolean):1544 -> a
    5298:5298: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 isStaticFieldInstruction() -> 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
    1:5:com.android.tools.r8.ir.code.Value swapOutValue(com.android.tools.r8.ir.code.Value):171:175 -> g
    6:7:com.android.tools.r8.ir.code.BasicBlock getBlock():306:307 -> 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
    1:1:com.android.tools.r8.graph.DebugLocalInfo getLocalInfo():686:686 -> i
    com.android.tools.r8.ir.code.Monitor asMonitor() -> i0
    boolean isArrayAccess() -> i1
    int maxOutValueRegister() -> i2
    com.android.tools.r8.ir.code.Instruction asInstruction() -> j
    com.android.tools.r8.ir.code.Move asMove() -> j0
    boolean isArrayGet() -> j1
    int opcode() -> j2
    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.Lp:
    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.Rp:
    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.Mp:
    1:1:void <init>():1557:1557 -> <init>
com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$2 -> com.android.tools.r8.internal.Np:
    1:1:void <init>():1566:1566 -> <init>
com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$3 -> com.android.tools.r8.internal.Op:
    1:1:void <init>():1575:1575 -> <init>
com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$4 -> com.android.tools.r8.internal.Pp:
    1:1:void <init>():1584:1584 -> <init>
com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$5 -> com.android.tools.r8.internal.Qp:
    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.Up:
    1:3:com.android.tools.r8.ir.code.Instruction peekPrevious():45:47 -> e
    1:3:com.android.tools.r8.ir.code.Instruction peekNext():30:32 -> f
    1:1:void remove():15:15 -> remove
com.android.tools.r8.ir.code.InstructionListIterator -> com.android.tools.r8.internal.Vp:
    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 replaceCurrentInstructionWithConstString(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.lang.String):144:144 -> a
    7:7:void replaceCurrentInstructionWithConstString(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.lang.String):143:143 -> a
    8:8:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator):198:198 -> a
    9:9:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode):202:202 -> 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:void replaceCurrentInstructionWithConstFalse(com.android.tools.r8.ir.code.IRCode):130:130 -> 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 replaceCurrentInstructionWithConstTrue(com.android.tools.r8.ir.code.IRCode):138:138 -> c
    void unsetInsertionPosition() -> h
    void removeOrReplaceByDebugLocalRead() -> i
    1:1:void removeInstructionIgnoreOutValue():70:70 -> k
com.android.tools.r8.ir.code.InstructionOrPhi -> com.android.tools.r8.internal.Wp:
    com.android.tools.r8.ir.code.BasicBlock getBlock() -> g
    boolean isPhi() -> h
    com.android.tools.r8.ir.code.Instruction asInstruction() -> j
    com.android.tools.r8.ir.code.Phi asPhi() -> k
com.android.tools.r8.ir.code.IntSwitch -> com.android.tools.r8.internal.gt:
    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.Wt:
    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:54:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):316:326 -> a
    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
    5:5:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> c
    5:5:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):341 -> c
    6:6:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):341:341 -> c
    7:7:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> c
    7:7:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):342 -> c
    8:10:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):342:344 -> 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
    12:12:com.android.tools.r8.ir.code.Value getArgument(int):275:275 -> c
    13:13:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> c
    13:13:com.android.tools.r8.ir.code.Value getArgument(int):275 -> c
    14:14:com.android.tools.r8.ir.code.Value getArgument(int):275:275 -> c
    15:15:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> c
    15:15:com.android.tools.r8.ir.code.Value getArgument(int):276 -> c
    16:16: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:2:int requiredArgumentRegisters():294:295 -> s2
    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.Vt:
    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):429:429 -> 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.Xt:
    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
    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.au:
    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):174:174 -> 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):180:193 -> 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
    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):198:202 -> 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):206 -> f
    7:14:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):208:215 -> 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.Zt:
    1:1:void <init>():218:218 -> <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():222:222 -> 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():222 -> b
    3:3:com.android.tools.r8.ir.code.InvokeDirect build():222:222 -> b
com.android.tools.r8.ir.code.InvokeInterface -> com.android.tools.r8.internal.du:
    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:45:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):131:131 -> a
    46:46: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):141:141 -> a
    47:47:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeInterface):194:194 -> a
    47:47:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):47 -> a
    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.fu:
    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
    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.eu:
    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.gu:
    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.hu:
    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
    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.iu:
    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
    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.ju:
    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
    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.ou:
    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>
    boolean isInvokeStatic() -> M1
    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):168:168 -> 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):175:186 -> 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):186 -> 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):186 -> 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):186 -> 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):191:219 -> a
    70:70:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexClassAndMethod):798:798 -> 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):219 -> a
    71:71:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexMethod):794:794 -> a
    71:71:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexClassAndMethod):798 -> 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):219 -> 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):223:233 -> 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
    1:1: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):94:94 -> 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.nu:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():236:236 -> <clinit>
    1:1:void <init>():236:236 -> <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():240:244 -> b
com.android.tools.r8.ir.code.InvokeSuper -> com.android.tools.r8.internal.pu:
    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):111:115 -> 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):626:626 -> 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):115 -> 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):124:124 -> 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):134:134 -> 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
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):92:92 -> 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):92 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):92:92 -> 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.su:
    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() -> N1
    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():656:656 -> 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:58:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):160:160 -> a
    59:59: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):170:170 -> a
    60:60:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeVirtual):224:224 -> a
    60:60:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):52 -> a
    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.ru:
    1:1:void <init>():174:174 -> <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():178:178 -> b
com.android.tools.r8.ir.code.JumpInstruction -> com.android.tools.r8.internal.zv:
    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() -> O1
    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.wA:
    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.sB:
    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:boolean hasNext():204:204 -> hasNext
    1:4:boolean hasPrevious():247:250 -> hasPrevious
    1:1:void removeOrReplaceByDebugLocalRead():192:192 -> i
    1:1:java.util.Set getSeenBlocks():53:53 -> l
    1:9:com.android.tools.r8.ir.code.Instruction next():209:217 -> m
    10:10:com.android.tools.r8.ir.code.Instruction next():0:0 -> m
      # {"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 -> m
    240:240:com.android.tools.r8.ir.code.Instruction next():218:218 -> m
    241:241:com.android.tools.r8.ir.code.Instruction next():218:218 -> m
    229:238:com.android.tools.r8.ir.code.Instruction next():219:228 -> m
    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.NB:
    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.aC:
    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() -> Q1
    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.ZB:
    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.xD:
    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.TE:
    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 -> R1
    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
    1:1:com.android.tools.r8.ir.code.Value object():45:45 -> e
    int maxInValueRegister() -> h2
    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.RE:
    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.SE:
    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.UE:
    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() -> S1
    boolean hasInvariantOutType() -> V0
    1:1:boolean isOutConstant():82:82 -> X1
    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.WE:
    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():477:477 -> 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.YE:
    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.MF:
    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.LF:
    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.WF:
    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.XF:
    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() -> U1
    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.ZF:
    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 hasInvariantOutType() -> V0
    boolean isNewInstance() -> V1
    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.YF:
    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.aG:
    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.bG:
    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.YG:
    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.XG:
    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.kH:
    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() -> W1
    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.jH:
    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.oH:
    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.tH:
    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.sH:
    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.hK:
    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.dL:
    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() -> J
    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:99:void removeOperandsByIndex(java.util.List):193:204 -> a
    100:103:void replaceOperandAt(int,com.android.tools.r8.ir.code.Value):208:211 -> a
    104:107:void replaceOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):215:218 -> a
    108:140:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):245:277 -> a
    141:141:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    141:141:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):277 -> a
    142:160:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):278:296 -> a
    161:161:void com.android.tools.r8.ir.code.Phi.addDefinitionsUser(java.util.Map):353:353 -> a
    161:161:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):296 -> a
    162:171:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):303:312 -> a
    172:179:void print(com.android.tools.r8.utils.CfgPrinter):341:348 -> a
    180:180:void addDefinitionsUser(java.util.Map):353:353 -> a
    181:184:void lambda$verifyIsStackPhi$0(java.util.Set,com.android.tools.r8.ir.code.Value):383:386 -> a
    185:185:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):402:402 -> a
    186:186:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.Value.outType():790:790 -> a
    186:186:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):402 -> a
    187:195: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:1:com.android.tools.r8.ir.code.Value getOperand(int):180:180 -> c
    2:3:boolean verifyIsStackPhi(java.util.Set):380:381 -> c
    4:6: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
    1:1:com.android.tools.r8.ir.code.BasicBlock getBlock():83:83 -> g
    1:1:void clearDefinitionsUsers():361:361 -> g0
    boolean isPhi() -> 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: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
    com.android.tools.r8.ir.code.Phi asPhi() -> k
    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.dL$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.eL:
    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.oL:
    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.tL:
    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() -> L
    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):316:316 -> 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
    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 getOutermostCallerMatchingOrElse(java.util.function.Predicate,com.android.tools.r8.ir.code.Position,boolean):161:161 -> 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 getOutermostCallerMatchingOrElse(java.util.function.Predicate,com.android.tools.r8.ir.code.Position,boolean):163 -> a
    14:19:com.android.tools.r8.ir.code.Position getOutermostCallerMatchingOrElse(java.util.function.Predicate,com.android.tools.r8.ir.code.Position,boolean):163:168 -> a
    20:23:com.android.tools.r8.ir.code.Position replaceOutermostCallerPosition(com.android.tools.r8.ir.code.Position):184:187 -> a
    24:24:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.Position.getCallerPosition():74:74 -> a
    24:24:com.android.tools.r8.ir.code.Position replaceOutermostCallerPosition(com.android.tools.r8.ir.code.Position):189 -> a
    25:25:com.android.tools.r8.ir.code.Position replaceOutermostCallerPosition(com.android.tools.r8.ir.code.Position):189:189 -> a
    26:28:com.android.tools.r8.ir.code.Position replaceOutermostCallerPosition(com.android.tools.r8.ir.code.Position):188: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
    7:9:com.android.tools.r8.ir.code.Position withOutermostCallerPosition(com.android.tools.r8.ir.code.Position):175:177 -> b
    10:10:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.Position.getCallerPosition():74:74 -> b
    10:10:com.android.tools.r8.ir.code.Position withOutermostCallerPosition(com.android.tools.r8.ir.code.Position):178 -> b
    11:11:com.android.tools.r8.ir.code.Position withOutermostCallerPosition(com.android.tools.r8.ir.code.Position):178:178 -> b
    12:16:com.android.tools.r8.ir.code.Position withOutermostCallerPosition(com.android.tools.r8.ir.code.Position):176:180 -> 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):195:195 -> 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():200:200 -> 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():200 -> 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 -> q
    1:1:com.android.tools.r8.ir.code.Position none():86:86 -> r
    1:1:com.android.tools.r8.ir.code.Position syntheticNone():117:117 -> s
    1:19:java.lang.String com.android.tools.r8.ir.code.Position.toString(boolean):204:222 -> toString
    1:19:java.lang.String toString():227 -> toString
com.android.tools.r8.ir.code.Position$OutlineCallerPosition -> com.android.tools.r8.internal.qL:
    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):474:474 -> <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):495:498 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    1:7:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():514:520 -> a
    int getCompareToId() -> c
    1:1:void lambda$specify$0(com.android.tools.r8.utils.structural.StructuralSpecification):481:481 -> c
    1:4:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):481:484 -> d
    1:1:com.android.tools.r8.graph.DexMethod getOutlineCallee():531:531 -> h
    1:1:com.android.tools.r8.utils.Int2StructuralItemArrayMap getOutlinePositions():536:536 -> i
    boolean isNone() -> m
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():541:541 -> n
    1:1:boolean isOutline():526:526 -> o
    1:1:com.android.tools.r8.ir.code.Position$OutlineCallerPosition$OutlineCallerPositionBuilder builder():545:545 -> v
com.android.tools.r8.ir.code.Position$OutlineCallerPosition$OutlineCallerPositionBuilder -> com.android.tools.r8.internal.pL:
    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>():548:548 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Position$1):548:548 -> <init>
    2:2:void <init>():556:556 -> <init>
    3:3:void <init>():552:552 -> <init>
    1:1:com.android.tools.r8.ir.code.Position build():548:548 -> a
    2:2:com.android.tools.r8.ir.code.Position$OutlineCallerPosition$OutlineCallerPositionBuilder addOutlinePosition(int,com.android.tools.r8.ir.code.Position):569:569 -> a
    3:3:com.android.tools.r8.ir.code.Position$OutlineCallerPosition$OutlineCallerPositionBuilder setIsOutline(boolean):574:574 -> a
    1:1:com.android.tools.r8.ir.code.Position$OutlineCallerPosition$OutlineCallerPositionBuilder setOutlineCallee(com.android.tools.r8.graph.DexMethod):564:564 -> b
    com.android.tools.r8.ir.code.Position$PositionBuilder self() -> c
    1:8:com.android.tools.r8.ir.code.Position$OutlineCallerPosition build():584:591 -> e
    1:1:boolean hasOutlinePositions():579:579 -> f
com.android.tools.r8.ir.code.Position$OutlinePosition -> com.android.tools.r8.internal.sL:
    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):423:423 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean):430:430 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    1:1:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():445:445 -> a
    int getCompareToId() -> c
    1:1:void lambda$getStructuralMapping$0(com.android.tools.r8.utils.structural.StructuralSpecification):450:450 -> c
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():450:450 -> n
    1:1:com.android.tools.r8.ir.code.Position$OutlinePosition$OutlinePositionBuilder builder():454:454 -> v
com.android.tools.r8.ir.code.Position$OutlinePosition$OutlinePositionBuilder -> com.android.tools.r8.internal.rL:
    1:1:void <init>(com.android.tools.r8.ir.code.Position$1):457:457 -> <init>
    2:2:void <init>():460:460 -> <init>
    1:1:com.android.tools.r8.ir.code.Position build():457:457 -> a
    com.android.tools.r8.ir.code.Position$PositionBuilder self() -> c
    1:1:com.android.tools.r8.ir.code.Position$OutlinePosition build():469:469 -> e
com.android.tools.r8.ir.code.Position$PositionBuilder -> com.android.tools.r8.internal.tL$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>():232:235 -> <init>
    com.android.tools.r8.ir.code.Position build() -> a
    1:2:com.android.tools.r8.ir.code.Position$PositionBuilder setLine(int):246:247 -> a
    3:4:com.android.tools.r8.ir.code.Position$PositionBuilder setMethod(com.android.tools.r8.graph.DexMethod):255:256 -> a
    5:6:com.android.tools.r8.ir.code.Position$PositionBuilder setCallerPosition(com.android.tools.r8.ir.code.Position):260:261 -> a
    1:2:com.android.tools.r8.ir.code.Position$PositionBuilder disableMethodCheck():275:276 -> b
    com.android.tools.r8.ir.code.Position$PositionBuilder self() -> c
    1:2:com.android.tools.r8.ir.code.Position$PositionBuilder setRemoveInnerFramesIfThrowingNpe(boolean):265:266 -> d
com.android.tools.r8.ir.code.Position$SourcePosition -> com.android.tools.r8.internal.tL$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>():282:286 -> <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):282:282 -> <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):301:303 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    1:5:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():323:327 -> a
    int getCompareToId() -> c
    1:1:void lambda$specify$0(com.android.tools.r8.utils.structural.StructuralSpecification):292:292 -> c
    1:1:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):292:292 -> d
    2:2:com.android.tools.r8.graph.DexString getFile():313:313 -> d
    1:1:boolean hasFile():308:308 -> l
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():332:332 -> n
    1:1:com.android.tools.r8.ir.code.Position$SourcePosition access$000():282:282 -> v
    1:1:com.android.tools.r8.ir.code.Position$SourcePosition$SourcePositionBuilder builder():336:336 -> w
com.android.tools.r8.ir.code.Position$SourcePosition$SourcePositionBuilder -> com.android.tools.r8.internal.tL$b$a:
    com.android.tools.r8.graph.DexString file -> g
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():339:339 -> <clinit>
    1:1:void <init>():339:339 -> <init>
    1:1:com.android.tools.r8.ir.code.Position build():339:339 -> a
    2:2:com.android.tools.r8.ir.code.Position$SourcePosition$SourcePositionBuilder setFile(com.android.tools.r8.graph.DexString):350:350 -> a
    com.android.tools.r8.ir.code.Position$PositionBuilder self() -> c
    1:3:com.android.tools.r8.ir.code.Position$SourcePosition build():356:358 -> e
com.android.tools.r8.ir.code.Position$SyntheticPosition -> com.android.tools.r8.internal.tL$c:
    com.android.tools.r8.ir.code.Position NO_POSITION_SYNTHETIC -> g
    1:1:void <clinit>():369:369 -> <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):364:364 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean):377:377 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    1:1:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():392:392 -> a
    int getCompareToId() -> c
    1:1:void lambda$getStructuralMapping$0(com.android.tools.r8.utils.structural.StructuralSpecification):397:397 -> c
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():397:397 -> n
    1:1:com.android.tools.r8.ir.code.Position access$100():364:364 -> v
    1:1:com.android.tools.r8.ir.code.Position$SyntheticPosition$SyntheticPositionBuilder builder():401:401 -> w
com.android.tools.r8.ir.code.Position$SyntheticPosition$SyntheticPositionBuilder -> com.android.tools.r8.internal.tL$c$a:
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():404:404 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Position$1):404:404 -> <init>
    2:2:void <init>():407:407 -> <init>
    1:1:com.android.tools.r8.ir.code.Position build():404:404 -> a
    com.android.tools.r8.ir.code.Position$PositionBuilder self() -> c
    1:3:com.android.tools.r8.ir.code.Position$SyntheticPosition build():416:418 -> e
com.android.tools.r8.ir.code.PreviousUntilIterator -> com.android.tools.r8.internal.ZL:
    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.zP:
    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.ER:
    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.SS:
    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() -> Z1
    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:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95:95 -> b
    26:27:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.Return.getReturnType():50:51 -> b
    26:27:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95 -> b
    28:28:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95:95 -> b
    29:31:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isValueTypeCompatible(com.android.tools.r8.ir.analysis.type.TypeElement):460:462 -> b
    29:31: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.RS:
    1:1:void <init>():138:138 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:1:com.android.tools.r8.ir.code.Return build():142:142 -> b
com.android.tools.r8.ir.code.SafeCheckCast -> com.android.tools.r8.internal.lT:
    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.kT:
    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.LT:
    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.NT:
    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.mU:
    int decodedValue() -> a
com.android.tools.r8.ir.code.StackValue -> com.android.tools.r8.internal.qV:
    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:void setNeedsRegister(boolean):54:54 -> a
    1:1:com.android.tools.r8.ir.code.StackValue duplicate(int):39:39 -> c
    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.rV:
    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.HV:
    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:236:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.conversion.CfBuilder.resolveField(com.android.tools.r8.graph.DexField):229:231 -> a
    234: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
    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.GV:
    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.JV:
    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
    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:186:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):109:124 -> a
    187:193:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):123:129 -> a
    194:194:boolean com.android.tools.r8.graph.DexType.isAlwaysNull(com.android.tools.r8.graph.AppView):153:153 -> a
    194:194:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):129 -> a
    195:196:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):133:134 -> a
    197:197:java.lang.Boolean lambda$instructionMayHaveSideEffects$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):124:124 -> a
    198:208:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):154:164 -> a
    209:209:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):184:184 -> a
    210:210:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):219:219 -> a
    211:211:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):224:224 -> a
    212:214:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.conversion.CfBuilder.resolveField(com.android.tools.r8.graph.DexField):229:231 -> a
    212:214:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):224 -> a
    215:215:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):224:224 -> a
    216:216: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):234:234 -> a
    217:217:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.StaticPut):324:324 -> a
    217:217:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):46 -> a
    boolean isStaticFieldInstruction() -> a2
    boolean isStaticPut() -> b
    1:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):174:178 -> b
    1:9:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):240:248 -> d
    boolean instructionTypeCanThrow() -> d1
    int getValueIndex() -> f
    int maxInValueRegister() -> h2
    1:1:int maxOutValueRegister():148:148 -> i2
    int opcode() -> j2
    1:1:java.lang.String toString():189:189 -> 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.KV:
    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.iW:
    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.KW:
    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.VW:
    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.WW:
    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.yX:
    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.tZ:
    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() -> i
com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier$1 -> com.android.tools.r8.internal.sZ:
    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 -> i
com.android.tools.r8.ir.code.UninitializedThisLocalRead -> com.android.tools.r8.internal.RZ:
    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.g00:
    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.o00:
    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.u00:
    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.D00:
    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 -> E
    1:1:boolean isArgument():874:874 -> F
    1:1:boolean isConstClass():828:828 -> G
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> G
    2:2:boolean isConstClass():828 -> G
    1:1:boolean isConstNumber():799:799 -> H
    1:1:boolean isConstString():812:812 -> I
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> I
    2:2:boolean isConstString():812 -> I
    1:1:boolean isConstant():832:832 -> J
    1:1:boolean isDexItemBasedConstString():816:816 -> K
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> K
    2:2:boolean isDexItemBasedConstString():816 -> K
    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
    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
    7:8:boolean isAlwaysNull(com.android.tools.r8.graph.AppView):474:475 -> b
    9:10:void addUser(com.android.tools.r8.ir.code.Instruction):494:495 -> b
    11:12:void fullyRemovePhiUser(com.android.tools.r8.ir.code.Phi):533:534 -> b
    13:16:void replaceDebugUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):689:692 -> b
    17:17:boolean isDefinedByInstructionSatisfying(java.util.function.Predicate):853:853 -> b
    18:18:boolean knownToBeBoolean(java.util.Set):903:903 -> b
    19:19:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> b
    19:19:boolean knownToBeBoolean(java.util.Set):903 -> b
    20:38:boolean knownToBeBoolean(java.util.Set):907:925 -> b
    39:39:void widening(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1060:1060 -> b
    40:41:boolean com.android.tools.r8.ir.code.Value.skipWideningOrNarrowingCheck(com.android.tools.r8.graph.AppView):1085:1086 -> b
    40:41:void widening(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1060 -> b
    42:49:void widening(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1060:1067 -> b
    50:50: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
    1:4:void linkTo(com.android.tools.r8.ir.code.Value):293:296 -> f
    5:5:java.util.Set debugUsers():402:402 -> 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
    5:5:com.android.tools.r8.ir.code.BasicBlock getBlock():1090:1090 -> g
    boolean isPhi() -> h
    1:1:void replaceUsers(com.android.tools.r8.ir.code.Value):588:588 -> h
    1:1:int hashCode():756:756 -> hashCode
    1:2:com.android.tools.r8.ir.code.Phi firstPhiUser():390:391 -> i
    com.android.tools.r8.ir.code.Phi asPhi() -> 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 getStartOfConsecutive():319:319 -> u
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getPreviousConsecutive():330:330 -> u
    2:2:com.android.tools.r8.ir.code.Value getStartOfConsecutive():319 -> u
    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.B00:
    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.E00:
    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.L00:
    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() -> L
    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.K00:
    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.N00:
    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.M00:
    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.L10:
    long decodedValue() -> a
com.android.tools.r8.ir.code.Xor -> com.android.tools.r8.internal.Z20:
    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.c3:
    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.b3:
    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.C6:
    com.android.tools.r8.ir.code.Position currentPosition -> h
    java.util.Map newInstanceLabels -> q
    java.util.List thisInitializers -> p
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.code.BasicBlock pendingFrame -> l
    boolean pendingLocalChanges -> k
    java.util.Map initializers -> o
    com.android.tools.r8.ir.code.IRCode code -> c
    boolean $assertionsDisabled -> r
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap openLocalVariables -> n
    java.util.Map labels -> d
    com.android.tools.r8.cf.CfRegisterAllocator registerAllocator -> g
    java.util.List instructions -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap pendingLocals -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap emittedLocals -> i
    java.util.Set emittedLabels -> e
    com.android.tools.r8.graph.DexEncodedMethod method -> b
    java.util.List localVariablesTable -> m
    1:1:void <clinit>():75:75 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):131:131 -> <init>
    2:46:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):90:134 -> <init>
    1:7:void com.android.tools.r8.ir.conversion.CfBuilder.computeInitializers():235:241 -> a
    1:7:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):138 -> a
    8:14:java.util.List com.android.tools.r8.ir.conversion.CfBuilder.computeInitializers(com.android.tools.r8.ir.code.Value):256:262 -> a
    8:14:void com.android.tools.r8.ir.conversion.CfBuilder.computeInitializers():241 -> a
    8:14:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):138 -> a
    15:21:void com.android.tools.r8.ir.conversion.CfBuilder.computeInitializers():241:247 -> a
    15:21:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):138 -> a
    22:28:java.util.List com.android.tools.r8.ir.conversion.CfBuilder.computeInitializers(com.android.tools.r8.ir.code.Value):256:262 -> a
    22:28:void com.android.tools.r8.ir.conversion.CfBuilder.computeInitializers():247 -> a
    22:28:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):138 -> a
    29:34:void com.android.tools.r8.ir.conversion.CfBuilder.computeInitializers():247:252 -> a
    29:34:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):138 -> a
    35:37:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):139:141 -> a
    38:42:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteNots():269:273 -> a
    38:42:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):142 -> 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():273 -> a
    43:43:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):142 -> a
    44:57:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteNots():277:290 -> a
    44:57:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):142 -> a
    58:58:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteNots():289:289 -> a
    58:58:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):142 -> a
    59:71:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):143:155 -> a
    72:87:java.util.Set com.android.tools.r8.ir.conversion.CfBuilder.insertUninitializedThisLocalReads():191:206 -> a
    72:87:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):158 -> a
    88:104:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):159:175 -> a
    105:110:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():411:416 -> a
    105:110:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):180 -> 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():416 -> a
    111:111:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):180 -> a
    112:144:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():416:448 -> a
    112:144:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):180 -> a
    145:145:int com.android.tools.r8.ir.conversion.CfBuilder.getLocalRegister(com.android.tools.r8.ir.code.Value):684:684 -> a
    145:145:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():448 -> a
    145:145:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):180 -> a
    146:146:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():448:448 -> a
    146:146:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):180 -> a
    147:147:int com.android.tools.r8.ir.conversion.CfBuilder.getLocalRegister(com.android.tools.r8.ir.code.Value):684:684 -> a
    147:147:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():448 -> a
    147:147:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):180 -> a
    148:166:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():449:467 -> a
    148:166:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):180 -> a
    167:167:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():445:445 -> a
    167:167:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):180 -> a
    168:168:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():440:440 -> a
    168:168:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):180 -> a
    169:170:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):182:183 -> a
    171:186:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():305:320 -> a
    171:186:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> 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():321 -> a
    187:187:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    188:190:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():323:325 -> a
    188:190:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> 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():325 -> a
    191:196:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    197:197:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():324:324 -> a
    197:197:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    198:200:void com.android.tools.r8.ir.conversion.CfBuilder.emitLabel(com.android.tools.r8.cf.code.CfLabel):671:673 -> a
    198:200:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():326 -> a
    198:200:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    201:201:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():328:328 -> a
    201:201:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    202:202:boolean com.android.tools.r8.ir.code.CatchHandlers.isEmpty():55:55 -> a
    202:202:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():328 -> a
    202:202:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    203:203:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():330:330 -> a
    203:203:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    204:206:void com.android.tools.r8.ir.conversion.CfBuilder.emitLabel(com.android.tools.r8.cf.code.CfLabel):671:673 -> a
    204:206:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():331 -> a
    204:206:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    207:212:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():335:340 -> a
    207:212:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    213:215:void com.android.tools.r8.ir.conversion.CfBuilder.emitLabel(com.android.tools.r8.cf.code.CfLabel):671:673 -> a
    213:215:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():340 -> a
    213:215:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    216:224:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():342:350 -> a
    216:224:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    225:226: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
    225:226:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167 -> a
    225:226:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():350 -> a
    225:226:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    227:228:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():350:351 -> a
    227:228:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    229:231:int com.android.tools.r8.ir.conversion.CfBuilder.stackHeightAtBlockEntry(com.android.tools.r8.ir.code.BasicBlock):297:299 -> a
    229:231:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():354 -> a
    229:231:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    232:233:void com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker.setHeight(int):126:127 -> a
    232:233:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():354 -> a
    232:233:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> 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):474:474 -> a
    234:234:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    234:234:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> 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):402:402 -> 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):475 -> a
    235:235:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    235:235:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> 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):391:391 -> 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):403 -> 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):475 -> a
    236:236:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    236:236:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    237:237:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():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):392 -> 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):403 -> 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):475 -> a
    237:237:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    237:237:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    238:238:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> 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):393 -> 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):403 -> 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):475 -> a
    238:238:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    238:238:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    239:239:boolean com.android.tools.r8.ir.conversion.CfBuilder.isNopInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock):395:395 -> a
    239:239:boolean com.android.tools.r8.ir.conversion.CfBuilder.hasMaterializingInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):403 -> a
    239:239: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):475 -> a
    239:239:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    239:239:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    240:242: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):479:481 -> a
    240:242:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    240:242:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    243:245:void com.android.tools.r8.ir.conversion.CfBuilder.addFrame(com.android.tools.r8.ir.code.BasicBlock):581:583 -> a
    243: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):481 -> a
    243:245:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    243:245:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    246:246:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    246:246:void com.android.tools.r8.ir.conversion.CfBuilder.addFrame(com.android.tools.r8.ir.code.BasicBlock):583 -> a
    246:246: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):481 -> a
    246:246:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    246:246:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    247:278:void com.android.tools.r8.ir.conversion.CfBuilder.addFrame(com.android.tools.r8.ir.code.BasicBlock):584:615 -> a
    247:278: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):481 -> a
    247:278:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    247:278:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    279: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):482:492 -> a
    279:289:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    279:289:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    290:291:void com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker.pop(com.android.tools.r8.ir.code.Value):121:122 -> a
    290: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):492 -> a
    290:291:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    290:291:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> 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):495:497 -> a
    292:294:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    292:294:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    295:297:void com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker.push(com.android.tools.r8.ir.code.Value):115:117 -> 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):498 -> a
    295:297:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    295:297:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> 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):500:501 -> a
    298:299:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    298:299:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    300:302:void com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker.push(com.android.tools.r8.ir.code.Value):115:117 -> 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):502 -> a
    300:302:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    300:302:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> 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):506 -> a
    303:303:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    303:303:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> 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):507:512 -> a
    304:309:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    304:309:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    310:317:void com.android.tools.r8.ir.conversion.CfBuilder.updatePositionAndLocals(com.android.tools.r8.ir.code.Instruction):521:528 -> 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):514 -> a
    310:317:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    310:317:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> 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):529 -> 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):514 -> a
    318:318:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    318:318:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    319:329:void com.android.tools.r8.ir.conversion.CfBuilder.updatePositionAndLocals(com.android.tools.r8.ir.code.Instruction):530:540 -> 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):514 -> a
    319:329:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    319:329:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    330:330:void com.android.tools.r8.ir.conversion.CfBuilder.add(com.android.tools.r8.cf.code.CfInstruction):688:688 -> a
    330:330:void com.android.tools.r8.ir.conversion.CfBuilder.updatePositionAndLocals(com.android.tools.r8.ir.code.Instruction):540 -> 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):514 -> a
    330:330:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    330:330:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    331:331:void com.android.tools.r8.ir.conversion.CfBuilder.updatePositionAndLocals(com.android.tools.r8.ir.code.Instruction):541:541 -> 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):514 -> a
    331:331:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    331:331:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> 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):515:515 -> a
    332:332:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():355 -> a
    332:332:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    333:333:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():357:357 -> a
    333:333:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    334:334:boolean com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker.isEmpty():111:111 -> a
    334:334:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():357 -> a
    334:334:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    335:360:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():357:382 -> a
    335:360:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):184 -> a
    361:361:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):185:185 -> a
    362:370:boolean com.android.tools.r8.ir.conversion.CfBuilder.verifyInvokeInterface(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.AppView):213:221 -> a
    362:370:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):185 -> a
    371:371:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):186:186 -> a
    372:372: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):838:838 -> a
    372:372:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):186 -> a
    373:373:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):186:186 -> a
    374:375:void updateLocals(com.android.tools.r8.cf.code.CfLabel):546:547 -> a
    376:381: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
    376:381:void updateLocals(com.android.tools.r8.cf.code.CfLabel):547 -> a
    382:382:void updateLocals(com.android.tools.r8.cf.code.CfLabel):548:548 -> a
    383:388: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
    383:388:void updateLocals(com.android.tools.r8.cf.code.CfLabel):549 -> a
    389:404:void updateLocals(com.android.tools.r8.cf.code.CfLabel):550:565 -> a
    405:410:void updateLocals(com.android.tools.r8.cf.code.CfLabel):564:569 -> a
    411:414:boolean localsChanged():573:576 -> a
    415:416:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):619:620 -> a
    417:422: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):629:634 -> a
    417:422:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):622 -> a
    423:423:com.android.tools.r8.graph.DexType com.android.tools.r8.cf.TypeVerificationHelper$NewInstanceInfo.getDexType():70:70 -> a
    423:423: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):634 -> a
    423:423:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):622 -> a
    424:455: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):633:664 -> a
    424:455:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):622 -> a
    456:456:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):623:623 -> a
    457:457: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):639:639 -> a
    457:457:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):622 -> a
    458:458:com.android.tools.r8.cf.code.CfLabel getLabel(com.android.tools.r8.ir.code.BasicBlock):680:680 -> a
    459:459:int getLocalRegister(com.android.tools.r8.ir.code.Value):684:684 -> a
    460:460:void add(com.android.tools.r8.cf.code.CfInstruction):688:688 -> a
    1:1:com.android.tools.r8.cf.code.CfLabel lambda$getLabel$0(com.android.tools.r8.ir.code.BasicBlock):680:680 -> b
com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker -> com.android.tools.r8.internal.B6:
    int height -> b
    boolean $assertionsDisabled -> c
    int maxHeight -> a
    1:1:void <clinit>():106:106 -> <clinit>
    1:3:void <init>():106:108 -> <init>
    4:4:void <init>(com.android.tools.r8.ir.conversion.CfBuilder$1):106:106 -> <init>
com.android.tools.r8.ir.conversion.CfSourceCode -> com.android.tools.r8.internal.r8:
    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():477:477 -> a
    4:4:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):305 -> a
    5:7:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):305:305 -> a
    9:11:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):307:309 -> a
    12:13:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.isEmpty():89:90 -> a
    12:13:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):309 -> a
    14:15:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):311:312 -> a
    16:16:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.<init>():104:104 -> a
    16:16:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):312 -> a
    17:35:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):313:331 -> a
    36:36:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):338:338 -> a
    37:37:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.validFor(int):85:85 -> a
    37:37:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):338 -> a
    38:41:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):339:342 -> a
    42:43: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
    42:43:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):340 -> a
    44:44:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
    44:44: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
    44:44:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):340 -> a
    45:45: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
    45:45:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):340 -> a
    46:46:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.<init>():104:104 -> a
    46:46: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
    46:46:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):340 -> a
    47:75: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
    47:75:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):340 -> a
    76:83:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):340:347 -> a
    84:84:boolean com.android.tools.r8.ir.conversion.CfSourceCode.isCurrentlyGeneratingMethodSynchronization():420:420 -> a
    84:84:com.android.tools.r8.graph.DebugLocalInfo getOutgoingLocal(int):751 -> a
    85:90:com.android.tools.r8.graph.DebugLocalInfo getOutgoingLocal(int):754:759 -> a
    91:96:void com.android.tools.r8.ir.conversion.CfSourceCode.buildExceptionalExitMethodSynchronization(com.android.tools.r8.ir.conversion.IRBuilder):445:450 -> a
    91:96:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):509 -> a
    97:108:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):512:523 -> a
    109:116:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):520:527 -> a
    117:126:void com.android.tools.r8.ir.conversion.CfSourceCode.setLocalVariableLists():763:772 -> a
    117:126:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):528 -> a
    127:129:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):530:532 -> a
    130:132: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
    130:132:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):532 -> a
    133:133:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):533:533 -> a
    134:134:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    134:134:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    134:134:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):533 -> a
    135:136:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):533:534 -> a
    137:137:boolean com.android.tools.r8.ir.conversion.CfSourceCode.localsChanged():776:776 -> a
    137:137:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):538 -> a
    138:141:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):540:543 -> a
    142:142:void com.android.tools.r8.ir.conversion.CfSourceCode.endLocals(com.android.tools.r8.ir.conversion.IRBuilder):780:780 -> a
    142:142:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):562 -> a
    143:143:boolean com.android.tools.r8.ir.conversion.CfSourceCode.localsChanged():776:776 -> a
    143:143:void com.android.tools.r8.ir.conversion.CfSourceCode.endLocals(com.android.tools.r8.ir.conversion.IRBuilder):780 -> a
    143:143:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):562 -> a
    144:147:void com.android.tools.r8.ir.conversion.CfSourceCode.endLocals(com.android.tools.r8.ir.conversion.IRBuilder):780:783 -> a
    144:147:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):562 -> a
    148:155:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):545: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":1097,"2":1098,"3":1099,"4":1100,"5":1101,"6":1102}}
    1097:1097: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
    1098:1098: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
    1099:1099: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
    1100:1100: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
    1101:1101: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
    1102:1102: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:1053: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:688 -> a
    1054:1055:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition(int):263:264 -> a
    1054:1055:com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):701 -> a
    1056:1096:com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):701:741 -> a
    1103:1104:boolean isControlFlow(com.android.tools.r8.cf.code.CfInstruction):823:824 -> a
    1105:1105:boolean hasValidTypesFromStackMap():866:866 -> a
    1106:1110:com.android.tools.r8.ir.code.Position getCanonicalPosition(com.android.tools.r8.ir.code.Position):903:907 -> a
    1111:1113:com.android.tools.r8.ir.code.Position getCanonicalPosition(com.android.tools.r8.ir.code.Position):906:908 -> a
    1114:1114:com.android.tools.r8.ir.code.Position getCanonicalPosition(com.android.tools.r8.ir.code.Position):903:903 -> a
    void setUp() -> b
    1:1:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):831:831 -> b
    2:2:boolean com.android.tools.r8.ir.conversion.CfSourceCode.isCurrentlyGeneratingMethodSynchronization():420:420 -> b
    2:2:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):834 -> b
    3:5:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):837:839 -> b
    6:8:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):838:840 -> b
    9:10:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.isEmpty():89:90 -> b
    9:10:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):840 -> b
    11:11:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):843:843 -> b
    12:20:com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int):872:872 -> b
    29:42:com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int):881:894 -> b
    43:43:boolean lambda$getCanonicalDebugPositionAtOffset$0(com.android.tools.r8.cf.code.CfInstruction):876:876 -> b
    1:3:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):388:390 -> c
    4:13:void com.android.tools.r8.ir.conversion.CfSourceCode.setLocalVariableLists():763:772 -> c
    4:13:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):391 -> c
    14:34:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):392:412 -> c
    35:47:void com.android.tools.r8.ir.conversion.CfSourceCode.buildMethodEnterSynchronization(com.android.tools.r8.ir.conversion.IRBuilder):428:440 -> c
    35:47:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):413 -> c
    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):1299:1301 -> c
    48:50:void com.android.tools.r8.ir.conversion.CfSourceCode.buildMethodEnterSynchronization(com.android.tools.r8.ir.conversion.IRBuilder):440 -> c
    48:50:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):413 -> c
    51:52:void com.android.tools.r8.ir.conversion.CfSourceCode.buildMethodEnterSynchronization(com.android.tools.r8.ir.conversion.IRBuilder):440:441 -> c
    51:52:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):413 -> c
    53:54:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):415:416 -> c
    55:55:boolean com.android.tools.r8.ir.conversion.CfSourceCode.isCurrentlyGeneratingMethodSynchronization():420:420 -> c
    55:55:com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int):746 -> c
    56:56:com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int):746:746 -> c
    57:57:boolean com.android.tools.r8.ir.conversion.CfSourceCode.isCurrentlyGeneratingMethodSynchronization():420:420 -> c
    57:57:boolean verifyCurrentInstructionCanThrow():853 -> c
    58:61:boolean verifyCurrentInstructionCanThrow():853:856 -> c
    62:62:com.android.tools.r8.ir.code.Position lambda$getCanonicalDebugPositionAtOffset$1(com.android.tools.r8.cf.code.CfInstruction):877:877 -> c
    int getMoveExceptionRegister(int) -> d
    1:1:int instructionCount():277:277 -> d
    int instructionOffset(int) -> e
    1:1:com.android.tools.r8.ir.code.Position getCurrentPosition():899:899 -> e
    boolean verifyRegister(int) -> f
    1:1:int getCurrentInstructionIndex():593:593 -> f
    int instructionIndex(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
    3:6:com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList getLocalVariables(int):352:355 -> h
    7:7:java.lang.Iterable lambda$getCanonicalDebugPositionAtOffset$2():878:878 -> h
    8:11: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.o8:
    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.p8:
    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:19:com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList compute(int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):158:176 -> a
com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList -> com.android.tools.r8.internal.q8:
    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.s8:
    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.E8:
    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.v8:
    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.w8:
    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.x8:
    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.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239:239 -> a
    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:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition(int):263:264 -> a
    5:6:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition():259 -> a
    5:6:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239 -> a
    5:6:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):465 -> a
    7:8:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):465:466 -> a
    9:9:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239:239 -> a
    9:9:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):466 -> a
    10:10:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition():259:259 -> a
    10:10:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239 -> a
    10:10:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):466 -> a
    11:12:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition(int):263:264 -> a
    11:12:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition():259 -> a
    11:12:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239 -> a
    11:12:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):466 -> a
    13:13: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.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239:239 -> b
    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:5:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition(int):263:264 -> b
    4:5:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition():259 -> b
    4:5:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239 -> b
    4:5:com.android.tools.r8.ir.conversion.CfState$Slot getStack(int):454 -> b
    6:6:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState$Push.peek():459:459 -> b
    6:6:com.android.tools.r8.ir.conversion.CfState$Slot getStack(int):454 -> b
    7:7: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.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239:239 -> d
    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
    4:5:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition(int):263:264 -> d
    4:5:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition():259 -> d
    4:5:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239 -> d
    4:5: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.y8:
    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:3:boolean isPrecise():284:284 -> a
    4:4:boolean com.android.tools.r8.ir.conversion.CfState$SlotType.isPrecise():0:0 -> a
    4:4: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.B8:
    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.z8:
    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.A8:
    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.C8:
    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.D8:
    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.C9:
    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>():25:25 -> <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):36:40 -> <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):56 -> a
    2:4:com.android.tools.r8.ir.conversion.ClassConverterResult convertClasses(java.util.concurrent.ExecutorService):57:59 -> a
    5:67:void internalConvertClasses(com.android.tools.r8.ir.conversion.ClassConverterResult$Builder,java.util.concurrent.ExecutorService):65:127 -> a
    68:68:void lambda$internalConvertClasses$0(com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.DexProgramClass):101:101 -> a
    69:73:void lambda$internalConvertClasses$1(com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):117:121 -> a
    1:1:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):139:139 -> b
com.android.tools.r8.ir.conversion.ClassConverter$DefaultClassConverter -> com.android.tools.r8.internal.A9:
    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):151:151 -> <init>
    void notifyAllClassesConverted() -> a
    1:1:void convertClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):157:157 -> a
com.android.tools.r8.ir.conversion.ClassConverter$LibraryDesugaredClassConverter -> com.android.tools.r8.internal.B9:
    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):175:175 -> <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):168:168 -> <init>
    1:5:void convertClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):183:187 -> a
    6:6:void notifyAllClassesConverted():193:193 -> a
com.android.tools.r8.ir.conversion.ClassConverterResult -> com.android.tools.r8.internal.E9:
    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.D9:
    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.Ud:
    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):226:226 -> 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):34:34 -> 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):226:226 -> 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):34:34 -> 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.Wf:
    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:79:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):406:413 -> a
    80:80:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> a
    80:80:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):413 -> a
    81:101:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):415:435 -> a
    102:103: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
    102:103:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167 -> a
    102:103:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):435 -> a
    104:104:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):438:438 -> a
    105:105:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> a
    105:105:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):439 -> a
    106:106:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):440:440 -> a
    107:107: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
    107:107:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):441 -> a
    108:110:boolean com.android.tools.r8.ir.conversion.DexBuilder.isNonMaterializingConstNumber(com.android.tools.r8.ir.code.Instruction):606:608 -> a
    108:110: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
    108:110:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):441 -> a
    111:111: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
    111:111:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):441 -> a
    112:125:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):443:456 -> a
    126:126:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    126:126:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):457 -> a
    127:148:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):459:480 -> a
    149:149:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":640,"2":641,"3":642}}
    640:640:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):481:481 -> a
    641:641:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):481:481 -> a
    642:642:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):481:481 -> a
    631:631:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):482:482 -> a
    632:633:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isFallthroughBlock(com.android.tools.r8.ir.code.BasicBlock):417:418 -> a
    632:633:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):482 -> a
    634:639:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):483:488 -> a
    643:654:void com.android.tools.r8.ir.conversion.DexBuilder.rewriteIfs():504:515 -> a
    643:654:com.android.tools.r8.graph.DexCode build():197 -> a
    655:659:void com.android.tools.r8.ir.conversion.DexBuilder.rewriteIfs():514:518 -> a
    655:659:com.android.tools.r8.graph.DexCode build():197 -> a
    660:660:com.android.tools.r8.graph.DexCode build():201:201 -> a
    661:666:void com.android.tools.r8.ir.conversion.DexBuilder.reset():173:178 -> a
    661:666:com.android.tools.r8.graph.DexCode build():204 -> a
    667:667:int com.android.tools.r8.ir.conversion.DexBuilder.instructionNumberToIndex(int):674:674 -> a
    667:667:void com.android.tools.r8.ir.conversion.DexBuilder.reset():178 -> a
    667:667:com.android.tools.r8.graph.DexCode build():204 -> a
    668:671:void com.android.tools.r8.ir.conversion.DexBuilder.reset():178:181 -> a
    668:671:com.android.tools.r8.graph.DexCode build():204 -> a
    672:757:com.android.tools.r8.graph.DexCode build():209:294 -> a
    758:777: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
    758:777:com.android.tools.r8.graph.DexCode build():297 -> a
    778:792:com.android.tools.r8.graph.DexCode build():298:312 -> a
    793:793:com.android.tools.r8.code.FillArrayDataPayload com.android.tools.r8.ir.code.NewArrayFilledData.createPayload():54:54 -> a
    793:793:com.android.tools.r8.graph.DexCode build():312 -> a
    794:797:com.android.tools.r8.graph.DexCode build():313:316 -> a
    798:800:com.android.tools.r8.ir.conversion.DexBuilder$TryInfo com.android.tools.r8.ir.conversion.DexBuilder.computeTryInfo():752:754 -> a
    798:800:com.android.tools.r8.graph.DexCode build():320 -> a
    801:806:com.android.tools.r8.graph.DexCode$Try[] com.android.tools.r8.ir.conversion.DexBuilder.getDexTryItems(java.util.List,java.util.Map):855:860 -> a
    801:806:com.android.tools.r8.ir.conversion.DexBuilder$TryInfo com.android.tools.r8.ir.conversion.DexBuilder.computeTryInfo():756 -> a
    801:806:com.android.tools.r8.graph.DexCode build():320 -> a
    807:807:com.android.tools.r8.ir.conversion.DexBuilder$TryInfo com.android.tools.r8.ir.conversion.DexBuilder.computeTryInfo():757:757 -> a
    807:807:com.android.tools.r8.graph.DexCode build():320 -> a
    808:825:com.android.tools.r8.graph.DexCode$TryHandler[] com.android.tools.r8.ir.conversion.DexBuilder.getDexTryHandlers(java.util.Map):866:883 -> a
    808:825:com.android.tools.r8.ir.conversion.DexBuilder$TryInfo com.android.tools.r8.ir.conversion.DexBuilder.computeTryInfo():757 -> a
    808:825:com.android.tools.r8.graph.DexCode build():320 -> a
    826:835:com.android.tools.r8.graph.DexCode build():323:332 -> a
    836:837:void requestOutgoingRegisters(int):528:529 -> a
    838:838:int allocatedRegister(com.android.tools.r8.ir.code.Value,int):534:534 -> a
    839:842:void addGoto(com.android.tools.r8.ir.code.Goto):544:547 -> a
    843:857:boolean com.android.tools.r8.ir.conversion.DexBuilder.needsNopBetweenMoveAndInstanceOf(com.android.tools.r8.code.InstanceOf):552:566 -> a
    843:857:void addInstanceOf(com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.code.InstanceOf):576 -> a
    858:860:void addInstanceOf(com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.code.InstanceOf):577:579 -> a
    861:862:void addIf(com.android.tools.r8.ir.code.If):584:585 -> a
    863:863:void addMove(com.android.tools.r8.ir.code.Move):589:589 -> a
    864:864:void addNop(com.android.tools.r8.ir.code.Instruction):612:612 -> a
    865:867:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.code.Instruction):622:624 -> a
    868:869:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.code.Instruction[]):628:629 -> a
    870:872:void addSwitch(com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.code.Format31t):633:635 -> a
    873:874:void addFillArrayData(com.android.tools.r8.ir.code.NewArrayFilledData,com.android.tools.r8.code.FillArrayData):639:640 -> a
    875:876:void addArgument(com.android.tools.r8.ir.code.Argument):644:645 -> a
    877:881:void addReturn(com.android.tools.r8.ir.code.Return,com.android.tools.r8.code.Instruction):649:653 -> a
    882:882:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):658:658 -> a
    883:884:void com.android.tools.r8.ir.conversion.DexBuilder.setSingleInfo(com.android.tools.r8.ir.conversion.DexBuilder$Info):692:693 -> a
    883:884:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):660 -> a
    885:891:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):663:669 -> a
    892: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):684:688 -> a
    892:896:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):670 -> a
    897:897:int com.android.tools.r8.ir.conversion.DexBuilder.instructionNumberToIndex(int):674:674 -> a
    897:897: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
    897:897:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):670 -> a
    898:898: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
    898:898:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):670 -> a
    899:910:com.android.tools.r8.ir.conversion.DexBuilder$Info getTargetInfo(com.android.tools.r8.ir.code.BasicBlock):697:708 -> a
    911:916: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
    911:916:com.android.tools.r8.ir.conversion.DexBuilder$Info getTargetInfo(com.android.tools.r8.ir.code.BasicBlock):709 -> a
    917:920:com.android.tools.r8.ir.conversion.DexBuilder$Info getTargetInfo(com.android.tools.r8.ir.code.BasicBlock):709:712 -> a
    921:933:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):763: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):775 -> a
    935:936:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):775:776 -> a
    937:937:boolean com.android.tools.r8.ir.code.CatchHandlers.isEmpty():55:55 -> a
    937:937:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):776 -> a
    938:972:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):777:811 -> a
    973:977:int com.android.tools.r8.ir.conversion.DexBuilder.trimEnd(com.android.tools.r8.ir.code.BasicBlock):843:847 -> a
    973:977:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):811 -> a
    978:978:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):811:811 -> a
    979:979:int com.android.tools.r8.ir.conversion.DexBuilder.trimEnd(com.android.tools.r8.ir.code.BasicBlock):850:850 -> a
    979:979:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):811 -> a
    980:1004:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):813:837 -> a
    1005:1009:int com.android.tools.r8.ir.conversion.DexBuilder.trimEnd(com.android.tools.r8.ir.code.BasicBlock):843:847 -> a
    1005:1009:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):837 -> a
    1010:1010:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):837:837 -> a
    1011:1011:int com.android.tools.r8.ir.conversion.DexBuilder.trimEnd(com.android.tools.r8.ir.code.BasicBlock):850:850 -> a
    1011:1011:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):837 -> a
    1:1:void access$300(com.android.tools.r8.ir.conversion.DexBuilder,com.android.tools.r8.ir.code.BasicBlock):84:84 -> b
    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.Lf:
    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.Mf:
    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.Nf:
    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.Of:
    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.Pf:
    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.Qf:
    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
    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.Rf:
    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.Sf:
    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.Tf:
    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.Uf:
    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.Vf:
    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.Kg:
    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
    com.android.tools.r8.graph.DebugLocalInfo getOutgoingLocal(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.ir.code.Position getCanonicalPositionAppendCaller(com.android.tools.r8.graph.DexDebugEntry):263:263 -> a
    32:39:com.android.tools.r8.ir.code.Position getCanonicalPositionAppendCaller(com.android.tools.r8.graph.DexDebugEntry):266:266 -> a
    40:42:void resolveAndBuildSwitch(int,int,int,com.android.tools.r8.ir.conversion.IRBuilder):294:294 -> a
    43:47:void resolveAndBuildNewArrayFilledData(int,int,com.android.tools.r8.ir.conversion.IRBuilder):301:301 -> a
    48:63:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):334:349 -> a
    64:64:com.android.tools.r8.graph.DexCode$Try com.android.tools.r8.ir.conversion.DexSourceCode.getTryForOffset(int):404:404 -> a
    64:64:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):352 -> a
    65:65:boolean com.android.tools.r8.ir.conversion.DexSourceCode.inTryRange(com.android.tools.r8.graph.DexCode$Try,int):399:399 -> a
    65:65:com.android.tools.r8.graph.DexCode$Try com.android.tools.r8.ir.conversion.DexSourceCode.getTryForOffset(int):405 -> a
    65:65:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):352 -> a
    66:67:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):355:356 -> a
    68:68:boolean com.android.tools.r8.ir.conversion.DexSourceCode.isMoveResult(com.android.tools.r8.code.Instruction):327:327 -> a
    68:68:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):356 -> a
    69:72:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):363:366 -> a
    73:73: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
    73:73:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):366 -> a
    74:78:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):366:370 -> a
    79:79:boolean com.android.tools.r8.ir.conversion.DexSourceCode.isMoveResult(com.android.tools.r8.code.Instruction):327:327 -> a
    79:79:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):370 -> a
    80:80:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):371:371 -> a
    81:81:boolean com.android.tools.r8.ir.conversion.DexSourceCode.isInvoke(com.android.tools.r8.code.Instruction):308:308 -> a
    81:81:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):371 -> a
    82:99:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):371:388 -> a
    100:101:int[] com.android.tools.r8.ir.conversion.SwitchPayloadResolver.absoluteTargets(com.android.tools.r8.code.Instruction):63:64 -> a
    100:101:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):388 -> a
    102:105:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):388:391 -> a
    106:108:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexCode$Try):413:415 -> a
    109:117: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
    109:117:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexCode$Try):415 -> a
    118:118:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexCode$Try):422:422 -> a
    119:120:void lambda$getCurrentCatchHandlers$0(java.util.List,java.util.List,com.android.tools.r8.graph.DexType,java.lang.Integer):419:420 -> a
    121:122:java.util.List getTryHandlerOffsets(com.android.tools.r8.graph.DexCode$Try,com.android.tools.r8.graph.DexItemFactory):445:446 -> a
    123:131: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
    123:131:java.util.List getTryHandlerOffsets(com.android.tools.r8.graph.DexCode$Try,com.android.tools.r8.graph.DexItemFactory):446 -> a
    132:132:void lambda$getTryHandlerOffsets$1(java.util.List,com.android.tools.r8.graph.DexType,java.lang.Integer):446:446 -> a
    1:8:void setUp():129:136 -> b
    9:9:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):182:182 -> b
    10:12:com.android.tools.r8.graph.DexDebugEntry com.android.tools.r8.ir.conversion.DexSourceCode.getDebugEntryAtOffset(int):234:236 -> b
    10:12:com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int):197 -> b
    13:14:com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int):199:200 -> b
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int) -> c
    1:7:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):144:150 -> c
    8:13:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):148:153 -> c
    14:14:boolean verifyCurrentInstructionCanThrow():211:211 -> c
    1:2:void clear():277:278 -> clear
    1:1:int instructionCount():108:108 -> d
    2:5:int getMoveExceptionRegister(int):187:190 -> d
    1:1:com.android.tools.r8.ir.code.Position getCurrentPosition():205:205 -> e
    2:2:int instructionOffset(int):288:288 -> e
    1:1:boolean verifyRegister(int):103:103 -> f
    1:1:int instructionIndex(int):283:283 -> g
com.android.tools.r8.ir.conversion.ExtraConstantIntParameter -> com.android.tools.r8.internal.Wi:
    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.Xi:
    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.Yi:
    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.Bj:
    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.Um:
    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.RewrittenPrototypeDescription prototypeChanges -> r
    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.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.RewrittenPrototypeDescription,com.android.tools.r8.ir.code.NumberGenerator):477:477 -> <init>
    2:116: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.RewrittenPrototypeDescription,com.android.tools.r8.ir.code.NumberGenerator):373:487 -> <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.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.RewrittenPrototypeDescription com.android.tools.r8.graph.GraphLens.lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod):460:460 -> a
    6:6:com.android.tools.r8.graph.RewrittenPrototypeDescription com.android.tools.r8.ir.conversion.IRBuilder.lookupPrototypeChanges(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):459 -> a
    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.RewrittenPrototypeDescription):453:453 -> a
    9:10:void addToWorklist(com.android.tools.r8.ir.code.BasicBlock,int):528:529 -> a
    11:18:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):539:546 -> a
    19:22:void com.android.tools.r8.ir.conversion.IRBuilder.addThisArgument(int):976:979 -> a
    19:22:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):547 -> a
    23:23:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getOutgoingLocal(int):2357:2357 -> a
    23:23:void com.android.tools.r8.ir.conversion.IRBuilder.addThisArgument(int,com.android.tools.r8.ir.analysis.type.TypeElement):984 -> a
    23:23:void com.android.tools.r8.ir.conversion.IRBuilder.addThisArgument(int):980 -> a
    23:23:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):547 -> a
    24:27:void com.android.tools.r8.ir.conversion.IRBuilder.addThisArgument(int,com.android.tools.r8.ir.analysis.type.TypeElement):985:988 -> a
    24:27:void com.android.tools.r8.ir.conversion.IRBuilder.addThisArgument(int):980 -> a
    24:27:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):547 -> a
    28:29:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):553:554 -> a
    30:30:int com.android.tools.r8.graph.DexEncodedMethod.getFirstNonReceiverArgumentIndex():204:204 -> a
    30:30:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):555 -> a
    31:38:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):555:562 -> a
    39:39:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> a
    39:39:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):562 -> a
    40:44:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):563:567 -> a
    45:47:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):566:568 -> a
    48:48:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    48:48:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):571 -> a
    49:51:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):572:574 -> a
    52:79:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):573:600 -> a
    80:83:void com.android.tools.r8.ir.conversion.IRBuilder.addExtraUnusedArgument(int,com.android.tools.r8.graph.DexType):995:998 -> a
    80:83:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):601 -> 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:69 -> a
    84:84:void com.android.tools.r8.ir.conversion.IRBuilder.addExtraUnusedArgument(int,com.android.tools.r8.graph.DexType):998 -> a
    84:84:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):601 -> a
    85:85: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
    85:85:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    85:85:void com.android.tools.r8.ir.conversion.IRBuilder.addExtraUnusedArgument(int,com.android.tools.r8.graph.DexType):998 -> a
    85:85:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):601 -> a
    86:88:void com.android.tools.r8.ir.conversion.IRBuilder.addExtraUnusedArgument(int,com.android.tools.r8.graph.DexType):998:1000 -> a
    86:88:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):601 -> a
    89:93:void com.android.tools.r8.ir.conversion.IRBuilder.addNonThisArgument(com.android.tools.r8.ir.code.Argument):1016:1020 -> a
    89:93:void com.android.tools.r8.ir.conversion.IRBuilder.addExtraUnusedArgument(int,com.android.tools.r8.graph.DexType):1000 -> a
    89:93:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):601 -> a
    94:94:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):603:603 -> a
    95:111:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):615:631 -> a
    112:113:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2476:2477 -> a
    112:113:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):633 -> a
    114:115:void com.android.tools.r8.ir.conversion.IRBuilder.ensureSubroutineProcessedInstructions():2494:2495 -> a
    114:115:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2479 -> a
    114:115:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):633 -> a
    116:116:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2480:2480 -> a
    116:116:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):633 -> a
    117:117:void com.android.tools.r8.ir.conversion.IRBuilder.markIndexProcessed(int):2484:2484 -> a
    117:117:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):638 -> a
    118:119:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2476:2477 -> a
    118:119:void com.android.tools.r8.ir.conversion.IRBuilder.markIndexProcessed(int):2484 -> a
    118:119:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):638 -> a
    120:121:void com.android.tools.r8.ir.conversion.IRBuilder.ensureSubroutineProcessedInstructions():2494:2495 -> a
    120:121:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2479 -> a
    120:121:void com.android.tools.r8.ir.conversion.IRBuilder.markIndexProcessed(int):2484 -> a
    120:121:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):638 -> a
    122:122:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2480:2480 -> a
    122:122:void com.android.tools.r8.ir.conversion.IRBuilder.markIndexProcessed(int):2484 -> a
    122:122:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):638 -> a
    123:125:void com.android.tools.r8.ir.conversion.IRBuilder.markIndexProcessed(int):2484:2486 -> a
    123:125:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):638 -> a
    126:127:void com.android.tools.r8.ir.conversion.IRBuilder.ensureSubroutineProcessedInstructions():2494:2495 -> a
    126:127:void com.android.tools.r8.ir.conversion.IRBuilder.markIndexProcessed(int):2489 -> a
    126:127:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):638 -> a
    128:128:void com.android.tools.r8.ir.conversion.IRBuilder.markIndexProcessed(int):2490:2490 -> a
    128:128:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):638 -> a
    129:139:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):639:649 -> a
    140:140:void com.android.tools.r8.ir.conversion.IRBuilder.ensureNormalSuccessorBlock(int,int):2515:2515 -> a
    140:140:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):650 -> a
    141:143:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):656:658 -> a
    144:144:void com.android.tools.r8.ir.conversion.IRBuilder.setCurrentBlock(com.android.tools.r8.ir.code.BasicBlock):534:534 -> a
    144:144:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):658 -> a
    145:150:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):659:664 -> a
    151:156:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():873:878 -> a
    151:156:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):665 -> a
    157:157:void com.android.tools.r8.ir.conversion.IRBuilder.setCurrentBlock(com.android.tools.r8.ir.code.BasicBlock):534:534 -> a
    157:157:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():878 -> a
    157:157:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):665 -> a
    158:162:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():879:883 -> a
    158:162:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):665 -> a
    163:187:void com.android.tools.r8.ir.conversion.IRBuilder.processMoveExceptionItem(com.android.tools.r8.ir.conversion.IRBuilder$MoveExceptionWorklistItem):924:948 -> a
    163:187:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():883 -> a
    163:187:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):665 -> a
    188:193:void com.android.tools.r8.ir.conversion.IRBuilder.processMoveExceptionItem(com.android.tools.r8.ir.conversion.IRBuilder$MoveExceptionWorklistItem):947:952 -> a
    188:193:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():883 -> a
    188:193:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):665 -> a
    194:201:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():884:891 -> a
    194:201:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):665 -> a
    202:225:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():890:913 -> a
    202:225:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):665 -> a
    226:229:void com.android.tools.r8.ir.conversion.IRBuilder.closeCurrentBlockWithFallThrough(com.android.tools.r8.ir.code.BasicBlock):2560:2563 -> a
    226:229:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():913 -> a
    226:229:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):665 -> a
    230:231:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():916:917 -> a
    230:231:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):665 -> a
    232:232:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():873:873 -> a
    232:232:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):665 -> a
    233:233:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668:668 -> a
    234:235:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():812:813 -> a
    234:235:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):673 -> a
    236:241:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):819:824 -> a
    236:241:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():813 -> a
    236:241:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):673 -> a
    242:242:int com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.predecessorCount():304:304 -> a
    242:242:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):824 -> a
    242:242:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():813 -> a
    242:242:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):673 -> a
    243:249:int com.android.tools.r8.ir.conversion.IRBuilder.nonSplitPredecessorCount(com.android.tools.r8.ir.code.BasicBlock):841:847 -> a
    243:249:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):824 -> a
    243:249:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():813 -> a
    243:249:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):673 -> a
    250:251:boolean com.android.tools.r8.ir.conversion.IRBuilder.trivialGotoBlockPotentiallyWithMoveException(com.android.tools.r8.ir.code.BasicBlock):864:865 -> a
    250:251:int com.android.tools.r8.ir.conversion.IRBuilder.nonSplitPredecessorCount(com.android.tools.r8.ir.code.BasicBlock):848 -> a
    250:251:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):824 -> a
    250:251:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():813 -> a
    250:251:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):673 -> a
    252:252:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    252:252:boolean com.android.tools.r8.ir.conversion.IRBuilder.trivialGotoBlockPotentiallyWithMoveException(com.android.tools.r8.ir.code.BasicBlock):865 -> a
    252:252:int com.android.tools.r8.ir.conversion.IRBuilder.nonSplitPredecessorCount(com.android.tools.r8.ir.code.BasicBlock):848 -> a
    252:252:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):824 -> a
    252:252:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():813 -> a
    252:252:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):673 -> a
    253:254:boolean com.android.tools.r8.ir.conversion.IRBuilder.trivialGotoBlockPotentiallyWithMoveException(com.android.tools.r8.ir.code.BasicBlock):866:867 -> a
    253:254:int com.android.tools.r8.ir.conversion.IRBuilder.nonSplitPredecessorCount(com.android.tools.r8.ir.code.BasicBlock):848 -> a
    253:254:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):824 -> a
    253:254:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():813 -> a
    253:254:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):673 -> a
    255:255:boolean com.android.tools.r8.ir.conversion.IRBuilder.trivialGotoBlockPotentiallyWithMoveException(com.android.tools.r8.ir.code.BasicBlock):865:865 -> a
    255:255:int com.android.tools.r8.ir.conversion.IRBuilder.nonSplitPredecessorCount(com.android.tools.r8.ir.code.BasicBlock):848 -> a
    255:255:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):824 -> a
    255:255:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():813 -> a
    255:255:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):673 -> a
    256:263:int com.android.tools.r8.ir.conversion.IRBuilder.nonSplitPredecessorCount(com.android.tools.r8.ir.code.BasicBlock):852:859 -> a
    256:263:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):824 -> a
    256:263:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():813 -> a
    256:263:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):673 -> a
    264:270:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):824:830 -> a
    264:270:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():813 -> a
    264:270:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):673 -> a
    271:271:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):827:827 -> a
    271:271:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():813 -> a
    271:271:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):673 -> a
    272:278:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():779:785 -> a
    272:278:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):676 -> a
    279:279:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.next():39:39 -> a
    279:279:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():786 -> a
    279:279:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):676 -> a
    280:280:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():787:787 -> a
    280:280:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):676 -> a
    281:281:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    281:281:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():788 -> a
    281:281:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):676 -> a
    282:282:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():789:789 -> a
    282:282:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):676 -> a
    283:283:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> a
    283:283:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():791 -> a
    283:283:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):676 -> a
    284:289:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():792:797 -> a
    284:289:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):676 -> a
    290:290:boolean com.android.tools.r8.ir.code.Position.isSyntheticPosition():0:0 -> a
    290:290:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():798 -> a
    290:290:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):676 -> a
    291:293:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():799:801 -> a
    291:293:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):676 -> a
    294:294:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.previous():39:39 -> a
    294:294:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():802 -> a
    294:294:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):676 -> a
    295:295:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):39:39 -> a
    295:295:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():803 -> a
    295:295:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):676 -> a
    296:296:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.next():39:39 -> a
    296:296:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():804 -> a
    296:296:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):676 -> a
    297:298:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):679:680 -> a
    299:299:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    299:299:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):680 -> a
    300:301:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):681:682 -> a
    302:302:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.previous():39:39 -> a
    302:302:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):683 -> a
    303:308:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):684:689 -> a
    309:309:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):39:39 -> a
    309:309:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):690 -> a
    310:311:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):697:698 -> a
    312:342:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2648:2678 -> a
    312:342:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):703 -> a
    343:343:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    343:343:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2678 -> a
    343:343:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):703 -> a
    344:344:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2678:2678 -> a
    344:344:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):703 -> a
    345:359:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2677:2691 -> a
    345:359:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):703 -> a
    360:371:void com.android.tools.r8.ir.code.BasicBlock.removePredecessorsByIndex(java.util.List):572:583 -> a
    360:371:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2695 -> a
    360:371:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):703 -> a
    372:372:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2696:2696 -> a
    372:372:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):703 -> a
    373:373:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2654:2654 -> a
    373:373:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):703 -> a
    374:374:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    374:374:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2654 -> a
    374:374:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):703 -> a
    375:375:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    375:375:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    375:375:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2654 -> a
    375:375:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):703 -> a
    376:420:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2654:2698 -> a
    376:420:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):703 -> a
    421:435:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):706:720 -> a
    436:436:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(com.android.tools.r8.ir.conversion.IRBuilder):1246:1246 -> a
    436:436:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):723 -> a
    437:440:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):724:727 -> a
    441:441:boolean com.android.tools.r8.ir.conversion.IRBuilder.canUseStackMapTypes():755:755 -> a
    441:441:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):731 -> a
    442:447:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):731:736 -> a
    448:448:boolean com.android.tools.r8.ir.conversion.IRBuilder.canUseStackMapTypes():755:755 -> a
    448:448:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):736 -> a
    449:451:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):736:738 -> a
    452:452:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    452:452:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):738 -> a
    453:453:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):738:738 -> a
    454:454:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):734:734 -> 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):734 -> a
    456:456:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):734:734 -> a
    457:470:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):729:742 -> a
    471:482: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
    471:482:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    471:482:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):742 -> a
    483:484: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
    483:484: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
    483:484: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
    483:484:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    483:484:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):742 -> a
    485:490: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
    485:490: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
    485:490: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
    485:490: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
    485:490:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    485:490:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):742 -> a
    491:492: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
    491:492: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
    491:492: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
    491:492:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    491:492:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):742 -> a
    493:494: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
    493:494: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
    493:494: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
    493:494: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
    493:494:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    493:494:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):742 -> a
    495:503: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
    495:503:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    495:503:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):742 -> a
    504:505: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
    504:505: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
    504:505: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
    504:505:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    504:505:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):742 -> a
    506:511: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
    506:511: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
    506:511: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
    506:511: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
    506:511:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    506:511:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):742 -> a
    512:513: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
    512:513: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
    512:513: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
    512:513:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    512:513:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):742 -> a
    514:515: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
    514:515: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
    514:515: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
    514:515: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
    514:515:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    514:515:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):742 -> a
    516:520: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
    516:520:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    516:520:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):742 -> a
    521:521: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
    521:521:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):742 -> a
    522:522: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
    522:522: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
    522:522:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):114 -> a
    522:522:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):742 -> a
    523: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:180 -> a
    523: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
    523:525:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):742 -> a
    526:527: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
    526:527:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):742 -> a
    528:532:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):745:749 -> a
    533:534:boolean allPhisAreStackMapPhis(com.android.tools.r8.ir.code.IRCode):759:760 -> a
    535:535:void constrainType(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ValueTypeConstraint):768:768 -> a
    536:536:void resolveAndBuildSwitch(int,int,int):957:957 -> a
    537:538:void add(com.android.tools.r8.ir.code.Instruction):971:972 -> a
    539:540:void addDebugLocalEnd(int,com.android.tools.r8.graph.DebugLocalInfo):1049:1050 -> a
    541:543:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterForDebugLocal(int,com.android.tools.r8.graph.DebugLocalInfo):2137:2139 -> a
    541:543:void addDebugLocalEnd(int,com.android.tools.r8.graph.DebugLocalInfo):1053 -> a
    544:544:boolean com.android.tools.r8.ir.code.Value.isUninitializedLocal():538:538 -> a
    544:544:boolean com.android.tools.r8.ir.conversion.IRBuilder.isValidFor(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DebugLocalInfo):1026 -> a
    544:544:void addDebugLocalEnd(int,com.android.tools.r8.graph.DebugLocalInfo):1054 -> a
    545:545:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalUninitialized():0:0 -> a
    545:545:boolean com.android.tools.r8.ir.code.Value.isUninitializedLocal():538 -> a
    545:545:boolean com.android.tools.r8.ir.conversion.IRBuilder.isValidFor(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DebugLocalInfo):1026 -> a
    545:545:void addDebugLocalEnd(int,com.android.tools.r8.graph.DebugLocalInfo):1054 -> a
    546:546:boolean com.android.tools.r8.ir.conversion.IRBuilder.isValidFor(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DebugLocalInfo):1026:1026 -> a
    546:546:void addDebugLocalEnd(int,com.android.tools.r8.graph.DebugLocalInfo):1054 -> a
    547:547:void addDebugLocalEnd(int,com.android.tools.r8.graph.DebugLocalInfo):1055:1055 -> a
    548:565:void addDebugPosition(com.android.tools.r8.ir.code.Position):1060:1077 -> a
    566:569:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1121:1124 -> a
    570:570:boolean com.android.tools.r8.ir.conversion.IRBuilder.canUseStackMapTypes():755:755 -> a
    570:570:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1124 -> a
    571:576:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1125:1130 -> a
    577:577:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    577:577:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1130 -> a
    578:578:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1130:1130 -> a
    579:599: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
    579:599:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1131 -> a
    600:600: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
    600:600:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1131 -> a
    601:605: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
    601:605:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1131 -> a
    606:606: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
    606:606:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1131 -> a
    607:607: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
    607:607:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1131 -> a
    608:621: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
    608:621:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1131 -> a
    622:642: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
    622:642:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1134 -> a
    643:643: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
    643:643:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1134 -> a
    644:648: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
    644:648:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1134 -> a
    649:649: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
    649:649:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1134 -> a
    650:650: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
    650:650:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1134 -> a
    651:664: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
    651:664:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1134 -> a
    665:668:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1136:1139 -> a
    669:672:void com.android.tools.r8.ir.conversion.IRBuilder.addImpreciseInstruction(com.android.tools.r8.ir.code.ImpreciseMemberTypeInstruction):772:775 -> a
    669:672:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1140 -> a
    673:673:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1142:1142 -> a
    674:678:void addArrayLength(int,int):1146:1150 -> a
    679:684:void com.android.tools.r8.ir.conversion.IRBuilder.internalAddCheckCast(int,com.android.tools.r8.graph.DexType,boolean):1173:1178 -> a
    679:684:void addCheckCast(int,com.android.tools.r8.graph.DexType):1165 -> a
    685:685: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
    685:685:void com.android.tools.r8.ir.conversion.IRBuilder.internalAddCheckCast(int,com.android.tools.r8.graph.DexType,boolean):1178 -> a
    685:685:void addCheckCast(int,com.android.tools.r8.graph.DexType):1165 -> a
    686:687:void com.android.tools.r8.ir.conversion.IRBuilder.internalAddCheckCast(int,com.android.tools.r8.graph.DexType,boolean):1179:1180 -> a
    686:687:void addCheckCast(int,com.android.tools.r8.graph.DexType):1165 -> a
    688:691:void addConst(com.android.tools.r8.ir.analysis.type.TypeElement,int,long):1193:1196 -> a
    692:693:void addMove(com.android.tools.r8.ir.code.ValueTypeConstraint,int,int):1310:1311 -> a
    694:694:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getOutgoingLocal(int):2357:2357 -> a
    694:694:void addMove(com.android.tools.r8.ir.code.ValueTypeConstraint,int,int):1313 -> a
    695:706:void addMove(com.android.tools.r8.ir.code.ValueTypeConstraint,int,int):1314:1325 -> a
    707:708:void addNop():1351:1352 -> a
    709:719:void com.android.tools.r8.ir.conversion.IRBuilder.addTrivialIf(int,int):1388:1398 -> a
    709:719:void addIf(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int,int):1431 -> a
    720:723:void addIf(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int,int):1433:1436 -> a
    724:731:void com.android.tools.r8.ir.conversion.IRBuilder.addNonTrivialIf(com.android.tools.r8.ir.code.If,int,int):1402:1409 -> a
    724:731:void addIf(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int,int):1437 -> a
    732:742:void com.android.tools.r8.ir.conversion.IRBuilder.addTrivialIf(int,int):1388:1398 -> a
    732:742:void addIfZero(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int):1458 -> a
    743:743:void addIfZero(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int):1460:1460 -> a
    744:751:void com.android.tools.r8.ir.conversion.IRBuilder.addNonTrivialIf(com.android.tools.r8.ir.code.If,int,int):1402:1409 -> a
    744:751:void addIfZero(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int):1461 -> a
    752:756:void addInstanceGet(int,int,com.android.tools.r8.graph.DexField):1466:1470 -> a
    757:763:void addInstanceGet(int,int,com.android.tools.r8.graph.DexField):1468:1474 -> a
    764:768:void addInstanceOf(int,int,com.android.tools.r8.graph.DexType):1478:1482 -> a
    769:778: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):1508:1517 -> a
    779:791: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):1511:1523 -> a
    792:796: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):1533:1537 -> a
    797:800: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):1536:1539 -> a
    801:805:void addInvokeCustomRange(com.android.tools.r8.graph.DexCallSite,int,int):1566:1570 -> 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):1570 -> a
    807:807:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isStaticPut():129:129 -> a
    807:807:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298 -> a
    807:807:void addInvokeCustomRange(com.android.tools.r8.graph.DexCallSite,int,int):1570 -> a
    808:808:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298:298 -> a
    808:808:void addInvokeCustomRange(com.android.tools.r8.graph.DexCallSite,int,int):1570 -> a
    809:809:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isStaticGet():133:133 -> a
    809:809:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298 -> a
    809:809:void addInvokeCustomRange(com.android.tools.r8.graph.DexCallSite,int,int):1570 -> a
    810:810:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298:298 -> a
    810:810:void addInvokeCustomRange(com.android.tools.r8.graph.DexCallSite,int,int):1570 -> a
    811:823:void addInvokeCustomRange(com.android.tools.r8.graph.DexCallSite,int,int):1571:1583 -> a
    824:828:void addInvokeCustom(com.android.tools.r8.graph.DexCallSite,java.util.List,java.util.List):1588:1592 -> a
    829:832:void addInvokeCustom(com.android.tools.r8.graph.DexCallSite,java.util.List,java.util.List):1591:1594 -> a
    833:856:void addInvokeRegisters(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProto,int,int[]):1605:1628 -> a
    857:865:void addInvokeNewArray(com.android.tools.r8.graph.DexType,int,int[]):1632:1640 -> a
    866:866:boolean com.android.tools.r8.ir.code.ValueTypeConstraint.isWide():32:32 -> a
    866:866:void addInvokeNewArray(com.android.tools.r8.graph.DexType,int,int[]):1641 -> a
    867:873:void addInvokeNewArray(com.android.tools.r8.graph.DexType,int,int[]):1642:1648 -> a
    874:898:void addInvokeRange(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProto,int,int):1669:1693 -> a
    899:913:void addInvokeRangeNewArray(com.android.tools.r8.graph.DexType,int,int):1697:1711 -> a
    914:914:boolean lambda$addMoveException$2(com.android.tools.r8.ir.code.BasicBlock):1724:1724 -> a
    915:915:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    915:915:boolean lambda$addMoveException$2(com.android.tools.r8.ir.code.BasicBlock):1724 -> a
    916:920:void addNewArrayFilledData(int,int,long,short[]):1795:1799 -> a
    921:925:void addNewUnboxedEnumInstance(int,com.android.tools.r8.graph.DexType,int):1811:1815 -> a
    926:929:void addStaticGet(int,com.android.tools.r8.graph.DexField):1853:1856 -> a
    930:936:void addStaticGet(int,com.android.tools.r8.graph.DexField):1854:1860 -> a
    937:980:void addSwitch(int,int[],int,int[]):1892:1935 -> a
    981:981:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntCollection.toIntArray(int[]):167:167 -> a
    981:981:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntCollection.toIntArray():155 -> a
    981:981:void addSwitch(int,int[],int,int[]):1940 -> 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[]):1941 -> a
    983:1013: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[]):1948:1978 -> a
    983:1013:void addSwitch(int,int[],int,int[]):1942 -> a
    1014:1014:void addSwitch(int,int[],int,int[]):1943:1943 -> a
    1015:1016: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):2148:2149 -> a
    1017:1036: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):2164:2183 -> a
    1017:1036: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):2152 -> a
    1037:1047:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2255:2265 -> a
    1037:1047: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):2188 -> a
    1037:1047: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):2152 -> a
    1048:1048:boolean com.android.tools.r8.ir.code.ValueTypeConstraint.isPrecise():36:36 -> a
    1048:1048:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2265 -> a
    1048: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):2188 -> a
    1048: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):2152 -> a
    1049:1050:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2265:2266 -> a
    1049:1050: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):2188 -> a
    1049:1050: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):2152 -> a
    1051:1051:boolean com.android.tools.r8.ir.code.ValueTypeConstraint.isObject():24:24 -> a
    1051:1051:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2266 -> a
    1051: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):2188 -> a
    1051: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):2152 -> 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):2266:2266 -> 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):2188 -> 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):2152 -> a
    1053:1063:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement com.android.tools.r8.ir.code.ValueTypeConstraint.toPrimitiveType():161:171 -> a
    1053:1063:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2266 -> a
    1053:1063: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):2188 -> a
    1053:1063: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):2152 -> a
    1064:1064:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement com.android.tools.r8.ir.code.ValueTypeConstraint.toPrimitiveType():167:167 -> a
    1064:1064:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2266 -> a
    1064: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):2188 -> a
    1064: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):2152 -> a
    1065:1065:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement com.android.tools.r8.ir.code.ValueTypeConstraint.toPrimitiveType():165:165 -> 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):2266 -> 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):2188 -> 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):2152 -> a
    1066:1066:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement com.android.tools.r8.ir.code.ValueTypeConstraint.toPrimitiveType():163:163 -> 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):2266 -> 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):2188 -> 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):2152 -> a
    1067:1085:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2267:2285 -> a
    1067:1085: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):2188 -> a
    1067:1085: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):2152 -> a
    1086:1086:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2256:2256 -> a
    1086:1086: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):2188 -> a
    1086:1086: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):2152 -> a
    1087:1089:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getIncomingLocalAtBlock(int,com.android.tools.r8.ir.code.BasicBlock):2247:2249 -> a
    1087: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):2190 -> a
    1087: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):2152 -> a
    1090:1112: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
    1090:1112: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):2191 -> a
    1090:1112: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):2152 -> a
    1113:1113: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
    1113:1113: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):2191 -> a
    1113:1113: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):2152 -> a
    1114:1114: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
    1114:1114: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):2191 -> a
    1114:1114: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):2152 -> a
    1115:1115: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
    1115: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):2191 -> a
    1115: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):2152 -> a
    1116:1128: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
    1116:1128: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):2191 -> a
    1116:1128: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):2152 -> a
    1129:1129: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
    1129:1129: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):2191 -> a
    1129:1129: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):2152 -> a
    1130:1130: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
    1130:1130: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):2191 -> a
    1130:1130: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):2152 -> a
    1131:1131: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
    1131: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):2191 -> a
    1131: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):2152 -> 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):2192:2192 -> 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):2152 -> a
    1133:1133:boolean com.android.tools.r8.ir.conversion.IRBuilder.canUseStackMapTypes():755:755 -> 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):2194 -> 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):2152 -> a
    1134:1155: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):2194:2215 -> a
    1134:1155: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):2152 -> a
    1156:1192: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):2206:2242 -> a
    1156:1192: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):2152 -> a
    1193:1193:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2290:2290 -> a
    1193:1193:void addAdd(com.android.tools.r8.ir.code.NumericType,int,int,int):1082 -> a
    1194:1194:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2290:2290 -> a
    1194:1194:void addAdd(com.android.tools.r8.ir.code.NumericType,int,int,int):1083 -> a
    1195:1195: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):2349:2349 -> a
    1195:1195:void addAdd(com.android.tools.r8.ir.code.NumericType,int,int,int):1084 -> a
    1196:1198:void addAdd(com.android.tools.r8.ir.code.NumericType,int,int,int):1085:1087 -> a
    1199:1199:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2290:2290 -> a
    1199:1199:void addCmp(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Cmp$Bias,int,int,int):1184 -> a
    1200:1200:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2290:2290 -> a
    1200:1200:void addCmp(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Cmp$Bias,int,int,int):1185 -> a
    1201:1204:void addCmp(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Cmp$Bias,int,int,int):1186:1189 -> a
    1205:1205:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2290:2290 -> a
    1205:1205:void addConversion(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.NumericType,int,int):2104 -> a
    1206:1206: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):2349:2349 -> a
    1206:1206:void addConversion(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.NumericType,int,int):2105 -> a
    1207:1209:void addConversion(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.NumericType,int,int):2106:2108 -> a
    1210:1210:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2290:2290 -> a
    1210:1210:void addNeg(com.android.tools.r8.ir.code.NumericType,int,int):1763 -> a
    1211:1211: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):2349:2349 -> a
    1211:1211:void addNeg(com.android.tools.r8.ir.code.NumericType,int,int):1764 -> a
    1212:1214:void addNeg(com.android.tools.r8.ir.code.NumericType,int,int):1765:1767 -> a
    1215:1218:com.android.tools.r8.ir.code.Value readIntLiteral(long):2310:2313 -> a
    1219:1220: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):2320:2321 -> a
    1221:1222: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):2325:2326 -> a
    1221:1222: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):2320 -> a
    1223:1223:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getIncomingLocal(int):2353:2353 -> a
    1223:1223:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2114 -> a
    1224:1228:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2115:2119 -> a
    1229:1229:boolean com.android.tools.r8.ir.code.Value.isUninitializedLocal():538:538 -> a
    1229:1229:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2119 -> a
    1230:1230:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalUninitialized():0:0 -> a
    1230:1230:boolean com.android.tools.r8.ir.code.Value.isUninitializedLocal():538 -> a
    1230:1230:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2119 -> a
    1231:1241:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2120:2130 -> a
    1242:1246:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2128:2132 -> a
    1247:1247:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getIncomingLocal(int):2353:2353 -> a
    1247:1247: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):2331 -> a
    1248:1248:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getOutgoingLocal(int):2357:2357 -> a
    1248:1248: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):2332 -> a
    1249:1251:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterForDebugLocal(int,com.android.tools.r8.graph.DebugLocalInfo):2137:2139 -> a
    1249: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):2344 -> a
    1252:1253: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):2344:2345 -> a
    1254:1254:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getOutgoingLocal(int):2357:2357 -> a
    1254:1254:void addBooleanNonThisArgument(int):1010 -> a
    1255:1256:void addBooleanNonThisArgument(int):1011:1012 -> a
    1257:1261:void com.android.tools.r8.ir.conversion.IRBuilder.addNonThisArgument(com.android.tools.r8.ir.code.Argument):1016:1020 -> a
    1257:1261:void addBooleanNonThisArgument(int):1012 -> a
    1262:1262:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getOutgoingLocal(int):2357:2357 -> a
    1262:1262:void addNonThisArgument(int,com.android.tools.r8.ir.analysis.type.TypeElement):1004 -> a
    1263:1264:void addNonThisArgument(int,com.android.tools.r8.ir.analysis.type.TypeElement):1005:1006 -> a
    1265:1269:void com.android.tools.r8.ir.conversion.IRBuilder.addNonThisArgument(com.android.tools.r8.ir.code.Argument):1016:1020 -> a
    1265:1269:void addNonThisArgument(int,com.android.tools.r8.ir.analysis.type.TypeElement):1006 -> a
    1270:1270:void addInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Position):2375:2375 -> a
    1271:1275:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyOutValueType(com.android.tools.r8.ir.code.Instruction):2407:2411 -> a
    1271:1275:void addInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Position):2375 -> a
    1276:1276:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    1276:1276:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyOutValueType(com.android.tools.r8.ir.code.Instruction):2411 -> a
    1276:1276:void addInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Position):2375 -> a
    1277:1277:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyOutValueType(com.android.tools.r8.ir.code.Instruction):2411:2411 -> a
    1277:1277:void addInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Position):2375 -> a
    1278:1278:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyOutValueType(com.android.tools.r8.ir.code.Instruction):2408:2408 -> a
    1278:1278:void addInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Position):2375 -> a
    1279:1304:void addInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Position):2376:2401 -> a
    1305:1309:void lambda$addInstruction$3(java.util.List,java.util.Set,com.android.tools.r8.graph.DexType,java.lang.Integer):2390:2394 -> a
    1310:1316:void lambda$addInstruction$3(java.util.List,java.util.Set,com.android.tools.r8.graph.DexType,java.lang.Integer):2392:2398 -> a
    1317:1320:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder.ensureBlock(int):2465:2468 -> a
    1317:1320:void ensureSuccessorBlock(int,int,boolean):2501 -> a
    1321:1324:int com.android.tools.r8.ir.conversion.IRBuilder.getBlockStartOffset(int):2456:2459 -> a
    1321:1324:void ensureSuccessorBlock(int,int,boolean):2502 -> a
    1325:1327:void ensureSuccessorBlock(int,int,boolean):2503:2505 -> a
    1328:1328:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addNormalSuccessor(int):287:287 -> a
    1328:1328:void ensureSuccessorBlock(int,int,boolean):2505 -> a
    1329:1329:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addNormalPredecessor(int):283:283 -> a
    1329:1329:void ensureSuccessorBlock(int,int,boolean):2506 -> a
    1330:1330:void ensureSuccessorBlock(int,int,boolean):2508:2508 -> a
    1331:1331:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addExceptionalSuccessor(int):300:300 -> a
    1331:1331:void ensureSuccessorBlock(int,int,boolean):2508 -> a
    1332:1332:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addExceptionalPredecessor(int):296:296 -> a
    1332:1332:void ensureSuccessorBlock(int,int,boolean):2509 -> a
    1333:1333:void ensureSuccessorBlock(int,int,boolean):2511:2511 -> a
    1334:1337:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2550:2553 -> a
    1338:1338:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2552:2552 -> a
    1339:1341:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2567:2569 -> a
    1339:1341:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2554 -> a
    1342:1342:int com.android.tools.r8.ir.conversion.IRBuilder.getOffset(com.android.tools.r8.ir.code.BasicBlock):2537:2537 -> a
    1342:1342:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder.getBlockInfo(com.android.tools.r8.ir.code.BasicBlock):2529 -> a
    1342:1342:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2569 -> a
    1342:1342:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2554 -> a
    1343:1343:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder.getBlockInfo(int):2525:2525 -> a
    1343:1343:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder.getBlockInfo(com.android.tools.r8.ir.code.BasicBlock):2529 -> a
    1343:1343:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2569 -> a
    1343:1343:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2554 -> a
    1344:1345:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2570:2571 -> a
    1344:1345:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2554 -> a
    1346:1347:boolean com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.hasMoreThanASingleNormalExit():315:316 -> a
    1346:1347:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2571 -> a
    1346:1347:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2554 -> a
    1348:1348:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2574:2574 -> a
    1348:1348:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2554 -> a
    1349:1349:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder.getBlockInfo(int):2525:2525 -> a
    1349:1349:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2575 -> a
    1349:1349:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2554 -> a
    1350:1350:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2576:2576 -> a
    1350:1350:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2554 -> a
    1351:1351:int com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.predecessorCount():304:304 -> a
    1351:1351:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2576 -> a
    1351:1351:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2554 -> a
    1352:1362:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2579:2589 -> a
    1352:1362:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2554 -> a
    1363:1371:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2586:2594 -> a
    1363:1371:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2554 -> a
    1372:1377: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):2610:2615 -> a
    1372:1377:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2594 -> a
    1372:1377:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2554 -> a
    1378:1385:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2595:2602 -> a
    1378:1385:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2554 -> a
    1386:1388:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.allSuccessors():308:310 -> a
    1386:1388:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2605 -> a
    1386:1388:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2554 -> a
    1389:1389:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2605:2605 -> a
    1389:1389:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2554 -> a
    1390:1391:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2555:2556 -> a
    1392:1392:boolean isIntegerType(com.android.tools.r8.ir.code.NumericType):2704:2704 -> 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):1154 -> 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):1154 -> 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):1154 -> 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):1154 -> 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):1154 -> 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):1154 -> b
    42:46:void addArrayPut(com.android.tools.r8.ir.code.MemberType,int,int,int):1154:1158 -> b
    47:50:void com.android.tools.r8.ir.conversion.IRBuilder.addImpreciseInstruction(com.android.tools.r8.ir.code.ImpreciseMemberTypeInstruction):772:775 -> b
    47:50:void addArrayPut(com.android.tools.r8.ir.code.MemberType,int,int,int):1159 -> b
    51:51:void addArrayPut(com.android.tools.r8.ir.code.MemberType,int,int,int):1161:1161 -> b
    52:53:void addDebugLocalStart(int,com.android.tools.r8.graph.DebugLocalInfo):1030:1031 -> 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):2137:2139 -> b
    54:56:void addDebugLocalStart(int,com.android.tools.r8.graph.DebugLocalInfo):1035 -> b
    57:65:void addDebugLocalStart(int,com.android.tools.r8.graph.DebugLocalInfo):1036:1044 -> b
    66:66:void addAddLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1091:1091 -> 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):2290:2290 -> b
    67:67:void addAddLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1092 -> b
    68:68:void addAddLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1093:1093 -> 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):2349:2349 -> b
    69:69:void addAddLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1094 -> b
    70:72:void addAddLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1095:1097 -> b
    73:73:void addConstClass(int,com.android.tools.r8.graph.DexType):1220:1220 -> 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):1220 -> b
    75:76:void addConstClass(int,com.android.tools.r8.graph.DexType):1221:1222 -> 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):1222 -> b
    78:78:void addConstClass(int,com.android.tools.r8.graph.DexType):1224:1224 -> b
    79:83:void addGoto(int):1380:1384 -> b
    84:87:void addInstancePut(int,int,com.android.tools.r8.graph.DexField):1486:1489 -> b
    88:88:void addMultiNewArray(com.android.tools.r8.graph.DexType,int,int[]):1652:1652 -> b
    89:89:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> b
    89:89:void addMultiNewArray(com.android.tools.r8.graph.DexType,int,int[]):1652 -> b
    90:96:void addMultiNewArray(com.android.tools.r8.graph.DexType,int,int[]):1652:1658 -> b
    97:97:void checkInvokeArgumentRegisters(int,int):1716:1716 -> b
    98:98:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    98:98:void checkInvokeArgumentRegisters(int,int):1716 -> b
    99:99:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> b
    99:99:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> b
    99:99:void checkInvokeArgumentRegisters(int,int):1716 -> b
    100:100:void checkInvokeArgumentRegisters(int,int):1716:1716 -> b
    101:107:void addNewArrayEmpty(int,int,com.android.tools.r8.graph.DexType):1785:1791 -> b
    108:108:void addReturn():1835:1835 -> b
    109:111:void com.android.tools.r8.ir.conversion.IRBuilder.addReturn(com.android.tools.r8.ir.code.Return):1840:1842 -> b
    109:111:void addReturn():1835 -> b
    112:115:void addStaticPut(int,com.android.tools.r8.graph.DexField):1864:1867 -> b
    116:116:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2290:2290 -> b
    116:116:void addNot(com.android.tools.r8.ir.code.NumericType,int,int):1771 -> b
    117:117: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):2349:2349 -> b
    117:117:void addNot(com.android.tools.r8.ir.code.NumericType,int,int):1772 -> b
    118:121:void addNot(com.android.tools.r8.ir.code.NumericType,int,int):1774:1777 -> b
    122:125:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readLiteral(com.android.tools.r8.ir.code.ValueTypeConstraint,long):2294:2297 -> b
    122:125:void addNot(com.android.tools.r8.ir.code.NumericType,int,int):1777 -> b
    126:129:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readLongLiteral(long):2303:2306 -> b
    126:129:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readLiteral(com.android.tools.r8.ir.code.ValueTypeConstraint,long):2298 -> b
    126:129:void addNot(com.android.tools.r8.ir.code.NumericType,int,int):1777 -> b
    130:133:void addNot(com.android.tools.r8.ir.code.NumericType,int,int):1778:1781 -> b
    134:134:void addInstruction(com.android.tools.r8.ir.code.Instruction):2371:2371 -> b
    135:135:boolean isNonLongIntegerType(com.android.tools.r8.ir.code.NumericType):2708:2708 -> b
    1:1:void addAnd(com.android.tools.r8.ir.code.NumericType,int,int,int):1101:1101 -> 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):2290:2290 -> c
    2:2:void addAnd(com.android.tools.r8.ir.code.NumericType,int,int,int):1102 -> 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):2290:2290 -> c
    3:3:void addAnd(com.android.tools.r8.ir.code.NumericType,int,int,int):1103 -> 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):2349:2349 -> c
    4:4:void addAnd(com.android.tools.r8.ir.code.NumericType,int,int,int):1104 -> c
    5:7:void addAnd(com.android.tools.r8.ir.code.NumericType,int,int,int):1105:1107 -> c
    8:12:void addMoveException(int):1723:1727 -> c
    13:15:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyValueIsMoveException(com.android.tools.r8.ir.code.Value):1732:1734 -> c
    13:15:void addMoveException(int):1728 -> 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):1734 -> c
    16:16:void addMoveException(int):1728 -> c
    17:20:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyValueIsMoveException(com.android.tools.r8.ir.code.Value):1734:1737 -> c
    17:20:void addMoveException(int):1728 -> 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):1737 -> c
    21:21:void addMoveException(int):1728 -> c
    22:22:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyValueIsMoveException(com.android.tools.r8.ir.code.Value):1737:1737 -> c
    22:22:void addMoveException(int):1728 -> c
    23:26:void addInitClass(int,com.android.tools.r8.graph.DexType):1846:1849 -> c
    27:42:void attachLocalValues(com.android.tools.r8.ir.code.Instruction):2416:2431 -> c
    43:43:void ensureExceptionalSuccessorBlock(int,int):2519:2519 -> c
    44:45:void closeCurrentBlockGuaranteedNotToNeedEdgeSplitting():2541:2542 -> c
    46:46:void com.android.tools.r8.ir.conversion.IRBuilder.setCurrentBlock(com.android.tools.r8.ir.code.BasicBlock):534:534 -> c
    46:46:void closeCurrentBlockGuaranteedNotToNeedEdgeSplitting():2543 -> c
    47:49:void closeCurrentBlockGuaranteedNotToNeedEdgeSplitting():2544:2546 -> c
    1:1:java.util.List getArgumentValues():519:519 -> d
    2:2:void lambda$allPhisAreStackMapPhis$1(com.android.tools.r8.ir.code.Instruction):762:762 -> d
    3:3:void addAndLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1111:1111 -> 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):2290:2290 -> d
    4:4:void addAndLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1112 -> d
    5:5:void addAndLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1113:1113 -> 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):2349:2349 -> d
    6:6:void addAndLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1114 -> d
    7:9:void addAndLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1115:1117 -> d
    10:14:void addMoveResult(int):1743:1747 -> d
    15:15:boolean com.android.tools.r8.ir.code.Instruction.isInvokeNewArray():0:0 -> d
    15:15:void addMoveResult(int):1749 -> d
    16:16:boolean com.android.tools.r8.ir.code.Instruction.isInvokeMultiNewArray():0:0 -> d
    16:16:void addMoveResult(int):1749 -> d
    17:17:void addMoveResult(int):1751:1751 -> d
    18:18:void addMoveResult(int):1750:1750 -> d
    19:19:boolean com.android.tools.r8.ir.code.Instruction.isInvokeCustom():0:0 -> d
    19:19:void addMoveResult(int):1755 -> d
    20:23:void addMoveResult(int):1756:1759 -> d
    24:28:void addNewInstance(int,com.android.tools.r8.graph.DexType):1803:1807 -> d
    29:29:void ensureNormalSuccessorBlock(int,int):2515:2515 -> d
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap getCFG():515:515 -> e
    2:2:boolean lambda$build$0(com.android.tools.r8.ir.code.Instruction):682:682 -> e
    3:3:void resolveAndBuildNewArrayFilledData(int,int):962:962 -> e
    4:11:void com.android.tools.r8.ir.conversion.IRBuilder.internalAddCheckCast(int,com.android.tools.r8.graph.DexType,boolean):1173:1180 -> e
    4:11:void addSafeCheckCast(int,com.android.tools.r8.graph.DexType):1169 -> e
    12:12:void addDiv(com.android.tools.r8.ir.code.NumericType,int,int,int):1276:1276 -> 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):2290:2290 -> e
    13:13:void addDiv(com.android.tools.r8.ir.code.NumericType,int,int,int):1277 -> 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):2290:2290 -> e
    14:14:void addDiv(com.android.tools.r8.ir.code.NumericType,int,int,int):1278 -> 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):2349:2349 -> e
    15:15:void addDiv(com.android.tools.r8.ir.code.NumericType,int,int,int):1279 -> e
    16:18:void addDiv(com.android.tools.r8.ir.code.NumericType,int,int,int):1281:1283 -> e
    19:27:void addReturn(int):1819:1827 -> e
    28:28:void addReturn(int):1826:1826 -> 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):1828 -> e
    30:31:void addReturn(int):1829:1830 -> e
    32:34:void com.android.tools.r8.ir.conversion.IRBuilder.addReturn(com.android.tools.r8.ir.code.Return):1840:1842 -> e
    32:34:void addReturn(int):1830 -> e
    1:1:com.android.tools.r8.graph.GraphLens getCodeLens():495:495 -> f
    2:3:void addDivLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1287:1288 -> 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):2290:2290 -> f
    4:4:void addDivLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1289 -> f
    5:5:void addDivLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1290:1290 -> 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):2349:2349 -> f
    6:6:void addDivLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1291 -> f
    7:9:void addDivLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1293:1295 -> f
    10:15:void addThrow(int):1982:1987 -> f
    1:1:com.android.tools.r8.graph.DexEncodedMethod getMethod():499:499 -> 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):2290:2290 -> g
    2:2:void addMul(com.android.tools.r8.ir.code.NumericType,int,int,int):1329 -> 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):2290:2290 -> g
    3:3:void addMul(com.android.tools.r8.ir.code.NumericType,int,int,int):1330 -> 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):2349:2349 -> g
    4:4:void addMul(com.android.tools.r8.ir.code.NumericType,int,int,int):1331 -> g
    5:7:void addMul(com.android.tools.r8.ir.code.NumericType,int,int,int):1332:1334 -> g
    8:9:void checkRegister(int):2364:2365 -> 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):2365:2365 -> g
    17:17:void checkRegister(int):2365:2365 -> g
    18:18:void checkRegister(int):2365:2365 -> g
    19:19:void checkRegister(int):2365:2365 -> g
    20:20:void checkRegister(int):2365:2365 -> g
    11:11:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> g
    11:11:void checkRegister(int):2365 -> g
    12:12:void checkRegister(int):2365:2365 -> g
    13:13:void checkRegister(int):2362:2362 -> g
    1:1:com.android.tools.r8.graph.ProgramMethod getProgramMethod():503:503 -> h
    2:2:void addMulLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1338:1338 -> 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):2290:2290 -> h
    3:3:void addMulLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1339 -> h
    4:4:void addMulLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1340:1340 -> 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):2349:2349 -> h
    5:5:void addMulLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1341 -> h
    6:8:void addMulLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1342:1344 -> h
    9:13:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2438:2442 -> h
    14:17:int com.android.tools.r8.ir.conversion.IRBuilder.getBlockStartOffset(int):2456:2459 -> h
    14:17:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2443 -> h
    18:19:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2444:2445 -> h
    20: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):321:328 -> h
    20:27:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2445 -> 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):2445 -> h
    30: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):330:336 -> h
    30:36:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2445 -> h
    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):2445 -> 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):2445 -> h
    39:42:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2447:2450 -> h
    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription getPrototypeChanges():507:507 -> i
    2:2:void addOr(com.android.tools.r8.ir.code.NumericType,int,int,int):1991:1991 -> 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):2290:2290 -> i
    3:3:void addOr(com.android.tools.r8.ir.code.NumericType,int,int,int):1992 -> 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):2290:2290 -> i
    4:4:void addOr(com.android.tools.r8.ir.code.NumericType,int,int,int):1993 -> 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):2349:2349 -> i
    5:5:void addOr(com.android.tools.r8.ir.code.NumericType,int,int,int):1994 -> i
    6:8:void addOr(com.android.tools.r8.ir.code.NumericType,int,int,int):1995:1997 -> i
    9:9:com.android.tools.r8.ir.code.BasicBlock getTarget(int):2533:2533 -> i
    1:1:com.android.tools.r8.ir.code.Value getReceiverValue():523:523 -> j
    2:2:void addOrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2001:2001 -> 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):2290:2290 -> j
    3:3:void addOrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2002 -> j
    4:4:void addOrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2003:2003 -> 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):2349:2349 -> j
    5:5:void addOrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2004 -> j
    6:8:void addOrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2005:2007 -> j
    9:9:boolean isOffsetProcessed(int):2472:2472 -> j
    10:11:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2476:2477 -> j
    10:11:boolean isOffsetProcessed(int):2472 -> j
    12:13:void com.android.tools.r8.ir.conversion.IRBuilder.ensureSubroutineProcessedInstructions():2494:2495 -> j
    12:13:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2479 -> j
    12:13:boolean isOffsetProcessed(int):2472 -> j
    14:14:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2480:2480 -> j
    14:14:boolean isOffsetProcessed(int):2472 -> j
    1:1:boolean isDebugMode():511:511 -> k
    2:2:void addRem(com.android.tools.r8.ir.code.NumericType,int,int,int):1357:1357 -> 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):2290:2290 -> k
    3:3:void addRem(com.android.tools.r8.ir.code.NumericType,int,int,int):1358 -> 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):2290:2290 -> k
    4:4:void addRem(com.android.tools.r8.ir.code.NumericType,int,int,int):1359 -> 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):2349:2349 -> k
    5:5:void addRem(com.android.tools.r8.ir.code.NumericType,int,int,int):1360 -> k
    6:8:void addRem(com.android.tools.r8.ir.code.NumericType,int,int,int):1362:1364 -> k
    1:2:void addRemLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1368:1369 -> 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):2290:2290 -> l
    3:3:void addRemLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1370 -> l
    4:4:void addRemLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1371:1371 -> 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):2349:2349 -> l
    5:5:void addRemLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1372 -> l
    6:8:void addRemLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1374:1376 -> l
    1:1:void addRsubLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1880:1880 -> 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):2290:2290 -> m
    2:2:void addRsubLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1881 -> m
    3:3:void addRsubLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1882:1882 -> 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):2349:2349 -> m
    4:4:void addRsubLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1883 -> m
    5:7:void addRsubLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1886:1888 -> m
    1:1:void addShl(com.android.tools.r8.ir.code.NumericType,int,int,int):2011:2011 -> 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):2290:2290 -> n
    2:2:void addShl(com.android.tools.r8.ir.code.NumericType,int,int,int):2012 -> n
    3:3:void addShl(com.android.tools.r8.ir.code.NumericType,int,int,int):2013:2013 -> 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):2349:2349 -> n
    4:4:void addShl(com.android.tools.r8.ir.code.NumericType,int,int,int):2014 -> n
    5:7:void addShl(com.android.tools.r8.ir.code.NumericType,int,int,int):2015:2017 -> n
    1:1:void addShlLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2021:2021 -> 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):2290:2290 -> o
    2:2:void addShlLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2022 -> o
    3:3:void addShlLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2023:2023 -> 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):2349:2349 -> o
    4:4:void addShlLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2024 -> o
    5:7:void addShlLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2025:2027 -> o
    1:1:void addShr(com.android.tools.r8.ir.code.NumericType,int,int,int):2031:2031 -> 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):2290:2290 -> p
    2:2:void addShr(com.android.tools.r8.ir.code.NumericType,int,int,int):2032 -> p
    3:3:void addShr(com.android.tools.r8.ir.code.NumericType,int,int,int):2033:2033 -> 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):2349:2349 -> p
    4:4:void addShr(com.android.tools.r8.ir.code.NumericType,int,int,int):2034 -> p
    5:7:void addShr(com.android.tools.r8.ir.code.NumericType,int,int,int):2035:2037 -> p
    1:1:void addShrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2041:2041 -> 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):2290:2290 -> q
    2:2:void addShrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2042 -> q
    3:3:void addShrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2043:2043 -> 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):2349:2349 -> q
    4:4:void addShrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2044 -> q
    5:7:void addShrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2045:2047 -> 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):2290:2290 -> r
    1:1:void addSub(com.android.tools.r8.ir.code.NumericType,int,int,int):1871 -> 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):2290:2290 -> r
    2:2:void addSub(com.android.tools.r8.ir.code.NumericType,int,int,int):1872 -> 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):2349:2349 -> r
    3:3:void addSub(com.android.tools.r8.ir.code.NumericType,int,int,int):1873 -> r
    4:6:void addSub(com.android.tools.r8.ir.code.NumericType,int,int,int):1874:1876 -> r
    1:1:void addUshr(com.android.tools.r8.ir.code.NumericType,int,int,int):2051:2051 -> 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):2290:2290 -> s
    2:2:void addUshr(com.android.tools.r8.ir.code.NumericType,int,int,int):2052 -> s
    3:3:void addUshr(com.android.tools.r8.ir.code.NumericType,int,int,int):2053:2053 -> 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):2349:2349 -> s
    4:4:void addUshr(com.android.tools.r8.ir.code.NumericType,int,int,int):2054 -> s
    5:7:void addUshr(com.android.tools.r8.ir.code.NumericType,int,int,int):2055:2057 -> s
    1:1:void addUshrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2061:2061 -> 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):2290:2290 -> t
    2:2:void addUshrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2062 -> t
    3:3:void addUshrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2063:2063 -> 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):2349:2349 -> t
    4:4:void addUshrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2064 -> t
    5:7:void addUshrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2065:2067 -> t
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2725,"2":2726,"3":2727}}
    2725:2725:java.lang.String toString():2717:2717 -> toString
    2726:2726:java.lang.String toString():2717:2717 -> toString
    2727:2727:java.lang.String toString():2718:2718 -> toString
    2720:2724:java.lang.String toString():2719:2723 -> toString
    1:1:void addXor(com.android.tools.r8.ir.code.NumericType,int,int,int):2071:2071 -> 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):2290:2290 -> u
    2:2:void addXor(com.android.tools.r8.ir.code.NumericType,int,int,int):2072 -> 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):2290:2290 -> u
    3:3:void addXor(com.android.tools.r8.ir.code.NumericType,int,int,int):2073 -> 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):2349:2349 -> u
    4:4:void addXor(com.android.tools.r8.ir.code.NumericType,int,int,int):2074 -> u
    5:13:void addXor(com.android.tools.r8.ir.code.NumericType,int,int,int):2076:2084 -> u
    1:1:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2088:2088 -> 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):2290:2290 -> v
    2:2:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2089 -> v
    3:3:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2091:2091 -> 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):2349:2349 -> v
    4:4:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2092 -> v
    5:7:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2093:2095 -> 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):2349:2349 -> v
    8:8:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2096 -> v
    9:12:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2097:2100 -> v
com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo -> com.android.tools.r8.internal.Pm:
    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.Qm:
    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.Rm:
    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.Sm:
    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.Tm:
    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.dn:
    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():442:442 -> a
    250:250:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):379 -> a
    251:251:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):380:380 -> a
    252:253:void com.android.tools.r8.ir.conversion.IRConverter.processCovariantReturnTypeAnnotations(com.android.tools.r8.graph.DexApplication$Builder):347:348 -> a
    252:253:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):382 -> a
    254:260:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):384:390 -> a
    261:261:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):387:387 -> a
    262:266:void synthesizeBridgesForNestBasedAccessesOnClasspath(com.android.tools.r8.ir.conversion.D8MethodProcessor,java.util.concurrent.ExecutorService):329:333 -> a
    267:267: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
    268:270:void classSynthesisDesugaring(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):418:418 -> a
    272:272:void classSynthesisDesugaring(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):420:420 -> a
    273:273:void convertClasses(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor,java.util.concurrent.ExecutorService):447:447 -> a
    274:277: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):48:51 -> a
    274:277:void convertClasses(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor,java.util.concurrent.ExecutorService):448 -> a
    278:288:void convertClasses(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor,java.util.concurrent.ExecutorService):449:459 -> a
    289:297:void com.android.tools.r8.ir.desugar.lambda.D8LambdaDesugaring.rewriteEnclosingLambdaMethodAttributes(com.android.tools.r8.graph.AppView,java.util.Map):17:25 -> a
    289:297:void convertClasses(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor,java.util.concurrent.ExecutorService):458 -> a
    298:298:void convertClasses(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor,java.util.concurrent.ExecutorService):461:461 -> a
    299:301:void prepareDesugaringForD8(java.util.concurrent.ExecutorService):467:469 -> a
    302:310:void prepareDesugaringForD8(java.util.concurrent.ExecutorService):468:476 -> a
    311:311:void lambda$prepareDesugaringForD8$5(com.android.tools.r8.ir.desugar.ProgramAdditions,com.android.tools.r8.graph.DexProgramClass):471:471 -> a
    312:312:void lambda$prepareDesugaringForD8$4(com.android.tools.r8.ir.desugar.ProgramAdditions,com.android.tools.r8.graph.ProgramMethod):473:473 -> a
    313: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):484:484 -> a
    314:316:boolean com.android.tools.r8.graph.DexProgramClass.hasReachabilitySensitiveAnnotation(com.android.tools.r8.graph.DexItemFactory):767:769 -> a
    314:316: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 -> a
    317:348: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):486:517 -> a
    349:353:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1956:1960 -> a
    349:353: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):517 -> a
    354:354: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
    354:354:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1961 -> a
    354:354: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):517 -> a
    355:355: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):516:516 -> a
    356:359: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:529 -> a
    360:364:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1956:1960 -> a
    360:364: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):529 -> a
    365:365: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
    365:365:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1961 -> a
    365:365: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):529 -> a
    366:372: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):528:534 -> a
    373:377:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):569:573 -> a
    373:377: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):537 -> a
    378:378:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    378:378:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):573 -> a
    378:378: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):537 -> a
    379:399:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):574:594 -> a
    379: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):537 -> a
    400:400:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    400:400:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):594 -> 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):537 -> a
    401:401:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    401:401:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    401:401:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):594 -> a
    401:401: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):537 -> a
    402:402:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):594:594 -> a
    402:402: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):537 -> a
    403: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):538:538 -> a
    404:404:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    404:404: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):538 -> a
    405:415: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):538:548 -> a
    416:425: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):541:550 -> a
    426:426:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    426:426: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):550 -> a
    427:427: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):551:551 -> a
    428:434:void com.android.tools.r8.ir.conversion.IRConverter.updateHighestSortingStrings(com.android.tools.r8.graph.DexEncodedMethod):1669:1675 -> a
    428:434: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):551 -> a
    435:435:void lambda$optimize$8(java.util.concurrent.ExecutorService,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator):639:639 -> a
    436:436: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):660:660 -> a
    437:437:void lambda$optimize$10(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator):695:695 -> a
    438:438: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):725:725 -> a
    439:439:void waveStart(com.android.tools.r8.utils.collections.ProgramMethodSet):791:791 -> a
    440:446:void addWaveDoneAction(com.android.tools.r8.utils.Action):827:833 -> a
    447:447:void addWaveDoneAction(com.android.tools.r8.utils.Action):831:831 -> a
    448:448:void addWaveDoneAction(com.android.tools.r8.utils.Action):828:828 -> a
    449:450:void computeReachabilitySensitivity(com.android.tools.r8.graph.DexApplication):842:843 -> a
    451:451:void lambda$computeReachabilitySensitivity$12(com.android.tools.r8.graph.DexEncodedMethod):847:847 -> a
    452:455:void forEachSynthesizedServiceLoaderMethod(com.android.tools.r8.graph.ProgramMethod):860:863 -> a
    456:456:void clearDexMethodCompilationState():867:867 -> a
    457:457:void clearDexMethodCompilationState(com.android.tools.r8.graph.DexProgramClass):871:871 -> a
    458:467:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):884:893 -> a
    468:473:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):892:897 -> a
    474:474:java.lang.String com.android.tools.r8.ir.conversion.IRConverter.logCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexEncodedMethod):934:934 -> a
    474:474:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):897 -> a
    475:475:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):897:897 -> a
    476:476:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):896:896 -> a
    477:478:void optimizeSynthesizedMethods(java.util.List,java.util.concurrent.ExecutorService):905:906 -> a
    479:479:void lambda$optimizeSynthesizedMethod$14(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):916:916 -> a
    480:482:void processMethodsConcurrently(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.concurrent.ExecutorService):923:925 -> a
    483:483: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):990:990 -> a
    484:489: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):1049:1054 -> a
    484:489: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):1000 -> a
    484:489: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):973 -> a
    490:495: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):1001:1006 -> a
    490:495: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):973 -> a
    496:496:java.lang.String com.android.tools.r8.ir.conversion.IRConverter.logCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexEncodedMethod):934:934 -> a
    496:496: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):1006 -> a
    496:496: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):973 -> a
    497:497: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):1006:1006 -> a
    497:497: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):973 -> a
    498:504: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):1002:1008 -> a
    498:504: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):973 -> a
    505:515: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):1066:1076 -> a
    516:521:void com.android.tools.r8.ir.conversion.IRConverter.printC1VisualizerHeader(com.android.tools.r8.graph.DexEncodedMethod):1884:1889 -> a
    516:521: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):1079 -> a
    522:547: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):1080:1105 -> a
    548:548: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":4319,"2":4320,"3":4321}}
    4319:4319: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):1105:1105 -> a
    4320:4320: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):1105:1105 -> a
    4321:4321: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):1105:1105 -> a
    1655:1660: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):1107:1112 -> a
    1661:1661: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):1110:1110 -> a
    1662:1662: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":4326,"2":4327,"3":4328}}
    4326:4326: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):1110:1110 -> a
    4327: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):1110:1110 -> a
    4328:4328: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):1110:1110 -> a
    2775:2780: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:1118 -> a
    2781:2781: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":4336,"2":4337,"3":4338}}
    4336:4336: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):1118:1118 -> a
    4337:4337: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):1118:1118 -> a
    4338:4338: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):1118:1118 -> a
    3902:3914: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):1121:1133 -> a
    3915:3919:boolean com.android.tools.r8.ir.conversion.IRConverter.shouldPassThrough(com.android.tools.r8.graph.ProgramMethod):1495:1499 -> a
    3915:3919: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):1135 -> a
    3920:3920:boolean com.android.tools.r8.graph.Code.isThrowNullCode():0:0 -> a
    3920:3920:boolean com.android.tools.r8.ir.conversion.IRConverter.shouldPassThrough(com.android.tools.r8.graph.ProgramMethod):1499 -> a
    3920:3920: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):1135 -> a
    3921:3922:boolean com.android.tools.r8.ir.conversion.IRConverter.shouldPassThrough(com.android.tools.r8.graph.ProgramMethod):1499:1500 -> a
    3921:3922: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):1135 -> a
    3923:3923:boolean com.android.tools.r8.graph.Code.isDefaultInstanceInitializerCode():0:0 -> a
    3923:3923:boolean com.android.tools.r8.ir.conversion.IRConverter.shouldPassThrough(com.android.tools.r8.graph.ProgramMethod):1500 -> a
    3923:3923: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):1135 -> a
    3924:3933: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:1146 -> a
    3934:3959: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):1139:1164 -> a
    3960:3960:void com.android.tools.r8.naming.IdentifierNameStringMarker.decoupleIdentifierNameStringsInMethod(com.android.tools.r8.ir.code.IRCode):94:94 -> a
    3960:3960: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):1164 -> a
    3961:3987: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):1165:1191 -> a
    3988:3988:boolean com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.isConcreteCallSiteOptimizationInfo():0:0 -> a
    3988:3988: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):1191 -> a
    3989:3989: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):1191:1191 -> a
    3990:3990:boolean com.android.tools.r8.graph.AppView.hasLiveness():659:659 -> a
    3990:3990: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):1191 -> a
    3991:3995: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):1192:1192 -> a
    4001:4019: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):1198:1216 -> a
    4020:4020:void com.android.tools.r8.ir.optimize.Inliner.performInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):870:870 -> a
    4020:4020: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 -> a
    4021:4021: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):864:864 -> a
    4021:4021: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 -> a
    4022:4127: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):1217:1322 -> a
    4128:4129:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.shouldRun(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):90:91 -> a
    4128:4129: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):1322 -> a
    4130:4135: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):1323:1328 -> a
    4136:4138:void com.android.tools.r8.ir.conversion.IRConverter.invertConditionalsForTesting(com.android.tools.r8.ir.code.IRCode):956:958 -> a
    4136:4138: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):1329 -> a
    4139:4153: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):1333:1347 -> a
    4154:4185: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:1377 -> a
    4186:4233: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):1366:1413 -> a
    4234:4234:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    4234:4234: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):1413 -> a
    4235:4257: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):1414:1436 -> a
    4258:4263:boolean com.android.tools.r8.utils.InternalOptions.methodMatchesLogArgumentsFilter(com.android.tools.r8.graph.DexEncodedMethod):1200:1205 -> a
    4258:4263: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):1436 -> a
    4264:4318: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):1436:1490 -> a
    4339:4339: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):1205:1205 -> a
    4340:4340:void lambda$optimize$19(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker):1209:1209 -> a
    4341:4343:com.android.tools.r8.ir.optimize.InliningOracle lambda$optimize$20(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):1379:1379 -> a
    4344:4344: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):911:911 -> a
    4344:4344:com.android.tools.r8.ir.optimize.InliningOracle lambda$optimize$20(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):1379 -> a
    4345:4345: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):907:907 -> a
    4345:4345:com.android.tools.r8.ir.optimize.InliningOracle lambda$optimize$20(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):1379 -> a
    4346:4391: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):1514:1559 -> a
    4392:4392:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.enableRemoveProtoEnumSwitchMap():1583:1583 -> a
    4392:4392: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):1559 -> a
    4393:4398: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):1560:1565 -> a
    4399:4399: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):1515:1515 -> a
    4400:4408:void removeDeadCodeAndFinalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1577:1585 -> a
    4409:4409:void removeDeadCodeAndFinalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1581:1581 -> a
    4410:4411:void finalizeIR(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):1595:1596 -> a
    4412:4412:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    4412:4412:void finalizeIR(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):1596 -> a
    4413:4418: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):1606:1611 -> a
    4413:4418:void finalizeIR(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):1597 -> a
    4419:4419:void finalizeIR(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):1599:1599 -> a
    4420:4431: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):1620:1631 -> a
    4420:4431:void finalizeIR(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):1600 -> a
    4432:4438:void com.android.tools.r8.ir.conversion.IRConverter.updateHighestSortingStrings(com.android.tools.r8.graph.DexEncodedMethod):1669:1675 -> a
    4432:4438: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):1631 -> a
    4432:4438:void finalizeIR(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):1600 -> a
    4439:4441: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):1632:1634 -> a
    4439:4441:void finalizeIR(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):1600 -> a
    4442:4442:java.lang.String com.android.tools.r8.ir.conversion.IRConverter.logCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexEncodedMethod):934:934 -> a
    4442:4442: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):1634 -> a
    4442:4442:void finalizeIR(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):1600 -> a
    4443:4443: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):1634:1634 -> a
    4443:4443:void finalizeIR(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):1600 -> a
    4444:4450: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):1633:1639 -> a
    4444:4450:void finalizeIR(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):1600 -> a
    4451:4451:void markProcessed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1644:1644 -> a
    4452:4461:boolean com.android.tools.r8.ir.conversion.IRConverter.shouldComputeInliningConstraint(com.android.tools.r8.graph.ProgramMethod):1653:1662 -> a
    4452:4461:void markProcessed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1646 -> a
    4462:4464:void markProcessed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1647:1649 -> a
    4465:4473: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):1687:1695 -> a
    4474:4486:void com.android.tools.r8.ir.optimize.CodeRewriter.workaroundExceptionTargetingLoopHeaderBug(com.android.tools.r8.ir.code.IRCode):3932:3944 -> a
    4474:4486: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):1695 -> a
    4487:4487:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    4487:4487:void com.android.tools.r8.ir.optimize.CodeRewriter.workaroundExceptionTargetingLoopHeaderBug(com.android.tools.r8.ir.code.IRCode):3945 -> a
    4487:4487: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):1695 -> a
    4488:4489:void com.android.tools.r8.ir.optimize.CodeRewriter.workaroundExceptionTargetingLoopHeaderBug(com.android.tools.r8.ir.code.IRCode):3945:3946 -> a
    4488:4489: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):1695 -> a
    4490:4505: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):1697:1712 -> a
    4506:4506: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):1711:1711 -> a
    4507:4521:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1769:1783 -> a
    4522:4522:boolean com.android.tools.r8.ir.code.Instruction.isMul():0:0 -> a
    4522:4522:boolean com.android.tools.r8.ir.conversion.IRConverter.isLongMul(com.android.tools.r8.ir.code.Instruction):1829 -> a
    4522:4522:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1784 -> a
    4523:4524:boolean com.android.tools.r8.ir.conversion.IRConverter.isLongMul(com.android.tools.r8.ir.code.Instruction):1830:1831 -> a
    4523:4524:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1784 -> a
    4525:4525:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1787:1787 -> a
    4526:4526:boolean com.android.tools.r8.ir.conversion.IRConverter.isLongAddOrSub(com.android.tools.r8.ir.code.Instruction):1836:1836 -> a
    4526:4526:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1788 -> a
    4527:4527:boolean com.android.tools.r8.ir.code.Instruction.isSub():0:0 -> a
    4527:4527:boolean com.android.tools.r8.ir.conversion.IRConverter.isLongAddOrSub(com.android.tools.r8.ir.code.Instruction):1836 -> a
    4527:4527:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1788 -> a
    4528:4528:boolean com.android.tools.r8.ir.conversion.IRConverter.isLongAddOrSub(com.android.tools.r8.ir.code.Instruction):1837:1837 -> a
    4528:4528:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1788 -> a
    4529:4530:boolean com.android.tools.r8.ir.conversion.IRConverter.isFallthoughTarget(com.android.tools.r8.ir.code.BasicBlock):1841:1842 -> a
    4529:4530:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1791 -> a
    4531:4532:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1794:1795 -> a
    4533:4537:boolean com.android.tools.r8.ir.conversion.IRConverter.isAliasOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):1815:1819 -> a
    4533:4537:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1796 -> a
    4538:4543:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1797:1802 -> a
    4544:4555: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):1851:1862 -> a
    4544:4555:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1803 -> a
    4556:4557:com.android.tools.r8.graph.DexMethod lambda$materializeInstructionBeforeLongOperationsWorkaround$23(com.android.tools.r8.graph.DexItemFactory):1777:1778 -> a
    4558:4558:com.android.tools.r8.graph.DexMethod lambda$materializeInstructionBeforeLongOperationsWorkaround$23(com.android.tools.r8.graph.DexItemFactory):1776:1776 -> a
    4559:4559:boolean isNotPseudoInstruction(com.android.tools.r8.ir.code.Instruction):1824:1824 -> a
    4560:4560:java.lang.String printMethod(com.android.tools.r8.ir.code.IRCode,java.lang.String,java.lang.String):1900:1900 -> a
    4561:4561:void com.android.tools.r8.utils.CfgPrinter.resetUnusedValue():24:24 -> a
    4561:4561:java.lang.String printMethod(com.android.tools.r8.ir.code.IRCode,java.lang.String,java.lang.String):1901 -> a
    4562:4579:java.lang.String printMethod(com.android.tools.r8.ir.code.IRCode,java.lang.String,java.lang.String):1902:1919 -> a
    4580:4580:void lambda$onMethodCodePruned$26(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator):1949:1949 -> a
    boolean lambda$postProcessingDesugaringForD8$2(com.android.tools.r8.graph.ProgramMethod) -> b
    1:1:void clearNestAttributes():342:342 -> b
    2:9:void postProcessingDesugaringForD8(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor,java.util.concurrent.ExecutorService):428:435 -> b
    10:13:void postProcessingDesugaringForD8(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor,java.util.concurrent.ExecutorService):434:437 -> b
    14:17:void postProcessingDesugaringForD8(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor,java.util.concurrent.ExecutorService):436:439 -> b
    18:18:boolean lambda$prepareDesugaringForD8$3(com.android.tools.r8.graph.DexEncodedMethod):472:472 -> b
    19:24:void workaroundAbstractMethodOnNonAbstractClassVerificationBug(java.util.concurrent.ExecutorService):601:606 -> b
    25:25:void workaroundAbstractMethodOnNonAbstractClassVerificationBug(java.util.concurrent.ExecutorService):605:605 -> b
    26:26:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):620:620 -> b
    27:27:boolean com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection.isEmpty():0:0 -> b
    27:27:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):620 -> b
    28:66:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):620:658 -> b
    67:68:void com.android.tools.r8.ir.conversion.IRConverter.lastWaveDone(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService):821:822 -> b
    67:68:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):666 -> b
    69:83:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):667:681 -> b
    84:88:void com.android.tools.r8.ir.conversion.IRConverter.commitPendingSyntheticItemsR8(com.android.tools.r8.graph.AppView):406:410 -> b
    84:88:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):684 -> b
    89:89:void com.android.tools.r8.ir.conversion.IRConverter.commitPendingSyntheticItemsR8(com.android.tools.r8.graph.AppView):407:407 -> b
    89:89:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):684 -> b
    90:144:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):689:743 -> 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):747 -> 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):747 -> b
    151:156:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):750:755 -> b
    157:190:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):754:787 -> b
    191:195:void waveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.concurrent.ExecutorService):796:800 -> b
    196:196:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.enableRemoveProtoEnumSwitchMap():1583:1583 -> b
    196:196:void waveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.concurrent.ExecutorService):800 -> b
    197:208:void waveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.concurrent.ExecutorService):801:812 -> b
    209:215:void waveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.concurrent.ExecutorService):808:814 -> b
    216:216:void lambda$computeReachabilitySensitivity$13(com.android.tools.r8.graph.DexProgramClass):845:845 -> b
    217:219:boolean com.android.tools.r8.graph.DexProgramClass.hasReachabilitySensitiveAnnotation(com.android.tools.r8.graph.DexItemFactory):767:769 -> b
    217:219:void lambda$computeReachabilitySensitivity$13(com.android.tools.r8.graph.DexProgramClass):845 -> b
    220:221:void lambda$computeReachabilitySensitivity$13(com.android.tools.r8.graph.DexProgramClass):846:847 -> b
    222:222:void processSynthesizedServiceLoaderMethods(java.util.List,java.util.concurrent.ExecutorService):855:855 -> b
    223:223:void lambda$processMethodsConcurrently$15(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):927:927 -> b
    224:233: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):943:952 -> b
    234:235: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):970:971 -> b
    236: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):969:969 -> b
    237:257:void workaroundForwardingInitializerBug(com.android.tools.r8.ir.code.IRCode):1718:1738 -> b
    258:270: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):1868:1880 -> b
    258:270:void workaroundForwardingInitializerBug(com.android.tools.r8.ir.code.IRCode):1749 -> b
    271:275:boolean lambda$workaroundForwardingInitializerBug$22(com.android.tools.r8.ir.code.Instruction):1740:1744 -> b
    276:277:void printPhase(java.lang.String):1894:1895 -> b
    278:278:void lambda$onMethodPruned$25(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator):1932:1932 -> 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):608:609 -> c
    4:4:void lambda$workaroundAbstractMethodOnNonAbstractClassVerificationBug$6(com.android.tools.r8.graph.ProgramMethod):610:610 -> 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):987:988 -> 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):986:986 -> c
    1:1:boolean isInWave():837:837 -> 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):1016:1025 -> 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):934:934 -> 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):1025 -> 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):1025:1025 -> 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):1021:1028 -> d
    22:22:boolean com.android.tools.r8.ir.conversion.IRConverter.needsIRConversion(com.android.tools.r8.graph.ProgramMethod):556:556 -> 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):1031 -> 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):556 -> 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):1031 -> d
    24:30:boolean com.android.tools.r8.ir.conversion.IRConverter.needsIRConversion(com.android.tools.r8.graph.ProgramMethod):559:565 -> 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):1031 -> 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):1031:1041 -> 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):1032:1033 -> d
    44:51:void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod):1946:1953 -> d
    1:1:void reportNestDesugarDependencies():337:337 -> e
    2:10:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):1930:1938 -> e
    1:5:void optimizeSynthesizedMethod(com.android.tools.r8.graph.ProgramMethod):910:914 -> f
com.android.tools.r8.ir.conversion.LensCodeRewriter -> com.android.tools.r8.internal.JA:
    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>():121:121 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.enums.EnumUnboxer):153:157 -> <init>
    boolean lambda$insertCastForFieldAssignmentIfNeeded$13(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> a
    boolean lambda$removeUnusedArguments$12(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):121:121 -> 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):121:121 -> 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):162:164 -> 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):121 -> 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):164 -> 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):121 -> 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):165:165 -> 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):121 -> 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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):234:245 -> 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):1192:1212 -> 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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):247 -> a
    41:565: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):250:774 -> a
    566:566: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
    566:566: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):774 -> a
    567:568: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):776:777 -> a
    569: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):561:571 -> a
    580:584: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):570:574 -> a
    585:677: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):573:665 -> a
    678:678: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):664:664 -> a
    679:682: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):525:528 -> a
    683:686: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):171:174 -> a
    683:686: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):531 -> a
    687:689: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):532:532 -> a
    693:696: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):536:539 -> a
    697: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):538:543 -> a
    703:703:com.android.tools.r8.ir.code.SafeCheckCast$Builder com.android.tools.r8.ir.code.SafeCheckCast.builder():20:20 -> a
    703:703: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):543 -> a
    704:713: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):544:553 -> a
    714:717: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):290:293 -> a
    718:1115: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):292:689 -> a
    1116:1116: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):688:688 -> a
    1117:1120: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):674:677 -> a
    1121:1121: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):676:676 -> a
    1122:1148: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):307:333 -> a
    1149:1182:void com.android.tools.r8.ir.conversion.LensCodeRewriter.checkInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.InvokeDirect):1146:1179 -> a
    1149:1182: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):333 -> a
    1183:1183:void com.android.tools.r8.ir.conversion.LensCodeRewriter.checkInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.InvokeDirect):1170:1170 -> a
    1183:1183: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):333 -> a
    1184:1184:void com.android.tools.r8.ir.conversion.LensCodeRewriter.checkInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.InvokeDirect):1169:1169 -> a
    1184:1184: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):333 -> a
    1185:1185: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):337:337 -> a
    1186: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):336:359 -> 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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2932,"2":2933,"3":2934}}
    2932:2932: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):361:361 -> a
    2933:2933: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):361:361 -> a
    2934:2934: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):361:361 -> a
    1573:1575: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):363:365 -> a
    1576:1588: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):360:372 -> a
    1589:1589:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    1589:1589: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):372 -> a
    1590:1597: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):373:380 -> a
    1598:1604: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):375:381 -> a
    1605:1605:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> a
    1605:1605: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):382 -> a
    1606:1628: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):383:405 -> a
    1629:1635: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):404:410 -> a
    1636:1649: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):407:420 -> a
    1650:1662: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):419:431 -> a
    1663:1663:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    1663:1663: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):431 -> a
    1664:1664: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
    1664:1664:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    1664:1664: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):431 -> a
    1665:1666: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):432:433 -> a
    1667:1669: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):162:164 -> a
    1667:1669: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):438 -> a
    1670:1670: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
    1670:1670: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):164 -> a
    1670:1670: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):438 -> a
    1671:1671: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:165 -> a
    1671:1671: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):438 -> a
    1672:1707: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):441:476 -> a
    1708:1708:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    1708:1708: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):476 -> a
    1709:1709:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    1709:1709:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    1709:1709: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):476 -> a
    1710:1718: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):476:484 -> a
    1719:1725: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):483:489 -> a
    1726:1754: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):488:516 -> a
    1755:1757: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):256:258 -> a
    1758:1760: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):162:164 -> a
    1758:1760: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):260 -> a
    1761:1761: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
    1761:1761: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):164 -> a
    1761:1761: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):260 -> a
    1762:1762: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:165 -> a
    1762:1762: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):260 -> a
    1763:2131: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):261:629 -> a
    2132:2136: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):628:632 -> a
    2137:2140: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):584:587 -> a
    2141:2144: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):171:174 -> a
    2141:2144: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):590 -> a
    2145:2151: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):591:597 -> a
    2152:2157: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):596:601 -> a
    2158:2158:com.android.tools.r8.ir.code.SafeCheckCast$Builder com.android.tools.r8.ir.code.SafeCheckCast.builder():20:20 -> a
    2158:2158: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):601 -> a
    2159:2281: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):602:724 -> a
    2282:2286: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):273:277 -> a
    2287:2289: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):162:164 -> a
    2287:2289: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):279 -> a
    2290:2290: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
    2290:2290: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):164 -> a
    2290:2290: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):279 -> a
    2291:2291: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:165 -> a
    2291:2291: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):279 -> a
    2292:2668: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):280:656 -> a
    2669:2669: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):655:655 -> a
    2670:2673: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):640:643 -> a
    2674:2799: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):642:767 -> a
    2800:2825: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):733:758 -> a
    2826:2828: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):710:712 -> a
    2829:2832: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):698:701 -> a
    2833:2931: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):700:798 -> a
    2935:2935:com.android.tools.r8.ir.conversion.LensCodeRewriterUtils lambda$rewritePartialDefault$0(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):236:236 -> a
    2936:2936:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):294:294 -> a
    2937:2943: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):316:322 -> a
    2944:2944: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
    2944:2944: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):322 -> a
    2945:2945:java.util.Map lambda$rewritePartialDefault$3(com.android.tools.r8.ir.analysis.value.SingleNumberValue):453:453 -> a
    2946:2952:com.android.tools.r8.ir.code.Value lambda$rewritePartialDefault$4(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):457:463 -> a
    2953:2953:com.android.tools.r8.ir.code.Value lambda$rewritePartialDefault$4(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):462:462 -> a
    2954:2954:com.android.tools.r8.ir.code.Value lambda$rewritePartialDefault$4(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):459:459 -> a
    2955:2955: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
    2955:2955:com.android.tools.r8.ir.code.Value lambda$rewritePartialDefault$4(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):459 -> a
    2956:2958:com.android.tools.r8.ir.code.Value lambda$rewritePartialDefault$4(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):464:466 -> a
    2959:2963:com.android.tools.r8.ir.code.Value lambda$rewritePartialDefault$4(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):465:469 -> a
    2964:2964:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$5(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):645:645 -> a
    2965:2965:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$7(com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):666:666 -> a
    2966:2966:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$8(com.android.tools.r8.ir.code.InvokeMultiNewArray,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):678:678 -> a
    2967:2967:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$9(com.android.tools.r8.ir.code.InvokeNewArray,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):690:690 -> a
    2968:2968:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$11(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):714:714 -> a
    2969:2975:void removeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Set):919:925 -> a
    2976:2976:void removeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Set):921:921 -> a
    2977:2977: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":3899,"2":3900,"3":3901}}
    3899:3899:void removeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Set):921:921 -> a
    3900:3900:void removeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Set):921:921 -> a
    3901:3901:void removeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Set):921:921 -> a
    3898:3898:void removeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Set):921:921 -> a
    3902:3926:java.util.Deque com.android.tools.r8.ir.conversion.LensCodeRewriter.getUnappliedLenses(com.android.tools.r8.graph.ProgramMethod):930:954 -> a
    3902:3926:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):181 -> a
    3927:3928:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):182:183 -> a
    3929:3929:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    3929:3929:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):183 -> a
    3930:3936:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):184:190 -> a
    3937:3945:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):189:197 -> a
    3946:3947: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.RewrittenPrototypeDescription):213:214 -> a
    3946:3947:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3948:3961: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):812:825 -> a
    3948:3961: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.RewrittenPrototypeDescription):215 -> a
    3948:3961:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3962:3962:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> a
    3962:3962: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):825 -> a
    3962:3962: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.RewrittenPrototypeDescription):215 -> a
    3962:3962:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3963:3963: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):831:831 -> a
    3963:3963: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.RewrittenPrototypeDescription):215 -> a
    3963:3963:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3964:3967: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.RewrittenPrototypeDescription$RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):876:879 -> a
    3964:3967: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):826 -> a
    3964:3967: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.RewrittenPrototypeDescription):215 -> a
    3964:3967:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3968:3968:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNull():42:42 -> a
    3968:3968: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.RewrittenPrototypeDescription$RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):879 -> a
    3968:3968: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):826 -> a
    3968:3968: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.RewrittenPrototypeDescription):215 -> a
    3968:3968:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3969:3970: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.RewrittenPrototypeDescription$RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):880:881 -> a
    3969:3970: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):826 -> a
    3969:3970: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.RewrittenPrototypeDescription):215 -> a
    3969:3970:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3971:3971:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    3971:3971: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.RewrittenPrototypeDescription$RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):881 -> a
    3971:3971: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):826 -> a
    3971:3971: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.RewrittenPrototypeDescription):215 -> a
    3971:3971:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3972:3972: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
    3972:3972:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    3972:3972: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.RewrittenPrototypeDescription$RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):881 -> a
    3972:3972: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):826 -> a
    3972:3972: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.RewrittenPrototypeDescription):215 -> a
    3972:3972:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3973:3975: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.RewrittenPrototypeDescription$RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):882:884 -> a
    3973:3975: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):826 -> a
    3973:3975: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.RewrittenPrototypeDescription):215 -> a
    3973:3975:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3976:3976: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.RewrittenPrototypeDescription$RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):883:883 -> a
    3976:3976: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):826 -> a
    3976:3976: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.RewrittenPrototypeDescription):215 -> a
    3976:3976:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3977:3977: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
    3977:3977: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.RewrittenPrototypeDescription$RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):883 -> a
    3977:3977: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):826 -> a
    3977:3977: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.RewrittenPrototypeDescription):215 -> a
    3977:3977:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3978:3978: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.RewrittenPrototypeDescription$RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):886:886 -> a
    3978:3978: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):826 -> a
    3978:3978: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.RewrittenPrototypeDescription):215 -> a
    3978:3978:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3979:3982: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.RewrittenPrototypeDescription$RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):885:888 -> a
    3979:3982: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):826 -> a
    3979:3982: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.RewrittenPrototypeDescription):215 -> a
    3979:3982:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3983:3983:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    3983:3983: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.RewrittenPrototypeDescription$RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):888 -> a
    3983:3983: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):826 -> a
    3983:3983: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.RewrittenPrototypeDescription):215 -> a
    3983:3983:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3984:3984: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
    3984:3984:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    3984:3984: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.RewrittenPrototypeDescription$RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):888 -> a
    3984:3984: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):826 -> a
    3984:3984: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.RewrittenPrototypeDescription):215 -> a
    3984:3984:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3985:3992: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.RewrittenPrototypeDescription$RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):889:896 -> a
    3985:3992: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):826 -> a
    3985:3992: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.RewrittenPrototypeDescription):215 -> a
    3985:3992:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3993:3993:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    3993:3993: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):836 -> a
    3993:3993: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.RewrittenPrototypeDescription):215 -> a
    3993:3993:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3994:3994: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841:841 -> a
    3994:3994: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.RewrittenPrototypeDescription):215 -> a
    3994:3994:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3995:3995:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArgumentType(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo,java.util.Set,int):906:906 -> a
    3995:3995: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):837 -> a
    3995:3995: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.RewrittenPrototypeDescription):215 -> a
    3995:3995:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3996:3996:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    3996:3996:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArgumentType(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo,java.util.Set,int):906 -> a
    3996:3996: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):837 -> a
    3996:3996: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.RewrittenPrototypeDescription):215 -> a
    3996:3996:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3997:3997: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
    3997:3997:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    3997:3997:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArgumentType(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo,java.util.Set,int):906 -> a
    3997:3997: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):837 -> a
    3997:3997: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.RewrittenPrototypeDescription):215 -> a
    3997:3997:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3998:3998:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArgumentType(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo,java.util.Set,int):908:908 -> a
    3998:3998: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):837 -> a
    3998:3998: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.RewrittenPrototypeDescription):215 -> a
    3998:3998:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    3999:3999:com.android.tools.r8.ir.code.Argument$Builder com.android.tools.r8.ir.code.Argument.builder():36:36 -> a
    3999:3999:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArgumentType(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo,java.util.Set,int):908 -> a
    3999:3999: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):837 -> a
    3999:3999: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.RewrittenPrototypeDescription):215 -> a
    3999:3999:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    4000:4005:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArgumentType(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo,java.util.Set,int):909:914 -> a
    4000:4005: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):837 -> a
    4000:4005: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.RewrittenPrototypeDescription):215 -> a
    4000:4005:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    4006:4006: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):846:846 -> a
    4006:4006: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.RewrittenPrototypeDescription):215 -> a
    4006:4006:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    4007:4007:com.android.tools.r8.ir.code.Argument$Builder com.android.tools.r8.ir.code.Argument.builder():36:36 -> a
    4007:4007: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):846 -> a
    4007:4007: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.RewrittenPrototypeDescription):215 -> a
    4007:4007:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    4008:4011: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):847:850 -> a
    4008:4011: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.RewrittenPrototypeDescription):215 -> a
    4008:4011:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    4012:4028: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.RewrittenPrototypeDescription,java.util.Set,java.util.Set):845:861 -> a
    4012:4028: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.RewrittenPrototypeDescription):215 -> a
    4012:4028:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    4029:4034: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.RewrittenPrototypeDescription):217:222 -> a
    4029:4034:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):191 -> a
    4035:4035:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):200:200 -> a
    4036:4039: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):964:967 -> a
    4040:4040:com.android.tools.r8.ir.code.SafeCheckCast$Builder com.android.tools.r8.ir.code.SafeCheckCast.builder():20:20 -> a
    4040:4040: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):967 -> a
    4041:4042: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):968:969 -> a
    4043:4043:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    4043:4043: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):969 -> a
    4044:4044: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
    4044:4044:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    4044:4044: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):969 -> a
    4045:4045: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
    4045:4045: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):969 -> a
    4046:4056: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):969:979 -> a
    4057:4057:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlockIterator.previousUntil(java.util.function.Predicate):68:68 -> a
    4057:4057: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):979 -> a
    4058:4064: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):980:986 -> a
    4065:4079: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):997:1011 -> a
    4080:4080:com.android.tools.r8.ir.code.SafeCheckCast$Builder com.android.tools.r8.ir.code.SafeCheckCast.builder():20:20 -> a
    4080:4080: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):1011 -> a
    4081:4086: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):1012:1017 -> a
    4087:4087: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
    4087:4087: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):1017 -> a
    4088:4088: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
    4088:4088: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):1013 -> a
    4089:4103: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):1013:1027 -> a
    4104:4104:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlockIterator.previousUntil(java.util.function.Predicate):68:68 -> a
    4104:4104: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):1027 -> a
    4105:4111: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):1028:1034 -> a
    4112:4122: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.RewrittenPrototypeDescription):1046:1056 -> a
    4123:4123:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlockIterator.previousUntil(java.util.function.Predicate):68:68 -> a
    4123:4123: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.RewrittenPrototypeDescription):1056 -> a
    4124:4132: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.RewrittenPrototypeDescription):1057:1065 -> a
    4133:4133:com.android.tools.r8.ir.code.SafeCheckCast$Builder com.android.tools.r8.ir.code.SafeCheckCast.builder():20:20 -> a
    4133:4133: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.RewrittenPrototypeDescription):1065 -> a
    4134:4136: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.RewrittenPrototypeDescription):1066:1068 -> a
    4137:4137: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
    4137:4137: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.RewrittenPrototypeDescription):1068 -> a
    4138:4138: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
    4138:4138: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.RewrittenPrototypeDescription):1067 -> a
    4139:4148: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.RewrittenPrototypeDescription):1067:1076 -> a
    4149:4156:com.android.tools.r8.graph.DexField rewriteFieldReference(com.android.tools.r8.graph.GraphLens$FieldLookupResult,com.android.tools.r8.graph.ProgramMethod):1081:1088 -> a
    4157:4162:com.android.tools.r8.graph.DexField rewriteFieldReference(com.android.tools.r8.graph.GraphLens$FieldLookupResult,com.android.tools.r8.graph.ProgramMethod):1087:1092 -> a
    4163:4163: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):1103:1103 -> a
    4164:4174:boolean com.android.tools.r8.ir.conversion.LensCodeRewriter.defaultValueHasChanged(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):1116:1126 -> a
    4164:4174: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):1103 -> a
    4175:4177: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):1104:1106 -> a
    4178:4181:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.LensCodeRewriter.defaultValueLatticeElement(com.android.tools.r8.graph.DexType):1131:1134 -> a
    4178:4181: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):1108 -> a
    4182:4184: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):1107:1109 -> a
    boolean lambda$insertCastForReturnIfNeeded$15(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$10(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):702:702 -> b
    boolean lambda$insertCastsForInvokeArgumentsIfNeeded$14(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$6(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):656:656 -> 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$6(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):656 -> c
com.android.tools.r8.ir.conversion.LensCodeRewriter$1 -> com.android.tools.r8.internal.GA:
    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):391:391 -> <init>
    1:3:com.android.tools.r8.ir.analysis.type.TypeElement getOutType():399:401 -> 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():401 -> 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():401 -> c
    1:1:com.android.tools.r8.graph.DebugLocalInfo getLocalInfo():394:394 -> i
com.android.tools.r8.ir.conversion.LensCodeRewriter$GraphLensInterval -> com.android.tools.r8.internal.HA:
    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):129:132 -> <init>
    1:1:com.android.tools.r8.graph.GraphLens getCodeLens():140:140 -> a
    1:1:com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens getGraphLens():136:136 -> b
    1:1:com.android.tools.r8.graph.DexMethod getMethod():144:144 -> c
com.android.tools.r8.ir.conversion.LensCodeRewriter$InstructionReplacer -> com.android.tools.r8.internal.IA:
    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>():1215:1215 -> <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):1223:1227 -> <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):1235:1245 -> 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):1245 -> 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):1245:1246 -> 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):1246 -> 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):1246:1247 -> 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):1247 -> 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):1247:1249 -> 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):1245:1245 -> a
com.android.tools.r8.ir.conversion.LensCodeRewriterUtils -> com.android.tools.r8.internal.KA:
    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:7: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:122 -> a
    8:8:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    8:8: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
    9:13: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
    14:23: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
    24:40:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.ir.code.Invoke$Type.toMethodHandle(com.android.tools.r8.graph.DexMethod):201:217 -> a
    24:40: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
    41:51: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
    41:51: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
    52:62: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
    52:62: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
    63:66: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
    63: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:77: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
    78:88: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
    89:105:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.ir.code.Invoke$Type.toMethodHandle(com.android.tools.r8.graph.DexMethod):201:217 -> a
    89:105: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
    106:116: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
    106:116: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
    117:127: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
    117:127: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
    128:131: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
    128: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:153: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:178 -> a
    154:154: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):2686:2686 -> a
    154:154: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
    155:157:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.DexProto):227:229 -> a
    158:158:com.android.tools.r8.graph.DexType lambda$rewriteProto$1(com.android.tools.r8.graph.DexType):230:230 -> a
    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):906:906 -> b
    8:8:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):87 -> b
    9:10:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):89:90 -> b
    11:12: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
    11:12:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):91 -> b
    13:21: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
    13:21: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
    13:21:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):91 -> b
    22: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):214:214 -> b
    22: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
    22:22:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):91 -> b
    23:25: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
    23:25: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
    23:25: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:25:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):91 -> b
    26: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):216:216 -> b
    26: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
    26:26:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):91 -> b
    27:29: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
    27:29: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
    27:29: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:29:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):91 -> b
    30:35: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
    30:35:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):91 -> b
    36:38: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
    36:38:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    39:39:java.util.List com.android.tools.r8.graph.DexCallSite.getBootstrapArgs():106:106 -> b
    39: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):108 -> b
    39:39:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> 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:108 -> b
    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:java.util.List com.android.tools.r8.graph.DexCallSite.getBootstrapArgs():106:106 -> 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):109 -> 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: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
    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:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodType():0:0 -> 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 -> 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:48: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
    44:48:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    49: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):112:112 -> b
    49:49:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    50:50:java.util.List com.android.tools.r8.graph.DexCallSite.getBootstrapArgs():106:106 -> b
    50:50: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
    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 -> 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:55: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
    51:55: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:55:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    56:59: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
    56:59:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    60:64: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.QA:
    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.PA:
    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):123:124 -> 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.OA:
    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.SD:
    1:1:void <init>():7:7 -> <init>
    boolean isPeepholeOptimizationsEnabled() -> a
com.android.tools.r8.ir.conversion.MethodConversionOptions$DefaultMethodConversionOptions -> com.android.tools.r8.internal.QD:
    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.RD:
    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.bE:
    void markProcessed(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget) -> a
    void markTriggerClassInitBeforeAnySideEffect(com.android.tools.r8.graph.DexEncodedMethod,boolean) -> 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 unsetEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod) -> a
    void methodMayNotHaveSideEffects(com.android.tools.r8.graph.DexEncodedMethod) -> b
    void setNonNullParamOnNormalExits(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet) -> b
    void unsetForceInline(com.android.tools.r8.graph.ProgramMethod) -> b
    void markInlinedIntoSingleCallSite(com.android.tools.r8.graph.DexEncodedMethod) -> c
    void methodNeverReturnsNormally(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.lE:
    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.mE:
    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.QJ:
    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.OJ:
    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.PJ:
    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.vL:
    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):149 -> 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):149:150 -> a
    5:11:java.util.Deque createWaves(com.android.tools.r8.ir.conversion.callgraph.CallGraph):119:125 -> 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):138:156 -> 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):157 -> 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):158:160 -> 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.uL:
    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:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder getMethodsToReprocessBuilder():77:77 -> a
    3:3:void put(com.android.tools.r8.utils.collections.ProgramMethodSet):81:81 -> a
    4:24:com.android.tools.r8.ir.conversion.PostMethodProcessor build(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):94:114 -> a
    25:25:void lambda$build$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexMethod):99:99 -> a
    26:26:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):94:94 -> a
    26:26:void lambda$build$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexMethod):99 -> a
    27:30:void lambda$build$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexMethod):99:102 -> a
    31:31:boolean com.android.tools.r8.utils.collections.ProgramMethodSet.createAndAdd(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):78:78 -> a
    31:31:void lambda$build$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexMethod):102 -> a
com.android.tools.r8.ir.conversion.PrimaryMethodProcessor -> com.android.tools.r8.internal.dM:
    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.aM:
    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.bM:
    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.cM:
    void notifyWaveStart(com.android.tools.r8.utils.collections.ProgramMethodSet) -> a
com.android.tools.r8.ir.conversion.SourceCode -> com.android.tools.r8.internal.LU:
    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.graph.DebugLocalInfo getIncomingLocalAtBlock(int,int) -> a
    com.android.tools.r8.graph.DebugLocalInfo getOutgoingLocal(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
    com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int) -> b
    com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder) -> b
    void setUp() -> b
    void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder) -> c
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int) -> c
    boolean verifyCurrentInstructionCanThrow() -> c
    int getMoveExceptionRegister(int) -> d
    int instructionCount() -> d
    com.android.tools.r8.ir.code.Position getCurrentPosition() -> e
    int instructionOffset(int) -> e
    boolean verifyRegister(int) -> f
    int instructionIndex(int) -> g
com.android.tools.r8.ir.conversion.StringSwitchConverter -> com.android.tools.r8.internal.qW:
    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.kW:
    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.jW:
    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.mW:
    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
com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo$Builder -> com.android.tools.r8.internal.lW:
    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
    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.oW:
    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.nW:
    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.pW:
    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.uW:
    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.rW:
    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:35:void removeStringSwitch():205:237 -> a
    36:36:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    36:36:void removeStringSwitch():237 -> a
    37:37:void removeStringSwitch():237:237 -> a
    38:47:void removeStringSwitch():236:245 -> a
    48:48:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    48:48:void removeStringSwitch():245 -> a
    49:51:void removeStringSwitch():245:247 -> a
    52:58: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
    52:58:void removeStringSwitch():244 -> a
    59:64:void removeStringSwitch():250:255 -> a
    65:66:void com.android.tools.r8.ir.code.Goto.<init>(com.android.tools.r8.ir.code.BasicBlock):21:22 -> a
    65:66:void removeStringSwitch():255 -> a
    67:67:void removeStringSwitch():255:255 -> a
    68:68: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
    68:68: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
    68:68:void removeStringSwitch():255 -> a
    69:78:void removeStringSwitch():256:265 -> a
com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover -> com.android.tools.r8.internal.sW:
    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
    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:63: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
    37:63:void removeStringSwitch():362 -> a
    64:64:int com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.getAndIncrementNextBlockNumber():296:296 -> a
    64: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):440 -> a
    64:64:void removeStringSwitch():362 -> a
    65:65:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    65:65:int com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.getAndIncrementNextBlockNumber():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: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
    66:66:void removeStringSwitch():362 -> a
    67:78: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
    67:78:void removeStringSwitch():362 -> a
    79:79:int com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.getAndIncrementNextBlockNumber():296:296 -> a
    79:79: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
    79:79:void removeStringSwitch():362 -> a
    80:80:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    80:80:int com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.getAndIncrementNextBlockNumber():296 -> a
    80: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):455 -> a
    80:80:void removeStringSwitch():362 -> 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:455 -> a
    81:81:void removeStringSwitch():362 -> a
    82:94: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
    82:94:void removeStringSwitch():362 -> a
    95:98:void removeStringSwitch():363:366 -> a
    99:99: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
    99:99:void removeStringSwitch():366 -> a
    100:100:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.keySet():43:43 -> a
    100:100: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
    100:100:void removeStringSwitch():366 -> a
    101:109: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
    101:109:void removeStringSwitch():366 -> a
    110:126:void removeStringSwitch():367:383 -> a
    127:128: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
    127:128:void removeStringSwitch():386 -> a
    129:131:int[] com.android.tools.r8.utils.ArrayUtils.createIdentityArray(int):121:123 -> a
    129: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):472 -> a
    129:131:void removeStringSwitch():386 -> a
    132:140: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
    132:140:void removeStringSwitch():386 -> a
    141:143:void removeStringSwitch():387:389 -> a
com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleStringSwitchRemover -> com.android.tools.r8.internal.tW:
    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.bX:
    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.aX:
    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.uX:
    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.graph.DebugLocalInfo getIncomingLocalAtBlock(int,int) -> a
    com.android.tools.r8.graph.DebugLocalInfo getOutgoingLocal(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
    com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int) -> b
    com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder) -> b
    void setUp() -> b
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int) -> c
    boolean verifyCurrentInstructionCanThrow() -> c
    1:1:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):45:45 -> c
    2:2:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):44:44 -> c
    1:1:int instructionCount():28:28 -> d
    2:2:int getMoveExceptionRegister(int):123:123 -> d
    int instructionOffset(int) -> e
    1:1:com.android.tools.r8.ir.code.Position getCurrentPosition():76:76 -> e
    boolean verifyRegister(int) -> f
    int instructionIndex(int) -> g
com.android.tools.r8.ir.conversion.TypeConstraintResolver -> com.android.tools.r8.internal.wZ:
    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
    140:142:boolean verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value,java.util.Set):233:235 -> a
    143:145: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
    143:145:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):194 -> a
    146:146:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):194:194 -> a
    147:147: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
    147:147:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):194 -> a
    148:148:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> 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 -> a
    148:148:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):194 -> 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:64 -> a
    149:149:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):194 -> a
    150:159:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):195:204 -> a
    160:160:boolean com.android.tools.r8.ir.conversion.TypeConstraintResolver.verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value):212:212 -> a
    160:160:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):204 -> a
    161:161:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):205:205 -> a
    162:165:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):198:201 -> a
    166:166:boolean com.android.tools.r8.ir.conversion.TypeConstraintResolver.verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value):212:212 -> a
    166:166:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):201 -> a
    167:167:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):202:202 -> a
    168:171: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
    168:171:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    173:173: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
    173:173:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    174:176: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
    174:176:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    177:177:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    177:177: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
    177:177: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
    177:177:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> 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: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:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> 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 -> 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: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
    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: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
    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.errors.CompilationError.<init>(java.lang.String):22:22 -> 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 -> 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,com.android.tools.r8.origin.Origin):30:30 -> a
    183:183:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):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:199: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
    184:199: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.h6:
    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():31:31 -> 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.i6:
    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.j6:
    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.k6:
    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.o6:
    1:1:void <init>():16:16 -> <init>
    boolean hasSingleCallSite(com.android.tools.r8.graph.ProgramMethod) -> a
    1:1:com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation empty():31:31 -> 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.m6:
    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):59:59 -> <init>
    2:10:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.CallGraph):56:64 -> <init>
    11:44:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.CallGraph):61:94 -> <init>
    1:2:boolean lambda$new$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):66:67 -> a
    3:3:boolean hasSingleCallSite(com.android.tools.r8.graph.ProgramMethod):107:107 -> a
    1:1:boolean isMultiCallerInlineCandidate(com.android.tools.r8.graph.ProgramMethod):118:118 -> b
    1:2:void unsetCallSiteInformation(com.android.tools.r8.graph.ProgramMethod):123:124 -> c
com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation$EmptyCallSiteInformation -> com.android.tools.r8.internal.n6:
    com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation$EmptyCallSiteInformation EMPTY_INFO -> a
    1:1:void <clinit>():36:36 -> <clinit>
    1:1:void <init>():34:34 -> <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():34:34 -> b
    void unsetCallSiteInformation(com.android.tools.r8.graph.ProgramMethod) -> c
com.android.tools.r8.ir.conversion.callgraph.CycleEliminator -> com.android.tools.r8.internal.Pd:
    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.Od:
    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.Pd$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.Qd:
    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.Rd:
    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.Sd:
    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.Td:
    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.in:
    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.jn:
    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):397:397 -> 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):397:397 -> 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
    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.cu:
    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():436:436 -> a
    9:9:void addCallEdge(com.android.tools.r8.graph.ProgramMethod,boolean):56 -> a
    10:17:void addCallEdge(com.android.tools.r8.graph.ProgramMethod,boolean):60:67 -> a
    18:37:void processInvoke(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):71:90 -> a
    38:42:void processInvoke(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):80:84 -> a
    43:45:void processSingleTarget(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):96:96 -> a
    47:47:void processSingleTarget(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):98:98 -> a
    48:51: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
    52:52:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    52:52:void processInvokeWithDynamicDispatch(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):106 -> a
    53:91: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
    92:101: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
    102:102:void lambda$processInvokeWithDynamicDispatch$0(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexClassAndMethod):128:128 -> a
    103:103:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    103:103:void lambda$processInvokeWithDynamicDispatch$0(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexClassAndMethod):128 -> a
    104:104:void lambda$processInvokeWithDynamicDispatch$0(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexClassAndMethod):129:129 -> a
    105:106:void lambda$processInvokeWithDynamicDispatch$1(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.LookupLambdaTarget):135:136 -> a
    107:107:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    107:107:void lambda$processInvokeWithDynamicDispatch$1(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.LookupLambdaTarget):136 -> a
    108:108:void lambda$processInvokeWithDynamicDispatch$1(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.LookupLambdaTarget):137:137 -> a
    109:109:void registerCallSite(com.android.tools.r8.graph.DexCallSite):157:157 -> a
    110:110: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.HG:
    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.IG:
    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.YK:
    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.f4:
    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:13:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):93:97 -> a
    14:14:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexClassAndMember.getContextType():36:36 -> a
    14:14:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):97 -> a
    15:15:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):97:97 -> a
    16:31:java.util.List generateListOfBackportedMethods(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):102:117 -> a
    32:32:void registerAssumedLibraryTypes(com.android.tools.r8.utils.InternalOptions):124:124 -> a
    33:89:void com.android.tools.r8.ir.desugar.backports.BackportedMethods.registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):59:115 -> a
    33:89:void registerAssumedLibraryTypes(com.android.tools.r8.utils.InternalOptions):124 -> a
    90:90:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):128:128 -> a
    91:91:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    91:91:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):128 -> a
    92:100:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):129:137 -> a
    101:101:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    101:101:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):137 -> a
    102:116:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):137:151 -> a
    1:1:boolean hasBackports():66:66 -> b
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$FullMethodInvokeRewriter -> com.android.tools.r8.internal.W3:
    1:1:void <init>():1585:1585 -> <init>
    1:1:com.android.tools.r8.cf.code.CfInstruction rewriteSingle(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):1589:1589 -> a
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$InvokeRewriter -> com.android.tools.r8.internal.X3:
    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):1465:1466 -> <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):1476:1476 -> a
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodGenerator -> com.android.tools.r8.internal.Y3:
    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):1486:1486 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory,java.lang.String):1490:1491 -> <init>
    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getSyntheticKind():1496:1496 -> 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):1506:1508 -> a
    5:8:com.android.tools.r8.graph.ProgramMethod getSyntheticMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1514:1517 -> a
    9:9:com.android.tools.r8.graph.ProgramMethod getSyntheticMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1515:1515 -> a
    10:13:void lambda$getSyntheticMethod$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticMethodBuilder):1521:1524 -> a
    14:14:com.android.tools.r8.graph.Code lambda$getSyntheticMethod$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):1524:1524 -> 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):1532:1532 -> a
    15:15:com.android.tools.r8.graph.Code lambda$getSyntheticMethod$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):1524 -> a
    16:16:com.android.tools.r8.graph.DexProto getProto(com.android.tools.r8.graph.DexItemFactory):1528:1528 -> a
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter -> com.android.tools.r8.internal.Z3:
    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):1581:1581 -> a
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider -> com.android.tools.r8.internal.a4:
    com.android.tools.r8.graph.DexMethod method -> a
    1:2:void <init>(com.android.tools.r8.graph.DexMethod):1448:1449 -> <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.b4:
    java.util.Map rewritable -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():156:156 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.AppView):163:163 -> <init>
    2:56:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.AppView):161:215 -> <init>
    1:1:boolean isEmpty():219:219 -> a
    2:2:void visit(java.util.function.Consumer):223:223 -> a
    3:133:void initializeAndroidKMethodProviders(com.android.tools.r8.graph.DexItemFactory):228:358 -> 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):928:928 -> a
    135:156:void addProvider(com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider):1415:1436 -> a
    157:157:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getProvider(com.android.tools.r8.graph.DexMethod):1440:1440 -> a
    1:338:void initializeAndroidNMethodProviders(com.android.tools.r8.graph.DexItemFactory):364:701 -> 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):949:949 -> 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):969 -> 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):969 -> 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):969 -> 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):969 -> c
    55:213:void initializeAndroidOMethodProviders(com.android.tools.r8.graph.DexItemFactory):708:866 -> c
    1:48:void initializeAndroidRMethodProviders(com.android.tools.r8.graph.DexItemFactory):878:925 -> d
    49:73:void initializeAndroidRMethodProviders(com.android.tools.r8.graph.DexItemFactory):922:946 -> d
    74:97:void initializeAndroidRMethodProviders(com.android.tools.r8.graph.DexItemFactory):943:966 -> d
    98:116:void initializeAndroidRMethodProviders(com.android.tools.r8.graph.DexItemFactory):963:981 -> d
    1:99:void initializeAndroidSMethodProviders(com.android.tools.r8.graph.DexItemFactory):991:1089 -> e
    100:100:void initializeAndroidSMethodProviders(com.android.tools.r8.graph.DexItemFactory):1087:1087 -> e
    1:29:void initializeAndroidSv2MethodProviders(com.android.tools.r8.graph.DexItemFactory):1096:1124 -> f
    1:23:void initializeJava10OptionalMethodProviders(com.android.tools.r8.graph.DexItemFactory):1337:1359 -> g
    1:61:void initializeJava11MethodProviders(com.android.tools.r8.graph.DexItemFactory):1203:1263 -> h
    1:20:void initializeJava11OptionalMethodProviders(com.android.tools.r8.graph.DexItemFactory):1365:1384 -> i
    1:18:void initializeJava9MethodProviders(com.android.tools.r8.graph.DexItemFactory):1135:1152 -> j
    19:48:void initializeJava9MethodProviders(com.android.tools.r8.graph.DexItemFactory):1146:1175 -> j
    49:70:void initializeJava9MethodProviders(com.android.tools.r8.graph.DexItemFactory):1169:1190 -> j
    1:61:void initializeJava9OptionalMethodProviders(com.android.tools.r8.graph.DexItemFactory):1270:1330 -> k
    1:8:void initializeObjectsMethodProviders(com.android.tools.r8.graph.DexItemFactory):1403:1410 -> l
    1:7:void initializeStreamMethodProviders(com.android.tools.r8.graph.DexItemFactory):1391:1397 -> m
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$StatifyingMethodGenerator -> com.android.tools.r8.internal.c4:
    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):1545:1546 -> <init>
    1:1:com.android.tools.r8.graph.DexProto getProto(com.android.tools.r8.graph.DexItemFactory):1551:1551 -> a
    2:2:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodGenerator.getProto(com.android.tools.r8.graph.DexItemFactory):1528:1528 -> a
    2:2:com.android.tools.r8.graph.DexProto getProto(com.android.tools.r8.graph.DexItemFactory):1551 -> a
    3:3:com.android.tools.r8.graph.DexProto getProto(com.android.tools.r8.graph.DexItemFactory):1551:1551 -> a
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$StatifyingMethodWithForwardingGenerator -> com.android.tools.r8.internal.d4:
    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):1560:1560 -> <init>
    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getSyntheticKind():1565:1565 -> a
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory -> com.android.tools.r8.internal.e4:
    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.R5:
    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.E6:
    void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer) -> a
com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection -> com.android.tools.r8.internal.H6:
    1:1:void <init>():18:18 -> <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,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):22:23 -> a
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    3:3:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):23 -> a
    4:4:com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.create(com.android.tools.r8.graph.AppView):47:47 -> a
    4:4:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):25 -> a
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> 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):47 -> a
    5:5:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):25 -> a
    6:9:com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.create(com.android.tools.r8.graph.AppView):48:51 -> a
    6:9:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):25 -> a
    10:26:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):27:43 -> a
com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection$EmptyCfClassSynthesizerCollection -> com.android.tools.r8.internal.F6:
    1:1:void <init>():71:71 -> <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.G6:
    java.util.Collection synthesizers -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():50:50 -> <clinit>
    1:3:void <init>(java.util.Collection):55:57 -> <init>
    1:1:void synthesizeClasses(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):64:64 -> a
    2:2:void lambda$synthesizeClasses$0(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaring):66:66 -> a
com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer -> com.android.tools.r8.internal.I6:
    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.t7:
    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.u7:
    1:1:void <init>():29:29 -> <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):33:38 -> a
    7:7:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    7:7:com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):38 -> a
    8:10:com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):39:41 -> a
    11:11:com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection empty():45:45 -> a
    com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo getRetargetingInfo() -> b
com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer -> com.android.tools.r8.internal.x7:
    1:1:void <init>():47:47 -> <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):62:62 -> 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.v7:
    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>():81:81 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$1):81:81 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.conversion.D8MethodProcessor):91:91 -> <init>
    3:9:void <init>(com.android.tools.r8.ir.conversion.D8MethodProcessor):86:92 -> <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):122:125 -> a
    5:5:void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass):130:130 -> 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):130 -> a
    7:7:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    7:7:java.lang.Iterable com.android.tools.r8.graph.DexProgramClass.programMethods():231 -> a
    7:7:void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass):130 -> a
    8:8:void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass):130:130 -> a
    9:11:void acceptLambdaClass(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):135:137 -> a
    12:14:void acceptConstantDynamicClass(com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass,com.android.tools.r8.graph.ProgramMethod):143:145 -> a
    15:15:void acceptCompanionClassClinit(com.android.tools.r8.graph.ProgramMethod):196:196 -> a
    16:18:java.util.List finalizeDesugaring(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.ClassConverterResult$Builder):201:203 -> a
    19:24:void com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer.finalizeLambdaDesugaring(com.android.tools.r8.ir.conversion.ClassConverterResult$Builder,java.util.function.Consumer):239:244 -> a
    19:24:java.util.List finalizeDesugaring(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.ClassConverterResult$Builder):203 -> a
    25:25:java.util.List finalizeDesugaring(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.ClassConverterResult$Builder):204:204 -> a
    26:30:void com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer.finalizeConstantDynamicDesugaring(java.util.function.Consumer):248:252 -> a
    26:30:java.util.List finalizeDesugaring(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.ClassConverterResult$Builder):204 -> a
    31:53:void finalizeInvokeSpecialDesugaring(com.android.tools.r8.graph.AppView,java.util.function.Consumer):211:233 -> a
    54:57:void lambda$finalizeInvokeSpecialDesugaring$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):215:218 -> a
    58:61:void lambda$finalizeInvokeSpecialDesugaring$1(com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):227:230 -> a
    62:64:boolean verifyNothingToFinalize():256:258 -> 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):112:112 -> b
    2:2:void acceptNestFieldGetBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):150:150 -> 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):160:160 -> c
    2:2:void acceptTwrCloseResourceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):165:165 -> 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):155:155 -> d
    1:1:void acceptAPIConversion(com.android.tools.r8.graph.ProgramMethod):191:191 -> e
    1:1:void acceptInvokeStaticInterfaceOutliningMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):176:176 -> f
    1:1:void acceptRecordMethod(com.android.tools.r8.graph.ProgramMethod):117:117 -> g
    1:1:void acceptThrowMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):170:170 -> h
com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$R8CfInstructionDesugaringEventConsumer -> com.android.tools.r8.internal.w7:
    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>():263:263 -> <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):289:289 -> <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):276:295 -> <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):300:300 -> a
    2:2:void acceptDesugaredLibraryRetargeterDispatchClasspathClass(com.android.tools.r8.graph.DexClasspathClass):305:305 -> a
    3:5:void acceptInvokeSpecialBridgeInfo(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):362:364 -> a
    6:11:void acceptLambdaClass(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):369:374 -> a
    12:12:void acceptLambdaClass(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):371:371 -> a
    13:18:void acceptConstantDynamicClass(com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass,com.android.tools.r8.graph.ProgramMethod):380:385 -> a
    19:19:void acceptConstantDynamicClass(com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass,com.android.tools.r8.graph.ProgramMethod):382:382 -> a
    20:21:void finalizeDesugaring():411:412 -> a
    22:22:void lambda$finalizeLambdaDesugaring$1(java.util.Set,com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):429:429 -> a
    23:23:void com.android.tools.r8.ir.desugar.LambdaClass$Target.ensureAccessibilityIfNeeded():539:539 -> a
    23:23:void lambda$finalizeLambdaDesugaring$1(java.util.Set,com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):429 -> a
    24:26:void lambda$finalizeLambdaDesugaring$1(java.util.Set,com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):432:432 -> a
    28:28:void lambda$finalizeLambdaDesugaring$1(java.util.Set,com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):434:434 -> 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):342:342 -> b
    2:2:void acceptNestFieldGetBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):390:390 -> b
    3:4:void finalizeInvokeSpecialDesugaring():417:418 -> b
    5:7:void lambda$finalizeInvokeSpecialDesugaring$0(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):420:422 -> b
    1:1:void acceptEnumConversionClasspathClass(com.android.tools.r8.graph.DexClasspathClass):347:347 -> c
    2:2:void acceptNestMethodBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):400:400 -> c
    3:3:void acceptTwrCloseResourceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):407:407 -> c
    4:17:void finalizeLambdaDesugaring():426:439 -> c
    1:1:void acceptClasspathEmulatedInterface(com.android.tools.r8.graph.DexClasspathClass):310:310 -> d
    2:2:void acceptNestFieldPutBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):395:395 -> 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):337:337 -> 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.X7:
    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.a8:
    1:1:void <init>():21:21 -> <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,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):27:27 -> 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,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):59:61 -> 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,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):28 -> a
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> 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,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):61 -> a
    5:5:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):28 -> a
    6:24: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,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):62:80 -> a
    6:24:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):28 -> a
    25:25:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection.empty():35:35 -> a
    25: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,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):81 -> a
    25:25:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):28 -> 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,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):83:83 -> 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,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):28 -> a
    27:27:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection.empty():35:35 -> 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,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):31 -> a
com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$EmptyCfPostProcessingDesugaringCollection -> com.android.tools.r8.internal.Y7:
    com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$EmptyCfPostProcessingDesugaringCollection INSTANCE -> a
    1:1:void <clinit>():102:102 -> <clinit>
    1:1:void <init>():105:105 -> <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():99:99 -> a
com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$NonEmptyCfPostProcessingDesugaringCollection -> com.android.tools.r8.internal.Z7:
    java.util.List desugarings -> a
    1:2:void <init>(java.util.List):51:52 -> <init>
    1:2:void postProcessingDesugaring(java.util.Collection,java.util.function.Predicate,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):93:94 -> a
com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer -> com.android.tools.r8.internal.d8:
    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.b8:
    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.c8:
    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.Md:
    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 lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):114:114 -> a
    18:19:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.methodHasCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexEncodedMethod):122:123 -> a
    18:19:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):114 -> a
    20:20:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):115:115 -> a
    21:21:void com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.buildCovariantReturnTypeMethodsForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.List):135:135 -> a
    21:21:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):116 -> a
    22:23:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.methodHasCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexEncodedMethod):122:123 -> a
    22:23:void com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.buildCovariantReturnTypeMethodsForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.List):135 -> a
    22:23:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):116 -> a
    24:24:void com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.buildCovariantReturnTypeMethodsForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.List):135:135 -> a
    24:24:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):116 -> a
    25:30:java.util.Set com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.getCovariantReturnTypes(com.android.tools.r8.graph.ProgramMethod):196:201 -> a
    25:30:void com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.buildCovariantReturnTypeMethodsForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.List):136 -> a
    25:30:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):116 -> a
    31:31:java.util.Set com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.getCovariantReturnTypes(com.android.tools.r8.graph.ProgramMethod):199:199 -> a
    31:31:void com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.buildCovariantReturnTypeMethodsForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.List):136 -> a
    31:31:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):116 -> a
    32:35:void com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.buildCovariantReturnTypeMethodsForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.List):136:139 -> a
    32:35:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):116 -> a
    36:60:com.android.tools.r8.graph.DexEncodedMethod buildCovariantReturnTypeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):150:174 -> a
    61:61:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexAnnotationSet.keepIf(java.util.function.Predicate):200:200 -> a
    61:61:com.android.tools.r8.graph.DexEncodedMethod buildCovariantReturnTypeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):174 -> a
    62:67:com.android.tools.r8.graph.DexEncodedMethod buildCovariantReturnTypeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):171:176 -> a
    68:76:com.android.tools.r8.graph.DexEncodedMethod buildCovariantReturnTypeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):175:183 -> a
    77:77:boolean lambda$buildCovariantReturnTypeMethod$2(com.android.tools.r8.graph.DexAnnotation):174:174 -> a
    78:78: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
    79:79:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.isCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):264:264 -> 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 -> a
    80:80:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.isCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):268:268 -> a
    80:80:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.isCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):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:95: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
    96:100: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
    101:101: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
    102:102:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> 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 -> a
    103:103:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    103:103:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):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:126: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
    127:127:boolean com.android.tools.r8.graph.DexValue.isDexValueAnnotation():0:0 -> a
    127:127: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
    128:130: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
    131:135: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
    136:136: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
    137:137:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> 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 -> a
    138:138:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    138:138:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):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:161: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
    162:162: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
    163:163:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> 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 -> a
    164:164:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    164:164:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):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 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
    166:166:boolean isCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):264:264 -> a
    167:167:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.isCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):268:268 -> a
    167:167: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.hf:
    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.bf:
    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.cf:
    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.df:
    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.ff:
    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.ef:
    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.gf:
    void scan() -> a
com.android.tools.r8.ir.desugar.EmptyCfInstructionDesugaringCollection -> com.android.tools.r8.internal.vh:
    com.android.tools.r8.ir.desugar.EmptyCfInstructionDesugaringCollection INSTANCE -> a
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>():26:26 -> <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
    com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo getRetargetingInfo() -> b
    1:1:com.android.tools.r8.ir.desugar.EmptyCfInstructionDesugaringCollection getInstance():30:30 -> c
com.android.tools.r8.ir.desugar.FreshLocalProvider -> com.android.tools.r8.internal.Kk:
    int getFreshLocal(int) -> a
com.android.tools.r8.ir.desugar.InvokeToPrivateRewriter -> com.android.tools.r8.internal.qu:
    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.hA:
    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):172:172 -> 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:104:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):208:211 -> a
    101:104:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):135 -> a
    105:120:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):204:219 -> a
    105:120:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):135 -> a
    121:121:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):218:218 -> a
    121:121:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):135 -> a
    122:126:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaClassConstructorSourceCode.build(com.android.tools.r8.ir.desugar.LambdaClass):24:28 -> a
    122:126:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):221 -> a
    122:126:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):135 -> a
    127:130:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):221:224 -> a
    127:130:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):135 -> a
    131:143:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):215:227 -> a
    131:143:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):135 -> a
    144:154: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
    144:154:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):136 -> a
    155:161: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
    155:161:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):136 -> a
    162:181: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
    162:181:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):136 -> a
    182:182: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
    182:182:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):136 -> a
    183:188: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
    183:188: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
    183:188:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):136 -> a
    189:192: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
    189:192:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):136 -> a
    193:208: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
    193:208:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):136 -> a
    209:214:com.android.tools.r8.graph.DexField getCaptureField(int):140:145 -> a
    215:215:com.android.tools.r8.graph.DexField getCaptureField(int):142:142 -> a
    216:217:boolean canAccessModifyLambdaImplMethod():326:327 -> a
    218:218:boolean com.android.tools.r8.utils.InternalOptions.canAccessModifyLambdaImplementationMethods(com.android.tools.r8.graph.AppView):1803:1803 -> a
    218:218:boolean canAccessModifyLambdaImplMethod():327 -> a
    219:222:boolean com.android.tools.r8.ir.desugar.LambdaClass.isPrivateOrStaticInterfaceMethodInvokeThatWillBeDesugared():319:322 -> a
    219:222:boolean canAccessModifyLambdaImplMethod():328 -> a
    223:224:boolean canAccessModifyLambdaImplMethod():329:330 -> a
    225:225:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.delegatesToLambdaImplMethod(com.android.tools.r8.graph.DexItemFactory):183:183 -> a
    225:225:boolean canAccessModifyLambdaImplMethod():330 -> a
    226:226:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    226:226:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.delegatesToLambdaImplMethod(com.android.tools.r8.graph.DexItemFactory):183 -> a
    226:226:boolean canAccessModifyLambdaImplMethod():330 -> a
    227:228:boolean canAccessModifyLambdaImplMethod():330:331 -> a
    229:229:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):398:398 -> a
    230:230:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isInvokeInstance():153:153 -> a
    230:230:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):398 -> a
    231:233:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):398:398 -> a
    234:234:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):313:313 -> a
    234:234:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):401 -> a
    235:238:boolean com.android.tools.r8.ir.desugar.LambdaClass.isPrivateOrStaticInterfaceMethodInvokeThatWillBeDesugared():319:322 -> a
    235:238:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):314 -> a
    235:238:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):401 -> a
    239:240:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):314:315 -> a
    239:240:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):401 -> a
    241:268:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):402:429 -> a
    269:270:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():509:510 -> a
    269:270:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):429 -> a
    271:271: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":279,"2":280,"3":281}}
    279:279:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():510:510 -> a
    279:279:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):429 -> a
    280:280:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():510:510 -> a
    280:280:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):429 -> a
    281:281:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():510:510 -> a
    281:281:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):429 -> a
    272:273:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():510:511 -> a
    272:273:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):429 -> a
    274:278: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
    10:10:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> b
    10:10:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.delegatesToLambdaImplMethod(com.android.tools.r8.graph.DexItemFactory):183 -> b
    10:10:com.android.tools.r8.ir.desugar.LambdaClass$Target createLambdaImplMethodTarget(com.android.tools.r8.graph.ProgramMethod):340 -> b
    11:61:com.android.tools.r8.ir.desugar.LambdaClass$Target createLambdaImplMethodTarget(com.android.tools.r8.graph.ProgramMethod):340:390 -> b
    62:64: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
    62:64:com.android.tools.r8.ir.desugar.LambdaClass$Target createLambdaImplMethodTarget(com.android.tools.r8.graph.ProgramMethod):390 -> b
    65:65:com.android.tools.r8.ir.desugar.LambdaClass$Target createLambdaImplMethodTarget(com.android.tools.r8.graph.ProgramMethod):387:387 -> b
    1:1:boolean isStateless():149:149 -> c
    2:2:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isStateless():199:199 -> c
    2:2:boolean isStateless():149 -> c
    3:21:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):290:308 -> c
    22:22: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":421,"2":422,"3":423}}
    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
    423:423: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):308:308 -> c
    331:331:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):292:292 -> 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:502 -> c
    332:332:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):294 -> c
    333:333:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isInvokeInterface():157:157 -> 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 -> c
    333:333:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):294 -> 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):502:502 -> c
    334:334:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):294 -> c
    335:335:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):313:313 -> c
    335:335: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:335:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):294 -> c
    336:339:boolean com.android.tools.r8.ir.desugar.LambdaClass.isPrivateOrStaticInterfaceMethodInvokeThatWillBeDesugared():319:322 -> c
    336:339:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):314 -> c
    336:339:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createInterfaceMethodTarget(com.android.tools.r8.graph.ProgramMethod):503 -> c
    336:339:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):294 -> c
    340:341:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):314:315 -> c
    340:341:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createInterfaceMethodTarget(com.android.tools.r8.graph.ProgramMethod):503 -> c
    340:341:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):294 -> c
    342:344: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
    342:344:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):294 -> c
    345:347:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):302:304 -> c
    348:350: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
    348:350:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    351:351:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isInvokeConstructor():165:165 -> 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 -> c
    351:351:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> 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):472:472 -> c
    352:352:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    353:353:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):313:313 -> c
    353:353: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:353:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    354:357:boolean com.android.tools.r8.ir.desugar.LambdaClass.isPrivateOrStaticInterfaceMethodInvokeThatWillBeDesugared():319:322 -> c
    354:357:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):314 -> c
    354:357:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):474 -> c
    354:357:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    358:359:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):314:315 -> c
    358:359:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):474 -> c
    358:359:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    360:376: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
    360:376:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    377:378:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():509:510 -> c
    377:378:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):491 -> c
    377:378:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    379:379: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":424,"2":425,"3":426}}
    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
    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.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):491 -> c
    426:426:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    380:381:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():510:511 -> c
    380:381:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):491 -> c
    380:381:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    382:385: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
    382:385:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):296 -> c
    386:386:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):306:306 -> c
    387:388:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):298:299 -> 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):442:442 -> c
    389:389:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):300 -> c
    390:390:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):313:313 -> c
    390:390: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:390:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):300 -> c
    391:394:boolean com.android.tools.r8.ir.desugar.LambdaClass.isPrivateOrStaticInterfaceMethodInvokeThatWillBeDesugared():319:322 -> c
    391:394:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):314 -> c
    391:394:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):444 -> c
    391:394:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):300 -> c
    395:396:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):314:315 -> c
    395:396:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):444 -> c
    395:396:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):300 -> c
    397:409: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
    397:409:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):300 -> c
    410:411:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():509:510 -> c
    410:411:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):458 -> c
    410:411:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):300 -> c
    412:412: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":427,"2":428,"3":429}}
    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
    429:429:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():510:510 -> c
    429:429:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):458 -> c
    429:429:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):300 -> c
    413:414:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():510:511 -> c
    413:414:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):458 -> c
    413:414:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):300 -> c
    415:420: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
    415:420:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):300 -> c
com.android.tools.r8.ir.desugar.LambdaClass$ClassMethodWithAccessorTarget -> com.android.tools.r8.internal.Zz:
    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():442:442 -> a
    86:86:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):818 -> a
    87:89: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.aA:
    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.bA:
    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():477:477 -> a
    34:34:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):747 -> a
    35:38:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):747:750 -> a
    39:39:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    39:39:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):750 -> a
    40:40:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):751:751 -> a
    41:41:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    41:41:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):751 -> a
    42:51:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):751:760 -> a
    52:70: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
    71:71: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.cA:
    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():477:477 -> a
    39:39:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):659 -> a
    40:43:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):659:662 -> a
    44:44:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    44:44:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):662 -> a
    45:45:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):663:663 -> a
    46:46:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    46:46:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):663 -> a
    47:56:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):663:672 -> a
    57:75: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
    76:80: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
    81:81: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.dA:
    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.eA:
    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.fA:
    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.gA:
    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.iA:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():22:22 -> <clinit>
com.android.tools.r8.ir.desugar.LambdaDescriptor -> com.android.tools.r8.internal.jA:
    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
    259:259:void forEachErasedAndEnforcedTypes(java.util.function.BiConsumer):189:189 -> a
    260:260:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):204:204 -> a
    261:261:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isInvokeInterface():157:157 -> a
    261:261:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):204 -> a
    262:263:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):209:210 -> a
    264:264:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isInvokeInstance():153:153 -> a
    264:264:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):210 -> a
    265:266:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):210:211 -> a
    267:267:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isInvokeConstructor():165:165 -> a
    267:267:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):211 -> a
    268:272:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):212:216 -> a
    273:317:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):213:257 -> a
    318:321:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):281:284 -> a
    318:321: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
    322:322:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):906:906 -> a
    322:322:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):284 -> a
    322: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:347: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
    348:358: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
    348:358: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
    359:380: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
    381:381: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":1112,"2":1113,"3":1114}}
    1112:1112: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
    1113:1113: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
    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
    729:732: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
    733:763: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
    733:763: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
    764:764: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
    765: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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1115,"2":1116,"3":1117}}
    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):320:320 -> 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):320:320 -> a
    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
    1086:1086: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
    1118:1119:void lambda$infer$0(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.DexType):355:356 -> a
    1120:1124:java.util.List getInterfaces(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy):409:413 -> a
    1125:1131:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):418:424 -> a
    1132:1132:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1982,"2":1983,"3":1984,"4":1985,"5":1986,"6":1987}}
    1982:1982:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):424:424 -> a
    1983:1983:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):424:424 -> a
    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
    1556:1556:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):424:424 -> a
    1557:1557:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):419:419 -> a
    1558:1558:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1988,"2":1989,"3":1990,"4":1991,"5":1992,"6":1993}}
    1988:1988:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):419:419 -> a
    1989:1989:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):419:419 -> a
    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
    1977:1977:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):419:419 -> a
    1994:2002:boolean isSameOrDerived(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):453:461 -> a
    2003:2006: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.oA:
    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):775:775 -> 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):172:172 -> 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:290: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
    291:308: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
    291:308: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
    309:325: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
    326:326:void com.android.tools.r8.cf.code.CfInstanceFieldRead.<init>(com.android.tools.r8.graph.DexField):17:17 -> a
    326:326: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
    327:338: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
    339:340: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
    339:340: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
    339: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):248 -> a
    341:341:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    341:341: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
    341:341: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:341: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
    342: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):377:377 -> a
    342: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
    342: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: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
    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: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):252:253 -> a
    346:362:int com.android.tools.r8.ir.code.Invoke$Type.getCfOpcode():150:166 -> a
    346:362: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
    363:363:boolean com.android.tools.r8.ir.desugar.LambdaClass$Target.isInterface():553:553 -> 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:390: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
    391:404: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
    405:406: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
    405:406: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
    407:425: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
    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):172:172 -> a
    426: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):304 -> a
    427:441: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
    427:441: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
    442:453: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
    442:453: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
    442:453: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
    454:454: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":522,"2":523,"3":524,"4":525,"5":526}}
    522:522: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
    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):429 -> 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: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
    523:523: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
    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):387 -> a
    524:524: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
    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):429 -> 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
    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
    455:455: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
    455:455: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
    455:455: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
    456: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):85:85 -> a
    456: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
    456: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: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
    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):387 -> a
    458:458:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> 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):430 -> 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: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
    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:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):775:775 -> 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):432 -> 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:462:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):750:751 -> a
    461:462: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
    461: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):434 -> a
    461: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: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
    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):434 -> 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:464: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
    464:464: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
    465:465:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> a
    465: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
    465: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
    465: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: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":527,"2":528,"3":529,"4":530,"5":531}}
    527:527:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> a
    527:527: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
    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):434 -> 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.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> a
    528:528: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
    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):434 -> 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.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> a
    529:529: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
    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):434 -> 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
    530:530:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> 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):753:753 -> 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
    467:467:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> a
    467:467: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
    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):434 -> 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:479: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
    468:479: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
    468:479: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
    480:480: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":532,"2":533,"3":534,"4":535,"5":536}}
    532:532: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
    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):443 -> 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.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> 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):443 -> 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.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> 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):443 -> 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
    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
    481:481: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
    481:481: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
    481:481: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
    482: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):85:85 -> a
    482: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
    482: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: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
    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):387 -> a
    484:484:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):760:760 -> a
    484:484: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
    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):451 -> 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.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):775:775 -> a
    485:485:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):761 -> a
    485:485: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
    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):451 -> 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:487:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):765:766 -> a
    486: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
    486: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
    486: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: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
    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:489:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> a
    489:489: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:489: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:489: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
    490: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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":537,"2":538,"3":539,"4":540,"5":541}}
    537:537:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> a
    537:537: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
    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):451 -> 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.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> a
    538:538: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
    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):451 -> 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.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> a
    539:539: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
    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):451 -> 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
    540:540:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> 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):763:763 -> 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
    491:491:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> 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):552 -> 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:506: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
    492:506: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
    507:507:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    507:507: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
    507:507: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
    508:508: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
    508:508: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
    509: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):389:389 -> a
    510:510:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):775:775 -> 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):392 -> a
    511:516: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
    517:517: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
    518:518: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
    519:519: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
    519: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):387 -> 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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":542,"2":543,"3":544}}
    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):475:475 -> 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: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
    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: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
    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
    521:521: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
    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):387 -> a
    545:591: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
    592:596: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
    597:600: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
    601:601: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
    602:644: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
    645:645: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":1185,"2":1186,"3":1187}}
    1185:1185: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
    1186:1186: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
    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):536:536 -> a
    646:646: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
    647: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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1191,"2":1192,"3":1193,"4":1194}}
    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):537:537 -> 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):537:537 -> 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):537:537 -> a
    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
    1184:1184: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.nA:
    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.UB:
    void allocateLocalStack(int) -> a
com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection -> com.android.tools.r8.internal.LG:
    java.util.List desugarings -> b
    com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter desugaredLibraryAPIConverter -> g
    com.android.tools.r8.graph.AppView appView -> a
    java.util.List yieldingDesugarings -> c
    com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter interfaceMethodRewriter -> f
    com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring nestBasedAccessDesugaring -> d
    com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter desugaredLibraryRetargeter -> e
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():49:49 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):64:64 -> <init>
    2:47:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):52:97 -> <init>
    48:93:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):96:141 -> <init>
    1:2:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToCfNonDesugar(com.android.tools.r8.graph.AppView):146:147 -> a
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    3:3:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToCfNonDesugar(com.android.tools.r8.graph.AppView):147 -> a
    4:5:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToCfNonDesugar(com.android.tools.r8.graph.AppView):147:148 -> a
    6:6:com.android.tools.r8.androidapi.AndroidApiLevelCompute com.android.tools.r8.androidapi.AndroidApiLevelCompute.noAndroidApiLevelCompute():54:54 -> a
    6:6:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToCfNonDesugar(com.android.tools.r8.graph.AppView):149 -> a
    7:10:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToCfNonDesugar(com.android.tools.r8.graph.AppView):149:152 -> a
    11:19:void com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.ensureCfCode(com.android.tools.r8.graph.ProgramMethod):167:175 -> a
    11:19:void desugar(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):196 -> a
    20:20:void com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.ensureCfCode(com.android.tools.r8.graph.ProgramMethod):171:171 -> a
    20:20:void desugar(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):196 -> a
    21:34:void desugar(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):197:210 -> a
    35:66:void desugar(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):209:240 -> a
    67:75:void com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.ensureCfCode(com.android.tools.r8.graph.ProgramMethod):167:175 -> a
    67:75:void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):181 -> a
    76:76:void com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.ensureCfCode(com.android.tools.r8.graph.ProgramMethod):171:171 -> a
    76:76:void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):181 -> a
    77:77:void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):182:182 -> a
    78:86:void com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.ensureCfCode(com.android.tools.r8.graph.ProgramMethod):167:175 -> a
    78:86:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):187 -> a
    87:87:void com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.ensureCfCode(com.android.tools.r8.graph.ProgramMethod):171:171 -> a
    87:87:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):187 -> a
    88:88:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):188:188 -> a
    89:89:void lambda$prepare$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions,com.android.tools.r8.ir.desugar.CfInstructionDesugaring):182:182 -> a
    90:90:void lambda$scan$1(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.desugar.CfInstructionDesugaring):188:188 -> a
    91:102: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):212:223 -> a
    103:104:void com.android.tools.r8.utils.IntBox.setMax(int):61:62 -> a
    103: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):223 -> 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):224:224 -> a
    106:107:void com.android.tools.r8.utils.IntBox.setMax(int):61:62 -> a
    106: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):224 -> a
    108:109: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):227:228 -> a
    110:110:boolean lambda$noDesugaringBecauseOfImpreciseDesugaring$3(com.android.tools.r8.ir.desugar.CfInstructionDesugaring):245:245 -> a
    111:119: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:283 -> a
    120:131: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):307:318 -> a
    120:131: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):276 -> a
    132:143: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):310:321 -> a
    132:143: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):276 -> a
    144: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):289:296 -> a
    152:163: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):307:318 -> a
    152: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):289 -> a
    164:175: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):310:321 -> a
    164:175: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):289 -> a
    176:190:boolean needsDesugaring(com.android.tools.r8.graph.ProgramMethod):330:344 -> a
    191:191: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
    191:191:boolean needsDesugaring(com.android.tools.r8.graph.ProgramMethod):343 -> a
    192:192:boolean needsDesugaring(com.android.tools.r8.graph.ProgramMethod):340:340 -> a
    193:193:boolean lambda$needsDesugaring$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfInstruction):344:344 -> a
    194:194:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):348:348 -> a
    195:195: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
    195:195:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):348 -> a
    196:196:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):348:348 -> a
    197:197: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
    197:197:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):350 -> a
    198:198:boolean lambda$needsDesugaring$7(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaring):349:349 -> a
    199:199: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):359:359 -> a
    200:216: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):361:377 -> a
    217:219:void withD8NestBasedAccessDesugaring(com.android.tools.r8.utils.ThrowingConsumer):385:387 -> a
    220:221: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):394:395 -> a
    222:223: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):402:403 -> a
    224:225:void withDesugaredLibraryAPIConverter(java.util.function.Consumer):417:418 -> a
    1:3:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToDexNonDesugar(com.android.tools.r8.graph.AppView):157:159 -> 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):160 -> b
    5:7:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToDexNonDesugar(com.android.tools.r8.graph.AppView):160:162 -> b
    8:25:boolean noDesugaringBecauseOfImpreciseDesugaring(com.android.tools.r8.graph.ProgramMethod):245:262 -> b
    26:26:boolean lambda$noDesugaringBecauseOfImpreciseDesugaring$4(com.android.tools.r8.ir.desugar.CfInstructionDesugaring):252:252 -> 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):351:351 -> b
    28:29:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo getRetargetingInfo():409:410 -> b
    1:1:boolean lambda$noDesugaringBecauseOfImpreciseDesugaring$5(com.android.tools.r8.ir.desugar.CfInstructionDesugaring):258:258 -> c
com.android.tools.r8.ir.desugar.PrefixRewritingMapper -> com.android.tools.r8.internal.LL:
    1:1:void <init>():24:24 -> <init>
    void forAllRewrittenTypes(java.util.function.Consumer) -> a
    void rewriteType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType) -> a
    1:1:com.android.tools.r8.ir.desugar.PrefixRewritingMapper empty():27:27 -> a
    2:2:boolean hasRewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):37:37 -> a
    3:7:boolean hasRewrittenTypeInSignature(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.AppView):41:45 -> a
    boolean isRewriting() -> b
    com.android.tools.r8.graph.DexType rewrittenContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView) -> b
    com.android.tools.r8.graph.DexType rewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView) -> c
com.android.tools.r8.ir.desugar.PrefixRewritingMapper$DesugarPrefixRewritingMapper -> com.android.tools.r8.internal.IL:
    java.util.Map rewritten -> b
    java.util.Map initialPrefixes -> c
    com.android.tools.r8.graph.DexItemFactory factory -> d
    boolean l8Compilation -> e
    boolean $assertionsDisabled -> f
    java.util.Set notRewritten -> a
    1:1:void <clinit>():56:56 -> <clinit>
    1:1:void <init>(java.util.Map,com.android.tools.r8.graph.DexItemFactory,boolean):65:65 -> <init>
    2:18:void <init>(java.util.Map,com.android.tools.r8.graph.DexItemFactory,boolean):58:74 -> <init>
    1:1:com.android.tools.r8.graph.DexString toDescriptorPrefix(java.lang.String):78:78 -> a
    2:2:com.android.tools.r8.graph.DexString toDescriptorPrefix(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":81,"2":82,"3":83}}
    81:81:com.android.tools.r8.graph.DexString toDescriptorPrefix(java.lang.String):78:78 -> a
    82:82:com.android.tools.r8.graph.DexString toDescriptorPrefix(java.lang.String):78:78 -> a
    83:83:com.android.tools.r8.graph.DexString toDescriptorPrefix(java.lang.String):78:78 -> a
    80:80:com.android.tools.r8.graph.DexString toDescriptorPrefix(java.lang.String):78:78 -> a
    84:84:void forAllRewrittenTypes(java.util.function.Consumer):83:83 -> a
    85:108:void validatePrefixes(java.util.Map):87:110 -> a
    109:109:void validatePrefixes(java.util.Map):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":113,"2":114,"3":115}}
    113:113:void validatePrefixes(java.util.Map):110:110 -> a
    114:114:void validatePrefixes(java.util.Map):110:110 -> a
    115:115:void validatePrefixes(java.util.Map):110:110 -> a
    110:110:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    110:110:void validatePrefixes(java.util.Map):110 -> a
    111:111:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    111:111:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    111:111:void validatePrefixes(java.util.Map):110 -> a
    112:112:void validatePrefixes(java.util.Map):110:110 -> a
    116:126:void rewriteType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):180:190 -> a
    boolean isRewriting() -> b
    1:16:com.android.tools.r8.graph.DexType rewrittenContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):131:146 -> b
    17:22:com.android.tools.r8.graph.DexType rewrittenContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):145:150 -> b
    23:23:com.android.tools.r8.graph.DexType rewrittenContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":179,"2":180,"3":181}}
    179:179:com.android.tools.r8.graph.DexType rewrittenContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):150:150 -> b
    180:180:com.android.tools.r8.graph.DexType rewrittenContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):150:150 -> b
    181:181:com.android.tools.r8.graph.DexType rewrittenContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):150:150 -> b
    176:176:com.android.tools.r8.graph.DexType rewrittenContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):153:153 -> b
    177:177:com.android.tools.r8.graph.DexType rewrittenContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):152:152 -> b
    178:178:com.android.tools.r8.graph.DexType rewrittenContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):151:151 -> b
    1:6:com.android.tools.r8.graph.DexType rewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):119:124 -> c
    7:8:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.PrefixRewritingMapper$DesugarPrefixRewritingMapper.computePrefix(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):194:195 -> c
    7:8:com.android.tools.r8.graph.DexType rewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):126 -> c
    9:9:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.PrefixRewritingMapper$DesugarPrefixRewritingMapper.lookup(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,java.util.Map):206:206 -> c
    9:9:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.PrefixRewritingMapper$DesugarPrefixRewritingMapper.computePrefix(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):195 -> c
    9:9:com.android.tools.r8.graph.DexType rewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):126 -> c
    10:10:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> c
    10:10:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.PrefixRewritingMapper$DesugarPrefixRewritingMapper.lookup(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,java.util.Map):207 -> c
    10:10:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.PrefixRewritingMapper$DesugarPrefixRewritingMapper.computePrefix(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):195 -> c
    10:10:com.android.tools.r8.graph.DexType rewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):126 -> c
    11:14:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.PrefixRewritingMapper$DesugarPrefixRewritingMapper.lookup(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,java.util.Map):208:211 -> c
    11:14:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.PrefixRewritingMapper$DesugarPrefixRewritingMapper.computePrefix(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):195 -> c
    11:14:com.android.tools.r8.graph.DexType rewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):126 -> c
    15:25:void com.android.tools.r8.ir.desugar.PrefixRewritingMapper$DesugarPrefixRewritingMapper.failIfRewritingProgramType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):161:171 -> c
    15:25:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.PrefixRewritingMapper$DesugarPrefixRewritingMapper.computePrefix(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):197 -> c
    15:25:com.android.tools.r8.graph.DexType rewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):126 -> c
    26:26:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.PrefixRewritingMapper$DesugarPrefixRewritingMapper.computePrefix(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):200:200 -> c
    26:26:com.android.tools.r8.graph.DexType rewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):126 -> c
com.android.tools.r8.ir.desugar.PrefixRewritingMapper$EmptyPrefixRewritingMapper -> com.android.tools.r8.internal.JL:
    1:1:void <init>():273:273 -> <init>
    void forAllRewrittenTypes(java.util.function.Consumer) -> a
    void rewriteType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType) -> a
    boolean isRewriting() -> b
    com.android.tools.r8.graph.DexType rewrittenContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView) -> b
    com.android.tools.r8.graph.DexType rewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView) -> c
com.android.tools.r8.ir.desugar.PrefixRewritingMapper$MachineDesugarPrefixRewritingMapper -> com.android.tools.r8.internal.KL:
    java.util.Map rewriteType -> b
    java.util.Map rewriteDerivedTypeOnly -> c
    com.android.tools.r8.ir.desugar.PrefixRewritingMapper mapper -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():224:224 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.desugar.PrefixRewritingMapper,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags):231:234 -> <init>
    1:2:void rewriteType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):253:254 -> a
    3:3: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):257:257 -> a
    4:4:void forAllRewrittenTypes(java.util.function.Consumer):269:269 -> a
    boolean isRewriting() -> b
    1:4:com.android.tools.r8.graph.DexType rewrittenContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):245:248 -> b
    1:2:com.android.tools.r8.graph.DexType rewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):239:240 -> c
com.android.tools.r8.ir.desugar.ProgramAdditions -> com.android.tools.r8.internal.jM:
    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.apimodel.ApiInvokeOutlinerDesugaring -> com.android.tools.r8.internal.c2:
    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):138:141 -> 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):129:130 -> a
    34:35:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):106 -> a
    36:48:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):110:122 -> a
    49:49:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():440:440 -> a
    49:49:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):122 -> a
    50:50:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):124:124 -> a
    51:51:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):107:107 -> a
    52:52:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):100:100 -> a
    53:55: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):150:152 -> a
    56:58:boolean com.android.tools.r8.ir.desugar.apimodel.ApiInvokeOutlinerDesugaring.verifyLibraryHolderAndInvoke(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,boolean):192:194 -> a
    56:58: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):153 -> a
    59: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):153:154 -> a
    61:61:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProto(com.android.tools.r8.graph.DexMethod):2584:2584 -> a
    61:61:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProtoIf(com.android.tools.r8.graph.DexMethod,boolean):2588 -> a
    61:61: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
    62:62:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProtoIf(com.android.tools.r8.graph.DexMethod,boolean):2588:2588 -> a
    62:62: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
    63: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):155:157 -> a
    66:68: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):163:165 -> a
    69:69:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setPublic():343:343 -> a
    69:69: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):166 -> a
    70: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):166:170 -> a
    75:84: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:173 -> a
    85:93: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):176:184 -> a
com.android.tools.r8.ir.desugar.backports.BackportedMethods -> com.android.tools.r8.internal.g4:
    1:30:com.android.tools.r8.graph.CfCode IntegerMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2235:2264 -> A
    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):172:172 -> A
    31:31:com.android.tools.r8.graph.CfCode IntegerMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2264 -> A
    1:19:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6770:6788 -> A0
    20:20:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> A0
    20:20:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6788 -> A0
    21:28:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6788:6795 -> A0
    29:29:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> A0
    29:29:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6795 -> A0
    30:32:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6795:6797 -> A0
    33:56:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6778:6801 -> A0
    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):172:172 -> A0
    57:57:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6801 -> A0
    1:20:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2269:2288 -> B
    21:34:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2282:2295 -> B
    35:49:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2292:2306 -> B
    50:50:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2300:2300 -> B
    51:87:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2275:2311 -> B
    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):172:172 -> B
    88:88:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2311 -> B
    1:20:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6806:6825 -> B0
    21:21:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> B0
    21:21:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6825 -> B0
    22:35:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6825:6838 -> B0
    36:36:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6832:6832 -> B0
    37:67:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6813:6843 -> B0
    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):172:172 -> B0
    68:68:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6843 -> B0
    1:27:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2316:2342 -> C
    28:47:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2338:2357 -> C
    48:63:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2353:2368 -> C
    64:83:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2362:2381 -> C
    84:84:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> C
    84:84:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2381 -> C
    85:99:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2381:2395 -> C
    100:113:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2389:2402 -> C
    114:128:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2399:2413 -> C
    129:129:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2407:2407 -> C
    130:222:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2326:2418 -> C
    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):172:172 -> C
    223:223:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2418 -> C
    1:22:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6848:6869 -> C0
    23:23:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6868:6868 -> C0
    24:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> C0
    24:24:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6868 -> C0
    25:39:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6868:6882 -> C0
    40:48:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6876:6884 -> C0
    49:49:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> C0
    49:49:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6884 -> C0
    50:56:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6884:6890 -> C0
    57:74:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6887:6904 -> C0
    75:75:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6898:6898 -> C0
    76:129:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6856:6909 -> C0
    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):172:172 -> C0
    130:130:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6909 -> C0
    1:19:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2422:2440 -> D
    20:20:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2434:2434 -> D
    21:38:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2428:2445 -> D
    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):172:172 -> D
    39:39:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2445 -> D
    1:23:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6914:6936 -> D0
    24:37:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6932:6945 -> D0
    38:38:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> D0
    38:38:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6945 -> D0
    39:41:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6945:6947 -> D0
    42:72:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6922:6952 -> D0
    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):172:172 -> D0
    73:73:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6952 -> D0
    1:20:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2450:2469 -> E
    21:36:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2466:2481 -> E
    37:54:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2477:2494 -> E
    55:68:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2490:2503 -> E
    69:69:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> E
    69:69:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2503 -> E
    70:83:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2503:2516 -> E
    84:110:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2510:2536 -> E
    111:123:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2533:2545 -> E
    124:137:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2541:2554 -> E
    138:151:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2550:2563 -> E
    152:165:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2559:2572 -> E
    166:180:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2568:2582 -> E
    181:192:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2578:2589 -> E
    193:204:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2586:2597 -> E
    205:219:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2593:2607 -> E
    220:220:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> E
    220:220:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2607 -> E
    221:223:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2607:2609 -> E
    224:378:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2461:2615 -> E
    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):172:172 -> E
    379:379:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2615 -> E
    1:25:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6957:6981 -> E0
    26:26:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6978:6978 -> E0
    27:27:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> E0
    27:27:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6978 -> E0
    28:42:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6978:6992 -> E0
    43:43:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6991:6991 -> E0
    44:44:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> E0
    44:44:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6991 -> E0
    45:57:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6991:7003 -> E0
    58:58:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7002:7002 -> 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 ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7002 -> E0
    60:76:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7002:7018 -> E0
    77:91:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7014:7028 -> E0
    92:92:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7027:7027 -> E0
    93:93:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> E0
    93:93:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7027 -> E0
    94:97:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7027:7030 -> E0
    98:165:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6968:7035 -> E0
    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):172:172 -> E0
    166:166:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7035 -> E0
    1:30:com.android.tools.r8.graph.CfCode IntegerMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2619:2648 -> F
    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):172:172 -> F
    31:31:com.android.tools.r8.graph.CfCode IntegerMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2648 -> F
    1:19:com.android.tools.r8.graph.CfCode ObjectsMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7039:7057 -> F0
    20:20:com.android.tools.r8.graph.CfCode ObjectsMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7051:7051 -> F0
    21:38:com.android.tools.r8.graph.CfCode ObjectsMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7045:7062 -> F0
    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):172:172 -> F0
    39:39:com.android.tools.r8.graph.CfCode ObjectsMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7062 -> F0
    1:16:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2652:2667 -> G
    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):172:172 -> G
    17:17:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2667 -> G
    1:21:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7066:7086 -> G0
    22:22:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> G0
    22:22:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7086 -> G0
    23:32:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7086:7095 -> G0
    33:44:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7092:7103 -> G0
    45:45:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> G0
    45:45:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7103 -> G0
    46:49:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7103:7106 -> G0
    50:86:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7074:7110 -> G0
    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):172:172 -> G0
    87:87:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7110 -> G0
    1:19:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2671:2689 -> H
    20:20:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2683:2683 -> H
    21:38:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2677:2694 -> H
    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):172:172 -> H
    39:39:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2694 -> H
    1:18:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7114:7131 -> H0
    19:33:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7128:7142 -> H0
    34:45:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7139:7150 -> H0
    46:60:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7146:7160 -> H0
    61:63:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7159:7161 -> H0
    64:64:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> H0
    64:64:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7161 -> H0
    65:74:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7161:7170 -> H0
    75:87:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7167:7179 -> H0
    88:90:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7178:7180 -> H0
    91:91:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> H0
    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7180 -> H0
    92:94:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7180:7182 -> H0
    95:158:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7123:7186 -> H0
    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):172:172 -> H0
    159:159:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7186 -> H0
    1:26:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2699:2724 -> I
    27:27:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2718:2718 -> I
    28:51:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2706:2729 -> I
    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):172:172 -> I
    52:52:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2729 -> I
    1:18:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7191:7208 -> I0
    19:33:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7205:7219 -> I0
    34:45:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7216:7227 -> I0
    46:59:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7223:7236 -> I0
    60:63:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7235:7238 -> I0
    64:66:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7237:7239 -> I0
    67:67:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> I0
    67:67:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7239 -> I0
    68:77:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7239:7248 -> I0
    78:89:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7245:7256 -> I0
    90:93:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7255:7258 -> I0
    94:96:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7257:7259 -> I0
    97:97:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> I0
    97:97:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7259 -> I0
    98:100:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7259:7261 -> I0
    101:166:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7200:7265 -> I0
    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):172:172 -> I0
    167:167:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7265 -> I0
    1:31:com.android.tools.r8.graph.CfCode LongMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2733:2763 -> J
    32:32:com.android.tools.r8.graph.CfCode LongMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2757:2757 -> J
    33:60:com.android.tools.r8.graph.CfCode LongMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2741:2768 -> J
    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):172:172 -> J
    61:61:com.android.tools.r8.graph.CfCode LongMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2768 -> J
    1:18:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7270:7287 -> J0
    19:33:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7284:7298 -> J0
    34:45:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7295:7306 -> J0
    46:59:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7302:7315 -> J0
    60:63:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7314:7317 -> J0
    64:66:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7316:7318 -> J0
    67:67:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> J0
    67:67:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7318 -> J0
    68:77:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7318:7327 -> J0
    78:89:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7324:7335 -> J0
    90:93:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7334:7337 -> J0
    94:96:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7336:7338 -> J0
    97:97:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> J0
    97:97:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7338 -> J0
    98:100:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7338:7340 -> J0
    101:166:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7279:7344 -> J0
    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):172:172 -> J0
    167:167:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7344 -> J0
    1:53:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2772:2824 -> K
    54:54:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> K
    54:54:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2824 -> K
    55:66:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2824:2835 -> K
    67:67:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> K
    67:67:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2835 -> K
    68:86:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2835:2853 -> K
    87:87:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> K
    87:87:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2853 -> K
    88:134:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2853:2899 -> K
    135:135:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> K
    135:135:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2899 -> K
    136:151:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2899:2914 -> K
    152:152:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> K
    152:152:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2914 -> K
    153:158:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2914:2919 -> K
    159:159:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2917:2917 -> K
    160:293:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2792:2925 -> K
    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):172:172 -> K
    294:294:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2925 -> K
    1:18:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7349:7366 -> K0
    19:33:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7363:7377 -> K0
    34:45:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7374:7385 -> K0
    46:59:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7381:7394 -> K0
    60:63:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7393:7396 -> K0
    64:66:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7395:7397 -> K0
    67:67:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> K0
    67:67:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7397 -> K0
    68:77:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7397:7406 -> K0
    78:89:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7403:7414 -> K0
    90:93:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7413:7416 -> K0
    94:96:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7415:7417 -> K0
    97:97:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> K0
    97:97:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7417 -> K0
    98:100:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7417:7419 -> K0
    101:166:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7358:7423 -> K0
    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):172:172 -> K0
    167:167:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7423 -> K0
    1:18:com.android.tools.r8.graph.CfCode LongMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2929:2946 -> L
    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):172:172 -> L
    19:19:com.android.tools.r8.graph.CfCode LongMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2946 -> L
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7427:7443 -> L0
    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7440:7453 -> L0
    32:32:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> L0
    32:32:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7453 -> L0
    33:42:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7453:7462 -> L0
    43:43:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> L0
    43:43:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7462 -> L0
    44:47:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7462:7465 -> L0
    48:82:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7435:7469 -> L0
    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):172:172 -> L0
    83:83:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7469 -> L0
    1:20:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2951:2970 -> M
    21:34:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2964:2977 -> M
    35:49:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2974:2988 -> M
    50:50:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2982:2982 -> M
    51:87:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2957:2993 -> M
    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):172:172 -> M
    88:88:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2993 -> M
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7473:7489 -> M0
    18:32:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7486:7500 -> M0
    33:33:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7499:7499 -> M0
    34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> M0
    34:34:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7499 -> M0
    35:46:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7499:7510 -> M0
    47:47:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7509:7509 -> M0
    48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> M0
    48:48:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7509 -> M0
    49:53:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7509:7513 -> M0
    54:90:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7481:7517 -> M0
    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):172:172 -> M0
    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7517 -> M0
    1:27:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2998:3024 -> N
    28:47:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3020:3039 -> N
    48:63:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3035:3050 -> N
    64:83:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3044:3063 -> N
    84:84:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> N
    84:84:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3063 -> N
    85:99:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3063:3077 -> N
    100:113:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3071:3084 -> N
    114:128:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3081:3095 -> N
    129:129:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3089:3089 -> N
    130:222:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3008:3100 -> N
    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):172:172 -> N
    223:223:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3100 -> N
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7521:7537 -> N0
    18:32:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7534:7548 -> N0
    33:33:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7547:7547 -> N0
    34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> N0
    34:34:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7547 -> N0
    35:46:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7547:7558 -> N0
    47:47:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7557:7557 -> N0
    48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> N0
    48:48:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7557 -> N0
    49:53:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7557:7561 -> N0
    54:90:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7529:7565 -> N0
    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):172:172 -> N0
    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7565 -> N0
    1:19:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3104:3122 -> O
    20:20:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3116:3116 -> O
    21:38:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3110:3127 -> O
    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):172:172 -> O
    39:39:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3127 -> O
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7569:7585 -> O0
    18:32:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7582:7596 -> O0
    33:33:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7595:7595 -> 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 OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7595 -> O0
    35:46:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7595:7606 -> O0
    47:47:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7605:7605 -> O0
    48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> O0
    48:48:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7605 -> O0
    49:53:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7605:7609 -> O0
    54:90:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7577:7613 -> O0
    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):172:172 -> O0
    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7613 -> O0
    1:46:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3132:3177 -> P
    47:94:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3173:3220 -> P
    95:107:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3216:3228 -> P
    108:120:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3224:3236 -> P
    121:151:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3232:3262 -> P
    152:170:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3256:3274 -> P
    171:249:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3270:3348 -> P
    250:265:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3344:3359 -> P
    266:288:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3353:3375 -> P
    289:300:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3372:3383 -> P
    301:350:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3379:3428 -> P
    351:387:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3422:3458 -> P
    388:399:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3455:3466 -> P
    400:412:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3462:3474 -> P
    413:462:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3470:3519 -> P
    463:829:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3158:3524 -> P
    1:20:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7617:7636 -> P0
    21:35:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7632:7646 -> P0
    36:52:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7643:7659 -> P0
    53:53:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7658:7658 -> P0
    54:54:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> P0
    54:54:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7658 -> P0
    55:65:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7658:7668 -> P0
    66:71:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7665:7670 -> P0
    72:72:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> P0
    72:72:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7670 -> P0
    73:83:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7670:7680 -> P0
    84:90:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7676:7682 -> P0
    91:91:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> P0
    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7682 -> P0
    92:92:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7682:7682 -> P0
    93:152:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7627:7686 -> P0
    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):172:172 -> P0
    153:153:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7686 -> P0
    1:17:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3529:3545 -> Q
    18:34:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3542:3558 -> Q
    35:35:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3550:3550 -> Q
    36:64:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3535:3563 -> Q
    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):172:172 -> Q
    65:65:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3563 -> Q
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7690:7706 -> Q0
    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7703:7716 -> Q0
    32:42:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7713:7723 -> Q0
    43:46:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7722:7725 -> Q0
    47:60:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7720:7733 -> Q0
    61:61:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Q0
    61:61:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7733 -> Q0
    62:70:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7733:7741 -> Q0
    71:73:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7740:7742 -> Q0
    74:74:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7738:7738 -> Q0
    75:124:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7698:7747 -> Q0
    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):172:172 -> Q0
    125:125:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7747 -> Q0
    1:53:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3567:3619 -> R
    54:54:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> R
    54:54:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3619 -> R
    55:68:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3619:3632 -> R
    69:69:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> R
    69:69:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3632 -> R
    70:88:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3632:3650 -> R
    89:89:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> R
    89:89:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3650 -> R
    90:136:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3650:3696 -> R
    137:137:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> R
    137:137:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3696 -> R
    138:153:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3696:3711 -> R
    154:154:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> R
    154:154:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3711 -> R
    155:160:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3711:3716 -> R
    161:161:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3714:3714 -> R
    162:296:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3587:3721 -> R
    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):172:172 -> R
    297:297:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3721 -> R
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7751:7767 -> R0
    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7764:7777 -> R0
    32:42:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7774:7784 -> R0
    43:46:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7783:7786 -> R0
    47:61:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7781:7795 -> R0
    62:62:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7794:7794 -> R0
    63:63:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> R0
    63:63:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7794 -> R0
    64:73:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7794:7803 -> R0
    74:76:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7802:7804 -> R0
    77:77:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7800:7800 -> R0
    78:128:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7759:7809 -> R0
    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):172:172 -> R0
    129:129:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7809 -> R0
    1:19:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3725:3743 -> S
    20:20:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3737:3737 -> S
    21:38:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3731:3748 -> S
    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):172:172 -> S
    39:39:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3748 -> S
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7813:7829 -> S0
    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7826:7839 -> S0
    32:42:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7836:7846 -> S0
    43:46:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7845:7848 -> S0
    47:61:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7843:7857 -> S0
    62:62:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7856:7856 -> S0
    63:63:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> S0
    63:63:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7856 -> S0
    64:73:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7856:7865 -> S0
    74:76:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7864:7866 -> S0
    77:77:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7862:7862 -> S0
    78:128:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7821:7871 -> S0
    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):172:172 -> S0
    129:129:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7871 -> S0
    1:47:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3753:3799 -> T
    48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> T
    48:48:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3799 -> T
    49:67:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3799:3817 -> T
    68:83:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3811:3826 -> T
    84:84:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> T
    84:84:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3826 -> T
    85:100:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3826:3841 -> T
    101:101:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> T
    101:101:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3841 -> T
    102:113:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3841:3852 -> T
    114:114:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> T
    114:114:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3852 -> T
    115:140:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3852:3877 -> T
    141:163:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3873:3895 -> T
    164:164:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> T
    164:164:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3895 -> T
    165:184:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3895:3914 -> T
    185:214:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3908:3937 -> T
    215:215:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> T
    215:215:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3937 -> T
    216:243:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3937:3964 -> T
    244:244:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> T
    244:244:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3964 -> T
    245:259:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3964:3978 -> T
    260:278:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3972:3990 -> T
    279:279:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> T
    279:279:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3990 -> T
    280:305:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3990:4015 -> T
    306:328:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4009:4031 -> T
    329:329:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> T
    329:329:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4031 -> T
    330:355:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4031:4056 -> T
    356:380:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4050:4074 -> T
    381:381:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> T
    381:381:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4074 -> T
    382:402:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4074:4094 -> T
    403:403:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4087:4087 -> T
    404:719:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3784:4099 -> T
    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):172:172 -> T
    720:720:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4099 -> T
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7875:7891 -> T0
    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7888:7901 -> T0
    32:42:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7898:7908 -> T0
    43:46:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7907:7910 -> T0
    47:61:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7905:7919 -> T0
    62:62:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7918:7918 -> T0
    63:63:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> T0
    63:63:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7918 -> T0
    64:73:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7918:7927 -> T0
    74:76:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7926:7928 -> T0
    77:77:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7924:7924 -> T0
    78:128:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7883:7933 -> T0
    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):172:172 -> T0
    129:129:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7933 -> T0
    1:40:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4103:4142 -> U
    41:41:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> U
    41:41:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4142 -> U
    42:52:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4142:4152 -> U
    53:53:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4149:4149 -> U
    54:98:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4113:4157 -> U
    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):172:172 -> U
    99:99:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4157 -> U
    1:15:com.android.tools.r8.graph.CfCode ShortMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7937:7951 -> U0
    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):172:172 -> U0
    16:16:com.android.tools.r8.graph.CfCode ShortMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7951 -> U0
    1:36:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4161:4196 -> V
    37:37:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> V
    37:37:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4196 -> V
    38:49:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4196:4207 -> V
    50:50:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> V
    50:50:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4207 -> V
    51:70:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4207:4226 -> V
    71:71:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> V
    71:71:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4226 -> V
    72:84:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4226:4238 -> V
    85:85:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> V
    85:85:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4238 -> V
    86:91:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4238:4243 -> V
    92:107:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4241:4256 -> V
    108:108:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> V
    108:108:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4256 -> V
    109:119:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4256:4266 -> V
    120:120:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4263:4263 -> V
    121:218:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4174:4271 -> V
    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):172:172 -> V
    219:219:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4271 -> V
    1:19:com.android.tools.r8.graph.CfCode ShortMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7955:7973 -> V0
    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):172:172 -> V0
    20:20:com.android.tools.r8.graph.CfCode ShortMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7973 -> V0
    1:22:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4275:4296 -> W
    23:33:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4293:4303 -> W
    34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W
    34:34:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4303 -> W
    35:36:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4303:4304 -> W
    37:65:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4283:4311 -> W
    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):172:172 -> W
    66:66:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4311 -> W
    1:15:com.android.tools.r8.graph.CfCode ShortMethods_toUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7977:7991 -> W0
    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):172:172 -> W0
    16:16:com.android.tools.r8.graph.CfCode ShortMethods_toUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7991 -> W0
    1:23:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4315:4337 -> X
    24:34:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4334:4344 -> X
    35:35:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> X
    35:35:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4344 -> X
    36:37:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4344:4345 -> X
    38:67:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4323:4352 -> X
    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):172:172 -> X
    68:68:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4352 -> X
    1:16:com.android.tools.r8.graph.CfCode ShortMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7995:8010 -> X0
    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):172:172 -> X0
    17:17:com.android.tools.r8.graph.CfCode ShortMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8010 -> X0
    1:41:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4356:4396 -> Y
    42:42:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Y
    42:42:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4396 -> Y
    43:70:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4396:4423 -> 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_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4423 -> Y
    72:85:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4423:4436 -> Y
    86:86:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Y
    86:86:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4436 -> Y
    87:90:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4436:4439 -> Y
    91:165:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4369:4443 -> Y
    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):172:172 -> Y
    166:166:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4443 -> Y
    1:18:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8014:8031 -> Y0
    19:21:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8030:8032 -> Y0
    22:33:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8028:8039 -> Y0
    34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Y0
    34:34:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8039 -> Y0
    35:43:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8039:8047 -> Y0
    44:47:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8046:8049 -> Y0
    48:59:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8044:8055 -> Y0
    60:60:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Y0
    60:60:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8055 -> Y0
    61:65:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8055:8059 -> Y0
    66:66:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8058:8058 -> Y0
    67:67:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8057:8057 -> Y0
    68:109:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8022:8063 -> Y0
    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):172:172 -> Y0
    110:110:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8063 -> Y0
    1:43:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4447:4489 -> Z
    44:44:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Z
    44:44:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4489 -> Z
    45:74:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4489:4518 -> Z
    75:75:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Z
    75:75:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4518 -> Z
    76:89:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4518:4531 -> Z
    90:90:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Z
    90:90:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4531 -> Z
    91:94:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4531:4534 -> Z
    95:173:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4460:4538 -> Z
    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):172:172 -> Z
    174:174:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4538 -> Z
    1:26:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8067:8092 -> Z0
    27:40:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8089:8102 -> Z0
    41:41:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Z0
    41:41:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8102 -> Z0
    42:57:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8102:8117 -> Z0
    58:73:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8113:8128 -> Z0
    74:92:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8124:8142 -> Z0
    93:93:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Z0
    93:93:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8142 -> Z0
    94:105:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8142:8153 -> Z0
    106:120:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8149:8163 -> Z0
    121:121:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Z0
    121:121:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8163 -> Z0
    122:123:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8163:8164 -> Z0
    124:212:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8081:8169 -> Z0
    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):172:172 -> Z0
    213:213:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8169 -> Z0
    1:17:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):120:136 -> a
    18:23:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):135:140 -> 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 AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):140 -> a
    25:42:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):140:157 -> a
    43:63:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):149:169 -> a
    64:69:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):168:173 -> 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 AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):173 -> a
    71:83:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):173:185 -> a
    84:84:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):180:180 -> a
    85:150:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):129:194 -> 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):172:172 -> a
    151:151:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):194 -> a
    1:20:com.android.tools.r8.graph.CfCode MathMethods_floorDivLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4542:4561 -> a0
    21:21:com.android.tools.r8.graph.CfCode MathMethods_floorDivLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4555:4555 -> a0
    22:40:com.android.tools.r8.graph.CfCode MathMethods_floorDivLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4548:4566 -> a0
    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):172:172 -> a0
    41:41:com.android.tools.r8.graph.CfCode MathMethods_floorDivLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4566 -> a0
    1:29:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8173:8201 -> a1
    30:44:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8197:8211 -> a1
    45:45:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8210:8210 -> a1
    46:46:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a1
    46:46:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8210 -> a1
    47:58:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8210:8221 -> a1
    59:81:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8218:8240 -> a1
    82:100:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8235:8253 -> a1
    101:104:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8252:8255 -> a1
    105:105:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a1
    105:105:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8255 -> a1
    106:123:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8255:8272 -> a1
    124:144:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8267:8287 -> a1
    145:163:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8282:8300 -> a1
    164:166:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8299:8301 -> a1
    167:167:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a1
    167:167:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8301 -> a1
    168:177:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8301:8310 -> a1
    178:178:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8307:8307 -> a1
    179:306:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8188:8315 -> a1
    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):172:172 -> a1
    307:307:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8315 -> a1
    1:23:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):198:220 -> 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 BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):220 -> b
    25:38:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):220:233 -> b
    39:39:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    39:39:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):233 -> b
    40:50:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):233:243 -> b
    51:51:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    51:51:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):243 -> b
    52:55:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):243:246 -> b
    56:99:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):207:250 -> b
    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):172:172 -> b
    100:100:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):250 -> b
    1:32:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4570:4601 -> b0
    33:33:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b0
    33:33:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4601 -> b0
    34:58:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4601:4625 -> b0
    59:59:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b0
    59:59:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4625 -> b0
    60:74:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4625:4639 -> b0
    75:75:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b0
    75:75:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4639 -> b0
    76:79:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4639:4642 -> b0
    80:144:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4582:4646 -> b0
    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):172:172 -> b0
    145:145:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4646 -> b0
    1:28:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8319:8346 -> b1
    29:42:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8342:8355 -> b1
    43:43:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b1
    43:43:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8355 -> b1
    44:54:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8355:8365 -> b1
    55:68:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8362:8375 -> b1
    69:71:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8374:8376 -> b1
    72:86:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8372:8386 -> b1
    87:101:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8383:8397 -> b1
    102:102:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8394:8394 -> b1
    103:103:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> b1
    103:103:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8394 -> b1
    104:117:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8394:8407 -> b1
    118:134:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8402:8418 -> b1
    135:135:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b1
    135:135:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8418 -> b1
    136:145:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8418:8427 -> b1
    146:162:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8424:8440 -> b1
    163:179:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8435:8451 -> b1
    180:180:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8448:8448 -> b1
    181:181:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> b1
    181:181:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8448 -> b1
    182:195:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8448:8461 -> b1
    196:213:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8456:8473 -> b1
    214:214:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b1
    214:214:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8473 -> b1
    215:224:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8473:8482 -> b1
    225:225:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8479:8479 -> b1
    226:380:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8333:8487 -> b1
    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):172:172 -> b1
    381:381:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8487 -> b1
    1:19:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):254:272 -> c
    20:20:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c
    20:20:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):272 -> c
    21:28:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):272:279 -> c
    29:29:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c
    29:29:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):279 -> c
    30:32:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):279:281 -> c
    33:56:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):262:285 -> c
    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):172:172 -> c
    57:57:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):285 -> c
    1:34:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4650:4683 -> c0
    35:35:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c0
    35:35:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4683 -> c0
    36:62:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4683:4709 -> c0
    63:63:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c0
    63:63:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4709 -> c0
    64:78:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4709:4723 -> c0
    79:79:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c0
    79:79:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4723 -> c0
    80:83:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4723:4726 -> c0
    84:152:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4662:4730 -> c0
    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):172:172 -> c0
    153:153:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4730 -> c0
    1:36:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8491:8526 -> c1
    37:49:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8523:8535 -> c1
    50:63:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8531:8544 -> c1
    64:75:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8540:8551 -> c1
    76:87:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8548:8559 -> c1
    88:101:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8555:8568 -> c1
    102:102:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c1
    102:102:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8568 -> c1
    103:112:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8568:8577 -> c1
    113:131:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8574:8592 -> c1
    132:132:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c1
    132:132:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8592 -> c1
    133:145:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8592:8604 -> c1
    146:146:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c1
    146:146:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8604 -> c1
    147:163:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8604:8620 -> c1
    164:164:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c1
    164:164:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8620 -> c1
    165:174:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8620:8629 -> c1
    175:194:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8626:8645 -> c1
    195:207:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8642:8654 -> c1
    208:221:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8650:8663 -> c1
    222:233:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8660:8671 -> c1
    234:247:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8667:8680 -> c1
    248:261:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8676:8689 -> c1
    262:277:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8685:8700 -> c1
    278:289:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8696:8707 -> c1
    290:301:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8704:8715 -> c1
    302:316:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8711:8725 -> c1
    317:317:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c1
    317:317:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8725 -> c1
    318:332:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8725:8739 -> c1
    333:352:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8735:8754 -> c1
    353:353:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c1
    353:353:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8754 -> c1
    354:369:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8754:8769 -> c1
    370:388:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8765:8783 -> c1
    389:389:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c1
    389:389:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8783 -> c1
    390:399:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8783:8792 -> c1
    400:400:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8789:8789 -> c1
    401:686:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8512:8797 -> c1
    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):172:172 -> c1
    687:687:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8797 -> c1
    1:15:com.android.tools.r8.graph.CfCode ByteMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):289:303 -> d
    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):172:172 -> d
    16:16:com.android.tools.r8.graph.CfCode ByteMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):303 -> d
    1:20:com.android.tools.r8.graph.CfCode MathMethods_floorModLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4734:4753 -> d0
    21:21:com.android.tools.r8.graph.CfCode MathMethods_floorModLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4747:4747 -> d0
    22:41:com.android.tools.r8.graph.CfCode MathMethods_floorModLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4740:4759 -> d0
    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):172:172 -> d0
    42:42:com.android.tools.r8.graph.CfCode MathMethods_floorModLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4759 -> d0
    1:32:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8801:8832 -> d1
    33:46:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8829:8842 -> d1
    47:47:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d1
    47:47:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8842 -> d1
    48:63:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8842:8857 -> d1
    64:79:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8853:8868 -> d1
    80:97:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8864:8881 -> d1
    98:98:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d1
    98:98:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8881 -> d1
    99:110:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8881:8892 -> d1
    111:128:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8888:8905 -> d1
    129:129:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d1
    129:129:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8905 -> d1
    130:147:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8905:8922 -> d1
    148:165:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8916:8933 -> d1
    166:183:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8929:8946 -> d1
    184:184:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d1
    184:184:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8946 -> d1
    185:196:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8946:8957 -> d1
    197:214:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8953:8970 -> d1
    215:215:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d1
    215:215:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8970 -> d1
    216:230:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8970:8984 -> d1
    231:231:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8978:8978 -> d1
    232:400:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8821:8989 -> d1
    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):172:172 -> d1
    401:401:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8989 -> d1
    1:19:com.android.tools.r8.graph.CfCode ByteMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):307:325 -> e
    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):172:172 -> e
    20:20:com.android.tools.r8.graph.CfCode ByteMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):325 -> e
    1:22:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4763:4784 -> e0
    23:33:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4781:4791 -> e0
    34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e0
    34:34:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4791 -> e0
    35:36:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4791:4792 -> e0
    37:65:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4771:4799 -> e0
    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):172:172 -> e0
    66:66:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4799 -> e0
    1:26:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8993:9018 -> e1
    27:40:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9015:9028 -> e1
    41:41:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e1
    41:41:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9028 -> e1
    42:57:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9028:9043 -> e1
    58:73:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9039:9054 -> e1
    74:91:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9050:9067 -> e1
    92:92:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e1
    92:92:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9067 -> e1
    93:104:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9067:9078 -> e1
    105:122:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9074:9091 -> e1
    123:123:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e1
    123:123:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9091 -> e1
    124:138:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9091:9105 -> e1
    139:139:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9099:9099 -> e1
    140:243:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9007:9110 -> e1
    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):172:172 -> e1
    244:244:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9110 -> e1
    1:15:com.android.tools.r8.graph.CfCode ByteMethods_toUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):329:343 -> 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):172:172 -> f
    16:16:com.android.tools.r8.graph.CfCode ByteMethods_toUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):343 -> f
    1:23:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4803:4825 -> f0
    24:34:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4822:4832 -> 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_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4832 -> f0
    36:37:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4832:4833 -> f0
    38:67:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4811:4840 -> f0
    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):172:172 -> f0
    68:68:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4840 -> f0
    1:22:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9114:9135 -> f1
    23:35:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9132:9144 -> f1
    36:36:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f1
    36:36:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9144 -> f1
    37:53:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9144:9160 -> f1
    54:71:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9154:9171 -> f1
    72:88:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9167:9183 -> f1
    89:89:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f1
    89:89:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9183 -> f1
    90:101:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9183:9194 -> f1
    102:118:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9190:9206 -> f1
    119:119:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f1
    119:119:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9206 -> f1
    120:134:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9206:9220 -> f1
    135:135:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9214:9214 -> f1
    136:234:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9127:9225 -> f1
    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):172:172 -> f1
    235:235:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9225 -> f1
    1:16:com.android.tools.r8.graph.CfCode ByteMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):347:362 -> g
    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):172:172 -> g
    17:17:com.android.tools.r8.graph.CfCode ByteMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):362 -> g
    1:40:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4844:4883 -> g0
    41:41:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g0
    41:41:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4883 -> g0
    42:52:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4883:4893 -> g0
    53:53:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4890:4890 -> g0
    54:98:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4854:4898 -> g0
    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):172:172 -> g0
    99:99:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4898 -> g0
    1:7:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9229:9235 -> g1
    8:8:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):36:36 -> g1
    8:8:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9235 -> g1
    9:18:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9235:9244 -> g1
    19:19:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):36:36 -> g1
    19:19:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9244 -> g1
    20:32:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9244:9256 -> g1
    33:37:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9253:9257 -> g1
    38:63:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9251:9276 -> g1
    64:68:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9273:9277 -> g1
    69:86:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9271:9288 -> g1
    87:87:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g1
    87:87:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9288 -> g1
    88:93:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9288:9293 -> g1
    94:94:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9292:9292 -> g1
    95:105:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9291:9301 -> g1
    106:106:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g1
    106:106:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9301 -> g1
    107:109:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9301:9303 -> g1
    110:182:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9239:9311 -> g1
    183:189:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9306:9312 -> g1
    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):172:172 -> g1
    190:190:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9312 -> g1
    1:27:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):366:392 -> h
    28:41:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):389:402 -> h
    42:63:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):399:420 -> h
    64:64:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> h
    64:64:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):420 -> h
    65:81:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):420:436 -> h
    82:101:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):430:449 -> h
    102:102:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> h
    102:102:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):449 -> h
    103:118:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):449:464 -> h
    119:135:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):460:476 -> h
    136:162:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):472:498 -> h
    163:163:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> h
    163:163:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):498 -> h
    164:177:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):498:511 -> h
    178:178:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> h
    178:178:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):511 -> h
    179:181:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):511:513 -> h
    182:318:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):384:520 -> h
    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):172:172 -> h
    319:319:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):520 -> h
    1:32:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4902:4933 -> h0
    33:49:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4929:4945 -> h0
    50:65:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4941:4956 -> h0
    66:83:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4952:4969 -> h0
    84:108:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4965:4989 -> h0
    109:109:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> h0
    109:109:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4989 -> h0
    110:129:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4989:5008 -> h0
    130:130:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> h0
    130:130:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5008 -> h0
    131:142:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5008:5019 -> h0
    143:143:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> h0
    143:143:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5019 -> h0
    144:161:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5019:5036 -> h0
    162:162:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> h0
    162:162:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5036 -> h0
    163:175:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5036:5048 -> h0
    176:176:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> h0
    176:176:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5048 -> h0
    177:182:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5048:5053 -> h0
    183:212:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5051:5080 -> h0
    213:213:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> h0
    213:213:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5080 -> h0
    214:226:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5080:5092 -> h0
    227:227:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> h0
    227:227:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5092 -> h0
    228:238:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5092:5102 -> h0
    239:239:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5099:5099 -> h0
    240:424:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4923:5107 -> h0
    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):172:172 -> h0
    425:425:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5107 -> h0
    1:7:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9316:9322 -> h1
    8:8:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):36:36 -> h1
    8:8:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9322 -> h1
    9:26:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9322:9339 -> h1
    27:31:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9336:9340 -> h1
    32:53:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9334:9355 -> h1
    54:58:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9352:9356 -> h1
    59:67:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9350:9358 -> h1
    68:68:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> h1
    68:68:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9358 -> h1
    69:76:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9358:9365 -> h1
    77:77:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> h1
    77:77:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9365 -> h1
    78:82:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9365:9369 -> h1
    83:83:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9368:9368 -> h1
    84:90:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9367:9373 -> h1
    91:146:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9326:9381 -> h1
    147:153:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9376:9382 -> h1
    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):172:172 -> h1
    154:154:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9382 -> h1
    1:15:com.android.tools.r8.graph.CfCode CharacterMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):524:538 -> i
    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):172:172 -> i
    16:16:com.android.tools.r8.graph.CfCode CharacterMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):538 -> i
    1:20:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5111:5130 -> i0
    21:21:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5124:5124 -> i0
    22:40:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5117:5135 -> i0
    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):172:172 -> i0
    41:41:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5135 -> i0
    1:20:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9387:9406 -> i1
    21:21:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> i1
    21:21:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9406 -> i1
    22:40:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9406:9424 -> i1
    41:64:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9416:9439 -> i1
    65:65:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> i1
    65:65:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9439 -> i1
    66:80:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9439:9453 -> i1
    81:81:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9447:9447 -> i1
    82:148:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9396:9462 -> i1
    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):172:172 -> i1
    149:149:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9462 -> i1
    1:18:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):543:560 -> j
    19:31:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):556:568 -> j
    32:32:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):564:564 -> j
    33:57:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):549:573 -> j
    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):172:172 -> j
    58:58:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):573 -> j
    1:17:com.android.tools.r8.graph.CfCode MathMethods_multiplyFull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5139:5155 -> j0
    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):172:172 -> j0
    18:18:com.android.tools.r8.graph.CfCode MathMethods_multiplyFull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5155 -> j0
    1:23:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):578:600 -> k
    24:24:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> k
    24:24:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):600 -> k
    25:42:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):600:617 -> k
    43:55:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):614:626 -> k
    56:56:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k
    56:56:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):626 -> k
    57:66:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):626:635 -> k
    67:82:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):632:647 -> k
    83:87:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):644:648 -> k
    88:109:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):642:663 -> k
    110:114:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):660:664 -> k
    115:132:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):658:675 -> k
    133:133:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k
    133:133:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):675 -> k
    134:139:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):675:680 -> k
    140:140:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):679:679 -> k
    141:155:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):678:692 -> k
    156:167:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):689:700 -> k
    168:179:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):697:708 -> k
    180:193:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):704:717 -> k
    194:205:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):713:724 -> k
    206:220:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):721:735 -> k
    221:236:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):729:744 -> k
    237:237:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k
    237:237:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):744 -> k
    238:253:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):744:759 -> k
    254:266:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):756:768 -> k
    267:279:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):764:776 -> k
    280:291:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):773:784 -> k
    292:303:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):780:791 -> k
    304:318:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):788:802 -> k
    319:334:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):796:811 -> k
    335:335:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k
    335:335:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):811 -> k
    336:341:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):811:816 -> k
    342:342:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):815:815 -> k
    343:355:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):814:826 -> k
    356:368:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):823:835 -> k
    369:369:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k
    369:369:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):835 -> k
    370:380:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):835:845 -> k
    381:381:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k
    381:381:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):845 -> k
    382:385:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):845:848 -> k
    386:386:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):36:36 -> k
    386:386:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):848 -> k
    387:396:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):848:857 -> k
    397:397:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):36:36 -> k
    397:397:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):857 -> k
    398:410:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):857:869 -> k
    411:415:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):866:870 -> k
    416:441:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):864:889 -> k
    442:446:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):886:890 -> k
    447:465:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):884:902 -> k
    466:466:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k
    466:466:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):902 -> k
    467:472:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):902:907 -> k
    473:473:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):906:906 -> k
    474:485:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):905:916 -> k
    486:486:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k
    486:486:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):916 -> k
    487:499:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):916:928 -> k
    500:500:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k
    500:500:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):928 -> k
    501:512:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):928:939 -> k
    513:513:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k
    513:513:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):939 -> k
    514:516:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):939:941 -> k
    517:862:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):604:949 -> k
    863:875:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):948:960 -> k
    876:883:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):959:966 -> k
    884:891:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):965:972 -> k
    892:899:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):971:978 -> k
    900:913:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):977:990 -> k
    914:961:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):944:991 -> k
    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):172:172 -> k
    962:962:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):991 -> k
    1:101:com.android.tools.r8.graph.CfCode MathMethods_multiplyHigh(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5159:5259 -> k0
    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):172:172 -> k0
    102:102:com.android.tools.r8.graph.CfCode MathMethods_multiplyHigh(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5259 -> k0
    1:24:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):995:1018 -> l
    25:47:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1014:1036 -> l
    48:52:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1035:1039 -> l
    53:53:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> l
    53:53:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1039 -> l
    54:73:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1039:1058 -> l
    74:86:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1054:1066 -> l
    87:103:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1062:1078 -> l
    104:104:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> l
    104:104:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1078 -> l
    105:115:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1078:1088 -> l
    116:119:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1086:1089 -> l
    120:120:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1084:1084 -> l
    121:209:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1006:1094 -> l
    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):172:172 -> l
    210:210:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1094 -> l
    1:22:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5263:5284 -> l0
    23:33:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5281:5291 -> l0
    34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> l0
    34:34:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5291 -> l0
    35:36:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5291:5292 -> l0
    37:64:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5271:5298 -> l0
    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):172:172 -> l0
    65:65:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5298 -> l0
    1:23:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1098:1120 -> m
    24:38:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1116:1130 -> m
    39:53:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1126:1140 -> m
    54:54:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1134:1134 -> m
    55:94:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1107:1146 -> m
    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):172:172 -> m
    95:95:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1146 -> m
    1:23:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5302:5324 -> m0
    24:34:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5321:5331 -> m0
    35:35:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m0
    35:35:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5331 -> m0
    36:37:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5331:5332 -> m0
    38:66:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5310:5338 -> m0
    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):172:172 -> m0
    67:67:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5338 -> m0
    1:27:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1150:1176 -> n
    28:49:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1172:1193 -> n
    50:54:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1192:1196 -> n
    55:58:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1195:1198 -> n
    59:59:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> n
    59:59:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1198 -> n
    60:77:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1198:1215 -> n
    78:89:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1212:1223 -> n
    90:104:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1219:1233 -> n
    105:116:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1230:1241 -> n
    117:136:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1237:1256 -> n
    137:156:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1250:1269 -> n
    157:169:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1266:1278 -> n
    170:183:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1274:1287 -> n
    184:195:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1283:1294 -> n
    196:207:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1291:1302 -> n
    208:221:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1298:1311 -> n
    222:226:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1310:1314 -> n
    227:230:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1313:1316 -> n
    231:231:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> n
    231:231:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1316 -> n
    232:243:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1316:1327 -> n
    244:246:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1326:1328 -> n
    247:247:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> n
    247:247:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1328 -> n
    248:258:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1328:1338 -> n
    259:262:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1336:1339 -> n
    263:263:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1334:1334 -> n
    264:444:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1164:1344 -> n
    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):172:172 -> n
    445:445:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1344 -> n
    1:17:com.android.tools.r8.graph.CfCode MathMethods_nextDownDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5342:5358 -> n0
    18:18:com.android.tools.r8.graph.CfCode MathMethods_nextDownDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5354:5354 -> n0
    19:35:com.android.tools.r8.graph.CfCode MathMethods_nextDownDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5348:5364 -> n0
    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):172:172 -> n0
    36:36:com.android.tools.r8.graph.CfCode MathMethods_nextDownDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5364 -> n0
    1:25:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1348:1372 -> o
    26:50:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1368:1392 -> o
    51:51:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> o
    51:51:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1392 -> o
    52:71:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1392:1411 -> o
    72:84:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1407:1419 -> o
    85:102:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1415:1432 -> o
    103:115:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1429:1441 -> o
    116:129:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1437:1450 -> o
    130:141:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1446:1457 -> o
    142:153:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1454:1465 -> o
    154:170:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1461:1477 -> o
    171:171:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> o
    171:171:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1477 -> o
    172:183:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1477:1488 -> o
    184:184:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> o
    184:184:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1488 -> o
    185:195:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1488:1498 -> o
    196:199:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1496:1499 -> o
    200:200:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1494:1494 -> o
    201:345:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1360:1504 -> o
    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):172:172 -> o
    346:346:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1504 -> o
    1:17:com.android.tools.r8.graph.CfCode MathMethods_nextDownFloat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5368:5384 -> o0
    18:18:com.android.tools.r8.graph.CfCode MathMethods_nextDownFloat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5380:5380 -> o0
    19:35:com.android.tools.r8.graph.CfCode MathMethods_nextDownFloat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5374:5390 -> o0
    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):172:172 -> o0
    36:36:com.android.tools.r8.graph.CfCode MathMethods_nextDownFloat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5390 -> o0
    1:22:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1508:1529 -> p
    23:34:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1526:1537 -> p
    35:49:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1533:1547 -> p
    50:52:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1546:1548 -> p
    53:66:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1544:1557 -> p
    67:70:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1556:1559 -> p
    71:73:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1558:1560 -> p
    74:74:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> p
    74:74:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1560 -> p
    75:84:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1560:1569 -> p
    85:97:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1566:1578 -> p
    98:113:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1575:1590 -> p
    114:126:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1586:1598 -> p
    127:142:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1594:1609 -> p
    143:145:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1608:1610 -> p
    146:146:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> p
    146:146:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1610 -> p
    147:157:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1610:1620 -> p
    158:161:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1618:1621 -> p
    162:162:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1616:1616 -> p
    163:270:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1519:1626 -> p
    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):172:172 -> p
    271:271:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1626 -> p
    1:40:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5394:5433 -> p0
    41:41:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> p0
    41:41:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5433 -> p0
    42:52:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5433:5443 -> p0
    53:53:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5440:5440 -> p0
    54:98:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5404:5448 -> p0
    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):172:172 -> p0
    99:99:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5448 -> p0
    1:25:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1630:1654 -> q
    26:37:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1651:1662 -> q
    38:52:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1658:1672 -> q
    53:55:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1671:1673 -> q
    56:67:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1669:1680 -> q
    68:70:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1679:1681 -> q
    71:85:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1677:1691 -> q
    86:86:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> q
    86:86:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1691 -> q
    87:96:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1691:1700 -> q
    97:109:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1697:1709 -> q
    110:115:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1706:1711 -> q
    116:116:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> q
    116:116:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1711 -> q
    117:128:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1711:1722 -> q
    129:140:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1719:1730 -> q
    141:154:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1726:1739 -> q
    155:166:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1736:1747 -> q
    167:182:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1743:1758 -> q
    183:200:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1752:1769 -> q
    201:201:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> q
    201:201:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1769 -> q
    202:212:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1769:1779 -> q
    213:216:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1777:1780 -> q
    217:217:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1775:1775 -> q
    218:359:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1644:1785 -> q
    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):172:172 -> q
    360:360:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1785 -> q
    1:36:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5452:5487 -> q0
    37:37:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> q0
    37:37:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5487 -> q0
    38:49:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5487:5498 -> q0
    50:50:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> q0
    50:50:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5498 -> q0
    51:70:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5498:5517 -> q0
    71:71:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> q0
    71:71:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5517 -> q0
    72:84:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5517:5529 -> q0
    85:85:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> q0
    85:85:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5529 -> q0
    86:91:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5529:5534 -> q0
    92:107:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5532:5547 -> q0
    108:108:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> q0
    108:108:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5547 -> q0
    109:119:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5547:5557 -> q0
    120:120:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5554:5554 -> q0
    121:218:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5465:5562 -> q0
    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):172:172 -> q0
    219:219:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5562 -> q0
    1:22:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1789:1810 -> r
    23:34:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1807:1818 -> r
    35:49:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1814:1828 -> r
    50:52:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1827:1829 -> r
    53:66:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1825:1838 -> r
    67:70:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1837:1840 -> r
    71:71:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> r
    71:71:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1840 -> r
    72:81:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1840:1849 -> r
    82:94:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1846:1858 -> r
    95:110:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1855:1870 -> r
    111:123:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1866:1878 -> r
    124:139:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1874:1889 -> r
    140:142:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1888:1890 -> r
    143:143:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> r
    143:143:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1890 -> r
    144:154:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1890:1900 -> r
    155:158:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1898:1901 -> r
    159:159:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1896:1896 -> r
    160:266:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1800:1906 -> r
    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):172:172 -> r
    267:267:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1906 -> r
    1:29:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5566:5594 -> r0
    30:42:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5591:5603 -> r0
    43:43:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> r0
    43:43:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5603 -> r0
    44:46:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5603:5605 -> r0
    47:82:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5575:5610 -> r0
    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):172:172 -> r0
    83:83:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5610 -> r0
    1:13:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1911:1923 -> s
    14:16:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1922:1924 -> s
    17:29:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1920:1932 -> s
    30:33:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1930:1933 -> s
    34:34:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1928:1928 -> s
    35:56:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1916:1937 -> s
    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):172:172 -> s
    57:57:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1937 -> s
    1:29:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5615:5643 -> s0
    30:30:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> s0
    30:30:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5643 -> s0
    31:43:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5643:5655 -> s0
    44:56:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5652:5664 -> s0
    57:70:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5660:5673 -> s0
    71:84:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5669:5682 -> s0
    85:98:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5678:5691 -> s0
    99:112:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5687:5700 -> s0
    113:126:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5696:5709 -> s0
    127:140:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5705:5718 -> s0
    141:154:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5714:5727 -> s0
    155:166:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5723:5734 -> s0
    167:178:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5731:5742 -> s0
    179:193:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5738:5752 -> s0
    194:194:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> s0
    194:194:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5752 -> s0
    195:197:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5752:5754 -> s0
    198:334:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5623:5759 -> s0
    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):172:172 -> s0
    335:335:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5759 -> s0
    1:13:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1941:1953 -> t
    14:16:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1952:1954 -> t
    17:28:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1950:1961 -> t
    29:31:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1960:1962 -> t
    32:32:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1958:1958 -> t
    33:53:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1946:1966 -> t
    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):172:172 -> t
    54:54:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1966 -> t
    1:26:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5763:5788 -> t0
    27:27:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> t0
    27:27:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5788 -> t0
    28:40:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5788:5800 -> t0
    41:53:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5797:5809 -> t0
    54:67:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5805:5818 -> t0
    68:81:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5814:5827 -> t0
    82:95:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5823:5836 -> t0
    96:109:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5832:5845 -> t0
    110:123:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5841:5854 -> t0
    124:135:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5850:5861 -> t0
    136:147:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5858:5869 -> t0
    148:162:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5865:5879 -> t0
    163:163:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> t0
    163:163:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5879 -> t0
    164:166:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5879:5881 -> t0
    167:282:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5771:5886 -> t0
    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):172:172 -> t0
    283:283:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5886 -> t0
    1:13:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1971:1983 -> u
    14:16:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1982:1984 -> u
    17:28:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1980:1991 -> u
    29:31:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1990:1992 -> u
    32:32:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1988:1988 -> u
    33:53:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1976:1996 -> u
    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):172:172 -> u
    54:54:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1996 -> u
    1:22:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5890:5911 -> u0
    23:23:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> u0
    23:23:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5911 -> u0
    24:36:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5911:5923 -> u0
    37:49:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5920:5932 -> u0
    50:63:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5928:5941 -> u0
    64:77:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5937:5950 -> u0
    78:91:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5946:5959 -> u0
    92:103:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5955:5966 -> u0
    104:115:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5963:5974 -> u0
    116:129:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5970:5983 -> u0
    130:130:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> u0
    130:130:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5983 -> u0
    131:133:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5983:5985 -> u0
    134:226:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5898:5990 -> u0
    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):172:172 -> u0
    227:227:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5990 -> u0
    1:17:com.android.tools.r8.graph.CfCode DoubleMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2000:2016 -> v
    18:18:com.android.tools.r8.graph.CfCode DoubleMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2012:2012 -> v
    19:41:com.android.tools.r8.graph.CfCode DoubleMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2007:2029 -> v
    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):172:172 -> v
    42:42:com.android.tools.r8.graph.CfCode DoubleMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2029 -> v
    1:24:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5994:6017 -> v0
    25:25:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6016:6016 -> v0
    26:26:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> v0
    26:26:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6016 -> v0
    27:42:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6016:6031 -> v0
    43:59:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6025:6041 -> v0
    60:60:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6040:6040 -> v0
    61:61:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> v0
    61:61:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6040 -> v0
    62:66:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6040:6044 -> v0
    67:113:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6002:6048 -> v0
    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):172:172 -> v0
    114:114:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6048 -> v0
    1:18:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2033:2050 -> w
    19:33:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2046:2060 -> w
    34:47:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2056:2069 -> 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 DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2069 -> w
    49:56:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2069:2076 -> w
    57:57:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> w
    57:57:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2076 -> w
    58:60:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2076:2078 -> w
    61:102:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2041:2082 -> w
    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):172:172 -> w
    103:103:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2082 -> w
    1:93:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6052:6144 -> w0
    94:154:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6138:6198 -> w0
    155:215:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6192:6252 -> w0
    216:276:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6246:6306 -> w0
    277:337:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6300:6360 -> w0
    338:398:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6354:6414 -> w0
    399:459:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6408:6468 -> w0
    460:520:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6462:6522 -> w0
    521:580:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6516:6575 -> w0
    581:585:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6572:6576 -> w0
    586:635:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6570:6619 -> w0
    636:636:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6615:6615 -> w0
    637:1165:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6096:6624 -> w0
    1:18:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2086:2103 -> x
    19:33:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2099:2113 -> x
    34:47:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2109:2122 -> x
    48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> x
    48:48:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2122 -> x
    49:56:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2122:2129 -> x
    57:57:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> x
    57:57:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2129 -> x
    58:60:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2129:2131 -> x
    61:102:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2094:2135 -> x
    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):172:172 -> x
    103:103:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2135 -> x
    1:25:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6628:6652 -> x0
    26:39:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6648:6661 -> x0
    40:40:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> x0
    40:40:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6661 -> x0
    41:52:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6661:6672 -> x0
    53:53:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> x0
    53:53:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6672 -> x0
    54:64:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6672:6682 -> x0
    65:65:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> x0
    65:65:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6682 -> x0
    66:69:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6682:6685 -> x0
    70:122:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6637:6689 -> x0
    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):172:172 -> x0
    123:123:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6689 -> x0
    1:23:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2139:2161 -> y
    24:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> y
    24:24:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2161 -> y
    25:39:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2161:2175 -> y
    40:40:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> y
    40:40:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2175 -> y
    41:51:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2175:2185 -> y
    52:52:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> y
    52:52:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2185 -> y
    53:56:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2185:2188 -> y
    57:101:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2148:2192 -> y
    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):172:172 -> y
    102:102:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2192 -> y
    1:19:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6693:6711 -> y0
    20:20:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> y0
    20:20:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6711 -> y0
    21:29:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6711:6719 -> y0
    30:39:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6716:6725 -> y0
    40:40:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> y0
    40:40:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6725 -> y0
    41:43:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6725:6727 -> y0
    44:74:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6701:6731 -> y0
    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):172:172 -> y0
    75:75:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6731 -> y0
    1:31:com.android.tools.r8.graph.CfCode IntegerMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2196:2226 -> z
    32:32:com.android.tools.r8.graph.CfCode IntegerMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2220:2220 -> z
    33:60:com.android.tools.r8.graph.CfCode IntegerMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2204:2231 -> z
    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):172:172 -> z
    61:61:com.android.tools.r8.graph.CfCode IntegerMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2231 -> z
    1:19:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6735:6753 -> z0
    20:20:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> z0
    20:20:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6753 -> z0
    21:28:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6753:6760 -> z0
    29:29:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> z0
    29:29:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6760 -> z0
    30:32:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6760:6762 -> z0
    33:56:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6743:6766 -> z0
    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):172:172 -> z0
    57:57:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6766 -> z0
com.android.tools.r8.ir.desugar.backports.BooleanMethodRewrites -> com.android.tools.r8.internal.s5:
    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.Mb:
    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.Nb:
    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.qk:
    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.xC:
    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.rH:
    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.qH:
    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.LJ:
    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.KJ:
    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.eK:
    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.PU:
    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.kd:
    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):172:172 -> 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:153:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258:260 -> a
    151:153:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    154:154:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):254:254 -> a
    154:154:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    155:155:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):253:253 -> a
    155:155:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    156:157:com.android.tools.r8.graph.DexProgramClass getConstantDynamicProgramClass():361:362 -> a
    158:160:void setClass(com.android.tools.r8.graph.DexProgramClass):366:368 -> a
    161:161:com.android.tools.r8.graph.DexType mapLookupTypeToObject(com.android.tools.r8.graph.DexType):416:416 -> a
    162:169:com.android.tools.r8.graph.Code adaptCode(com.android.tools.r8.graph.DexEncodedMethod):420:427 -> a
    170:170:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> a
    170:170:com.android.tools.r8.graph.Code adaptCode(com.android.tools.r8.graph.DexEncodedMethod):426 -> a
    171:178:com.android.tools.r8.graph.Code adaptCode(com.android.tools.r8.graph.DexEncodedMethod):432:439 -> a
    179:179:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> a
    179:179:com.android.tools.r8.graph.Code adaptCode(com.android.tools.r8.graph.DexEncodedMethod):439 -> a
    180:181: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():477:477 -> b
    34:34:void rewriteBootstrapMethodSignatureIfNeeded():404 -> b
    35:43:void rewriteBootstrapMethodSignatureIfNeeded():404:412 -> b
    44:59: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.ld:
    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.md:
    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.apiconversion.DesugaredLibraryAPICallbackSynthesizer -> com.android.tools.r8.internal.if:
    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():442:442 -> a
    38:38:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):126 -> a
    38:38:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):65 -> a
    39:40:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):130:131 -> a
    39:40:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):65 -> a
    41:41:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    41:41:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):131 -> a
    41: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.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):134:134 -> a
    42:42:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):65 -> a
    43:49:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):66:72 -> a
    50:66: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
    50:66:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):70 -> a
    67:75:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):74:82 -> a
    76:77:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.noPendingWrappersOrConversions():88:89 -> a
    76:77:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):82 -> a
    78:79: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
    78:79:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.noPendingWrappersOrConversions():89 -> a
    78:79:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):82 -> a
    80:80:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.noPendingWrappersOrConversions():89:89 -> a
    80:80:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):82 -> a
    81:81:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.generateTrackingWarnings():216:216 -> a
    81:81:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):83 -> a
    82:84:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):139:141 -> a
    85:86:void com.android.tools.r8.utils.WorkList.addIfNotSeen(java.lang.Object[]):82:83 -> a
    85:86:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):141 -> a
    87:96:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):144:153 -> a
    97:98:void com.android.tools.r8.utils.WorkList.addIfNotSeen(java.lang.Object[]):82:83 -> a
    97:98:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):153 -> a
    99:100:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):154:155 -> a
    101:101:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    101:101:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):157 -> a
    102:102:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):157:157 -> a
    103:103:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    103:103:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):157 -> a
    104:110:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.shouldGenerateCallbacksForEmulateInterfaceAPIs(com.android.tools.r8.graph.DexClass):181:187 -> a
    104:110:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):160 -> a
    111:117: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.tf:
    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):626:626 -> 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):626:626 -> 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
    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:99:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.isEmulatedInterfaceOverride(com.android.tools.r8.graph.DexClassAndMethod):174:186 -> a
    87:99: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:99:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    100:103: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
    100:103:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    104:104:boolean isAlreadyDesugared(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):190:190 -> a
    105:105: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
    105:105:boolean isAlreadyDesugared(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):190 -> a
    106:106: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
    107:121: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
    122:132:void generateTrackDesugaredAPIWarnings(java.util.Set,java.lang.String,com.android.tools.r8.graph.AppView):219:229 -> a
    133:133:com.android.tools.r8.graph.DexType vivifiedTypeFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):235:235 -> a
    134:134: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":376,"2":377,"3":378}}
    376:376:com.android.tools.r8.graph.DexType vivifiedTypeFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):235:235 -> a
    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
    371:371:com.android.tools.r8.graph.DexType vivifiedTypeFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):237:237 -> a
    372:375:com.android.tools.r8.graph.DexType vivifiedTypeFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):236:239 -> a
    379:392: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
    393:398: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
    399:408: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
    399:408: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
    409: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):284:284 -> a
    410:415: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):411:416 -> a
    416:423: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
    424:440: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
    441:452: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
    453:453:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    453: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):446 -> a
    454:455: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
    456:457:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):750:751 -> a
    456: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
    458:458: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
    459:459:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> a
    459: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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":469,"2":470,"3":471,"4":472,"5":473}}
    469:469:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> a
    469:469: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
    470:470:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> a
    470: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):447 -> a
    471:471:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> 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):753:753 -> 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):753:753 -> 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
    461:461:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):753:753 -> 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):450:450 -> a
    463:463:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> 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):450 -> a
    464:468: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
    474:478: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
    479:479: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
    480:493: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
    480:493: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
    494:494:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):760:760 -> a
    494:494: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
    494:494: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
    495:495:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):775:775 -> a
    495:495:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):761 -> a
    495: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[]):472 -> a
    495: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:497:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):765:766 -> a
    496: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
    496: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.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
    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:499:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> a
    499:499: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:499: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
    500: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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":514,"2":515,"3":516,"4":517,"5":518}}
    514:514:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> a
    514:514: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
    514:514: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
    515:515:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> a
    515:515: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
    515:515: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
    516:516:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> a
    516: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[]):472 -> a
    516: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
    517:517:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> 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):763:763 -> 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
    501:501:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):763:763 -> 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[]):472 -> 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:513: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
    502:513: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:523: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
    524:527: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
    524:527: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
    528:535: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
    528:535: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
    536:541: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
    542:562: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
    563:567: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
    568:574: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.uf:
    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():442:442 -> 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
    103:109:com.android.tools.r8.graph.DexProgramClass ensureProgramEnumConversionClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):164:170 -> a
    110:110: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
    111:123: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
    124:124: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
    125:125: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.Ff:
    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 -> d
    java.util.concurrent.ConcurrentHashMap allImplementedMethodsCache -> c
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():94:94 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):102:102 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.AppView):98:105 -> <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):118:121 -> a
    5:5:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.canConvert(com.android.tools.r8.graph.DexType):187:187 -> a
    5:5:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):124 -> a
    6:6:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.canGenerateWrapper(com.android.tools.r8.graph.DexType):215:215 -> a
    6:6:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.canConvert(com.android.tools.r8.graph.DexType):188 -> a
    6:6:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):124 -> a
    7:11: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):192:196 -> a
    7:11:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):127 -> a
    12:12: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":28,"2":29,"3":30}}
    28: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):196:196 -> a
    28:28:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):127 -> 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):196:196 -> a
    29:29:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):127 -> 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):196:196 -> a
    30:30:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):127 -> a
    13:24: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):196:207 -> a
    13:24:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):127 -> a
    25:25:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    25:25: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):207 -> a
    25:25:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):127 -> a
    26:26: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):210:210 -> a
    26:26:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):127 -> a
    27:27: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):208:208 -> a
    27:27:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):127 -> a
    31:35:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getCustomConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):177:181 -> a
    31:35: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):136 -> a
    36:36:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getCustomConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):180:180 -> a
    36:36: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):136 -> a
    37:41: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):140:144 -> a
    42:42:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.canGenerateWrapper(com.android.tools.r8.graph.DexType):215:215 -> a
    42:42: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):144 -> a
    43:50: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):144:151 -> a
    51:55:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getCustomConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):177:181 -> a
    51:55: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):157 -> a
    56:56:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getCustomConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):180:180 -> a
    56:56: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):157 -> a
    57:59: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):161:163 -> a
    60:60: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):287:287 -> a
    60:60: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):165 -> a
    61:61:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    61:61: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):287 -> a
    61:61: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):165 -> a
    62:63: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):287:288 -> a
    62:63: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):165 -> a
    64:64: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):298:298 -> a
    64:64: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):288 -> a
    64:64: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):165 -> a
    65:65: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):289:289 -> a
    65:65: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):165 -> a
    66:66: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):298:298 -> a
    66:66: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):289 -> a
    66:66: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):165 -> a
    67:67:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getWrapperUniqueField(com.android.tools.r8.graph.DexClass):314:314 -> a
    67:67: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):290 -> a
    67:67: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):165 -> a
    68:68:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getWrapperUniqueField(com.android.tools.r8.graph.DexClass):314:314 -> a
    68:68: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):291 -> a
    68:68: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):165 -> a
    69:71: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):292:294 -> a
    69:71: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):165 -> a
    72:74: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):168:170 -> a
    75:81:com.android.tools.r8.graph.DexClass getValidClassToWrap(com.android.tools.r8.graph.DexType):219:225 -> a
    82:82:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    82:82:com.android.tools.r8.graph.DexClass getValidClassToWrap(com.android.tools.r8.graph.DexType):225 -> a
    83:83:com.android.tools.r8.graph.DexClass getValidClassToWrap(com.android.tools.r8.graph.DexType):225:225 -> a
    84:84:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    84:84:com.android.tools.r8.graph.DexClass getValidClassToWrap(com.android.tools.r8.graph.DexType):225 -> a
    85:86:com.android.tools.r8.graph.DexClass getValidClassToWrap(com.android.tools.r8.graph.DexType):225:226 -> a
    87: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):255:256 -> a
    89:89: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):287:287 -> a
    89:89: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):257 -> a
    90:90:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    90: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):287 -> a
    90: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):257 -> a
    91: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):287:288 -> a
    91: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):257 -> 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):298:298 -> 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):288 -> 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):257 -> 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):289:289 -> 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):257 -> a
    95:95: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):298:298 -> 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):289 -> 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):257 -> a
    96:96:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getWrapperUniqueField(com.android.tools.r8.graph.DexClass):314:314 -> a
    96:96: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):290 -> a
    96:96: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):257 -> a
    97:97:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getWrapperUniqueField(com.android.tools.r8.graph.DexClass):314:314 -> a
    97:97: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):291 -> a
    97:97: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):257 -> a
    98:100: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):292:294 -> a
    98:100: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):257 -> a
    101:103: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):259:261 -> a
    104:104:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.vivifiedTypeFor(com.android.tools.r8.graph.DexType):231:231 -> a
    104: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):262 -> a
    105:123: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:281 -> a
    124:124:java.util.Collection lambda$ensureWrappers$0(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):270:270 -> a
    125:127: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):302:304 -> a
    128:130: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):303:305 -> a
    131:132:com.android.tools.r8.graph.DexEncodedField getWrapperUniqueEncodedField(com.android.tools.r8.graph.DexClass):309:310 -> a
    133:133:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getWrapperUniqueField(com.android.tools.r8.graph.DexClass):314:314 -> a
    133:133: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):366 -> a
    134:134:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getWrapperUniqueField(com.android.tools.r8.graph.DexClass):314:314 -> a
    134:134: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):367 -> a
    135:138: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):368:371 -> a
    139:139: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):582:582 -> a
    139:139: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):371 -> a
    140:140: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):574:574 -> a
    140: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):371 -> a
    141:141: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):323:323 -> a
    142:142:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    142:142: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):323 -> a
    143:147: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):323:327 -> a
    148:148: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):331:331 -> a
    149:152: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):344:347 -> a
    153:153: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):354:354 -> a
    154:160: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):353:359 -> a
    161:163:void lambda$ensureClasspathWrapper$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):357:357 -> a
    164:167: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):388:391 -> a
    164:167: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):382 -> a
    168:168: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):379:379 -> a
    169:173:void buildConversionMethod(com.android.tools.r8.synthesis.SyntheticMethodBuilder,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.CfCode):396:400 -> a
    174:179:void buildConversionMethod(com.android.tools.r8.synthesis.SyntheticMethodBuilder,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.CfCode):399:404 -> a
    180:185: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):412:417 -> a
    186:186: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):600:600 -> a
    186:186: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):604 -> a
    186:186: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):417 -> a
    187:190: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):607:610 -> a
    187:190: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):417 -> a
    191:191:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():498:498 -> a
    191:191: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):612 -> a
    191:191: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):417 -> a
    192:192: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):613:613 -> a
    192:192: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):417 -> a
    193:196: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):419:422 -> a
    197:201:void buildWrapperConstructor(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.synthesis.SyntheticMethodBuilder):428:432 -> a
    202:207:void buildWrapperConstructor(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.synthesis.SyntheticMethodBuilder):431:436 -> a
    208:209:com.android.tools.r8.graph.Code lambda$buildWrapperConstructor$9(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexMethod):438:439 -> a
    210:217:com.android.tools.r8.graph.DexEncodedMethod newSynthesizedMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.Code):523:530 -> a
    218:219:com.android.tools.r8.graph.DexEncodedMethod newSynthesizedMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.Code):529:530 -> a
    220:220: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
    220:220:com.android.tools.r8.graph.DexEncodedMethod newSynthesizedMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.Code):530 -> a
    221:227:com.android.tools.r8.graph.DexEncodedMethod newSynthesizedMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.Code):534:540 -> a
    228:240:java.lang.Iterable allImplementedMethods(com.android.tools.r8.graph.DexClass):544:556 -> a
    241:241:java.util.List lambda$allImplementedMethods$10(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):555:555 -> a
    242:242:com.android.tools.r8.graph.DexMethod lambda$allImplementedMethods$11(com.android.tools.r8.graph.DexEncodedMethod):556:556 -> a
    243:254:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):622:633 -> a
    255:258: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):647:650 -> a
    255:258:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):634 -> a
    259:259:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    259:259: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):650 -> a
    259:259:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):634 -> a
    260:262: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):650:652 -> a
    260:262:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):634 -> a
    263:263:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.vivifiedTypeFor(com.android.tools.r8.graph.DexType):231:231 -> a
    263:263: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):654 -> a
    263:263:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):634 -> a
    264: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):653:655 -> a
    264:266:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):634 -> a
    267:267:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.vivifiedTypeFor(com.android.tools.r8.graph.DexType):231:231 -> 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):659 -> a
    267:267:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):634 -> a
    268: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):656:664 -> a
    268:276:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):634 -> a
    277:277:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):638:638 -> a
    278:279:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass):669:670 -> a
    278:279:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):639 -> a
    280:280: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):298:298 -> a
    280:280:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass):670 -> a
    280:280:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):639 -> a
    281:281:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass):672:672 -> a
    281:281:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):639 -> a
    282:284:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass):671:673 -> a
    282:284:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):639 -> a
    285:285: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):298:298 -> a
    285:285:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass):674 -> a
    285:285:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):639 -> a
    286:286:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass):677:677 -> a
    286:286:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):639 -> a
    287:287:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass):676:676 -> a
    287:287:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):639 -> a
    288:288:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass):675:675 -> a
    288:288:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):639 -> a
    1:2:boolean isSyntheticWrapper(com.android.tools.r8.graph.DexType):109:110 -> b
    3:3:java.util.Collection lambda$ensureWrappers$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):278:278 -> b
    4:4:void lambda$buildWrapper$8(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.synthesis.SyntheticMethodBuilder):422:422 -> b
    5:29:java.util.List internalAllImplementedMethods(com.android.tools.r8.graph.DexClass):560:584 -> b
    30:30:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> b
    30:30:java.util.List internalAllImplementedMethods(com.android.tools.r8.graph.DexClass):584 -> b
    31:42:java.util.List internalAllImplementedMethods(com.android.tools.r8.graph.DexClass):584:595 -> b
    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 -> b
    43:43:java.util.List internalAllImplementedMethods(com.android.tools.r8.graph.DexClass):595 -> b
    44:44:java.util.List internalAllImplementedMethods(com.android.tools.r8.graph.DexClass):595:595 -> b
    1:15:java.util.Collection synthesizeVirtualMethodsForTypeWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):487:501 -> c
    16:16:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> c
    16:16:java.util.Collection synthesizeVirtualMethodsForTypeWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):501 -> c
    17:21:java.util.Collection synthesizeVirtualMethodsForTypeWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):501:505 -> c
    22:34:java.util.Collection synthesizeVirtualMethodsForTypeWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):504:516 -> c
    1:20:java.util.Collection synthesizeVirtualMethodsForVivifiedTypeWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):444:463 -> d
    21:42:java.util.Collection synthesizeVirtualMethodsForVivifiedTypeWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):459:480 -> d
com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions -> com.android.tools.r8.internal.Ef:
    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):239:241 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod getConversion():245:245 -> a
    1:1:com.android.tools.r8.graph.DexMethod getVivifiedConversion():249:249 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer -> com.android.tools.r8.internal.Gf:
    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.HumanDesugaredLibrarySpecification -> com.android.tools.r8.internal.Em:
    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:9:void <init>(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,boolean,com.android.tools.r8.graph.DexItemFactory):57:65 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags getRewritingFlags():93:93 -> a
    1:1:java.lang.String getSynthesizedLibraryClassesPackagePrefix():85:85 -> b
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags getTopLevelFlags():89:89 -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser -> com.android.tools.r8.internal.Fm:
    com.android.tools.r8.com.google.gson.JsonObject jsonConfig -> d
    com.android.tools.r8.origin.Origin origin -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.utils.Reporter reporter -> b
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    1:1:void <clinit>():23:23 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean,int):58:60 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags.builder():53:53 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):144 -> a
    2:7:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):146:151 -> a
    8:14:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):150:156 -> a
    15:34:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):155:174 -> a
    35:35:com.android.tools.r8.graph.DexItemFactory dexItemFactory():66:66 -> a
    36:42:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):83:89 -> a
    43:43:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):84:84 -> a
    44:44: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":129,"2":130,"3":131,"4":132,"5":133,"6":134}}
    129:129:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):84:84 -> a
    130:130:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):84:84 -> a
    131:131:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):84:84 -> a
    132:132:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):84:84 -> a
    133:133:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):84:84 -> a
    134:134:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):84:84 -> a
    128:128:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):84:84 -> a
    135:136:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.setOrigin(com.android.tools.r8.StringResource):125:126 -> a
    135:136:java.lang.String parseJson(com.android.tools.r8.StringResource):112 -> a
    137:141:java.lang.String parseJson(com.android.tools.r8.StringResource):115:119 -> a
    1:1:com.android.tools.r8.com.google.gson.JsonObject getJsonConfig():74:74 -> b
    1:2:com.android.tools.r8.origin.Origin getOrigin():78:79 -> c
    1:1:com.android.tools.r8.utils.Reporter reporter():70:70 -> d
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags -> com.android.tools.r8.internal.Hm:
    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.Set 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.Set,java.util.Set,java.util.Set):46:54 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder builder(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):77:77 -> a
    2:14:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder.<init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):145:145 -> a
    2:14:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder builder(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):77 -> a
    15:15:java.util.Map getBackportCoreLibraryMember():108:108 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder newBuilder(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):81:81 -> b
    2:2:java.util.Map getCustomConversions():112:112 -> b
    1:1:java.util.Set getDontRetargetLibMember():120:120 -> c
    1:1:java.util.Set getDontRewriteInvocation():116:116 -> d
    1:1:java.util.Map getEmulateLibraryInterface():100:100 -> e
    1:1:java.util.Map getRetargetCoreLibMember():104:104 -> f
    1:1:java.util.Map getRewritePrefix():96:96 -> g
    1:1:java.util.Set getWrapperConversions():124:124 -> h
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder -> com.android.tools.r8.internal.Gm:
    java.util.Set dontRewriteInvocation -> i
    java.util.Map rewritePrefix -> d
    java.util.Set dontRetargetLibMember -> j
    com.android.tools.r8.origin.Origin origin -> c
    boolean $assertionsDisabled -> l
    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>():127:127 -> <clinit>
    1:15: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.Set,java.util.Set,java.util.Set):170:184 -> <init>
    1:12:void put(java.util.Map,java.lang.Object,java.lang.Object,java.lang.String):189:200 -> a
    13:13:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder putRetargetCoreLibMember(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):264:264 -> a
    14:16:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder putBackportCoreLibraryMember(java.lang.String,java.lang.String):273:275 -> a
    17:17:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder putBackportCoreLibraryMember(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):281:281 -> a
    18:18:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder addDontRewriteInvocation(com.android.tools.r8.graph.DexMethod):296:296 -> a
    19:19:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder addDontRetargetLibMember(java.lang.String):301:301 -> a
    20:20:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder.addDontRetargetLibMember(com.android.tools.r8.graph.DexType):306:306 -> a
    20:20:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder addDontRetargetLibMember(java.lang.String):301 -> a
    21:21:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder addDontRetargetLibMember(com.android.tools.r8.graph.DexType):306:306 -> a
    22:31:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags build():329:338 -> a
    1:3:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder putCustomConversion(java.lang.String,java.lang.String):230:232 -> b
    4:4:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder putCustomConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):237:237 -> b
    5:5:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder addWrapperConversion(com.android.tools.r8.graph.DexType):252:252 -> b
    6:6:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder addDontRewriteInvocation(java.lang.String):290:290 -> b
    7:7:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder.addDontRewriteInvocation(com.android.tools.r8.graph.DexMethod):296:296 -> b
    7:7:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder addDontRewriteInvocation(java.lang.String):291 -> b
    8:10:void validate():342:344 -> b
    11:11:void validate():0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":363,"2":364,"3":365}}
    363:363:void validate():344:344 -> b
    364:364:void validate():344:344 -> b
    365:365:void validate():344:344 -> b
    360:360:void validate():349:349 -> b
    361:361:void validate():348:348 -> b
    362:362:void validate():344:344 -> b
    1:3:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder putEmulateLibraryInterface(java.lang.String,java.lang.String):214:216 -> c
    4:4:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder putEmulateLibraryInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):221:221 -> c
    5:5:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder addWrapperConversion(java.lang.String):246:246 -> c
    6:6:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder.addWrapperConversion(com.android.tools.r8.graph.DexType):252:252 -> c
    6:6:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder addWrapperConversion(java.lang.String):247 -> c
    1:3:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder putRetargetCoreLibMember(java.lang.String,java.lang.String):257:259 -> d
    4:14:com.android.tools.r8.graph.DexMethod parseMethod(java.lang.String):311:321 -> d
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder putRewritePrefix(java.lang.String,java.lang.String):204:204 -> e
    2:2:com.android.tools.r8.graph.DexType stringClassToDexType(java.lang.String):325:325 -> e
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags -> com.android.tools.r8.internal.Om:
    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):33:39 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder builder():53:53 -> a
    1:1:java.util.List getExtraKeepRules():77:77 -> b
    1:1:java.lang.String getIdentifier():65:65 -> c
    1:1:com.android.tools.r8.utils.AndroidApiLevel getRequiredCompilationAPILevel():57:57 -> d
    1:1:java.lang.String getSynthesizedLibraryClassesPackagePrefix():61:61 -> e
    1:1:boolean supportAllCallbacksFromLibrary():73:73 -> f
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder -> com.android.tools.r8.internal.Nm:
    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>():80:80 -> <clinit>
    1:1:void <init>():89:89 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder setRequiredCompilationAPILevel(com.android.tools.r8.utils.AndroidApiLevel):92:92 -> a
    2:2:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder setDesugaredLibraryIdentifier(java.lang.String):102:102 -> a
    3:3:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder setSupportAllCallbacksFromLibrary(boolean):112:112 -> a
    4:4:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder setExtraKeepRules(java.util.List):117:117 -> a
    5:12:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags build():122:129 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder setJsonSource(java.lang.String):107:107 -> b
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder setSynthesizedLibraryClassesPackagePrefix(java.lang.String):97:97 -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification -> com.android.tools.r8.internal.aF:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap commonFlags -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap libraryFlags -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap programFlags -> d
    com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags topLevelFlags -> a
    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.it.unimi.dsi.fastutil.ints.Int2ObjectMap getProgramFlags():49:49 -> e
    1:1:java.util.Map getProgramFlagsForTesting():61:61 -> f
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags getTopLevelFlags():37:37 -> g
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter -> com.android.tools.r8.internal.cF:
    1:1:void <init>():27:27 -> <init>
    1:1:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):31:31 -> a
    2:6: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):37:41 -> a
    2:6:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):32 -> a
    7:12: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):39:44 -> a
    7:12:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):32 -> a
    13:18: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):42:47 -> a
    13:18:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):32 -> a
    19:29: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):45:55 -> a
    19:29:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):32 -> a
    30:30:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object):583:583 -> a
    30: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):56 -> a
    30:30:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):32 -> a
    31:31:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object,java.lang.reflect.Type):602:602 -> a
    31:31:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object):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):56 -> a
    31:31:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):32 -> a
    32:33:void com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object,java.lang.reflect.Type,java.lang.Appendable):647:648 -> a
    32:33:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object,java.lang.reflect.Type):603 -> a
    32:33:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object):583 -> a
    32:33: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):56 -> a
    32:33:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):32 -> a
    34:34:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object,java.lang.reflect.Type):604:604 -> a
    34:34:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object):583 -> a
    34: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):56 -> a
    34:34:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):32 -> 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):57:57 -> a
    35:35:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):32 -> a
    36:36:void com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object,java.lang.reflect.Type,java.lang.Appendable):650:650 -> a
    36:36:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object,java.lang.reflect.Type):603 -> a
    36:36:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object):583 -> 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):56 -> a
    36:36:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):32 -> a
    37:38:java.util.List rewritingFlagsToString(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):62:63 -> a
    39:65:void lambda$rewritingFlagsToString$0(java.util.ArrayList,java.lang.Integer,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags):65:91 -> a
    66:66:void lambda$setToString$1(java.util.Set,com.android.tools.r8.graph.DexItem):98:98 -> a
    67:68:java.util.Map mapToString(java.util.Map):103:104 -> a
    69:69:void lambda$mapToString$2(java.util.Map,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexItem):104:104 -> a
    70:92:java.lang.String toString(com.android.tools.r8.graph.DexItem):109:131 -> a
    93:93:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet():178:178 -> a
    93:93:java.util.Set setToString(java.util.Set):97 -> a
    94:94:java.util.Set setToString(java.util.Set):98:98 -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter$1 -> com.android.tools.r8.internal.bF:
    1:1:void <init>(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter):57:57 -> <init>
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationParser -> com.android.tools.r8.internal.dF:
    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.humanspecification.HumanTopLevelFlags$Builder) -> a
    1:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap parseAllFlags(java.lang.String):39:49 -> a
    12:56:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):188:232 -> a
    12:56:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap parseAllFlags(java.lang.String):50 -> a
    57:57:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap parseAllFlags(java.lang.String):51:51 -> a
    1:10:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification parseMultiLevelConfiguration(com.android.tools.r8.StringResource):26:35 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification -> com.android.tools.r8.internal.BA:
    com.android.tools.r8.ir.desugar.PrefixRewritingMapper prefixRewritingMapper -> d
    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:9:void <init>(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags,boolean,com.android.tools.r8.graph.DexItemFactory):60:68 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification withOnlyRewritePrefixForTesting(java.util.Map,com.android.tools.r8.utils.InternalOptions):33:33 -> a
    2:8:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags.empty():46:52 -> a
    2:8:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification withOnlyRewritePrefixForTesting(java.util.Map,com.android.tools.r8.utils.InternalOptions):34 -> a
    9:9:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification withOnlyRewritePrefixForTesting(java.util.Map,com.android.tools.r8.utils.InternalOptions):35:35 -> a
    10:10:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification empty():41:41 -> a
    11:17:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags.empty():46:52 -> a
    11:17:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification empty():42 -> a
    18:26:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags.empty():61:69 -> a
    18:26:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification empty():42 -> a
    27:27:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification empty():42:42 -> a
    28:28:boolean isSupported(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.AppView):127:127 -> a
    29:29:com.android.tools.r8.graph.DexMethod retargetMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):147:147 -> a
    30:39:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification.retargetMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):132:141 -> a
    30:39:com.android.tools.r8.graph.DexMethod retargetMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):147 -> a
    40:40:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification.retargetMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):138:138 -> a
    40:40:com.android.tools.r8.graph.DexMethod retargetMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):147 -> a
    1:1:java.util.Map getBackportCoreLibraryMember():155:155 -> b
    1:1:java.util.Map getCustomConversions():159:159 -> c
    1:1:java.util.Set getDontRetargetLibMember():171:171 -> d
    1:1:java.util.List getDontRewriteInvocation():167:167 -> e
    1:1:java.util.Map getEmulateLibraryInterface():123:123 -> f
    1:1:java.util.List getExtraKeepRules():175:175 -> g
    1:1:java.lang.String getIdentifier():111:111 -> h
    1:1:java.lang.String getJsonSource():179:179 -> i
    1:1:com.android.tools.r8.ir.desugar.PrefixRewritingMapper getPrefixRewritingMapper():84:84 -> j
    1:1:com.android.tools.r8.utils.AndroidApiLevel getRequiredCompilationApiLevel():88:88 -> k
    1:1:java.util.Map getRetargetCoreLibMember():151:151 -> l
    1:1:java.util.Map getRewritePrefix():115:115 -> m
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags getRewritingFlags():76:76 -> n
    1:1:java.lang.String getSynthesizedLibraryClassesPackagePrefix():96:96 -> o
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags getTopLevelFlags():72:72 -> p
    1:1:java.util.Set getWrapperConversions():163:163 -> q
    1:1:java.util.Map com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification.getEmulateLibraryInterface():123:123 -> r
    1:1:boolean hasEmulatedLibraryInterfaces():119 -> r
    2:2:boolean hasEmulatedLibraryInterfaces():119:119 -> r
    boolean isEmptyConfiguration() -> s
    1:1:boolean isLibraryCompilation():92:92 -> t
    1:1:boolean supportAllCallbacksFromLibrary():80:80 -> u
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification$1 -> com.android.tools.r8.internal.AA:
    1:1:void <init>(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags,boolean,com.android.tools.r8.graph.DexItemFactory):42:42 -> <init>
    boolean isSupported(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.AppView) -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser -> com.android.tools.r8.internal.CA:
    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>():24:27 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean,int):65:69 -> <init>
    void lambda$parse$0(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder) -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags.builder():66:66 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):151 -> a
    2:32:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):153:183 -> a
    33:39:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):182:188 -> a
    40:59:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):187:206 -> a
    60:60:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):168:168 -> a
    61:61:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):158:158 -> a
    62:62:com.android.tools.r8.graph.DexItemFactory dexItemFactory():73:73 -> a
    63:69:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):90:96 -> a
    70:70:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):91:91 -> 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":163,"2":164,"3":165,"4":166,"5":167,"6":168}}
    163:163:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):91:91 -> a
    164:164:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):91:91 -> a
    165:165:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):91:91 -> a
    166:166:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):91:91 -> a
    167:167:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):91:91 -> a
    168:168:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):91:91 -> a
    162:162:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):91:91 -> a
    169:169:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.StringResource):100:100 -> a
    170:172:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.StringResource,java.util.function.Consumer):105:107 -> a
    173:178:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser.parseRewritingFlags():137:142 -> a
    173:178:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.StringResource,java.util.function.Consumer):109 -> a
    179:183: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):210:214 -> a
    179:183:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser.parseRewritingFlags():142 -> a
    179:183:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.StringResource,java.util.function.Consumer):109 -> a
    184:184:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser.parseRewritingFlags():144:144 -> a
    184:184:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.StringResource,java.util.function.Consumer):109 -> a
    185:189: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):210:214 -> a
    185:189:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser.parseRewritingFlags():143 -> a
    185:189:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.StringResource,java.util.function.Consumer):109 -> a
    190:190:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser.parseRewritingFlags():146:146 -> a
    190:190:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.StringResource,java.util.function.Consumer):109 -> a
    191:194:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.StringResource,java.util.function.Consumer):111:114 -> a
    195:239:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder):220:264 -> a
    1:1:com.android.tools.r8.com.google.gson.JsonObject getJsonConfig():81:81 -> b
    2:3:void com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser.setOrigin(com.android.tools.r8.StringResource):132:133 -> b
    2:3:java.lang.String parseJson(com.android.tools.r8.StringResource):119 -> b
    4:8:java.lang.String parseJson(com.android.tools.r8.StringResource):122:126 -> b
    1:2:com.android.tools.r8.origin.Origin getOrigin():85:86 -> c
    1:1:com.android.tools.r8.utils.Reporter reporter():77:77 -> d
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags -> com.android.tools.r8.internal.DA:
    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):49:57 -> <init>
    1:3:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags withOnlyRewritePrefixForTesting(java.util.Map,com.android.tools.r8.utils.InternalOptions):74:76 -> a
    4:4: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):80:80 -> a
    5:17: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):146:146 -> a
    5:17: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):80 -> a
    18:18:java.util.Map getBackportCoreLibraryMember():111:111 -> 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):84:84 -> b
    2:2:java.util.Map getCustomConversions():115:115 -> b
    1:1:java.util.Set getDontRetargetLibMember():123:123 -> c
    1:1:java.util.List getDontRewriteInvocation():119:119 -> d
    1:1:java.util.Map getEmulateLibraryInterface():103:103 -> e
    1:1:java.util.Map getRetargetCoreLibMember():107:107 -> f
    1:1:java.util.Map getRewritePrefix():99:99 -> g
    1:1:java.util.Set getWrapperConversions():127:127 -> h
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder -> com.android.tools.r8.internal.DA$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>():130:130 -> <clinit>
    1:12: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):171: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.FA:
    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):36:42 -> <init>
    1:1:java.util.List getExtraKeepRules():90:90 -> a
    1:1:java.lang.String getIdentifier():78:78 -> b
    1:1:java.lang.String getJsonSource():82:82 -> c
    1:1:com.android.tools.r8.utils.AndroidApiLevel getRequiredCompilationAPILevel():70:70 -> d
    1:1:java.lang.String getSynthesizedLibraryClassesPackagePrefix():74:74 -> e
    1:1:boolean supportAllCallbacksFromLibrary():86:86 -> f
    1:7:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags testing():56:62 -> g
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder -> com.android.tools.r8.internal.FA$a:
    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>():103:103 -> <init>
    2:6:void <init>():96:100 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder setRequiredCompilationAPILevel(com.android.tools.r8.utils.AndroidApiLevel):106:106 -> a
    2:2:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder setDesugaredLibraryIdentifier(java.lang.String):116:116 -> a
    3:3:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder setSupportAllCallbacksFromLibrary(boolean):126:126 -> a
    4:4:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder setExtraKeepRules(java.util.List):131:131 -> a
    5:5:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags build():136:136 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder setJsonSource(java.lang.String):121:121 -> b
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder setSynthesizedLibraryClassesPackagePrefix(java.lang.String):111:111 -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification -> com.android.tools.r8.internal.eF:
    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.fF:
    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.legacyspecification.LegacyTopLevelFlags$Builder) -> b
    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.DerivedMethod -> com.android.tools.r8.internal.Xe:
    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.Jh:
    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.Lh:
    java.util.Map emulatedMethods -> 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
com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification -> com.android.tools.r8.internal.DC:
    com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags rewritingFlags -> a
    1:4:void <init>(boolean,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineTopLevelFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags):16:19 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags getRewritingFlags():31:31 -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags -> com.android.tools.r8.internal.FC:
    java.util.Map rewriteType -> a
    java.util.Map rewriteDerivedTypeOnly -> b
    java.util.Map staticRetarget -> c
    java.util.Map nonEmulatedVirtualRetarget -> d
    java.util.Map emulatedVirtualRetarget -> e
    java.util.Map emulatedInterfaces -> f
    java.util.Map wrappers -> g
    1:8: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.Set,java.util.Map):35:42 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder builder():22:22 -> a
    1:1:java.util.Map getEmulatedInterfaces():98:98 -> b
    1:1:java.util.Map getEmulatedVirtualRetarget():94:94 -> c
    1:1:java.util.Map getNonEmulatedVirtualRetarget():90:90 -> d
    1:1:java.util.Map getRewriteDerivedTypeOnly():82:82 -> e
    1:1:java.util.Map getRewriteType():78:78 -> f
    1:1:java.util.Map getStaticRetarget():86:86 -> g
    1:1:java.util.Map getWrappers():102:102 -> h
com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder -> com.android.tools.r8.internal.EC:
    java.util.Map rewriteType -> a
    java.util.Map rewriteDerivedTypeOnly -> b
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder legacyBackport -> h
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder wrappers -> g
    com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder dontRetarget -> i
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder emulatedInterfaces -> 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
    boolean $assertionsDisabled -> k
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder customConversions -> j
    1:1:void <clinit>():117:117 -> <clinit>
    1:17:void <init>():119:135 -> <init>
    1:1:void putNonEmulatedVirtualRetarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):152:152 -> a
    2:2:void putEmulatedInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):156:156 -> a
    3:3:void putEmulatedVirtualRetarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):160:160 -> a
    4:4:void addWrapper(com.android.tools.r8.graph.DexType,java.util.List):164:164 -> a
    5:5:void putLegacyBackport(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):168:168 -> a
    6:6:void addDontRetarget(com.android.tools.r8.graph.DexType):172:172 -> a
    7:7:void putCustomConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):176:176 -> a
    8:18:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags build():180:190 -> a
    1:1:void rewriteDerivedTypeOnly(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):144:144 -> b
    2:2:void putStaticRetarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):148:148 -> b
    1:3:void rewriteType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):138:140 -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter -> com.android.tools.r8.internal.yf:
    com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo retargetingInfo -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map staticRetarget -> d
    com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper syntheticHelper -> b
    boolean $assertionsDisabled -> g
    java.util.Map nonEmulatedVirtualRetarget -> e
    java.util.Map emulatedVirtualRetarget -> f
    1:1:void <clinit>():34:34 -> <clinit>
    1:7:void <init>(com.android.tools.r8.graph.AppView):44: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):74:82 -> 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):81:81 -> a
    14:14:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):87:87 -> a
    15:23:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNonStaticRetarget(com.android.tools.r8.graph.DexMethod):169:177 -> a
    24:24:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNonStaticRetarget(com.android.tools.r8.graph.DexMethod):176:176 -> a
    25:25:com.android.tools.r8.graph.DexMethod lambda$computeNonStaticRetarget$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):174:174 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo getRetargetingInfo():61:61 -> b
    2:9:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNewInvokeTarget(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):127:134 -> b
    10:10:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexClassAndMember.getContextType():36:36 -> b
    10:10:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNewInvokeTarget(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):134 -> b
    11:36:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNewInvokeTarget(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):134:159 -> b
    37:37: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):626:626 -> b
    37:37:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNewInvokeTarget(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):160 -> b
    38:38:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNewInvokeTarget(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):162:162 -> b
    39:44:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter.computeSuperRetarget(com.android.tools.r8.graph.DexEncodedMethod):181:186 -> b
    39:44:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNewInvokeTarget(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):162 -> b
    45:46: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):34:35 -> b
    45:46:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter.computeSuperRetarget(com.android.tools.r8.graph.DexEncodedMethod):186 -> b
    45:46:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNewInvokeTarget(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):162 -> b
    47:51:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter.computeSuperRetarget(com.android.tools.r8.graph.DexEncodedMethod):185:189 -> b
    47:51:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNewInvokeTarget(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):162 -> b
    52:52:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter.computeSuperRetarget(com.android.tools.r8.graph.DexEncodedMethod):188:188 -> b
    52:52:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNewInvokeTarget(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):162 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult -> com.android.tools.r8.internal.xf:
    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>():90:92 -> <clinit>
    1:1:void <init>(boolean,java.util.function.Function,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$1):90:90 -> <init>
    2:4:void <init>(boolean,java.util.function.Function):109:111 -> <init>
    com.android.tools.r8.graph.DexMethod lambda$createInvokeRetargetingResult$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer) -> a
    1:3:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult createInvokeRetargetingResult(com.android.tools.r8.graph.DexMethod):101:103 -> a
    4:4:boolean hasNewInvokeTarget():115:115 -> a
    5:5:com.android.tools.r8.graph.DexMethod getNewInvokeTarget(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):120:120 -> a
    6:6:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult.hasNewInvokeTarget():115:115 -> a
    6:6:com.android.tools.r8.graph.DexMethod getNewInvokeTarget(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):120 -> a
    7:8:com.android.tools.r8.graph.DexMethod getNewInvokeTarget(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):120:121 -> 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.zf:
    java.util.Map emulatedDispatchMethods -> b
    com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper syntheticHelper -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():13:13 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):30:33 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterL8Synthesizer create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):21:21 -> a
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    2:2:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterL8Synthesizer create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):21 -> a
    3:8:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterL8Synthesizer create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):21:26 -> a
    9:9:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterL8Synthesizer create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):23:23 -> a
    10:13:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):38:41 -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterLibraryTypeSynthesizer -> com.android.tools.r8.internal.Af:
    com.android.tools.r8.graph.DexApplication lambda$amendLibraryWithRetargetedMembers$0(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.DexApplication) -> a
    1:16:void amendLibraryWithRetargetedMembers(com.android.tools.r8.graph.AppView):56:71 -> a
    17:22:java.util.Map synthesizeLibraryClassesForRetargetedMembers(com.android.tools.r8.graph.AppView,java.util.Map):77:82 -> a
    23:33:com.android.tools.r8.graph.DexLibraryClass lambda$synthesizeLibraryClassesForRetargetedMembers$1(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):88:98 -> a
    34:34:java.util.List com.android.tools.r8.graph.NestMemberClassAttribute.emptyList():28:28 -> a
    34:34:com.android.tools.r8.graph.DexLibraryClass lambda$synthesizeLibraryClassesForRetargetedMembers$1(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):98 -> a
    35:36:com.android.tools.r8.graph.DexLibraryClass lambda$synthesizeLibraryClassesForRetargetedMembers$1(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):99:100 -> a
    37:37:java.util.List com.android.tools.r8.graph.InnerClassAttribute.emptyList():45:45 -> a
    37:37:com.android.tools.r8.graph.DexLibraryClass lambda$synthesizeLibraryClassesForRetargetedMembers$1(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):100 -> a
    38:44:com.android.tools.r8.graph.DexLibraryClass lambda$synthesizeLibraryClassesForRetargetedMembers$1(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):101:107 -> a
    45:50:java.util.Map synthesizedMembersForRetargetClasses(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Map):118:123 -> a
    51:60:void lambda$synthesizedMembersForRetargetClasses$4(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):125:134 -> a
    61:63: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
    61:63:void lambda$synthesizedMembersForRetargetClasses$4(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):134 -> a
    64:72:void lambda$synthesizedMembersForRetargetClasses$4(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):136:144 -> a
    73:78:void lambda$synthesizedMembersForRetargetClasses$4(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):143:148 -> a
    79:79:void lambda$synthesizedMembersForRetargetClasses$4(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):140:140 -> a
    80:80:boolean lambda$synthesizedMembersForRetargetClasses$2(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):131:131 -> a
    81:81:java.util.Set lambda$synthesizedMembersForRetargetClasses$3(com.android.tools.r8.graph.DexLibraryClass):139:139 -> a
    1:4:void checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppView):43:46 -> b
    5:5:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterLibraryTypeSynthesizer.warnMissingRetargetCoreLibraryMember(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):156:156 -> b
    5:5:void checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppView):48 -> b
    6:6:void checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppView):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":10,"2":11,"3":12}}
    10:10:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterLibraryTypeSynthesizer.warnMissingRetargetCoreLibraryMember(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):156:156 -> b
    10:10:void checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppView):48 -> b
    11:11:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterLibraryTypeSynthesizer.warnMissingRetargetCoreLibraryMember(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):156:156 -> b
    11:11:void checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppView):48 -> b
    12:12:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterLibraryTypeSynthesizer.warnMissingRetargetCoreLibraryMember(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):156:156 -> b
    12:12:void checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppView):48 -> b
    7:9:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterLibraryTypeSynthesizer.warnMissingRetargetCoreLibraryMember(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):159:161 -> b
    7:9:void checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppView):48 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor -> com.android.tools.r8.internal.Bf:
    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:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo):40: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():442:442 -> a
    2:2:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):52 -> a
    3:4:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):52:53 -> a
    5:5:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):59:59 -> a
    6:6:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    6:6:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):59 -> a
    7:7:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):59:59 -> a
    8:8:java.util.IdentityHashMap com.android.tools.r8.com.google.common.collect.Maps.newIdentityHashMap():431:431 -> a
    8:8:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):60 -> a
    9:19:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):61:71 -> a
    20:20:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    20:20:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):75 -> a
    21:23:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):75:77 -> a
    24:25: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
    26:26: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
    27:31: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
    27:31: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
    32:32:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    32:32: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
    32:32: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
    33:37: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
    33:37: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
    38:38: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
    38:38: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
    39:42:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):167:170 -> a
    39:42: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
    39:42: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
    43:43:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    43:43:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):171 -> a
    43:43: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
    43:43: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
    44:50:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):172:178 -> a
    44:50: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
    44:50: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
    51:51:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
    51:51:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):180 -> a
    51:51: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
    51:51: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
    52:52:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):180:180 -> a
    52: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
    52: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:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):179:179 -> 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):175:175 -> 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:74: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
    55:74: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
    75:80: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
    75:80: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
    81:81: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
    81:81: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
    81:81: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
    82:83: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):34:35 -> a
    82: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 -> a
    82: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
    82: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:90: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
    84:90: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:90: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
    91:93: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
    91:93: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
    91:93: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
    94: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):142:143 -> a
    94: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
com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer -> com.android.tools.r8.internal.Cf:
    void acceptDesugaredLibraryRetargeterDispatchClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper -> com.android.tools.r8.internal.Df:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():24:24 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView):28:29 -> <init>
    1:3:com.android.tools.r8.graph.DexMethod emulatedHolderDispatchMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod):39:41 -> a
    4:5:com.android.tools.r8.graph.DexMethod getEmulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):51:52 -> a
    6:7: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):45:46 -> a
    6:7:com.android.tools.r8.graph.DexMethod getEmulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):52 -> a
    8:8:com.android.tools.r8.graph.DexMethod getEmulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):53:53 -> a
    9:14: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):60:65 -> a
    15:15:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    15:15: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):65 -> a
    16:20: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):66:70 -> a
    21: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):69:91 -> a
    44:44:void lambda$ensureEmulatedHolderDispatchMethod$0(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder):86:86 -> a
    45:45:void lambda$ensureProgramEmulatedHolderDispatchMethod$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):110:110 -> a
    46:46:void lambda$ensureEmulatedInterfaceDispatchMethod$2(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder):133:133 -> a
    47:47: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):140:140 -> a
    48:48:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    48:48: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):140 -> a
    49:56: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):140:147 -> a
    57:57: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):146:146 -> a
    58:58:void lambda$ensureEmulatedInterfaceDispatchMethod$3(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):150:150 -> a
    59:60:void buildInterfaceDispatchMethod(com.android.tools.r8.synthesis.SyntheticClassBuilder,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):157:158 -> a
    61:61:void lambda$buildInterfaceDispatchMethod$4(com.android.tools.r8.synthesis.SyntheticClassBuilder,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.synthesis.SyntheticMethodBuilder):162:162 -> a
    62:63: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):45:46 -> a
    62:63:void lambda$buildInterfaceDispatchMethod$4(com.android.tools.r8.synthesis.SyntheticClassBuilder,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.synthesis.SyntheticMethodBuilder):161 -> a
    64:72:void lambda$buildInterfaceDispatchMethod$4(com.android.tools.r8.synthesis.SyntheticClassBuilder,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.synthesis.SyntheticMethodBuilder):164:172 -> a
    73:73:void buildHolderDispatchMethod(com.android.tools.r8.synthesis.SyntheticClassBuilder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):178:178 -> a
    74:74:void lambda$buildHolderDispatchMethod$6(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.synthesis.SyntheticMethodBuilder):182:182 -> a
    75:83:void lambda$buildHolderDispatchMethod$6(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.synthesis.SyntheticMethodBuilder):181:189 -> a
    84:84:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$5(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):191:191 -> a
    85:85:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    85:85:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$5(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):191 -> a
    86:87: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):34:35 -> a
    86:87: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):199 -> a
    86:87:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$5(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):192 -> a
    88:89:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.getEmulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):51:52 -> a
    88:89: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):200 -> a
    88:89:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$5(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):192 -> a
    90:91: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):45:46 -> a
    90:91:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.getEmulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):52 -> a
    90:91: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):200 -> a
    90:91:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$5(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):192 -> a
    92:92:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.getEmulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):53:53 -> a
    92:92: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):200 -> a
    92:92:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$5(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):192 -> a
    93:96: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):201:204 -> a
    93:96:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$5(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):192 -> a
    1:2:void ensureProgramEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):98:99 -> b
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> b
    3:3:void ensureProgramEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):99 -> b
    4:12:void ensureProgramEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):99:107 -> b
    13:13:void ensureProgramEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):106:106 -> b
    14:17: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):117:120 -> b
    18:18:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> b
    18: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):120 -> b
    19:27: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):121:129 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo -> com.android.tools.r8.internal.hS:
    java.util.Map staticRetarget -> a
    java.util.Map nonEmulatedVirtualRetarget -> b
    java.util.Map emulatedVirtualRetarget -> c
    1:4:void <init>(java.util.Map,java.util.Map,java.util.Map):36:39 -> <init>
    1:9:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo get(com.android.tools.r8.graph.AppView):43:51 -> a
    10:10:java.util.Map getEmulatedVirtualRetarget():63:63 -> a
    1:1:java.util.Map getNonEmulatedVirtualRetarget():59:59 -> b
    1:1:java.util.Map getStaticRetarget():55:55 -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder -> com.android.tools.r8.internal.gS:
    java.util.Map staticRetarget -> b
    java.util.Map nonEmulatedVirtualRetarget -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map emulatedVirtualRetarget -> d
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():66:66 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):74:74 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView):69:75 -> <init>
    1:20:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetingInfo():79:98 -> a
    1:20:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo access$000(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder):66 -> a
    21:22:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetMethod(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexType):165:166 -> a
    21:22:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetingInfo():97 -> a
    21:22:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo access$000(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder):66 -> a
    23:23:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProto(com.android.tools.r8.graph.DexMethod):2584:2584 -> a
    23:23:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetMethod(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexType):166 -> a
    23:23:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetingInfo():97 -> a
    23:23:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo access$000(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder):66 -> a
    24:24:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetMethod(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexType):167:167 -> a
    24:24:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetingInfo():97 -> a
    24:24:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo access$000(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder):66 -> a
    25:31:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetingInfo():95:101 -> a
    25:31:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo access$000(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder):66 -> a
    32:32:boolean com.android.tools.r8.graph.DexClass.isFinal():656:656 -> a
    32:32:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetingInfo():104 -> a
    32:32:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo access$000(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder):66 -> a
    33:44:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetingInfo():104:115 -> a
    33:44:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo access$000(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder):66 -> 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.retargeter.RetargetingInfo com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetingInfo():115 -> a
    45:45:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo access$000(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder):66 -> a
    46:50:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetingInfo():116:120 -> a
    46:50:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo access$000(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder):66 -> a
    51:54:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetingInfo():105:108 -> a
    51:54:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo access$000(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder):66 -> a
    55:56:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetMethod(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexType):165:166 -> a
    55:56:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetingInfo():107 -> a
    55:56:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo access$000(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder):66 -> a
    57:57:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProto(com.android.tools.r8.graph.DexMethod):2584:2584 -> a
    57:57:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetMethod(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexType):166 -> a
    57:57:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetingInfo():107 -> a
    57:57:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo access$000(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder):66 -> a
    58:58:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetMethod(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexType):167:167 -> a
    58:58:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetingInfo():107 -> a
    58:58:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo access$000(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder):66 -> a
    59:93:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetingInfo():105:139 -> a
    59:93:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo access$000(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder):66 -> a
    94:98:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetingInfo():138:142 -> a
    94:98:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo access$000(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder):66 -> a
    99:101:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetMethod(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexType):165:167 -> a
    99:101:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetingInfo():141 -> a
    99:101:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo access$000(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder):66 -> a
    102:109:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetingInfo():143:150 -> a
    102:109:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo access$000(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder):66 -> a
    110:117:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetingInfo():148:155 -> a
    110:117:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo access$000(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder):66 -> a
    118:120:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetMethod(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexType):165:167 -> a
    118:120:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetingInfo():154 -> a
    118:120:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo access$000(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder):66 -> a
    121:125:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder.computeRetargetingInfo():156:160 -> a
    121:125:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo access$000(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.RetargetingInfo$RetargetingInfoBuilder):66 -> a
    126:143:boolean isEmulatedInterfaceDispatch(com.android.tools.r8.graph.DexClassAndMethod):172:189 -> a
    144:146:void lambda$isEmulatedInterfaceDispatch$0(com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexType):191:193 -> a
    147:150:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):201:204 -> a
    151:151: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":358,"2":359,"3":360}}
    358:358:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):204:204 -> a
    359:359:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):204:204 -> a
    360:360:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):204:204 -> a
    357:357:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):206:206 -> a
    361:361:boolean lambda$findMethodsWithName$1(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):203:203 -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter -> com.android.tools.r8.internal.Im:
    java.util.Map emulatedInterfaceHierarchy -> b
    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():30:30 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy):35:36 -> <init>
    1:16: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):43:58 -> a
    17:17: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):57:57 -> a
    18:18:boolean lambda$convertEmulatedInterfaces$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):51:51 -> a
    19:21: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.ProgramMethod):54:56 -> a
    22:29: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):64:71 -> a
    22:29: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.ProgramMethod):55 -> a
    30:34: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):68:72 -> a
    30:34: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.ProgramMethod):55 -> a
    35:35:void com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod.<init>(com.android.tools.r8.graph.DexMethod):25:25 -> a
    35: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):72 -> a
    35: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.ProgramMethod):55 -> a
    36:36: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):73:73 -> a
    36:36: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.ProgramMethod):55 -> a
    37:44: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):86:93 -> a
    37:44: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 -> a
    37:44: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.ProgramMethod):55 -> a
    45:46:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.implementsInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):125:126 -> a
    45:46: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 -> a
    45:46: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 -> a
    45:46: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.ProgramMethod):55 -> a
    47:47:boolean com.android.tools.r8.utils.WorkList.isEmpty():112:112 -> a
    47:47:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.implementsInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):127 -> a
    47:47: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 -> a
    47:47: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 -> a
    47:47: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.ProgramMethod):55 -> a
    48:54:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.implementsInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):128:134 -> a
    48:54: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 -> a
    48:54: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 -> a
    48:54: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.ProgramMethod):55 -> a
    55:56:void com.android.tools.r8.utils.WorkList.addIfNotSeen(java.lang.Object[]):82:83 -> a
    55:56:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.implementsInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):134 -> a
    55:56: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 -> a
    55:56: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 -> a
    55:56: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.ProgramMethod):55 -> a
    57:57: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):94:94 -> a
    57:57: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 -> a
    57:57: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.ProgramMethod):55 -> a
    58:58:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProto(com.android.tools.r8.graph.DexMethod):2584:2584 -> a
    58:58: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):94 -> a
    58:58: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 -> a
    58:58: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.ProgramMethod):55 -> a
    59: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):95:99 -> a
    59: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):75 -> a
    59: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.ProgramMethod):55 -> a
    64:64:void com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod.<init>(com.android.tools.r8.graph.DexMethod):25:25 -> 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):99 -> 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):75 -> 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.ProgramMethod):55 -> a
    65:85: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):99:119 -> a
    65:85: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 -> a
    65:85: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.ProgramMethod):55 -> a
    86:86: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):76:76 -> a
    86:86: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.ProgramMethod):55 -> a
    87:87: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.ProgramMethod):53:53 -> a
    88:93:java.util.Map processEmulatedInterfaceHierarchy(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map):142:147 -> a
    94:104:void processEmulatedInterfaceHierarchy(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexType,java.util.Set,java.util.Map):159:169 -> a
    105:105:boolean com.android.tools.r8.utils.WorkList.isEmpty():112:112 -> a
    105:105:void processEmulatedInterfaceHierarchy(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexType,java.util.Set,java.util.Map):170 -> a
    106:113:void processEmulatedInterfaceHierarchy(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexType,java.util.Set,java.util.Map):171:178 -> a
    114:115:void com.android.tools.r8.utils.WorkList.addIfNotSeen(java.lang.Object[]):82:83 -> a
    114:115:void processEmulatedInterfaceHierarchy(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexType,java.util.Set,java.util.Map):178 -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter -> com.android.tools.r8.internal.Jm:
    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo -> a
    1:2:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy):22:23 -> <init>
    1:1:void rewriteEmulatedInterface(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.Map):65:65 -> a
    2:4:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertRewritePrefix(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags):106:108 -> a
    2:4:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):36 -> a
    5:6:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):27:28 -> a
    5:6:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertRewritePrefix(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags):109 -> a
    5:6:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):36 -> a
    7:7:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":67,"2":68,"3":69}}
    67:67:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):28:28 -> a
    67:67:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertRewritePrefix(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags):109 -> a
    67:67:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):36 -> a
    68:68:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):28:28 -> a
    68:68:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertRewritePrefix(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags):109 -> a
    68:68:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):36 -> a
    69:69:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):28:28 -> a
    69:69:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertRewritePrefix(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags):109 -> a
    69:69:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):36 -> a
    8:8:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):29:29 -> a
    8:8:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertRewritePrefix(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags):109 -> a
    8:8:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):36 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertRewritePrefix(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags):109:109 -> a
    9:9:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):36 -> a
    10:11:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):27:28 -> a
    10:11:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertRewritePrefix(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags):109 -> a
    10:11:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):36 -> a
    12:12:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":70,"2":71,"3":72}}
    70:70:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):28:28 -> a
    70:70:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertRewritePrefix(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags):109 -> a
    70:70:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):36 -> a
    71:71:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):28:28 -> a
    71:71:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertRewritePrefix(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags):109 -> a
    71:71:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):36 -> a
    72:72:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):28:28 -> a
    72:72:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertRewritePrefix(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags):109 -> a
    72:72:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):36 -> a
    13:13:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):29:29 -> a
    13:13:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertRewritePrefix(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags):109 -> a
    13:13:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):36 -> a
    14:16:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertRewritePrefix(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags):109:111 -> a
    14:16:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):36 -> a
    17:18:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteClasses(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder):82:83 -> a
    17:18:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):37 -> a
    19:20:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(java.util.Map,com.android.tools.r8.graph.DexType):92:93 -> a
    19:20:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteClasses(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder):84 -> a
    19:20:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):37 -> a
    21:21:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    21:21:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(java.util.Map,com.android.tools.r8.graph.DexType):94 -> a
    21:21:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteClasses(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder):84 -> a
    21:21:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):37 -> a
    22:24:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(java.util.Map,com.android.tools.r8.graph.DexType):95:97 -> a
    22:24:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteClasses(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder):84 -> a
    22:24:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):37 -> a
    25:27:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(java.util.Map,com.android.tools.r8.graph.DexType):96:98 -> a
    25:27:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteClasses(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder):84 -> a
    25:27:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):37 -> a
    28:28:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteClasses(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder):86:86 -> a
    28:28:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):37 -> a
    29:29:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):38:38 -> a
    30:30:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.Map):72:72 -> a
    30:30:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):38 -> a
    31:32:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(java.util.Map,com.android.tools.r8.graph.DexType):92:93 -> a
    31:32:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.Map):73 -> a
    31:32:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):38 -> a
    33:33:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    33:33:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(java.util.Map,com.android.tools.r8.graph.DexType):94 -> a
    33:33:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.Map):73 -> a
    33:33:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):38 -> a
    34:36:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(java.util.Map,com.android.tools.r8.graph.DexType):95:97 -> a
    34:36:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.Map):73 -> a
    34:36:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):38 -> a
    37:39:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(java.util.Map,com.android.tools.r8.graph.DexType):96:98 -> a
    37:39:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.Map):73 -> a
    37:39:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):38 -> a
    40:40:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.Map):75:75 -> a
    40:40:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):38 -> a
    41:41:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):39:39 -> a
    42:42:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.Map):72:72 -> a
    42:42:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):39 -> a
    43:44:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(java.util.Map,com.android.tools.r8.graph.DexType):92:93 -> a
    43:44:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.Map):73 -> a
    43:44:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):39 -> a
    45:45:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    45:45:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(java.util.Map,com.android.tools.r8.graph.DexType):94 -> a
    45:45:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.Map):73 -> a
    45:45:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):39 -> a
    46:48:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(java.util.Map,com.android.tools.r8.graph.DexType):95:97 -> a
    46:48:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.Map):73 -> a
    46:48:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):39 -> a
    49:51:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(java.util.Map,com.android.tools.r8.graph.DexType):96:98 -> a
    49:51:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.Map):73 -> a
    49:51:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):39 -> a
    52:52:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.Map):75:75 -> a
    52:52:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):39 -> a
    53:54:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):40:41 -> a
    55:56:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.Map,java.lang.String):57:58 -> a
    55:56:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):41 -> a
    57:61:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertJavaNameToDesugaredLibrary(com.android.tools.r8.graph.DexType,java.lang.String):45:49 -> a
    57:61:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.Map,java.lang.String):58 -> a
    57:61:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):41 -> a
    62:62:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":73,"2":74,"3":75}}
    73:73:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertJavaNameToDesugaredLibrary(com.android.tools.r8.graph.DexType,java.lang.String):49:49 -> a
    73:73:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.Map,java.lang.String):58 -> a
    73:73:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):41 -> a
    74:74:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertJavaNameToDesugaredLibrary(com.android.tools.r8.graph.DexType,java.lang.String):49:49 -> a
    74:74:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.Map,java.lang.String):58 -> a
    74:74:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):41 -> a
    75:75:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertJavaNameToDesugaredLibrary(com.android.tools.r8.graph.DexType,java.lang.String):49:49 -> a
    75:75:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.Map,java.lang.String):58 -> a
    75:75:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):41 -> a
    63:63:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertJavaNameToDesugaredLibrary(com.android.tools.r8.graph.DexType,java.lang.String):52:52 -> a
    63:63:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.Map,java.lang.String):58 -> a
    63:63:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):41 -> a
    64:64:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertJavaNameToDesugaredLibrary(com.android.tools.r8.graph.DexType,java.lang.String):51:51 -> a
    64:64:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.Map,java.lang.String):58 -> a
    64:64:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):41 -> a
    65:65:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertJavaNameToDesugaredLibrary(com.android.tools.r8.graph.DexType,java.lang.String):50:50 -> a
    65:65:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.Map,java.lang.String):58 -> a
    65:65:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):41 -> a
    66:66:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.Map,java.lang.String):59:59 -> a
    66:66:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.lang.String):41 -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter -> com.android.tools.r8.internal.Km:
    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> b
    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():25:25 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy):30:31 -> <init>
    1:4:void convertRetargetFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder):36:39 -> a
    5:9: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):49:53 -> a
    5:9: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):41 -> a
    10:10:boolean com.android.tools.r8.graph.DexClass.isFinal():656:656 -> a
    10:10: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 -> a
    10:10: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):41 -> a
    11:11: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:56 -> a
    11:11: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):41 -> a
    12:20: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):68:76 -> a
    12:20: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):60 -> a
    12:20: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):41 -> a
    21:21:void com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod.<init>(com.android.tools.r8.graph.DexMethod):25:25 -> a
    21:21: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):76 -> a
    21:21: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):60 -> a
    21:21: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):41 -> a
    22:27: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):77:82 -> a
    22:27: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):60 -> a
    22:27: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):41 -> a
    28:32: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):91:95 -> a
    28:32: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):82 -> a
    28:32: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):60 -> a
    28:32: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):41 -> a
    33:33:boolean com.android.tools.r8.graph.MethodResolutionResult.isSuccessfulMemberResolutionResult():0:0 -> a
    33:33: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):95 -> a
    33:33: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):82 -> a
    33:33: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):60 -> a
    33:33: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):41 -> a
    34:35: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):96:97 -> a
    34: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):82 -> a
    34: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):60 -> a
    34: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):41 -> a
    36:36: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):84:84 -> a
    36:36: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):60 -> a
    36:36: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):41 -> a
    37:37: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:83 -> a
    37:37: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):60 -> a
    37:37: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):41 -> a
    38:38: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):57:57 -> a
    38:38: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):41 -> a
    39:57:boolean isEmulatedInterfaceDispatch(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags):109:127 -> a
    58:60: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):124:126 -> a
    61:61:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.TraversalContinuation.continueIf(boolean):17:17 -> a
    61:61:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.TraversalContinuation.breakIf(boolean):13 -> a
    61:61: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):123 -> a
    62:62:void convertNonEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):151:151 -> a
    63:69: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):136:142 -> a
    63:69:void convertNonEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):151 -> a
    70:70:boolean com.android.tools.r8.graph.MethodResolutionResult.isSuccessfulMemberResolutionResult():0:0 -> a
    70:70: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):142 -> a
    70:70:void convertNonEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):151 -> a
    71:72: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):143:144 -> a
    71:72:void convertNonEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):151 -> a
    73:73: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):160:160 -> a
    74:74: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):159:159 -> a
    75:77: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
    75:77: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):159 -> a
    78:78: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):157:157 -> 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):165:165 -> 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):136:142 -> 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):165 -> 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):142 -> 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):165 -> 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):143:144 -> 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):165 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineSpecificationConverter -> com.android.tools.r8.internal.Lm:
    1:1:void <init>():27:27 -> <init>
    1:18:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags convertRewritingFlags(java.lang.String,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):58:75 -> a
    19:19:void lambda$convertRewritingFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):70:70 -> a
    20:20:void lambda$convertRewritingFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):69:69 -> a
    21:25:com.android.tools.r8.graph.DexApplication com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineSpecificationConverter.readApp(java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):79:83 -> a
    21:25:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):32 -> a
    26:31:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):33:38 -> a
    32:36:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):35:39 -> a
    37:42: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):46:51 -> a
    37:42:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):39 -> a
    43:44:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):40:41 -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineWrapperConverter -> com.android.tools.r8.internal.Mm:
    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():18:18 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy):22:23 -> <init>
    1:3:void convertWrappers(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder):28:30 -> a
    4:36:java.util.List com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineWrapperConverter.allImplementedMethods(com.android.tools.r8.graph.DexClass):38:70 -> a
    4:36:void convertWrappers(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder):31 -> a
    37:38:void convertWrappers(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder):32:33 -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter -> com.android.tools.r8.internal.EA:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():45:45 -> <clinit>
    1:1:void <init>():45:45 -> <init>
    1:1: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):67:67 -> a
    2:6:com.android.tools.r8.graph.DexApplication com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter.readApp(java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):138:142 -> a
    2: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):68 -> a
    7:7: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):69:69 -> a
    8:15: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):213:220 -> a
    8:15: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):69 -> a
    16:18: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):219:221 -> a
    16:18: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):69 -> a
    19:23: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):71:75 -> a
    24:27: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):106:109 -> a
    24:27: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 -> a
    28:28:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.DexApplication.dexItemFactory():61:61 -> a
    28:28: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):109 -> a
    28:28: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 -> a
    29: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):109:109 -> a
    29: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):77 -> 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):110 -> 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):77 -> a
    31:46: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):114:129 -> a
    31:46: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 -> a
    47:54: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):127:134 -> a
    47:54: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 -> a
    55:55: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):79:79 -> a
    56:60:com.android.tools.r8.graph.DexApplication com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter.readApp(java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):138:142 -> a
    56:60:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):86 -> a
    61:61:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):87:87 -> a
    62:69: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):213:220 -> a
    62:69:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):87 -> a
    70:72: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):219:221 -> a
    70:72:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):87 -> a
    73:80:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):93:100 -> a
    81:81:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.DexApplication.dexItemFactory():61:61 -> a
    81:81:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):101 -> a
    82:82:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):101:101 -> a
    83:84: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):147:148 -> a
    85:85: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):148:148 -> a
    86:86: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):155:155 -> a
    87:87:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.DexApplication.dexItemFactory():61:61 -> a
    87:87: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):155 -> a
    88:104: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):155:171 -> a
    105:109: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):176:180 -> a
    105:109:void lambda$convertRewritingFlags$2(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.Pair):169 -> a
    110:110: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):189:189 -> a
    111:115:void lambda$convertRetargetCoreLibMember$3(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):191:195 -> a
    116:118:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):201:203 -> a
    119:119: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":325,"2":326,"3":327}}
    325:325:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):203:203 -> a
    326:326:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):203:203 -> a
    327:327:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):203:203 -> a
    324:324:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):205:205 -> a
    328:328:boolean lambda$findMethodsWithName$4(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):202:202 -> a
    1:1:void lambda$convertRewritingFlags$1(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):166:166 -> b
com.android.tools.r8.ir.desugar.icce.AlwaysThrowingInstructionDesugaring -> com.android.tools.r8.internal.H1:
    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.lu:
    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
    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.mu:
    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.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.getInvokeSpecialBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):137: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
    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.ya:
    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>():66:66 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.function.Predicate):374:374 -> <init>
    2:34:void <init>(com.android.tools.r8.graph.AppView,java.util.function.Predicate):353:385 -> <init>
    1:1:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.isLiveMethod(com.android.tools.r8.graph.DexClassAndMethod):389:389 -> 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):674 -> 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):389 -> 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):674 -> a
    3:3:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.isLiveMethod(com.android.tools.r8.graph.DexClassAndMethod):390:390 -> 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):674 -> 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):674:675 -> a
    6:28:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addForwardingMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClass):834:856 -> a
    6:28: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):676 -> a
    29:35:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addForwardingMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClass):855:861 -> a
    29: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):676 -> a
    36:36:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addForwardingMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClass):840:840 -> a
    36:36: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):676 -> a
    37:37:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
    37:37:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addForwardingMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClass):843 -> a
    37:37: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):676 -> a
    38:39:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addForwardingMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClass):843:844 -> a
    38:39: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):676 -> a
    40:41:void process(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer):405:406 -> a
    42:42:void lambda$process$0(com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):411:411 -> a
    43:48:void finalizeProcessing(com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer):418:423 -> a
    49:50: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):420:421 -> a
    51:54:void lambda$finalizeProcessing$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer,com.android.tools.r8.graph.DexProgramClass,java.util.List):425:428 -> a
    55:58:void lambda$finalizeProcessing$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer,com.android.tools.r8.graph.DexProgramClass,java.util.List):427:430 -> a
    59:65:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures getDefaultMethods(com.android.tools.r8.graph.DexClass):461:467 -> a
    66:66:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.create(java.util.Set):74:74 -> a
    66:66:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures getDefaultMethods(com.android.tools.r8.graph.DexClass):467 -> a
    67:70:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):504:507 -> a
    71:71:java.util.Set com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.getEmulatedInterfaces():239:239 -> a
    71:71:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):507 -> a
    72:73:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):507:508 -> a
    74:74:java.util.Set com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.getEmulatedInterfaces():239:239 -> a
    74:74:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):509 -> a
    75:78:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):509:512 -> a
    79:79:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    79:79:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):512 -> a
    80:82:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):512:512 -> a
    84:94:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):514:524 -> a
    95:95:java.util.Set com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.getEmulatedInterfaces():239:239 -> a
    95:95:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):527 -> a
    96:139:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):527:570 -> a
    140:149:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):556:565 -> a
    150:150:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):559:559 -> a
    151:151: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":717,"2":718,"3":719}}
    717:717:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):559:559 -> a
    718:718:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):559:559 -> a
    719:719:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):559:559 -> a
    712:714:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):561:563 -> a
    715:715:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    715:715:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):563 -> a
    716:716:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):563:563 -> a
    720:733:void collectEmulatedInterfaces(com.android.tools.r8.graph.DexClass,java.util.Set,java.util.Map):578:591 -> a
    734:738:void lambda$collectEmulatedInterfaces$4(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):581:585 -> a
    739:745:void lambda$collectEmulatedInterfaces$4(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):582:588 -> a
    746:746:void lambda$collectEmulatedInterfaces$4(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):587:587 -> a
    747:749:void lambda$collectEmulatedInterfaces$5(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType):593:595 -> a
    750:753:void lambda$collectEmulatedInterfaces$5(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType):594:597 -> a
    754:775:void collectEmulatedInterfacesWithPropagatedTypeArguments(com.android.tools.r8.graph.DexType,java.util.List,java.util.Set,java.util.Map):608:629 -> a
    776:780:void lambda$collectEmulatedInterfacesWithPropagatedTypeArguments$6(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):618:622 -> a
    781:786:void lambda$collectEmulatedInterfacesWithPropagatedTypeArguments$6(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):619:624 -> a
    787:793: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):666:672 -> a
    794:794: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):670:670 -> a
    795:807:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):686:698 -> a
    808:808:boolean com.android.tools.r8.graph.MethodResolutionResult.isSuccessfulMemberResolutionResult():0:0 -> a
    808:808:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):699 -> a
    809:809:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):701:701 -> a
    810:816:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):700:706 -> a
    817:817:boolean com.android.tools.r8.graph.MethodResolutionResult.isIncompatibleClassChangeErrorResult():0:0 -> a
    817:817:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):707 -> a
    818:818:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addICCEThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):780:780 -> a
    818:818:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):708 -> a
    819:819:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):711:711 -> a
    820:820:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addNoSuchMethodErrorThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):788:788 -> a
    820:820:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):712 -> a
    821:821:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):715:715 -> a
    822:822:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addIllegalAccessErrorThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):784:784 -> a
    822:822:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):716 -> a
    823:823:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):720:720 -> a
    824:824:boolean com.android.tools.r8.graph.MethodResolutionResult.isSuccessfulMemberResolutionResult():0:0 -> a
    824:824:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):720 -> a
    825:828:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):720:723 -> a
    829:829:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.needsLibraryInfo():396:396 -> a
    829:829:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.dontRewrite(com.android.tools.r8.graph.DexClassAndMethod):768 -> a
    829:829:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):726 -> a
    830:830:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.dontRewrite(com.android.tools.r8.graph.DexClassAndMethod):768:768 -> a
    830:830:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):726 -> a
    831:831:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    831:831:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.dontRewrite(com.android.tools.r8.graph.DexClassAndMethod):768 -> a
    831:831:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):726 -> a
    832:832:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.dontRewrite(com.android.tools.r8.graph.DexClassAndMethod):768:768 -> a
    832:832:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):726 -> a
    833:833:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):731:731 -> a
    834:834:boolean com.android.tools.r8.graph.DexClassAndMethod.isDefaultMethod():37:37 -> a
    834:834:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):731 -> a
    835:835:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):732:732 -> a
    836:836:boolean com.android.tools.r8.graph.Definition.isLibraryMethod():0:0 -> a
    836:836:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):737 -> a
    837:837:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.ignoreLibraryInfo():400:400 -> a
    837:837:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):737 -> a
    838:838:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):741:741 -> a
    839:839:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.needsLibraryInfo():396:396 -> a
    839:839:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.isRetargetMethod(com.android.tools.r8.graph.LibraryMethod):761 -> a
    839:839:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):742 -> a
    840:843:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.isRetargetMethod(com.android.tools.r8.graph.LibraryMethod):761:764 -> a
    840:843:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):742 -> a
    844:856:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):743:755 -> a
    857:857:void lambda$resolveForwardForSignature$9(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.DexEncodedMethod):698:698 -> a
    858:860:void addSyntheticMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):774:776 -> a
    861:861:boolean com.android.tools.r8.utils.collections.ProgramMethodSet.createAndAdd(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):78:78 -> a
    861:861:void addSyntheticMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):776 -> a
    862:862:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$addSyntheticMethod$10(com.android.tools.r8.graph.DexProgramClass):775:775 -> a
    863:866:void addThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):792:795 -> a
    867:867:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setPublic():343:343 -> a
    867:867:void addThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):795 -> a
    868:873:void addThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):795:800 -> a
    874:877: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):813:816 -> a
    874:877:void addThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):802 -> a
    878:888: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):814:824 -> a
    878:888:void addThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):802 -> a
    889:893:void addThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):801:805 -> a
    894: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):905:906 -> a
    896:896:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    896:896: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):906 -> a
    897:899: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):907:909 -> a
    900:911: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):884:895 -> a
    900:911: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):909 -> a
    912:912: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):909:909 -> a
    913:913: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):896:896 -> a
    913:913: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):909 -> a
    914: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):915:916 -> a
    914: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):909 -> a
    916:921: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):868:873 -> a
    916:921: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):900 -> a
    916:921: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):916 -> a
    916:921: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):909 -> a
    922:922: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):901:901 -> a
    922: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):916 -> a
    922: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):909 -> a
    923:923: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):917:917 -> a
    923:923: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):909 -> a
    924:924:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.ignoreLibraryInfo():400:400 -> a
    924:924:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):930 -> a
    924:924: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):917 -> a
    924:924: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):909 -> a
    925:925:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):931:931 -> a
    925:925: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):917 -> a
    925:925: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):909 -> a
    926:929: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):868:871 -> a
    926:929:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):933 -> a
    926: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):917 -> a
    926: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):909 -> a
    930:930: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):341:341 -> a
    930:930: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):871 -> a
    930:930:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):933 -> 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):917 -> 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):909 -> a
    931:931:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):934:934 -> a
    931:931: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):917 -> a
    931:931: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):909 -> a
    932:932: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):920:920 -> a
    932:932: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):909 -> a
    933:933:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo.isEmpty():143:143 -> a
    933:933: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):920 -> a
    933:933: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):909 -> a
    934:934: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):920:920 -> a
    934:934: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):909 -> a
    935:935:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():195:195 -> a
    935:935: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):920 -> a
    935:935: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):909 -> a
    936:936:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():96:96 -> a
    936:936:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():195 -> a
    936: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):920 -> a
    936: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):909 -> a
    937:937:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():195:195 -> a
    937:937: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):920 -> a
    937:937: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):909 -> a
    938:940: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):920:922 -> a
    938:940: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):909 -> a
    941:946: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):868:873 -> a
    941:946: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):955 -> a
    941: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):923 -> a
    941: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):909 -> a
    947:947: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):956:956 -> 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):923 -> 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):909 -> 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):923:923 -> 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):909 -> a
    949: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):480:485 -> a
    949: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):925 -> a
    949: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):909 -> a
    955:963: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):645:653 -> a
    955:963: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):485 -> a
    955:963: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):925 -> a
    955:963: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):909 -> a
    964:964:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    964:964: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):653 -> a
    964: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):485 -> a
    964: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):925 -> a
    964: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):909 -> a
    965:965: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):653:653 -> 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):485 -> 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):925 -> 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):909 -> a
    966:966:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo.contains(com.android.tools.r8.graph.DexType):287:287 -> a
    966:966: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):654 -> a
    966:966: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):485 -> a
    966:966: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):925 -> a
    966:966: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):909 -> a
    967:967:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.contains(com.android.tools.r8.graph.DexType):235:235 -> a
    967:967:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo.contains(com.android.tools.r8.graph.DexType):287 -> a
    967:967: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):654 -> a
    967:967: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):485 -> a
    967:967: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):925 -> a
    967:967: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):909 -> a
    968:968:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.emulatedInterfaceSignaturesToForward():191:191 -> a
    968: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):490 -> a
    968: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):925 -> a
    968: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):909 -> a
    969:971: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):100:102 -> a
    969:971:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.emulatedInterfaceSignaturesToForward():191 -> a
    969:971: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 -> a
    969:971: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):925 -> a
    969:971: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):909 -> a
    972:978: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:493 -> a
    972:978: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):925 -> a
    972:978: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):909 -> a
    979:981: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):137:139 -> a
    979:981: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):493 -> a
    979:981: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):925 -> a
    979:981: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):909 -> a
    982:982: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):496:496 -> a
    982:982: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):925 -> a
    982:982: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):909 -> a
    983:985: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):137:139 -> a
    983:985: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):495 -> a
    983:985: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):925 -> a
    983:985: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):909 -> a
    986:986:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):946:946 -> a
    987:987:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.ignoreLibraryInfo():400:400 -> a
    987:987:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):930 -> a
    987:987:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):946 -> a
    988:988:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):931:931 -> a
    988:988:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):946 -> a
    989:992: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):868:871 -> a
    989:992:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):933 -> a
    989:992:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):946 -> a
    993:993: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):341:341 -> a
    993:993: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):871 -> a
    993:993:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):933 -> a
    993:993:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):946 -> a
    994:994:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):934:934 -> a
    994:994:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):946 -> a
    995:996:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):947:948 -> a
    997:1000: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):868:871 -> a
    997:1000: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):955 -> a
    997:1000:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):949 -> a
    1001:1001: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):956:956 -> a
    1001:1001:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):949 -> a
    1002:1002:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):949:949 -> 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):960 -> b
    2:2:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.ignoreLibraryInfo():400:400 -> 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):960 -> 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):961:963 -> 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):884:895 -> 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):963 -> 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):963:963 -> 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):896:896 -> 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):963 -> b
    20:23:void lambda$collectEmulatedInterfacesWithPropagatedTypeArguments$7(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType):631:634 -> b
    24:28:void lambda$collectEmulatedInterfacesWithPropagatedTypeArguments$7(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType):632:636 -> b
    29:29:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfo(com.android.tools.r8.graph.DexClass):938:938 -> 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):939 -> b
    31:32:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfo(com.android.tools.r8.graph.DexClass):940:941 -> 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):884:895 -> b
    33:44:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfo(com.android.tools.r8.graph.DexClass):940 -> b
    45:45:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfo(com.android.tools.r8.graph.DexClass):940:940 -> 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):896:896 -> b
    46:46:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfo(com.android.tools.r8.graph.DexClass):940 -> b
    47:47:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfo(com.android.tools.r8.graph.DexClass):942:942 -> 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):968:970 -> 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):964 -> 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):868:873 -> 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):955 -> 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):971 -> 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):964 -> 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):956:956 -> 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):971 -> 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):964 -> 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):971:973 -> 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):964 -> 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):450:452 -> 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):974 -> 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):964 -> b
    64:64:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.needsLibraryInfo():396:396 -> 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):453 -> 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):974 -> 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):964 -> 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):453:457 -> 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):974 -> 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):964 -> 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):437:439 -> 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):975 -> 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):964 -> 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):441 -> 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):975 -> 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):964 -> b
    74:74:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.needsLibraryInfo():396:396 -> 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):441 -> 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):975 -> 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):964 -> 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):441:443 -> 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):975 -> 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):964 -> b
com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo -> com.android.tools.r8.internal.ra:
    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>():111:112 -> <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):127:130 -> <init>
    1:5:boolean isTargetedByForwards(com.android.tools.r8.graph.DexClassAndMethod):147:151 -> a
    6:6:boolean lambda$isTargetedByForwards$0(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexEncodedMethod):150:150 -> a
com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo -> com.android.tools.r8.internal.sa:
    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>():256:258 -> <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):256:256 -> <init>
    2:4:void <init>(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):265:267 -> <init>
    1:8:com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):271:278 -> a
    9:9:boolean isEmpty():282:282 -> a
    10:10:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.isEmpty():231:231 -> a
    10:10:boolean isEmpty():282 -> a
    11:11:boolean isEmpty():282:282 -> a
    12:12:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():96:96 -> a
    12:12:boolean isEmpty():282 -> a
    13:14:boolean isEmpty():282:283 -> a
    15:15:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.isEmpty():231:231 -> a
    15:15:boolean isEmpty():283 -> a
com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces -> com.android.tools.r8.internal.ta:
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces EMPTY -> b
    java.util.Set emulatedInterfaces -> a
    1:1:void <clinit>():218:218 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexType):222:223 -> <init>
    3:4:void <init>(java.util.Set):226:227 -> <init>
    1:4:com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):243:246 -> a
com.android.tools.r8.ir.desugar.itf.ClassProcessor$LibraryReportingContext -> com.android.tools.r8.internal.ua:
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$LibraryReportingContext LIBRARY_CONTEXT -> d
    1:1:void <clinit>():328:328 -> <clinit>
    1:1:void <init>():331:331 -> <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):341:341 -> a
com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures -> com.android.tools.r8.internal.va:
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures EMPTY -> b
    java.util.Set signatures -> a
    1:1:void <clinit>():71:71 -> <clinit>
    1:2:void <init>(java.util.Set):79:80 -> <init>
    1:1:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():96:96 -> a
    1:1:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):84 -> a
    2:2:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):87:87 -> a
    3:3:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():96:96 -> a
    3:3:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):87 -> a
    4:6:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):90:92 -> a
com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext -> com.android.tools.r8.internal.wa:
    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):301:304 -> <init>
    1:5:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext forClass(com.android.tools.r8.graph.DexClass):308:312 -> a
    6:6:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):317:317 -> 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):153:156 -> a
    7:10:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):317 -> 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):157 -> a
    11:11:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):317 -> 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):158:158 -> a
    12:12:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):317 -> a
    13:13:void reportMissingType(com.android.tools.r8.graph.DexType):321:321 -> a
com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo -> com.android.tools.r8.internal.xa:
    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>():159:159 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):166:168 -> <init>
    1:1:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():195:195 -> a
    1:1:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):179 -> a
    2:2:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():96:96 -> a
    2:2:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():195 -> a
    2:2:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):179 -> a
    3:3:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():195:195 -> a
    3:3:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):179 -> a
    4:4:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):182:182 -> a
    5:5:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():195:195 -> a
    5:5:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):182 -> a
    6:6:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():96:96 -> a
    6:6:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():195 -> a
    6:6:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):182 -> a
    7:7:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():195:195 -> a
    7:7:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):182 -> a
    8:10:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):185:187 -> a
    11:11:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo withSignatures(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):199:199 -> a
    12:12:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():96:96 -> a
    12:12:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo withSignatures(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):199 -> a
    13:14:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo withSignatures(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):202:203 -> a
    15:19:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo withEmulatedInterfaceInfo(com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):208:212 -> a
com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper -> com.android.tools.r8.internal.Ie:
    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.He:
    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.Kh:
    java.util.Map emulatedInterfaces -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():21:21 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView):26:29 -> <init>
    1:1:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):33:33 -> a
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    2:2:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):33 -> a
    3:6:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):33:36 -> a
    7:13:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):48:54 -> a
    7:13:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):37 -> a
    14:17:com.android.tools.r8.graph.DexEncodedMethod[] com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.renameHolder(java.lang.Iterable,com.android.tools.r8.graph.DexType):111:114 -> a
    14:17:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):54 -> a
    14:17:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):37 -> a
    18:18:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):55:55 -> a
    18:18:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):37 -> a
    19:22:com.android.tools.r8.graph.DexEncodedMethod[] com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.renameHolder(java.lang.Iterable,com.android.tools.r8.graph.DexType):111:114 -> a
    19:22:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):55 -> a
    19:22:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):37 -> a
    23:31:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):56:64 -> a
    23:31:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):37 -> a
    32:32:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
    32:32:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):65 -> a
    32:32:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):37 -> a
    33:48:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):66:81 -> a
    33:48:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):37 -> a
    49:64:java.util.List com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.getRewrittenInterfacesOfEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):89:104 -> a
    49:64:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):83 -> a
    49:64:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):37 -> a
    65:65:java.util.List com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.getRewrittenInterfacesOfEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):103:103 -> a
    65:65:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):83 -> a
    65:65:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):37 -> a
    66:66:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):82:82 -> a
    66:66:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):37 -> a
    67:72:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):37:42 -> a
com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringForTesting -> com.android.tools.r8.internal.jt:
    1:1:java.lang.String getCompanionClassNameSuffix():14:14 -> a
    2:2:java.lang.String getCompanionClassDescriptor(java.lang.String):26:26 -> a
    3:3:java.lang.String com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassDescriptor(java.lang.String):154:154 -> a
    3:3:java.lang.String getCompanionClassDescriptor(java.lang.String):26 -> a
    1:1:java.lang.String getDefaultMethodPrefix():18:18 -> b
    1:1:java.lang.String getEmulateLibraryClassNameSuffix():10:10 -> c
    1:1:java.lang.String getPrivateMethodPrefix():22:22 -> d
com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper -> com.android.tools.r8.internal.kt:
    java.util.Map emulatedInterfaces -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> e
    java.util.function.Predicate shouldIgnoreFromReportsPredicate -> c
    com.android.tools.r8.cf.CfVersion MAX_INTERFACE_DESUGARED_CF_VERSION -> d
    1:5:void <clinit>():49:53 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.AppView):69:74 -> <init>
    void lambda$ensureEmulatedInterfaceMethod$0(com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder) -> a
    void lambda$ensureMethodOfClasspathCompanionClassStub$10(com.android.tools.r8.graph.DexClasspathClass) -> a
    1:1:java.util.Set getEmulatedInterfaces():86:86 -> a
    2:2:boolean isInDesugaredLibrary(com.android.tools.r8.graph.DexClass):94:94 -> a
    3:3:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    3:3:boolean isInDesugaredLibrary(com.android.tools.r8.graph.DexClass):94 -> a
    4:4:boolean isInDesugaredLibrary(com.android.tools.r8.graph.DexClass):94:94 -> a
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    5:5:boolean isInDesugaredLibrary(com.android.tools.r8.graph.DexClass):94 -> a
    6:7:boolean isInDesugaredLibrary(com.android.tools.r8.graph.DexClass):94:95 -> a
    8:8:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isEmulatedInterface(com.android.tools.r8.graph.DexType):78:78 -> a
    8:8:boolean isInDesugaredLibrary(com.android.tools.r8.graph.DexClass):95 -> a
    9:9:boolean isInDesugaredLibrary(com.android.tools.r8.graph.DexClass):98:98 -> a
    10:11:boolean dontRewrite(com.android.tools.r8.graph.DexClassAndMethod):103:104 -> a
    12:12:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    12:12:boolean dontRewrite(com.android.tools.r8.graph.DexClassAndMethod):105 -> a
    13:13:boolean dontRewrite(com.android.tools.r8.graph.DexClassAndMethod):105:105 -> a
    14:28:boolean isCompatibleDefaultMethod(com.android.tools.r8.graph.DexEncodedMethod):113:127 -> a
    29:29:boolean isCompatibleDefaultMethod(com.android.tools.r8.graph.DexEncodedMethod):120:120 -> a
    30:31:com.android.tools.r8.graph.DexType getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):159:160 -> a
    32:32:java.lang.String com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassDescriptor(java.lang.String):154:154 -> a
    32:32:com.android.tools.r8.graph.DexType getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):161 -> a
    33:33:com.android.tools.r8.graph.DexType getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):162:162 -> a
    34:36:com.android.tools.r8.graph.DexClasspathClass ensureEmulatedInterfaceMarkerInterface(com.android.tools.r8.graph.DexType):191:193 -> a
    37:37:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):202:202 -> a
    38:38:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    38:38:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):203 -> a
    39:39:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):204:204 -> a
    40:40:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    40:40:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):204 -> a
    41:47:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):204:210 -> a
    48:60:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):208:220 -> a
    61:61:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):216:216 -> a
    62:63:void lambda$ensureEmulatedInterfaceMethod$2(com.android.tools.r8.synthesis.SyntheticMethodBuilder):226:227 -> a
    64:66:com.android.tools.r8.graph.ProgramMethod ensureDefaultAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):253:255 -> a
    67:67: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):333:333 -> a
    67:67:com.android.tools.r8.graph.ProgramMethod ensureDefaultAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):255 -> a
    68:70:com.android.tools.r8.graph.ProgramMethod ensureDefaultAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):257:259 -> a
    71:71:com.android.tools.r8.graph.ProgramMethod ensureDefaultAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):256:256 -> a
    72:82:void lambda$ensureDefaultAsMethodOfProgramCompanionClassStub$4(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):262:272 -> a
    83:88:void lambda$ensureDefaultAsMethodOfProgramCompanionClassStub$4(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):269:274 -> a
    89:91:void lambda$ensureDefaultAsMethodOfProgramCompanionClassStub$4(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):273:275 -> a
    92:92:com.android.tools.r8.graph.Code lambda$ensureDefaultAsMethodOfProgramCompanionClassStub$3(com.android.tools.r8.graph.DexMethod):275:275 -> a
    93:105:void lambda$ensurePrivateAsMethodOfProgramCompanionClassStub$7(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):290:302 -> a
    106:114:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):318:326 -> a
    115:115: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":445,"2":446,"3":447}}
    445:445:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):326:326 -> a
    446:446:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):326:326 -> a
    447:447:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):326:326 -> a
    441:442:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):326:327 -> a
    443:443:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):324:324 -> a
    448:448:com.android.tools.r8.graph.DexMethod defaultAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):333:333 -> a
    449:452: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):349:352 -> a
    453:453: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):350:350 -> a
    454:454:void lambda$ensureStaticAsMethodOfProgramCompanionClassStub$15(com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):389:389 -> a
    455:466:com.android.tools.r8.graph.ProgramMethod ensureMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):394:405 -> a
    467:471:void ensureCompanionClassInitializesInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):410:414 -> a
    472:472:void ensureCompanionClassInitializesInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):411:411 -> a
    473:473:boolean lambda$findExistingStaticClinitFieldToTriggerInterfaceInitialization$18(com.android.tools.r8.graph.DexEncodedField):443:443 -> a
    474:477:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):451:454 -> a
    478:486:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):453:461 -> a
    487:487:com.android.tools.r8.graph.FieldAccessFlags$Builder com.android.tools.r8.graph.FieldAccessFlags.builder():48:48 -> a
    487:487:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):461 -> a
    488:488:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):461:461 -> a
    489:491:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):460:462 -> a
    492:492:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():498:498 -> a
    492:492:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):464 -> a
    493:493:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):465:465 -> a
    494:494:boolean lambda$createStaticClinitFieldToTriggerInterfaceInitialization$19(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexField):457:457 -> a
    495:495:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):472:472 -> a
    496:498:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):471:473 -> a
    499:499:com.android.tools.r8.cf.CfVersion com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getInterfaceDesugaredCfVersion(com.android.tools.r8.cf.CfVersion):56:56 -> a
    499:499:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):473 -> a
    500:500: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
    500:500:com.android.tools.r8.cf.CfVersion com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getInterfaceDesugaredCfVersion(com.android.tools.r8.cf.CfVersion):56 -> a
    500:500:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):473 -> a
    501:502:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):473:474 -> a
    503:509:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$20(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):476:482 -> a
    510:510:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$20(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):481:481 -> a
    511:514:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.ensureStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):423:426 -> a
    511:514:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$20(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):487 -> a
    515:524:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$20(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):488:497 -> a
    525:525:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$20(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):493:493 -> a
    526:532:java.util.function.Predicate getShouldIgnoreFromReportsPredicate(com.android.tools.r8.graph.AppView):503:509 -> a
    533:535:boolean lambda$getShouldIgnoreFromReportsPredicate$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType):510:512 -> a
    536:536:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isRewrittenEmulatedInterface(com.android.tools.r8.graph.DexType):82:82 -> a
    536:536:boolean lambda$getShouldIgnoreFromReportsPredicate$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType):513 -> a
    537:539:boolean lambda$getShouldIgnoreFromReportsPredicate$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType):513:515 -> a
    540:540:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.shouldIgnoreFromReports(com.android.tools.r8.graph.DexType):520:520 -> a
    540:540:void warnMissingInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):527 -> a
    541:541:void warnMissingInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):530:530 -> a
    void lambda$ensureMethodOfClasspathCompanionClassStub$9(com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder) -> b
    1:1:com.android.tools.r8.graph.DexType getEmulatedInterface(com.android.tools.r8.graph.DexType):90:90 -> b
    2:4:com.android.tools.r8.graph.DexMethod emulateInterfaceLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod):133:135 -> b
    5:6:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getEmulateLibraryInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):147:148 -> b
    5:6:com.android.tools.r8.graph.DexMethod emulateInterfaceLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod):135 -> b
    7:7:java.lang.String com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getEmulateLibraryInterfaceClassDescriptor(java.lang.String):141:141 -> b
    7:7:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getEmulateLibraryInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):149 -> b
    7:7:com.android.tools.r8.graph.DexMethod emulateInterfaceLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod):135 -> b
    8:8:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getEmulateLibraryInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):150:150 -> b
    8:8:com.android.tools.r8.graph.DexMethod emulateInterfaceLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod):135 -> b
    9:9:com.android.tools.r8.graph.DexMethod emulateInterfaceLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod):136:136 -> b
    10:10:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> b
    10:10:com.android.tools.r8.graph.DexMethod emulateInterfaceLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod):137 -> b
    11:11:com.android.tools.r8.graph.DexMethod emulateInterfaceLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod):134:134 -> b
    12:12:com.android.tools.r8.graph.DexType getInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):181:181 -> b
    13:13:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isCompanionClassType(com.android.tools.r8.graph.DexType):167:167 -> b
    13:13:com.android.tools.r8.graph.DexType getInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):181 -> b
    14:19:com.android.tools.r8.graph.DexType getInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):181:186 -> b
    20:20:com.android.tools.r8.graph.Code lambda$ensureEmulatedInterfaceMethod$1(com.android.tools.r8.graph.DexMethod):227:227 -> b
    21:21:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):242:242 -> b
    22:22:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> b
    22:22:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):242 -> b
    23:23:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):244:244 -> b
    24:27:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):243:246 -> b
    28:30:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.staticAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):309:311 -> b
    28:30:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):247 -> b
    31:31:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):248:248 -> b
    32:32:com.android.tools.r8.graph.ProgramMethod ensurePrivateAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):282:282 -> b
    33:33: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):339:339 -> b
    33:33:com.android.tools.r8.graph.ProgramMethod ensurePrivateAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):282 -> b
    34:38:com.android.tools.r8.graph.ProgramMethod ensurePrivateAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):283:287 -> b
    39:39:com.android.tools.r8.graph.ProgramMethod ensurePrivateAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):284:284 -> b
    40:41:void lambda$ensureMethodOfClasspathCompanionClassStub$12(com.android.tools.r8.synthesis.SyntheticMethodBuilder):360:361 -> b
    42:44:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):366:368 -> b
    45:47:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.staticAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):309:311 -> b
    45:47:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):370 -> b
    48:52:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):371:375 -> b
    53:53:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):372:372 -> b
    54:63:void lambda$ensureStaticAsMethodOfProgramCompanionClassStub$14(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):378:387 -> b
    64:64:void lambda$ensureCompanionClassInitializesInterface$16(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):416:416 -> b
    65:65:boolean lambda$hasStaticMethodThatTriggersNonTrivialClassInitializer$17(com.android.tools.r8.graph.DexEncodedMethod):435:435 -> b
    66:66:com.android.tools.r8.graph.DexEncodedField findExistingStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):443:443 -> b
    67:67:java.lang.Iterable com.android.tools.r8.graph.DexClass.staticFields(java.util.function.Predicate):361:361 -> b
    67:67:com.android.tools.r8.graph.DexEncodedField findExistingStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):443 -> b
    68:68:com.android.tools.r8.graph.DexEncodedField findExistingStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):443:443 -> b
    void lambda$ensureDefaultAsMethodOfProgramCompanionClassStub$5(com.android.tools.r8.graph.ProgramMethod) -> c
    1:1:com.android.tools.r8.graph.DexType getInterfaceClassType(com.android.tools.r8.graph.DexType):176:176 -> c
    2:2:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):231:231 -> c
    3:3:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> c
    3:3:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):231 -> c
    4:8:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):232:236 -> c
    9:9: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):333:333 -> c
    9:9:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):236 -> c
    10:10:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):237:237 -> c
    11:11:com.android.tools.r8.graph.Code lambda$ensureMethodOfClasspathCompanionClassStub$11(com.android.tools.r8.graph.DexMethod):361:361 -> c
    12:15:boolean hasStaticMethodThatTriggersNonTrivialClassInitializer(com.android.tools.r8.graph.DexProgramClass):432:435 -> c
    void lambda$ensurePrivateAsMethodOfProgramCompanionClassStub$8(com.android.tools.r8.graph.ProgramMethod) -> d
    1:1:boolean isEmulatedInterface(com.android.tools.r8.graph.DexType):78:78 -> d
    2:2:com.android.tools.r8.graph.Code lambda$ensurePrivateAsMethodOfProgramCompanionClassStub$6(com.android.tools.r8.graph.DexMethod):302:302 -> d
    3:3:com.android.tools.r8.graph.DexMethod privateAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):343:343 -> d
    4:4: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):339:339 -> d
    4:4:com.android.tools.r8.graph.DexMethod privateAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):343 -> d
    1:1:com.android.tools.r8.graph.Code lambda$ensureStaticAsMethodOfProgramCompanionClassStub$13(com.android.tools.r8.graph.DexMethod):387:387 -> e
    2:2:boolean shouldIgnoreFromReports(com.android.tools.r8.graph.DexType):520:520 -> e
com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer -> com.android.tools.r8.internal.mt:
    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.nt:
    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.pt:
    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:5:void checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.InternalOptions):122:126 -> a
    6:6:void lambda$checkForAssumedLibraryTypes$0(java.util.function.BiConsumer,com.android.tools.r8.graph.DexString,java.util.Map):126:126 -> a
    7:7:java.util.function.BiConsumer registerMapEntry(com.android.tools.r8.graph.AppInfo):130:130 -> a
    8:9:void lambda$registerMapEntry$1(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):131:132 -> a
    10:11:void registerType(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.DexType):137:138 -> a
    12:12:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    12:12:void registerType(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.DexType):139 -> a
    13:14:void registerType(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.DexType):139:140 -> a
    15:20:void lambda$registerType$2(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.DexEncodedMethod):142:147 -> a
    21:21:boolean isAlreadyDesugared(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):173:173 -> a
    22:22: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
    22:22:boolean isAlreadyDesugared(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):173 -> a
    23:23:boolean lambda$isAlreadyDesugared$3(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaring):174:174 -> a
    24: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):222:222 -> a
    25:25:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.isSyntheticMethodThatShouldNotBeDoubleProcessed(com.android.tools.r8.graph.ProgramMethod):597:597 -> 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):222 -> a
    26: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):222:224 -> a
    29:29:void lambda$computeInvokeStatic$5(com.android.tools.r8.graph.ProgramMethod):333:333 -> a
    30:35: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):376:381 -> a
    36:56: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):379:399 -> a
    57:59:void lambda$computeInvokeStatic$8(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.synthesis.SyntheticMethodBuilder):385:387 -> a
    60:63:com.android.tools.r8.graph.Code lambda$computeInvokeStatic$7(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexMethod):389:392 -> a
    64:64:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceVirtualDispatchOrNull(com.android.tools.r8.cf.code.CfInvoke):453:453 -> a
    65:77:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.defaultMethodForEmulatedDispatchOrNull(com.android.tools.r8.graph.DexMethod,boolean):784:796 -> a
    65:77:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceVirtualDispatchOrNull(com.android.tools.r8.cf.code.CfInvoke):453 -> a
    78:78:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    78:78:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.defaultMethodForEmulatedDispatchOrNull(com.android.tools.r8.graph.DexMethod,boolean):796 -> a
    78:78:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceVirtualDispatchOrNull(com.android.tools.r8.cf.code.CfInvoke):453 -> a
    79:84:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.defaultMethodForEmulatedDispatchOrNull(com.android.tools.r8.graph.DexMethod,boolean):796:801 -> a
    79:84:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceVirtualDispatchOrNull(com.android.tools.r8.cf.code.CfInvoke):453 -> a
    85:97:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceVirtualDispatchOrNull(com.android.tools.r8.cf.code.CfInvoke):455:467 -> a
    98:100: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):474:476 -> a
    101:101:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    101:101: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):479 -> a
    102:158: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:543 -> a
    159:182: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):542:565 -> a
    183:183: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):562:562 -> a
    184:184: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):480:480 -> a
    185:185: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":680,"2":681,"3":682}}
    680: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):480:480 -> 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):480:480 -> 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):480:480 -> a
    668:669: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):483:484 -> a
    670:671:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):891:892 -> a
    670:671: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):484 -> a
    672:672:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isCompanionClassType(com.android.tools.r8.graph.DexType):167:167 -> a
    672:672:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):892 -> a
    672:672: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):484 -> a
    673:676:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):893:896 -> a
    673: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):484 -> a
    677:677:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
    677:677:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):896 -> a
    677:677: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):484 -> a
    678:678:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    678:678:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    678:678: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):484 -> a
    679:679: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):484:484 -> a
    683:684: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):570:571 -> a
    685:685:java.util.Collection getInvokeStaticInstructions(com.android.tools.r8.graph.DexMethod):576:576 -> a
    686:686:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.isSyntheticMethodThatShouldNotBeDoubleProcessed(com.android.tools.r8.graph.ProgramMethod):597:597 -> a
    686:686:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):206 -> a
    687:687:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):209:209 -> a
    688:688:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.isSyntheticMethodThatShouldNotBeDoubleProcessed(com.android.tools.r8.graph.ProgramMethod):597:597 -> a
    688:688:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):188 -> a
    689:694:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):189:194 -> a
    695:695:boolean com.android.tools.r8.cf.code.CfInstruction.isInvokeDynamic():0:0 -> a
    695:695:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):194 -> a
    696:696:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):194:194 -> a
    697:698: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
    697:698:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):195 -> a
    699:699: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
    699:699:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):195 -> a
    700:702:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):195:197 -> a
    703:712: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
    703:712:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):196 -> a
    713:713:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):198:198 -> a
    714:714:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):603:603 -> a
    714:714:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):198 -> a
    715:722:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):853:860 -> a
    715:722:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):603 -> a
    715:722:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):198 -> a
    723:723: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":740,"2":741,"3":742}}
    740:740:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):860:860 -> a
    740:740:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):603 -> a
    740:740:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):198 -> a
    741:741:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):860:860 -> a
    741:741:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):603 -> a
    741:741:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):198 -> 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):860:860 -> 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):603 -> a
    742:742:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):198 -> a
    724:724:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):862:862 -> a
    724:724:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):603 -> a
    724:724:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):198 -> a
    725:726:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):604:605 -> a
    725:726:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):198 -> a
    727:727:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodHandle():0:0 -> a
    727:727:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):605 -> a
    727:727:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):198 -> 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):606:606 -> a
    728:728:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):198 -> a
    729:736:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):853:860 -> a
    729:736:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):606 -> a
    729:736:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):198 -> a
    737:737: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":743,"2":744,"3":745}}
    743:743:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):860:860 -> a
    743:743:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):606 -> a
    743:743:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):198 -> a
    744:744:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):860:860 -> 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):606 -> a
    744:744:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):198 -> 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):860:860 -> 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):606 -> a
    745:745:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):198 -> a
    738:738:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):862:862 -> a
    738:738:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):606 -> a
    738:738:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):198 -> a
    739:739:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):200:200 -> a
    746:746:void acceptCompanionMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringEventConsumer):615:615 -> a
    747:747:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    747:747:void acceptCompanionMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringEventConsumer):615 -> a
    748:749:void acceptCompanionMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringEventConsumer):615:616 -> a
    750:750:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> 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):616 -> 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):617:617 -> a
    752:752:void lambda$rewriteInvokeSuper$14(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):629:629 -> a
    753:753: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):662:662 -> a
    754:754:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    754:754: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):664 -> a
    755: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):665:667 -> a
    758:762: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):666:670 -> a
    763:768: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):669:674 -> a
    769:774: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):686:691 -> a
    775:777: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):872:874 -> a
    775:777: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):691 -> a
    778:784: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):692:698 -> a
    785:785: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):697:697 -> a
    786: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):696:696 -> a
    787:791: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):709:713 -> a
    792:792: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):626:626 -> a
    792:792: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):713 -> a
    793:795: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):714:716 -> a
    796:796:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    796:796: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
    797:822: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:741 -> a
    823:823: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):626:626 -> a
    823:823: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):741 -> a
    824:824:boolean com.android.tools.r8.graph.Definition.isLibraryMethod():0:0 -> a
    824:824: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):742 -> a
    825:842: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):746:763 -> a
    843:860: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):762:779 -> a
    861:864: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):725:728 -> a
    865:865:java.util.Collection lambda$computeEmulatedInterfaceInvokeSpecial$18(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):756:756 -> a
    866:866: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):880:880 -> a
    867:867: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):887:887 -> a
    868:868: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):901:901 -> a
    869:875: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):912:918 -> a
    869:875: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):905 -> a
    876:876:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    876:876:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.isNonDesugaredLibraryClass(com.android.tools.r8.graph.DexClass):849 -> a
    876:876: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):927 -> a
    876:876: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):905 -> a
    877:877:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.isNonDesugaredLibraryClass(com.android.tools.r8.graph.DexClass):849:849 -> a
    877:877: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):927 -> a
    877:877: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):905 -> a
    878:904: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):932:958 -> a
    878:904: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):905 -> a
    905:905: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):906:906 -> a
    906:906: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):919:919 -> a
    906:906: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):905 -> a
    907:907: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":913,"2":914,"3":915}}
    913:913: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):919:919 -> a
    913:913: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):905 -> a
    914:914: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):919:919 -> a
    914:914: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):905 -> a
    915:915: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):919:919 -> a
    915:915: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):905 -> a
    908:908: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":917,"2":918,"3":919}}
    917:917: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):921:921 -> a
    917:917: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):905 -> a
    918:918: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):921:921 -> a
    918:918: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):905 -> a
    919:919: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):921:921 -> a
    919:919: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):905 -> a
    909:909: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):923:923 -> a
    909:909: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):905 -> a
    910:910:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    910:910: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):923 -> a
    910:910: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):905 -> a
    911:911:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    911:911:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    911:911: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):923 -> a
    911:911: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):905 -> a
    912:912: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):923:923 -> a
    912:912: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):905 -> a
    920:923:void warnMissingType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):964:967 -> a
    924:924:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    924:924:void warnMissingType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):967 -> a
    925:926:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):891:892 -> a
    925:926:void warnMissingType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):968 -> a
    927:927:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isCompanionClassType(com.android.tools.r8.graph.DexType):167:167 -> a
    927:927:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):892 -> a
    927:927:void warnMissingType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):968 -> a
    928:931:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):893:896 -> a
    928:931:void warnMissingType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):968 -> a
    932:932:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
    932:932:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):896 -> a
    932:932:void warnMissingType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):968 -> a
    933:934:void warnMissingType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):969:970 -> a
    935:935:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):975:975 -> a
    936:936:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    936:936:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):975 -> a
    937:938:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):975:976 -> a
    939:939:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    939:939:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):976 -> a
    940:943:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):976:979 -> a
    944:944:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
    944:944:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):979 -> a
    945:946:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):981:982 -> a
    947:947:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
    947:947: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):994 -> a
    947:947:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):983 -> a
    948:948: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):996:996 -> a
    948:948:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):983 -> a
    949:950:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):985:986 -> a
    951:951: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):994:994 -> a
    951:951:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):986 -> a
    952:952:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
    952:952: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):994 -> a
    952:952:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):986 -> a
    953:953: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):996:996 -> a
    953:953:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):986 -> a
    1:1:java.util.Set getEmulatedMethods():155:155 -> b
    2:11:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):235:244 -> 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):244 -> b
    13:18:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):245:250 -> 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):285:288 -> b
    19:22:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):251 -> 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):67:67 -> 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):288 -> b
    23:23:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):251 -> 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):290:311 -> b
    24:45:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):251 -> 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):35:35 -> 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):311 -> b
    46:46:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):251 -> 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):312:312 -> b
    47:47:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):251 -> 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):313 -> b
    48:48:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):251 -> 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):316:318 -> b
    49:51:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):251 -> 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):309:309 -> b
    52:52:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):251 -> b
    53:53:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):254:254 -> 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):67:67 -> b
    54:54:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):254 -> b
    55:68:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):256:269 -> b
    69:86:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):258:275 -> 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):323:326 -> b
    87:90:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):276 -> b
    91:94:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):278:281 -> 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):433:448 -> b
    95:110:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):279 -> b
    111:114:void lambda$computeDescription$4(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):264:267 -> 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):331:339 -> 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):849 -> 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):341 -> b
    125:125:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.isNonDesugaredLibraryClass(com.android.tools.r8.graph.DexClass):849:849 -> 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):341 -> 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):351:409 -> b
    185:185:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.shouldRewriteToInvokeToThrow(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,boolean):811:811 -> 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):409 -> 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):410:428 -> b
    205:205:void lambda$computeInvokeStatic$6(com.android.tools.r8.graph.ProgramMethod):354:354 -> b
    206:208:java.util.Collection lambda$computeEmulatedInterfaceInvokeSpecial$19(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):773:775 -> b
    209:236:com.android.tools.r8.graph.DexType maximallySpecificEmulatedInterfaceOrNull(com.android.tools.r8.graph.DexMethod):816:843 -> b
    boolean lambda$getPostProcessingDesugaringD8$20(com.android.tools.r8.graph.ProgramMethod) -> c
    1:8:void initializeEmulatedInterfaceVariables():159:166 -> c
    9:13:java.util.Collection lambda$computeEmulatedInterfaceVirtualDispatchOrNull$11(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):463:463 -> c
    14:15:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):622:623 -> c
    16:16: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):35:35 -> c
    16:16:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):623 -> c
    17:24:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):628:635 -> c
    25:25:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.shouldRewriteToInvokeToThrow(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,boolean):811:811 -> c
    25:25:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):635 -> c
    26:29:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):636:639 -> c
    30:30:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> c
    30:30:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):639 -> c
    31:86:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):649:704 -> c
    1:1: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):515:515 -> d
    2:2:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> d
    2:2: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):516 -> d
    3:5: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):517:519 -> d
    6:21: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):518:533 -> d
    22:26:void leavingStaticInvokeToInterface(com.android.tools.r8.graph.ProgramMethod):586:590 -> d
    27:27: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
    27:27:void leavingStaticInvokeToInterface(com.android.tools.r8.graph.ProgramMethod):590 -> d
    28:31:void leavingStaticInvokeToInterface(com.android.tools.r8.graph.ProgramMethod):589:592 -> d
    1:4: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):553:556 -> e
    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):424:426 -> f
com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor -> com.android.tools.r8.internal.ot:
    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.qt:
    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):344:344 -> 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
    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.ut:
    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():440:440 -> 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):153:156 -> 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):157 -> 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):158:158 -> 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):310:310 -> 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.st:
    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:2:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):418:419 -> e
    3:3:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeKeyOrDefault(java.lang.Object,java.lang.Object):22:22 -> e
    3:3:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):419 -> e
    4:4:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):419:419 -> e
    5:5:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):418:418 -> e
    6:6:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeKeyOrDefault(java.lang.Object,java.lang.Object):22:22 -> e
    6:6:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):418 -> e
    7:7:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):418:418 -> e
    1:2:com.android.tools.r8.graph.DexMethod internalGetNextMethodSignature(com.android.tools.r8.graph.DexMethod):424:425 -> 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 internalGetNextMethodSignature(com.android.tools.r8.graph.DexMethod):425 -> f
    4:4:com.android.tools.r8.graph.DexMethod internalGetNextMethodSignature(com.android.tools.r8.graph.DexMethod):425:425 -> f
    5:5:com.android.tools.r8.graph.DexMethod internalGetNextMethodSignature(com.android.tools.r8.graph.DexMethod):424:424 -> f
    6:6:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeValueOrDefault(java.lang.Object,java.lang.Object):29:29 -> f
    6:6:com.android.tools.r8.graph.DexMethod internalGetNextMethodSignature(com.android.tools.r8.graph.DexMethod):424 -> f
    7:7:com.android.tools.r8.graph.DexMethod internalGetNextMethodSignature(com.android.tools.r8.graph.DexMethod):424:424 -> f
    1:1:com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap getExtraNewMethodSignatures():408:408 -> n
com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder -> com.android.tools.r8.internal.rt:
    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.tt:
    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.qM:
    com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper helper -> b
    java.util.Map emulatedInterfacesHierarchy -> c
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():40:40 -> <clinit>
    1:8:void <init>(com.android.tools.r8.graph.AppView):54:61 -> <init>
    1:6:java.util.Map processEmulatedInterfaceHierarchy():65:70 -> a
    7:24:void processEmulatedInterfaceHierarchy(com.android.tools.r8.graph.DexType,java.util.Set,java.util.Map):79:96 -> a
    25:27:com.android.tools.r8.graph.DexProgramClass synthesizeProgramEmulatedInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$L8ProgramEmulatedInterfaceSynthesizerEventConsumer):105:107 -> a
    28:28:void lambda$synthesizeProgramEmulatedInterface$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):111:111 -> a
    29:29:void lambda$synthesizeEmulateInterfaceMethods$2(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):121:121 -> a
    30:30:void lambda$synthesizeEmulateInterfaceMethods$1(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.synthesis.SyntheticMethodBuilder):124:124 -> a
    31:31:void lambda$synthesizeEmulateInterfaceMethods$1(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.synthesis.SyntheticMethodBuilder):123:123 -> a
    32:44:void synthesizeEmulatedInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):143:155 -> a
    45:51:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.getDispatchCases(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):244:250 -> a
    45:51:void synthesizeEmulatedInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):157 -> a
    52:52:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    52:52:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.getDispatchCases(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):251 -> a
    52:52:void synthesizeEmulatedInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):157 -> a
    53:55:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.getDispatchCases(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):252:254 -> a
    53:55:void synthesizeEmulatedInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):157 -> a
    56:64:boolean com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.implementsInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):292:300 -> a
    56:64:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.getDispatchCases(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):254 -> a
    56:64:void synthesizeEmulatedInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):157 -> a
    65:73:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.getDispatchCases(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):255:263 -> a
    65:73:void synthesizeEmulatedInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):157 -> a
    74:76:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.protoWithDifferentFirstParameter(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2578:2580 -> a
    74:76:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.getDispatchCases(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):263 -> a
    74:76:void synthesizeEmulatedInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):157 -> a
    77:77:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    77:77:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.getDispatchCases(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):264 -> a
    77:77:void synthesizeEmulatedInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):157 -> a
    78:78:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.getDispatchCases(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):259:259 -> a
    78:78:void synthesizeEmulatedInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):157 -> a
    79:106:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.getDispatchCases(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):255:282 -> a
    79:106:void synthesizeEmulatedInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):157 -> a
    107:107:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.getDispatchCases(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):281:281 -> a
    107:107:void synthesizeEmulatedInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):157 -> a
    108:115:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.getDispatchCases(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):279:286 -> a
    108:115:void synthesizeEmulatedInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):157 -> a
    116:119:void synthesizeEmulatedInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):159:162 -> a
    120:126:com.android.tools.r8.graph.Code lambda$synthesizeEmulatedInterfaceMethod$3(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):164:170 -> a
    127:130:java.util.LinkedHashMap resolveDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):214:217 -> a
    131:142:void lambda$resolveDispatchCases$5(java.util.LinkedHashMap,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod):220:231 -> a
    143:146:void lambda$resolveDispatchCases$5(java.util.LinkedHashMap,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod):230:233 -> a
    147:147:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):308:308 -> a
    148:148:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    148:148:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):308 -> a
    149:160:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):308:319 -> a
    161:161:void com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.warnMissingEmulatedInterface(com.android.tools.r8.graph.DexType):329:329 -> a
    161:161:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):312 -> a
    162:162:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":166,"2":167,"3":168}}
    166:166:void com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.warnMissingEmulatedInterface(com.android.tools.r8.graph.DexType):329:329 -> a
    166:166:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):312 -> a
    167:167:void com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.warnMissingEmulatedInterface(com.android.tools.r8.graph.DexType):329:329 -> a
    167:167:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):312 -> a
    168:168:void com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.warnMissingEmulatedInterface(com.android.tools.r8.graph.DexType):329:329 -> a
    168:168:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):312 -> a
    163:165:void com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.warnMissingEmulatedInterface(com.android.tools.r8.graph.DexType):332:334 -> a
    163:165:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):312 -> a
    169:169:boolean needsEmulateInterfaceLibrary(com.android.tools.r8.graph.DexClass):325:325 -> a
    170:170: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
    170:170:boolean needsEmulateInterfaceLibrary(com.android.tools.r8.graph.DexClass):325 -> a
    1:2:void synthesizeEmulateInterfaceMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):117:118 -> b
    3:13:void synthesizeEmulatedInterfaceMethodFromMachineSpecification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):178:188 -> b
    14:16:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.emulatedMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.graph.DexType):128:130 -> b
    14:16:void synthesizeEmulatedInterfaceMethodFromMachineSpecification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):188 -> b
    17:17:void synthesizeEmulatedInterfaceMethodFromMachineSpecification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):189:189 -> b
    18:19:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.interfaceMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod):134:135 -> b
    18:19:void synthesizeEmulatedInterfaceMethodFromMachineSpecification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):189 -> b
    20:30:void synthesizeEmulatedInterfaceMethodFromMachineSpecification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):191:201 -> b
    31:37:com.android.tools.r8.graph.Code lambda$synthesizeEmulatedInterfaceMethodFromMachineSpecification$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):203:209 -> b
com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer -> com.android.tools.r8.internal.zk:
    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.kA:
    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.mA:
    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.lA:
    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.u1:
    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
    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
    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.Xd:
    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 lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$6(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer,com.android.tools.r8.graph.ClasspathMethod):108:108 -> a
    34:36:void com.android.tools.r8.graph.ClasspathMethod.registerCodeReferencesForDesugaring(com.android.tools.r8.graph.UseRegistry):17:19 -> a
    34:36:void lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$6(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer,com.android.tools.r8.graph.ClasspathMethod):108 -> a
    37:37:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    37:37:void com.android.tools.r8.graph.ClasspathMethod.registerCodeReferencesForDesugaring(com.android.tools.r8.graph.UseRegistry):20 -> a
    37:37:void lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$6(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer,com.android.tools.r8.graph.ClasspathMethod):108 -> a
    38:38:void com.android.tools.r8.graph.ClasspathMethod.registerCodeReferencesForDesugaring(com.android.tools.r8.graph.UseRegistry):22:22 -> a
    38:38: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:13:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):950:952 -> b
    11:13:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    14:14:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> b
    14:14:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):952 -> b
    14:14:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    15:15:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):952:952 -> b
    15:15:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    16:16:java.lang.String com.android.tools.r8.utils.InternalOptions.messageErrorMissingNestHost(com.android.tools.r8.graph.DexClass):956:956 -> b
    16:16:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):952 -> b
    16:16:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    17:17:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":22,"2":23,"3":24}}
    22:22:java.lang.String com.android.tools.r8.utils.InternalOptions.messageErrorMissingNestHost(com.android.tools.r8.graph.DexClass):957:957 -> b
    22:22:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):952 -> 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):957:957 -> b
    23:23:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):952 -> b
    23:23:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    24:24:java.lang.String com.android.tools.r8.utils.InternalOptions.messageErrorMissingNestHost(com.android.tools.r8.graph.DexClass):957:957 -> b
    24:24:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):952 -> b
    24:24:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    18:19:java.lang.String com.android.tools.r8.utils.InternalOptions.messageErrorMissingNestHost(com.android.tools.r8.graph.DexClass):957:958 -> b
    18:19:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):952 -> b
    18: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):952:952 -> b
    20:20:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    21:21:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):950:950 -> b
    21:21:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    25:25: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.Vd:
    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.Wd:
    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):94:94 -> 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):535:535 -> 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):539:539 -> a
    5:5:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):535 -> 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):94:94 -> 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.NF:
    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.PF:
    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():1857:1857 -> a
    61:61:boolean com.android.tools.r8.utils.InternalOptions.shouldDesugarNests():519 -> a
    61:61:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring create(com.android.tools.r8.graph.AppView):78 -> a
    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):67:67 -> 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):67:67 -> 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):535:535 -> 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):539:539 -> a
    131:131:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):535 -> 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):67:67 -> 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):67:67 -> 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):535:535 -> 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):539:539 -> a
    165:165:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):535 -> 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):67:67 -> 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":246,"2":247,"3":248}}
    246:246: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
    246:246:com.android.tools.r8.graph.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):385 -> a
    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
    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
    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.ir.desugar.nest.NestBasedAccessDesugaring.getFieldAccessBridgeName(com.android.tools.r8.graph.DexClassAndField,boolean):399: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.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):384:384 -> a
    249:252:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):438:441 -> a
    253:278:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):440:465 -> a
    279:281: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):2600:2602 -> a
    279:281:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):465 -> a
    282:285: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):2601:2604 -> a
    282:285:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):465 -> a
    286:286:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):466:466 -> a
    287:287: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
    287:287:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):466 -> a
    288:291:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):469:472 -> a
    292:295:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getMethodBridgeName(com.android.tools.r8.graph.DexClassAndMethod):477:480 -> a
    292:295:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):472 -> a
    296:296:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":300,"2":301,"3":302}}
    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.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getMethodBridgeName(com.android.tools.r8.graph.DexClassAndMethod):480:480 -> a
    301:301:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):472 -> a
    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
    297:297:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    297:297:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getMethodBridgeName(com.android.tools.r8.graph.DexClassAndMethod):480 -> a
    297:297:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):472 -> a
    298:298:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getMethodBridgeName(com.android.tools.r8.graph.DexClassAndMethod):480:480 -> a
    298:298:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):472 -> a
    299:299:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):472:472 -> a
    303:303:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):443:443 -> a
    304:304:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    304:304:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):443 -> a
    305:309:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):444:448 -> a
    310:317:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):446:453 -> a
    318:318:boolean com.android.tools.r8.graph.Definition.isClasspathMethod():0:0 -> a
    318:318:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):453 -> a
    319:324:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):453:458 -> a
    325:331: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.OF:
    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.QF:
    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.pP:
    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):172:172 -> 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):172:172 -> 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
com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter -> com.android.tools.r8.internal.qP:
    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():477:477 -> a
    3:3:com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter create(com.android.tools.r8.graph.AppView):35 -> a
    4:5:com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter create(com.android.tools.r8.graph.AppView):36:37 -> a
    6:6: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
    7:7: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
    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 -> a
    8:14: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
    15:17: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
    18: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:71 -> a
    18: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):332:332 -> 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
    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.uP:
    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.vP:
    void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass) -> a
com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter -> com.android.tools.r8.internal.AP:
    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):332:332 -> 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
    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):232:232 -> 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.CP:
    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):35:35 -> 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.BP:
    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.bW:
    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: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):127:129 -> a
    29: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:32:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
    32:32: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
    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):93 -> a
    33:66: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
    33:66: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
    67: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):162:174 -> a
    67: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:80: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
    80:80: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
    81:95: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
    81:95: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
    96:97: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
    96: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 -> a
    96: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 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
    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):93 -> 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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":155,"2":156,"3":157}}
    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
    157:157: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
    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):181 -> 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
    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):246:246 -> 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:101: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
    101:101: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
    101:101: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
    102:135: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
    102:135: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
    136:141: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
    136: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):93 -> a
    142:142: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":158,"2":159,"3":160}}
    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
    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):198:198 -> 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
    143: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):202:205 -> a
    143: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 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
    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):93 -> a
    148:148: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":161,"2":162,"3":163}}
    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
    163:163: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
    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):93 -> a
    149: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):192:194 -> a
    149: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):188:188 -> 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):140:140 -> 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
    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):134:134 -> 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
    164:164:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):221:221 -> a
    165:174: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
    165:174:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):221 -> a
    175:175:com.android.tools.r8.errors.CompilationError error(com.android.tools.r8.graph.ProgramMethod,java.lang.String):420:420 -> a
    176:176: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":600,"2":601,"3":602}}
    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
    602:602:com.android.tools.r8.errors.CompilationError error(com.android.tools.r8.graph.ProgramMethod,java.lang.String):420:420 -> a
    598:598:com.android.tools.r8.errors.CompilationError error(com.android.tools.r8.graph.ProgramMethod,java.lang.String):422:422 -> a
    599:599:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    599:599: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.XV:
    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.YV:
    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
    3:4: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.ZV:
    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.aW:
    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.zY:
    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.x3:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformation defaultTransformation -> c
    java.util.List configuration -> d
    boolean enabled -> f
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformation kotlinTransformation -> e
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():31:31 -> <clinit>
    1:18:void <init>(com.android.tools.r8.graph.AppView):84:101 -> <init>
    1:1:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString lambda$new$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.AssertionsConfiguration):98:98 -> a
    2:2:boolean isEnabled(com.android.tools.r8.utils.InternalOptions):107:107 -> a
    3:8:boolean com.android.tools.r8.utils.AssertionConfigurationWithDefault.isPassthroughAll():26:31 -> a
    3:8:boolean isEnabled(com.android.tools.r8.utils.InternalOptions):108 -> a
    9:33:com.android.tools.r8.AssertionsConfiguration$AssertionTransformation getTransformationForType(com.android.tools.r8.graph.DexType):116:140 -> a
    34:37:com.android.tools.r8.AssertionsConfiguration$AssertionTransformation getTransformationForType(com.android.tools.r8.graph.DexType):132:135 -> a
    38:61:boolean com.android.tools.r8.ir.optimize.AssertionsRewriter.isDescriptorForClassOrInnerClass(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):156:179 -> a
    38:61:com.android.tools.r8.AssertionsConfiguration$AssertionTransformation getTransformationForType(com.android.tools.r8.graph.DexType):135 -> a
    62:62:com.android.tools.r8.AssertionsConfiguration$AssertionTransformation getTransformationForType(com.android.tools.r8.graph.DexType):136:136 -> a
    63:64:com.android.tools.r8.AssertionsConfiguration$AssertionTransformation getTransformationForType(com.android.tools.r8.graph.DexType):123:124 -> a
    65:70:boolean com.android.tools.r8.graph.DexString.contains(com.android.tools.r8.graph.DexString):466:471 -> a
    65:70:com.android.tools.r8.AssertionsConfiguration$AssertionTransformation getTransformationForType(com.android.tools.r8.graph.DexType):124 -> a
    71:73:com.android.tools.r8.AssertionsConfiguration$AssertionTransformation getTransformationForType(com.android.tools.r8.graph.DexType):125:127 -> a
    74:74:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    74:74:com.android.tools.r8.AssertionsConfiguration$AssertionTransformation getTransformationForType(com.android.tools.r8.graph.DexType):127 -> a
    75:90:com.android.tools.r8.AssertionsConfiguration$AssertionTransformation getTransformationForType(com.android.tools.r8.graph.DexType):128:143 -> a
    91:92:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):305:306 -> a
    93:93:com.android.tools.r8.AssertionsConfiguration$AssertionTransformation com.android.tools.r8.ir.optimize.AssertionsRewriter.getTransformationForMethod(com.android.tools.r8.graph.DexEncodedMethod):112:112 -> a
    93:93:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):313 -> a
    93:93:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    94:112:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):314:332 -> a
    94:112:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    113:113:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    113:113:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):334 -> a
    113:113:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    114:119:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):335:340 -> a
    114:119:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    120:133:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):378:391 -> a
    120:133:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
    120:133:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    134:134:java.lang.Object com.android.tools.r8.ir.code.IRCodeInstructionListIterator.previous():24:24 -> a
    134:134:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):392 -> a
    134:134:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
    134:134:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    135:136:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):393:394 -> a
    135:136:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
    135:136:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    137:137:java.lang.Object com.android.tools.r8.ir.code.IRCodeInstructionListIterator.previous():24:24 -> a
    137:137:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):396 -> a
    137:137:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
    137:137:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    138:138:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):397:397 -> a
    138:138:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
    138:138:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    139:139:java.lang.Object com.android.tools.r8.ir.code.IRCodeInstructionListIterator.previous():24:24 -> a
    139:139:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):398 -> a
    139:139:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
    139:139:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    140:142:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):399:401 -> a
    140:142:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
    140:142:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    143:143:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    143:143:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):402 -> a
    143:143:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
    143:143:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    144:144:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    144:144:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):402 -> a
    144:144:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
    144:144:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    145:145:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):406:406 -> a
    145:145:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
    145:145:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    146:146:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    146:146:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):406 -> a
    146:146:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
    146:146:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    147:147:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    147:147:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):405 -> a
    147:147:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
    147:147:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    148:148:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):343:343 -> a
    148:148:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    149:149:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    149:149:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):343 -> a
    149:149:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    150:154:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):346:350 -> a
    150:154:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    155:155:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    155:155:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):352 -> a
    155:155:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    156:163:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):353:360 -> a
    156:163:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    164:164:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):358:358 -> a
    164:164:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    165:165:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    165:165:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):357 -> a
    165:165:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    166:170:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):363:367 -> a
    166:170:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    171:171:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):365:365 -> a
    171:171:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    172:172:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    172:172:void com.android.tools.r8.ir.optimize.AssertionsRewriter.runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):364 -> a
    172:172:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
    173:173:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):308:308 -> a
com.android.tools.r8.ir.optimize.AssertionsRewriter$1 -> com.android.tools.r8.internal.v3:
    int[] $SwitchMap$com$android$tools$r8$AssertionsConfiguration$AssertionTransformationScope -> a
    1:1:void <clinit>():41:41 -> <clinit>
com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString -> com.android.tools.r8.internal.w3:
    com.android.tools.r8.graph.DexString value -> b
    com.android.tools.r8.AssertionsConfiguration entry -> a
    1:1:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.optimize.AssertionsRewriter$1):33:33 -> <init>
    2:35:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):39:72 -> <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":166,"2":167,"3":168}}
    166:166:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):58:58 -> <init>
    167:167:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):58:58 -> <init>
    168:168:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):58:58 -> <init>
    98:99:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):62:63 -> <init>
    100:100:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):59:59 -> <init>
    101:102:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):43:44 -> <init>
    103:103:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":169,"2":170,"3":171}}
    169:169:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):46:46 -> <init>
    170:170:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):46:46 -> <init>
    171:171:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):46:46 -> <init>
    153:154:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):50:51 -> <init>
    155:155:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):47:47 -> <init>
    1:1:com.android.tools.r8.AssertionsConfiguration access$000(com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString):33:33 -> a
    1:1:com.android.tools.r8.graph.DexString access$100(com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString):33:33 -> b
com.android.tools.r8.ir.optimize.AssumeInserter -> com.android.tools.r8.internal.O3:
    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
    75:81: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
    75:81:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):165 -> a
    82: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):306:306 -> a
    82:82:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):165 -> a
    83:88: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
    89:89:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlockIterator.peekPrevious():28:28 -> a
    89: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):179 -> a
    90:100:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):179:189 -> a
    101:101:boolean com.android.tools.r8.ir.code.If.isNullTest():93:93 -> a
    101:101:boolean com.android.tools.r8.ir.code.If.isNonTrivialNullTest():97 -> a
    101: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):190 -> a
    102:102:boolean com.android.tools.r8.ir.code.If.isNonTrivialNullTest():97:97 -> 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:107: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
    108:114: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
    115:121: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
    115:121: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
    122:122: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
    122:122: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
    122: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):223 -> a
    122: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.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
    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: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
    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 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
    126:149: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
    150:150:void removeRedundantAssumeInstructions(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):344:344 -> a
    151:151: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:347 -> a
    152:152:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.hasDynamicTypeInfo():700:700 -> a
    152:152: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
    153:167: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:365 -> a
    168:169: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
    168:169: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
    170:170: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
    171:171:com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.getDynamicTypeAssumption():704:704 -> a
    171:171: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
    172:172:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setDynamicTypeAssumption(com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption):708:708 -> a
    172:172: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
    173:176:java.util.Map computeDominanceForAssumedValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):384:387 -> a
    177:181: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:394 -> a
    182:182:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.hasDynamicTypeInfo():700:700 -> a
    182:182:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.isSubsumedBy(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):733 -> a
    182:182:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):394 -> a
    183:183:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.isSubsumedBy(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):733:733 -> a
    183:183:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):394 -> a
    184:184:com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.unknown():954:954 -> a
    184:184:com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.redundant():945 -> a
    184: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):397 -> a
    185:185:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.strengthenWith(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):737:737 -> 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):401 -> a
    186:186:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setNotNull():729:729 -> a
    186:186:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.strengthenWith(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):738 -> a
    186:186: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
    187:187:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.hasDynamicTypeInfo():700:700 -> a
    187:187:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.strengthenWith(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):740 -> a
    187:187: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
    188:188:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setDynamicTypeAssumption(com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption):708:708 -> a
    188:188:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.strengthenWith(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):741 -> a
    188:188:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):401 -> a
    189:189: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
    190:190:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.everything():933:933 -> a
    190: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):407 -> a
    191:207: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
    208:208:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingElseAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.everythingElse():937:937 -> a
    208:208: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
    209:213: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
    209:213: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
    214:214: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":711,"2":712,"3":713}}
    711:711: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
    711:711: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
    712:712: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
    712:712: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
    713:713: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
    713:713: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
    657:660: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
    667:669: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
    670:670: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
    670:670: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
    671: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):456:474 -> a
    690:695: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
    690:695: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
    696:696:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
    696:696: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
    696:696: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
    697:705: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
    697:705: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
    706:710: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
    714:714:java.util.Set lambda$computeDominanceForAssumedValues$3(com.android.tools.r8.ir.code.DominatorTree,com.android.tools.r8.ir.code.BasicBlock):453:453 -> a
    715:715:java.util.Map lambda$computeDominanceForAssumedValues$5(com.android.tools.r8.ir.code.Instruction):470:470 -> a
    716:716:boolean lambda$materializeAssumeInstructions$7(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):524:524 -> a
    717:717:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isEverything():0:0 -> a
    717:717:boolean lambda$materializeAssumeInstructions$7(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):524 -> a
    718:724:void lambda$materializeAssumeInstructions$9(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.Map):533:539 -> a
    725:725: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
    726: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):556:560 -> a
    731:735: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
    731:735: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
    736:736: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":1366,"2":1367,"3":1368}}
    1366:1366: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
    1366:1366: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
    1367:1367: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
    1367:1367: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
    1368:1368: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
    1368:1368: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
    1299:1299: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:563 -> a
    1300:1300:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.getDominance():692:692 -> a
    1300:1300: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
    1301:1302:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.isNull():720:721 -> a
    1301:1302: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
    1303:1308: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
    1309:1314: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
    1315:1315:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isEverything():0:0 -> a
    1315:1315: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
    1316:1316: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
    1317:1317:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isEverythingElse():0:0 -> a
    1317:1317: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
    1318:1319: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
    1320:1320:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isSomething():0:0 -> a
    1320:1320: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
    1321:1338: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
    1339:1344: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
    1345:1346:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.isNull():720:721 -> a
    1345:1346: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
    1347:1365: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
    1369:1374: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
    1375:1375:java.util.Map lambda$materializeSelectedAssumeInstructions$12(com.android.tools.r8.ir.code.BasicBlock):617:617 -> a
    1376:1377:boolean com.android.tools.r8.ir.optimize.AssumeInserter.isNullableReferenceType(com.android.tools.r8.ir.code.Value):662:663 -> a
    1376:1377:boolean isNullableReferenceTypeWithOtherNonDebugUsers(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):668 -> a
    1378:1381:boolean isNullableReferenceTypeWithOtherNonDebugUsers(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):669:672 -> 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
    24:39: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
    40:53: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
    54:54:boolean lambda$computeDominanceForAssumedValues$1(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):420:420 -> b
    55:106:void materializeAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):493:544 -> b
    107:107:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> b
    107:107:void materializeAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):544 -> b
    108:108:void materializeAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):544:544 -> b
    109:109:boolean lambda$materializeAssumeInstructions$8(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):530:530 -> b
    110:110:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isEverything():0:0 -> b
    110:110:boolean lambda$materializeAssumeInstructions$8(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):530 -> b
    111:111: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.F3:
    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.E3:
    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.G3:
    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.I3:
    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.H3:
    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.J3:
    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.K3:
    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.L3:
    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.M3:
    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.N3:
    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.P3:
    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:1:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.Value):60:60 -> a
    2:2:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    2:2:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.Value):60 -> a
    3:4:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.Value):60:61 -> a
    5:5:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    5:5:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.Value):61 -> a
    6:8:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.Value):62:64 -> a
    9:9:void com.android.tools.r8.ir.optimize.AssumeRemover.markForRemoval(com.android.tools.r8.ir.code.Assume):80:80 -> a
    9:9:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.Value):65 -> a
    10:12:void markUnusedAssumeValuesForRemoval(java.util.Collection):72:74 -> a
    13:13:void com.android.tools.r8.ir.optimize.AssumeRemover.markForRemoval(com.android.tools.r8.ir.code.Assume):80:80 -> a
    13:13:void markUnusedAssumeValuesForRemoval(java.util.Collection):74 -> a
    14:28:void removeIfMarked(com.android.tools.r8.ir.code.Assume,com.android.tools.r8.ir.code.InstructionListIterator):85:99 -> a
    29:37:com.android.tools.r8.ir.optimize.AssumeRemover removeMarkedInstructions(java.util.Set):108:116 -> a
    38:38:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    38:38:com.android.tools.r8.ir.optimize.AssumeRemover removeMarkedInstructions(java.util.Set):116 -> a
    39:39:com.android.tools.r8.ir.optimize.AssumeRemover removeMarkedInstructions(java.util.Set):117:117 -> a
    40:41:void finish():126:127 -> 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 finish():127 -> a
    43:43:void finish():127:127 -> 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.x4:
    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.S9:
    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: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):172:181 -> a
    244:244:boolean com.android.tools.r8.ir.code.ConstNumber.getBooleanValue():82:82 -> a
    244:244: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
    245:261: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
    262:265: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
    266:266:com.android.tools.r8.graph.DexField lambda$optimize$1(com.android.tools.r8.graph.DexEncodedField):256:256 -> a
    267:267:void lambda$optimize$2(java.util.Set,com.android.tools.r8.shaking.AppInfoWithLivenessModifier):274:274 -> a
    268:269:void lambda$optimize$3():282:283 -> 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):373 -> a
    271:271:java.util.IdentityHashMap com.android.tools.r8.com.google.common.collect.Maps.newIdentityHashMap():431:431 -> a
    271:271:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):374 -> a
    272:283:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):375:386 -> a
    284:284:boolean com.android.tools.r8.ir.code.Instruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):629:629 -> a
    284:284:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):386 -> a
    285:390:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):387:492 -> a
    391:391:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    391:391:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):389 -> a
    392:494:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):390:492 -> a
    495:589:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):398:492 -> a
    590:595:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):405:410 -> a
    596:600:boolean com.android.tools.r8.ir.code.Value.isDexItemBasedConstStringThatNeedsToComputeClassName():820:824 -> a
    596:600:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):415 -> a
    601:626:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):418:443 -> a
    627:634: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
    627:634:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):443 -> a
    635:682:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):445:492 -> a
    683:708:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):467:492 -> a
    709:728:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):473:492 -> a
    729:736:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):487:494 -> a
    737:737:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):492:492 -> a
    738:738:java.util.Set lambda$findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts$4(com.android.tools.r8.graph.DexField):461:461 -> a
    739:739:java.util.Map validateFinalFieldPuts(java.util.Map,java.util.Map):519:519 -> a
    740:742:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):537:539 -> a
    743:743:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1584:1584 -> a
    743:743:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):539 -> a
    744:746:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):542:544 -> a
    747:747:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    747:747:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):544 -> a
    748:749: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.Q9:
    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.R9:
    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.ub:
    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>():149:149 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView):166:169 -> <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):243:243 -> a
    2:2:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):519:519 -> a
    3:4:boolean com.android.tools.r8.ir.code.IRCode.hasCatchHandlers():677:678 -> a
    3:4:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):519 -> a
    5:16:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):526:537 -> a
    17:17:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.previous():39:39 -> a
    17:17:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):538 -> a
    18:25:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):539:546 -> a
    26:60: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):698:732 -> a
    61:61:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    61: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):732 -> a
    62:62:java.lang.Object com.android.tools.r8.ir.optimize.CodeRewriter$InstructionBuilder.setBlockNumber(int):562:562 -> 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):732 -> a
    63:78: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):733:748 -> a
    79:79:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    79: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):748 -> a
    80:80:java.lang.Object com.android.tools.r8.ir.optimize.CodeRewriter$InstructionBuilder.setBlockNumber(int):562:562 -> 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):748 -> a
    81:90: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):749:758 -> a
    91:104: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):808:821 -> a
    105:105: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):818:818 -> a
    106:117:void tryAddToBiggestSavings(java.util.Set,java.util.PriorityQueue,com.android.tools.r8.ir.optimize.CodeRewriter$Interval,int):831:842 -> a
    118:118:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):847:847 -> a
    119:119:int com.android.tools.r8.ir.code.If.estimatedSize(com.android.tools.r8.utils.InternalOutputMode):159:159 -> a
    119:119:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):847 -> a
    120:123:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):847:850 -> a
    124:124:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> a
    124:124:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> a
    124:124:java.util.Iterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():32 -> a
    124:124:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):852 -> a
    125:125:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):852:852 -> a
    126:126:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    126:126:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    126:126:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):852 -> a
    127:129:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):852:854 -> a
    130:137: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):1074:1081 -> a
    138:138: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
    138:138: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):1083 -> a
    139:139:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    139:139: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
    139: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):1083 -> a
    140:147: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):1084:1091 -> a
    148:174: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):1100:1126 -> a
    175:175:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
    175:175:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1126 -> a
    176:190: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):1127:1141 -> a
    191:191:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
    191:191: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):1141 -> a
    192:227: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):1143:1178 -> a
    228:228:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
    228:228: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):1178 -> a
    229: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):1180:1180 -> a
    230:240: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):866:876 -> a
    230:240: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):1181 -> a
    241:241:int com.android.tools.r8.ir.optimize.CodeRewriter.codeUnitMargin():861:861 -> a
    241:241: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):877 -> a
    241:241: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):1181 -> a
    242: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):879:880 -> a
    242: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):1181 -> a
    244:244: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
    244:244: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
    244:244: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):1181 -> a
    245:256: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):886:897 -> a
    245:256: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):1181 -> a
    257:257:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
    257:257: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):897 -> a
    257:257: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):1181 -> a
    258:263: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):898:903 -> a
    258:263: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):1181 -> a
    264:264:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,long):154:154 -> a
    264:264:long com.android.tools.r8.ir.code.IntSwitch.estimatedSparseSize(com.android.tools.r8.utils.InternalOutputMode,long):103 -> a
    264:264: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):903 -> a
    264:264: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):1181 -> a
    265:265:int com.android.tools.r8.ir.code.IntSwitch.baseSparseSize(com.android.tools.r8.utils.InternalOutputMode):120:120 -> a
    265:265:long com.android.tools.r8.ir.code.IntSwitch.estimatedSparseSize(com.android.tools.r8.utils.InternalOutputMode,long):103 -> a
    265: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):903 -> a
    265: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):1181 -> a
    266:287: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):906:927 -> a
    266:287: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):1181 -> a
    288:288:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,long):154:154 -> a
    288:288:long com.android.tools.r8.ir.code.IntSwitch.estimatedSparseSize(com.android.tools.r8.utils.InternalOutputMode,long):103 -> a
    288:288: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):927 -> a
    288:288: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):1181 -> a
    289:289:int com.android.tools.r8.ir.code.IntSwitch.baseSparseSize(com.android.tools.r8.utils.InternalOutputMode):120:120 -> a
    289:289:long com.android.tools.r8.ir.code.IntSwitch.estimatedSparseSize(com.android.tools.r8.utils.InternalOutputMode,long):103 -> a
    289: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):927 -> a
    289: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):1181 -> a
    290:304: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):931:945 -> a
    290:304: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):1181 -> a
    305:305:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,long):154:154 -> a
    305:305:long com.android.tools.r8.ir.code.IntSwitch.estimatedSparseSize(com.android.tools.r8.utils.InternalOutputMode,long):103 -> a
    305:305: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):945 -> a
    305:305: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):1181 -> a
    306:306:int com.android.tools.r8.ir.code.IntSwitch.baseSparseSize(com.android.tools.r8.utils.InternalOutputMode):120:120 -> a
    306:306:long com.android.tools.r8.ir.code.IntSwitch.estimatedSparseSize(com.android.tools.r8.utils.InternalOutputMode,long):103 -> a
    306: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):945 -> a
    306: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):1181 -> a
    307:307:int com.android.tools.r8.ir.optimize.CodeRewriter.codeUnitMargin():861:861 -> 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):946 -> 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):1181 -> 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):947:947 -> 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):1181 -> a
    309:309: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
    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):948 -> 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):1181 -> 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):953:953 -> 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):1181 -> a
    311:317: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):1185:1191 -> a
    318:318:int com.android.tools.r8.ir.optimize.CodeRewriter.codeUnitMargin():861:861 -> a
    318:318: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):1192 -> a
    319: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):1193:1193 -> a
    320:320: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):1122:1122 -> a
    321:336:boolean disableSwitchToIfRewritingForClassIdComparisons(com.android.tools.r8.ir.code.IntSwitch):1201:1216 -> a
    337:337:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1274:1274 -> a
    338:338:boolean com.android.tools.r8.ir.code.IRCode.isConsistentGraph():619:619 -> a
    338:338:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1274 -> a
    339:349:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1275:1285 -> a
    350:350:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":415,"2":416,"3":417}}
    415:415: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):429:429 -> a
    415:415:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1286 -> a
    416:416: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):429:429 -> a
    416:416:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1286 -> a
    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):429:429 -> a
    417:417:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1286 -> a
    351:351: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):433:433 -> a
    351:351:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1286 -> a
    352:352:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":428,"2":429,"3":430}}
    428:428: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):440:440 -> a
    428:428:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1286 -> a
    429:429: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):440:440 -> a
    429:429:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1286 -> a
    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):440:440 -> a
    430:430:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1286 -> 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):447:447 -> a
    353:353:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1286 -> a
    354:355:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isFallthroughBlock(com.android.tools.r8.ir.code.BasicBlock):417:418 -> a
    354: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):447 -> a
    354:355:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1286 -> 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):451:452 -> a
    356:357:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1286 -> a
    358:358:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1288:1288 -> a
    359:376:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseIfTrueTarget(com.android.tools.r8.ir.code.BasicBlock):472:489 -> a
    359:376:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1289 -> a
    377:377:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":431,"2":432,"3":433}}
    431:431:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseIfTrueTarget(com.android.tools.r8.ir.code.BasicBlock):490:490 -> a
    431:431:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1289 -> a
    432:432:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseIfTrueTarget(com.android.tools.r8.ir.code.BasicBlock):490:490 -> a
    432:432:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1289 -> a
    433:433:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseIfTrueTarget(com.android.tools.r8.ir.code.BasicBlock):490:490 -> a
    433:433:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1289 -> a
    378:378:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseIfTrueTarget(com.android.tools.r8.ir.code.BasicBlock):490:490 -> a
    378:378:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1289 -> a
    379:379:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1291:1291 -> a
    380:393:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseNonFallthroughSwitchTargets(com.android.tools.r8.ir.code.BasicBlock):496:509 -> a
    380:393:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1292 -> a
    394:402:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1296:1304 -> a
    403:403:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":434,"2":435,"3":436}}
    434:434: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):429:429 -> a
    434:434:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1305 -> a
    435:435: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):429:429 -> a
    435:435:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1305 -> a
    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):429:429 -> a
    436:436:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1305 -> a
    404:404: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):433:433 -> a
    404:404:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1305 -> a
    405:405:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":447,"2":448,"3":449}}
    447:447: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):440:440 -> a
    447:447:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1305 -> a
    448:448: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):440:440 -> a
    448:448:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1305 -> a
    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):440:440 -> a
    449:449:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1305 -> 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):447:447 -> a
    406:406:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1305 -> a
    407:408:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isFallthroughBlock(com.android.tools.r8.ir.code.BasicBlock):417:418 -> a
    407: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):447 -> a
    407:408:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1305 -> 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):451:452 -> a
    409:410:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1305 -> a
    411:413:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1309:1311 -> a
    414:414:boolean com.android.tools.r8.ir.code.IRCode.isConsistentGraph():619:619 -> a
    414:414:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1312 -> a
    450:483: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):1415:1448 -> a
    484:484:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    484:484: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):1448 -> a
    485: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):1449:1449 -> a
    486:486:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> 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):1450 -> a
    487:494: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):1452:1459 -> a
    495:506: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):1505:1516 -> a
    495:506: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):1457 -> a
    507:507: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
    507:507: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):1516 -> a
    507:507: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):1457 -> a
    508:508: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
    508: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):1516 -> a
    508: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):1457 -> a
    509:526: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):1517:1534 -> a
    509:526: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):1457 -> a
    527:527: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
    527:527: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):1534 -> a
    527:527: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):1457 -> a
    528: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):1536:1536 -> a
    528: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):1457 -> a
    529:529:boolean com.android.tools.r8.ir.analysis.type.Nullability.lessThanOrEqual(com.android.tools.r8.ir.analysis.type.Nullability):83:83 -> 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):1536 -> 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):1457 -> a
    530:557: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):1536:1563 -> a
    530:557: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):1457 -> a
    558:558:boolean com.android.tools.r8.graph.DexType.isAlwaysNull(com.android.tools.r8.graph.AppView):153:153 -> a
    558:558: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):1564 -> a
    558:558: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):1457 -> a
    559: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):1565:1565 -> a
    559: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):1457 -> a
    560:560:java.lang.Object com.android.tools.r8.ir.code.IRCodeInstructionListIterator.previous():24:24 -> 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):1567 -> 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):1457 -> a
    561:572: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:1579 -> a
    561:572: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):1457 -> a
    573:573:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    573:573: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):1579 -> a
    573:573: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):1457 -> a
    574: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):1580:1580 -> a
    574: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):1457 -> a
    575:575: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
    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):1580 -> 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):1457 -> a
    576: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):1580:1581 -> a
    576: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):1457 -> a
    578:578: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
    578:578: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):1581 -> a
    578:578: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):1457 -> a
    579:581: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):1581:1583 -> a
    579:581: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):1457 -> a
    582:582:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    582:582: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):1584 -> a
    582:582: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):1457 -> a
    583: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):1585:1585 -> a
    583: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):1457 -> a
    584:584:boolean com.android.tools.r8.ir.code.Instruction.isSafeCheckCast():0:0 -> 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):1591 -> 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):1457 -> a
    585: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):1593:1594 -> a
    585: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):1457 -> a
    587:587: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
    587:587: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):1594 -> a
    587:587: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):1457 -> a
    588:592: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):1595:1599 -> a
    588:592: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):1457 -> a
    593:593:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    593:593: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):1609 -> a
    593:593: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):1457 -> a
    594: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):1609:1610 -> a
    594: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):1457 -> a
    596:599: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):1467:1470 -> a
    600:600:boolean com.android.tools.r8.ir.code.Instruction.isInstanceOf():0:0 -> a
    600:600: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):1472 -> a
    601:603: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):1473:1475 -> a
    604:604: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):1474:1474 -> a
    605:605:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1250:1250 -> a
    605: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):1487 -> a
    606:610: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):1488:1492 -> a
    611:617: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:1626 -> a
    618:618: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
    618:618: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):1628 -> a
    619:619: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
    619: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):1628 -> a
    620:629: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):1629:1638 -> a
    630:630:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    630:630: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):1641 -> a
    631:669: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):1643:1681 -> a
    670:670:boolean com.android.tools.r8.ir.analysis.type.Nullability.isNullable():49:49 -> a
    670:670: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):1681 -> a
    671:677: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):1688:1694 -> a
    678:678:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    678:678: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):1695 -> a
    679:679:boolean lambda$removeInstanceOfInstructionIfTrivial$2(com.android.tools.r8.ir.code.Value):1672:1672 -> a
    680:684:boolean isNeverInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexType):1702:1706 -> a
    685:686: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):1711:1712 -> a
    687:687:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    687:687: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):1713 -> a
    688: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):1715:1721 -> a
    695:703:boolean isBinopWithLit8OrLit16(com.android.tools.r8.ir.code.Instruction):1842:1850 -> a
    704:704:boolean lambda$shortenLiveRanges$4(com.android.tools.r8.ir.code.ConstInstruction):1937:1937 -> a
    705:705:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    705:705:boolean lambda$shortenLiveRanges$4(com.android.tools.r8.ir.code.ConstInstruction):1938 -> a
    706:706:boolean lambda$shortenLiveRanges$4(com.android.tools.r8.ir.code.ConstInstruction):1938:1938 -> a
    707:713: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):2000:2006 -> a
    714:717: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):2034:2037 -> a
    718:718:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    718:718: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):2044 -> a
    719:719:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    719:719: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):2044 -> a
    720:808: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):2045:2133 -> a
    809:811: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
    809:811: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):2133 -> a
    812:813: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):2134:2135 -> a
    814:859:com.android.tools.r8.ir.code.ConstInstruction[] computeConstantArrayValues(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.BasicBlock,int):2171:2216 -> a
    860:860: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":3079,"2":3080,"3":3081}}
    3079:3079:com.android.tools.r8.ir.code.ConstInstruction[] computeConstantArrayValues(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.BasicBlock,int):2216:2216 -> a
    3080:3080:com.android.tools.r8.ir.code.ConstInstruction[] computeConstantArrayValues(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.BasicBlock,int):2216:2216 -> a
    3081:3081:com.android.tools.r8.ir.code.ConstInstruction[] computeConstantArrayValues(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.BasicBlock,int):2216:2216 -> a
    3077:3078:com.android.tools.r8.ir.code.ConstInstruction[] computeConstantArrayValues(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.BasicBlock,int):2217:2218 -> a
    3082: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:2735 -> a
    3089:3090: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):2866:2867 -> a
    3089:3090:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2735 -> a
    3091:3095:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2739:2743 -> a
    3096:3097: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):2866:2867 -> a
    3096:3097:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2743 -> a
    3098:3102:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2747:2751 -> a
    3103:3104: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):2866:2867 -> a
    3103:3104:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2752 -> a
    3105:3153:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2756:2804 -> a
    3154:3179:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2793:2818 -> a
    3180:3180:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleConstClassValue():0:0 -> a
    3180:3180:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2818 -> a
    3181:3182:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2819:2820 -> a
    3183:3183:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleConstClassValue():0:0 -> a
    3183:3183:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2820 -> a
    3184:3192:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2821:2829 -> a
    3193:3193:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2828:2828 -> a
    3194:3215:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2824:2845 -> a
    3216:3216:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):94:94 -> a
    3216:3216:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2845 -> a
    3217:3217:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2846:2846 -> a
    3218:3218:boolean com.android.tools.r8.graph.DexEncodedField.isEnum():204:204 -> a
    3218:3218:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2847 -> a
    3219:3219:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2848:2848 -> a
    3220:3220:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):94:94 -> a
    3220:3220:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2848 -> a
    3221:3221:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2850:2850 -> a
    3222:3222:boolean com.android.tools.r8.graph.DexEncodedField.isEnum():204:204 -> a
    3222:3222:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2851 -> a
    3223:3223:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2852:2852 -> a
    3224:3224:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2871:2871 -> a
    3225:3226: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):2866:2867 -> a
    3225:3226:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2871 -> a
    3227:3258: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):3043:3074 -> a
    3259:3259:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():899:899 -> a
    3259:3259: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):3074 -> a
    3260:3274: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):3089:3103 -> a
    3275:3284:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3323:3332 -> a
    3285:3285:boolean com.android.tools.r8.ir.code.ConstNumber.isIntegerZero():115:115 -> a
    3285:3285:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3332 -> a
    3286:3287:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3338:3339 -> a
    3288:3288:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> a
    3288:3288:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3339 -> a
    3289:3293:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3340:3344 -> a
    3294:3294:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> a
    3294:3294:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3344 -> a
    3295:3295:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3348:3348 -> a
    3296:3298: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):3359:3361 -> a
    3299:3301: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
    3299:3301: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):3361 -> a
    3302:3302: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):3362:3362 -> a
    3303:3303: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":6667,"2":6668,"3":6669}}
    6667:6667: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):3363:3363 -> a
    6668:6668: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):3363:3363 -> a
    6669:6669: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):3363:3363 -> a
    6666:6666: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):3363:3363 -> a
    6670:6690:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3497:3517 -> a
    6691:6691: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
    6691:6691:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3517 -> a
    6692:6708:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3517:3533 -> a
    6709:6709:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3532:3532 -> a
    6710:6721:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3531:3542 -> a
    6722:6744:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3553:3575 -> a
    6745:6746: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
    6745:6746:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167 -> a
    6745:6746:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3575 -> a
    6747:6747:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3576:3576 -> a
    6748:6749: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):3613:3614 -> a
    6748:6749:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3580 -> a
    6750:6750:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.<init>():104:104 -> a
    6750:6750: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):3614 -> a
    6750:6750:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3580 -> a
    6751:6751: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):3615:3615 -> a
    6751:6751:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3580 -> a
    6752:6752:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.<init>():104:104 -> a
    6752:6752: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):3615 -> a
    6752:6752:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3580 -> a
    6753:6782: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):3618:3647 -> a
    6753:6782:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3580 -> a
    6783:6786:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3581:3584 -> a
    6787:6787:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.<init>():120:120 -> a
    6787:6787:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3584 -> a
    6788:6788:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3585:3585 -> a
    6789:6789:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.<init>():120:120 -> a
    6789:6789:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3585 -> a
    6790:6800:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3586:3596 -> a
    6801:6801:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> a
    6801:6801:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3598 -> a
    6802:6803:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3599:3600 -> a
    6804:6808: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):3658:3662 -> a
    6804:6808:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3600 -> a
    6809:6810: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
    6809:6810:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167 -> a
    6809:6810: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):3662 -> a
    6809:6810:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3600 -> a
    6811:6815: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):3663:3667 -> a
    6811:6815:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3600 -> a
    6816:6816:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3601:3601 -> a
    6817:6821: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):3658:3662 -> a
    6817:6821:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3601 -> a
    6822:6823: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
    6822:6823:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167 -> a
    6822:6823: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):3662 -> a
    6822:6823:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3601 -> a
    6824:6828: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):3663:3667 -> a
    6824:6828:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3601 -> a
    6829:6829:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3603:3603 -> a
    6830:6830: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
    6830:6830:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3603 -> a
    6831:6833: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):3672:3674 -> a
    6834:6855:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3684:3705 -> a
    6856:6865:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3704:3713 -> a
    6866:6886:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3711:3731 -> a
    6887:6887:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    6887:6887:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3735 -> a
    6888:6902:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3735:3749 -> a
    6903:6903:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    6903:6903:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3751 -> a
    6904:6904:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3751:3751 -> a
    6905:6908: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
    6905:6908:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3751 -> a
    6909:6909:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3752:3752 -> a
    6910:6910:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    6910:6910:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3755 -> a
    6911:6912:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3755:3756 -> a
    6913:6913:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    6913:6913:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3758 -> a
    6914:6930:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3758:3774 -> a
    6931:6931: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
    6931:6931:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3774 -> a
    6932:6935:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3774:3777 -> a
    6936:6952:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3775:3791 -> a
    6953:6960:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3795:3802 -> a
    6961:6971:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3815:3825 -> a
    6961:6971:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3802 -> a
    6972:6977:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3803:3808 -> a
    6978:6978:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3805:3805 -> a
    6979:6979:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    6979:6979:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3805 -> a
    6980:6980:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    6980:6980:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    6980:6980:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3805 -> a
    6981:6981:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3805:3805 -> a
    6982:6982:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3823:3823 -> a
    6982:6982:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3802 -> a
    6983:6983:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    6983:6983:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3823 -> a
    6983:6983:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3802 -> a
    6984:6984:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    6984:6984:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    6984:6984:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3823 -> a
    6984:6984:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3802 -> a
    6985:6985:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3823:3823 -> a
    6985:6985:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3802 -> a
    6986:6986:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3819:3819 -> a
    6986:6986:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3802 -> a
    6987:6987:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    6987:6987:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3819 -> a
    6987:6987:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3802 -> a
    6988:6988:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    6988:6988:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    6988:6988:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3819 -> a
    6988:6988:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3802 -> a
    6989:6989:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3819:3819 -> a
    6989:6989:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3802 -> a
    6990:6996:void recursiveAddOperands(com.android.tools.r8.ir.code.Phi,java.util.Set,java.util.Set):3829:3835 -> a
    1:3:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):182:184 -> 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):184 -> b
    5:17:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):186:198 -> 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):198 -> b
    19:28:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):199:208 -> 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):220 -> b
    30:31:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):223:224 -> 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):224 -> b
    33:36:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):224:227 -> b
    37:46:void unlinkTrivialGotoBlock(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):457:466 -> b
    47:47:boolean lambda$shortenLiveRanges$5(com.android.tools.r8.ir.code.ConstInstruction):1946:1946 -> 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):1946 -> b
    49:49:boolean lambda$shortenLiveRanges$5(com.android.tools.r8.ir.code.ConstInstruction):1946:1946 -> b
    50:50:java.util.Map lambda$shortenLiveRangesInsideBlock$7(com.android.tools.r8.ir.code.BasicBlock):2129:2129 -> b
    51:51:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2533:2533 -> b
    52:53:boolean com.android.tools.r8.ir.optimize.CodeRewriter.hasCSECandidate(com.android.tools.r8.ir.code.IRCode,int):2521:2522 -> b
    52:53:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2534 -> b
    54:55:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isCSEInstructionCandidate(com.android.tools.r8.ir.code.Instruction):2512:2513 -> b
    54:55:boolean com.android.tools.r8.ir.optimize.CodeRewriter.hasCSECandidate(com.android.tools.r8.ir.code.IRCode,int):2523 -> b
    54:55:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2534 -> 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):2514 -> b
    56:56:boolean com.android.tools.r8.ir.optimize.CodeRewriter.hasCSECandidate(com.android.tools.r8.ir.code.IRCode,int):2523 -> b
    56:56:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2534 -> b
    57:59:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isCSEInstructionCandidate(com.android.tools.r8.ir.code.Instruction):2515:2517 -> b
    57:59:boolean com.android.tools.r8.ir.optimize.CodeRewriter.hasCSECandidate(com.android.tools.r8.ir.code.IRCode,int):2523 -> b
    57:59:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2534 -> b
    60:60:boolean com.android.tools.r8.ir.optimize.CodeRewriter.hasCSECandidate(com.android.tools.r8.ir.code.IRCode,int):2527:2527 -> b
    60:60:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2534 -> b
    61:63:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2536:2538 -> 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):2538 -> b
    65:72:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2539:2546 -> b
    73:74:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isCSEInstructionCandidate(com.android.tools.r8.ir.code.Instruction):2512:2513 -> b
    73:74:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2547 -> 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):2514 -> b
    75:75:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2547 -> b
    76:78:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isCSEInstructionCandidate(com.android.tools.r8.ir.code.Instruction):2515:2517 -> b
    76:78:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2547 -> b
    79:83:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2548:2552 -> 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):2499:2508 -> b
    84:93:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2553 -> b
    94:110:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2554:2570 -> b
    111:111:boolean lambda$logArgumentTypes$11(com.android.tools.r8.ir.code.Instruction):3694:3694 -> b
    112:138:void replaceTrivialNewInstancePhis(com.android.tools.r8.ir.code.Value):3848:3874 -> b
    1:1:com.android.tools.r8.ir.code.DominatorTree lambda$redundantConstNumberRemoval$10(com.android.tools.r8.ir.code.IRCode):2904:2904 -> 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):2904 -> 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):3008:3008 -> d
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap lambda$redundantConstNumberRemoval$9(com.android.tools.r8.ir.code.IRCode):2903 -> 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):3008 -> d
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap lambda$redundantConstNumberRemoval$9(com.android.tools.r8.ir.code.IRCode):2903 -> 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):3011:3024 -> d
    3:16:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap lambda$redundantConstNumberRemoval$9(com.android.tools.r8.ir.code.IRCode):2903 -> d
    1:1:com.android.tools.r8.ir.code.DominatorTree lambda$shortenLiveRanges$3(com.android.tools.r8.ir.code.IRCode):1925:1925 -> 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):1925 -> e
    1:24:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3113:3136 -> 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):3138 -> f
    26:29:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3143:3146 -> f
    30:30:java.lang.Object com.android.tools.r8.ir.code.CatchHandlers$CatchHandler.getTarget() -> f
    30:30:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3146 -> f
    31:73:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3146:3188 -> f
    74:74:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo.hasNonNullParamOrThrow():43:43 -> f
    74:74:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3188 -> f
    75:101:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3189:3215 -> f
    102:102:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> f
    102:102:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3215 -> f
    103:105:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3215:3217 -> f
    1:51:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2892:2942 -> 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):2943 -> g
    53:62:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2945:2954 -> g
    63:63:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2953:2953 -> 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):2960 -> g
    65:65:int com.android.tools.r8.ir.optimize.CodeRewriter.negateBoolean(com.android.tools.r8.ir.code.ConstNumber):3032:3032 -> g
    65:65:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2963 -> 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):3032 -> g
    66:66:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2963 -> g
    67:68:int com.android.tools.r8.ir.optimize.CodeRewriter.negateBoolean(com.android.tools.r8.ir.code.ConstNumber):3032:3033 -> g
    67:68:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2963 -> g
    69:82:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2962:2975 -> g
    83:83:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2974:2974 -> 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):2981 -> g
    85:85:int com.android.tools.r8.ir.optimize.CodeRewriter.negateBoolean(com.android.tools.r8.ir.code.ConstNumber):3032:3032 -> g
    85:85:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2984 -> 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):3032 -> g
    86:86:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2984 -> g
    87:88:int com.android.tools.r8.ir.optimize.CodeRewriter.negateBoolean(com.android.tools.r8.ir.code.ConstNumber):3032:3033 -> g
    87:88:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2984 -> g
    89:108:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2983:3002 -> g
    1:10:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):231:240 -> h
    11:11:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":509,"2":510,"3":511}}
    509:509:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):241:241 -> h
    510:510:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):241:241 -> h
    511:511:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):241:241 -> h
    253:254:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):242:243 -> h
    255:261:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):240:246 -> h
    262:262:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":509,"2":510,"3":511}}
    509:509:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):246:246 -> h
    510:510:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):246:246 -> h
    511:511:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):246:246 -> h
    508:508:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):246:246 -> 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):3450 -> i
    2:4:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3451:3453 -> 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):3453 -> i
    6:24:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3457:3475 -> 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):3475 -> i
    26:43:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3476:3493 -> i
    1:1:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1338:1338 -> j
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> j
    2:2:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1338 -> j
    3:7:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1338:1342 -> j
    8:8: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
    8:8:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1342 -> j
    9:33:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1345:1369 -> j
    34:34:boolean com.android.tools.r8.ir.optimize.CodeRewriter.checkArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1318:1318 -> j
    34:34:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1371 -> j
    35:41:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.CodeRewriter.getArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1327:1333 -> j
    35:41:boolean com.android.tools.r8.ir.optimize.CodeRewriter.checkArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1320 -> j
    35:41:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1371 -> j
    42:45:boolean com.android.tools.r8.ir.optimize.CodeRewriter.checkArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1320:1323 -> j
    42:45:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1371 -> j
    46:66:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1372:1392 -> j
    67:67:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1250:1250 -> j
    67:67:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1393 -> j
    68:69:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1394:1395 -> j
    70:70:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1250:1250 -> j
    70:70:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1396 -> j
    71:72:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1398:1399 -> j
    73:73:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> j
    73:73:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1399 -> j
    74:76:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1399:1401 -> 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):962:962 -> k
    1:1:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):958 -> k
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isSwitchRewritingEnabled():1922:1922 -> 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):962 -> k
    2:2:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):958 -> 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):965:965 -> k
    3:3:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):958 -> k
    4:12:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitchFull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):1024:1032 -> k
    4:12:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):968 -> k
    4:12:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):958 -> k
    13:52: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):1224:1263 -> k
    13:52:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitchFull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):1034 -> k
    13:52:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):968 -> k
    13:52:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):958 -> k
    53:82:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitchFull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):1036:1065 -> k
    53:82:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):968 -> k
    53:82:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):958 -> k
    83:83:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> k
    83: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):1065 -> k
    83: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):968 -> k
    83:83:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):958 -> k
    84:87:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitchFull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):1065:1068 -> k
    84:87:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):968 -> k
    84:87:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):958 -> k
    1:1:void rewriteSwitchForMaxInt(com.android.tools.r8.ir.code.IRCode):972:972 -> l
    2:27:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitchForMaxIntOnly(com.android.tools.r8.ir.code.IRCode):980:1005 -> l
    2:27:void rewriteSwitchForMaxInt(com.android.tools.r8.ir.code.IRCode):974 -> l
    28:47:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitchForMaxIntOnly(com.android.tools.r8.ir.code.IRCode):999:1018 -> l
    28:47:void rewriteSwitchForMaxInt(com.android.tools.r8.ir.code.IRCode):974 -> l
    1:12:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):255:266 -> m
    13:13:boolean com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.isRequireNonNullMethod(com.android.tools.r8.graph.DexMethod):1491:1491 -> m
    13:13:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):266 -> m
    14:34:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):270:290 -> m
    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:44:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):292:300 -> m
    45:45:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> m
    45:45:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):300 -> m
    46:92:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):304:350 -> m
    93:116:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteIfToRequireNonNull(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):3374:3397 -> m
    93:116:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):343 -> m
    117:117:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):0:0 -> m
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":179,"2":180,"3":181}}
    179:179:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteIfToRequireNonNull(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):3398:3398 -> m
    179:179:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):343 -> m
    180:180:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteIfToRequireNonNull(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):3398:3398 -> m
    180:180:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):343 -> m
    181:181:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteIfToRequireNonNull(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):3398:3398 -> m
    181:181:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):343 -> m
    118:118:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteIfToRequireNonNull(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):3398:3398 -> m
    118:118:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):343 -> m
    119:173:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):356:410 -> m
    174:174:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> m
    174:174:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):410 -> m
    175:178:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):410:413 -> m
    1:43:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1924:1966 -> 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):1967 -> n
    45:53:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1968:1976 -> 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):1977 -> 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):1978 -> n
    56:71:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1979:1994 -> 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):1994 -> n
    73:73:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1997:1997 -> n
    74:75:void com.android.tools.r8.ir.optimize.CodeRewriter.forEachUse(com.android.tools.r8.ir.code.Instruction,java.util.function.Consumer):2024:2025 -> n
    74:75:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1997 -> n
    76:85:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):2011:2020 -> n
    1:1:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2248:2248 -> o
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> o
    2:2:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2248 -> o
    3:11:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2251:2259 -> o
    12:28:boolean com.android.tools.r8.ir.optimize.CodeRewriter.allowNewFilledArrayConstruction(com.android.tools.r8.ir.code.Instruction):2224:2240 -> o
    12:28:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2260 -> o
    29:60:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2263:2294 -> o
    61:77:short[] com.android.tools.r8.ir.optimize.CodeRewriter.computeArrayFilledData(com.android.tools.r8.ir.code.ConstInstruction[],int,int):2144:2160 -> o
    61:77:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2295 -> o
    78:119:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2299:2340 -> o
    120:120:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):0:0 -> o
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2466,"2":2467,"3":2468}}
    2466:2466:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2340:2340 -> o
    2467:2467:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2340:2340 -> o
    2468:2468:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2340:2340 -> o
    2461:2465:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2341:2345 -> o
    1:2:boolean simplifyControlFlow(com.android.tools.r8.ir.code.IRCode):2593:2594 -> p
    1:6:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2382:2387 -> 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):2387 -> q
    8:13:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2388:2393 -> 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):2351:2373 -> q
    14:36:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2395 -> q
    37:49:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2396:2408 -> 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):2378:2378 -> q
    50:50:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2395 -> q
    1:9:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2599:2607 -> 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):3429:3434 -> r
    10:15:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2608 -> 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):3434 -> r
    16:26:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2608 -> 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):3434:3434 -> r
    27:27:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2608 -> 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):3434 -> r
    28:38:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2608 -> 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):3442:3443 -> r
    39:40:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2608 -> 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):3444 -> r
    41:43:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2608 -> 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):3445:3445 -> r
    44:44:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2608 -> 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):3402:3412 -> r
    45:55:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2609 -> 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):3413 -> r
    56:58:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2609 -> 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):3414:3418 -> r
    59:63:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2609 -> 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):3419 -> r
    64:66:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2609 -> 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):3420:3420 -> r
    67:67:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2609 -> 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):3251:3253 -> r
    68:70:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2613 -> 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):3253 -> r
    71:71:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2613 -> r
    72:91:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3254:3273 -> r
    72:91:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2613 -> r
    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):3273 -> r
    92:92:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2613 -> r
    93:96:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3274:3277 -> r
    93:96:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2613 -> r
    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):3277 -> r
    97:97:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2613 -> r
    98:101:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3278:3281 -> r
    98:101:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2613 -> r
    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):3281 -> r
    102:102:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2613 -> r
    103:106:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3282:3285 -> r
    103:106:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2613 -> r
    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):3285 -> r
    107:107:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2613 -> r
    108:111:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3286:3289 -> r
    108:111:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2613 -> 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):3289 -> r
    112:112:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2613 -> 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):3291:3312 -> r
    113:134:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2613 -> r
    135:142:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2615:2622 -> 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):2651:2655 -> r
    143:147:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2623 -> 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):2866:2867 -> 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):2656 -> r
    148:149:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2623 -> r
    150:150:boolean com.android.tools.r8.ir.code.If.isNullTest():93:93 -> 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):2660 -> r
    150:150:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2623 -> 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):2661:2664 -> r
    151:154:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2623 -> 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):2866:2867 -> 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):2664 -> r
    155:156:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2623 -> 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):2668:2669 -> r
    157:158:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2623 -> 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):2866:2867 -> 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):2669 -> r
    159:160:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2623 -> 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):2674:2679 -> r
    161:166:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2623 -> 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):2866:2867 -> 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):2679 -> r
    167:168:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2623 -> 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):2684:2721 -> r
    169:206:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2623 -> 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):2711:2712 -> r
    207:208:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2623 -> 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):2700:2701 -> r
    209:210:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2623 -> r
    211:220:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2628:2637 -> 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):2866:2867 -> r
    221:222:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2637 -> r
    223:225:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2642:2644 -> 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):2644 -> r
    227:230:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2644:2647 -> r
    1:30:void splitRangeInvokeConstants(com.android.tools.r8.ir.code.IRCode):1729:1758 -> s
    1:14:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1769:1782 -> 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):1869:1872 -> t
    15:18:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1782 -> t
    19:20:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1783:1784 -> 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):1874:1874 -> t
    21:21:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1782 -> t
    22:35:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1786:1799 -> 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):1799 -> t
    37:55:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1799:1817 -> 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):1869:1872 -> 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):1885 -> t
    56:59:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1818 -> 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):1886:1898 -> t
    60:72:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1818 -> 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):1898 -> t
    73:73:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1818 -> 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):1899:1899 -> t
    74:74:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1818 -> 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):1899 -> t
    75:75:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1818 -> 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):1900:1913 -> t
    76:89:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1818 -> 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):1856:1861 -> t
    90:95:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1820 -> t
    96:106:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1821:1831 -> 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):1863:1863 -> t
    107:107:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1820 -> 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):1874:1874 -> 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):1885 -> t
    108:108:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1818 -> t
    109:109:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1837:1837 -> t
    1:7:void workaroundNumberConversionRegisterAllocationBug(com.android.tools.r8.ir.code.IRCode):3881:3887 -> 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):3887 -> u
    9:41:void workaroundNumberConversionRegisterAllocationBug(com.android.tools.r8.ir.code.IRCode):3888:3920 -> u
com.android.tools.r8.ir.optimize.CodeRewriter$1 -> com.android.tools.r8.internal.nb:
    int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
    1:1:void <clinit>():2694:2694 -> <clinit>
com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence -> com.android.tools.r8.internal.ob:
    com.android.tools.r8.utils.InternalOptions options -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():2415:2415 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.optimize.CodeRewriter$1):2415:2415 -> <init>
    2:3:void <init>(com.android.tools.r8.utils.InternalOptions):2419:2420 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):2415:2415 -> 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):2428:2428 -> a
    2:2:boolean doEquivalent(java.lang.Object,java.lang.Object):2415 -> 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):2428 -> a
    3:3:boolean doEquivalent(java.lang.Object,java.lang.Object):2415 -> 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):2428:2447 -> a
    4:23:boolean doEquivalent(java.lang.Object,java.lang.Object):2415 -> a
    24:24:int doHash(java.lang.Object):2415:2415 -> a
    25:30:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):2458:2463 -> a
    25:30:int doHash(java.lang.Object):2415 -> a
    31:36:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.getHashCode(com.android.tools.r8.ir.code.Value):2490:2490 -> a
    31:36:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):2464 -> a
    31:36:int doHash(java.lang.Object):2415 -> a
    38:40:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.getHashCode(com.android.tools.r8.ir.code.Value):2492:2494 -> a
    38:40:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):2464 -> a
    38:40:int doHash(java.lang.Object):2415 -> a
    41:45:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.getHashCode(com.android.tools.r8.ir.code.Value):2490:2494 -> a
    41:45:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):2466 -> a
    41:45:int doHash(java.lang.Object):2415 -> a
    46:50:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.getHashCode(com.android.tools.r8.ir.code.Value):2490:2494 -> a
    46:50:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):2467 -> a
    46:50:int doHash(java.lang.Object):2415 -> a
    51:51:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):2471:2471 -> a
    51:51:int doHash(java.lang.Object):2415 -> a
    52:56:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.getHashCode(com.android.tools.r8.ir.code.Value):2490:2494 -> a
    52:56:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):2472 -> a
    52:56:int doHash(java.lang.Object):2415 -> a
    57:62:boolean identicalValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):2479:2484 -> a
com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult -> com.android.tools.r8.internal.pb:
    boolean anyAffectedValues -> a
    boolean anySimplifications -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():2573:2573 -> <clinit>
    1:1:void <init>(boolean,boolean,com.android.tools.r8.ir.optimize.CodeRewriter$1):2573:2573 -> <init>
    2:5:void <init>(boolean,boolean):2577:2580 -> <init>
    1:1:boolean anyAffectedValues():2584:2584 -> a
    1:1:boolean anySimplifications():2588:2588 -> b
com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder -> com.android.tools.r8.internal.qb:
    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>():627:627 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.IRCode):635:636 -> <init>
    1:1:com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder setLeft(com.android.tools.r8.ir.code.Value):645:645 -> a
    2:2:com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder setRight(int):650:650 -> a
    3:3:com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder setFallthrough(com.android.tools.r8.ir.code.BasicBlock):660:660 -> a
    4:9:com.android.tools.r8.ir.code.BasicBlock build():665:670 -> 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():670 -> a
    11:13:com.android.tools.r8.ir.code.BasicBlock build():671:673 -> 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():673 -> a
    21:22:com.android.tools.r8.ir.code.BasicBlock build():675:676 -> 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():676 -> a
    27:29:com.android.tools.r8.ir.code.BasicBlock build():678:680 -> a
    1:1:com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder setTarget(com.android.tools.r8.ir.code.BasicBlock):655:655 -> b
com.android.tools.r8.ir.optimize.CodeRewriter$InstructionBuilder -> com.android.tools.r8.internal.rb:
    com.android.tools.r8.ir.code.Position position -> b
    int blockNumber -> a
    1:2:void <init>(com.android.tools.r8.ir.code.Position):555:556 -> <init>
com.android.tools.r8.ir.optimize.CodeRewriter$Interval -> com.android.tools.r8.internal.sb:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList keys -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():761:761 -> <clinit>
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList[]):765:765 -> <init>
    2:8:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList[]):763:769 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList access$000(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):761:761 -> a
    2:2:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode):799:799 -> 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):799 -> a
    4:4:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode):799:799 -> a
    1:1:int com.android.tools.r8.ir.optimize.CodeRewriter$Interval.getMax():778:778 -> b
    1:1:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):787 -> b
    2:2:int com.android.tools.r8.ir.optimize.CodeRewriter$Interval.getMin():774:774 -> b
    2:2:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):787 -> b
    3:3:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):788:788 -> 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):792 -> b
    5:5:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):792:792 -> 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):792 -> 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):794 -> b
    8:8:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):794:794 -> b
    9:9:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):782:782 -> b
    10:10:int com.android.tools.r8.ir.optimize.CodeRewriter$Interval.getMax():778:778 -> b
    10:10:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):782 -> b
    11:11:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):782:782 -> b
    12:12:int com.android.tools.r8.ir.optimize.CodeRewriter$Interval.getMin():774:774 -> b
    12:12:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):782 -> b
    13:14:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):782:783 -> 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):783 -> b
com.android.tools.r8.ir.optimize.CodeRewriter$SwitchBuilder -> com.android.tools.r8.internal.tb:
    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):573:573 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.code.Position):569:569 -> <init>
    1:1:com.android.tools.r8.ir.optimize.CodeRewriter$SwitchBuilder setValue(com.android.tools.r8.ir.code.Value):582:582 -> a
    2:2:com.android.tools.r8.ir.optimize.CodeRewriter$SwitchBuilder addKeyAndTarget(int,com.android.tools.r8.ir.code.BasicBlock):587:587 -> a
    3:3:com.android.tools.r8.ir.optimize.CodeRewriter$SwitchBuilder setFallthrough(com.android.tools.r8.ir.code.BasicBlock):592:592 -> a
    4:4:com.android.tools.r8.ir.code.BasicBlock build(com.android.tools.r8.ir.code.IRMetadata):598:598 -> 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):598 -> a
    6:26:com.android.tools.r8.ir.code.BasicBlock build(com.android.tools.r8.ir.code.IRMetadata):599:619 -> 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):619 -> 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):620 -> a
    32:33:com.android.tools.r8.ir.code.BasicBlock build(com.android.tools.r8.ir.code.IRMetadata):620:621 -> 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):610:610 -> 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):616:616 -> b
com.android.tools.r8.ir.optimize.ConstantCanonicalizer -> com.android.tools.r8.internal.id:
    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:194:boolean com.android.tools.r8.ir.code.Value.hasUserThatMatches(java.util.function.Predicate):426:427 -> a
    193:194:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):264 -> a
    195:203:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):265:273 -> a
    204:204:java.util.List lambda$canonicalize$1(com.android.tools.r8.ir.code.Instruction):182:182 -> a
    205:205:boolean lambda$canonicalize$2(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):199:199 -> a
    206:206: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.hd:
    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.ne:
    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():659:659 -> a
    51:51:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):139 -> a
    52:56:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):140:144 -> a
    57:74:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):141:158 -> a
    75:75:boolean com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult.isNotDead():0:0 -> a
    75:75:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):158 -> a
    76:76:boolean com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult.isMaybeDead():0:0 -> a
    76:76:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):161 -> a
    77:88:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):163:174 -> a
    89:89:void com.android.tools.r8.ir.optimize.DeadCodeRemover.updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Instruction):99:99 -> a
    89:89:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):177 -> a
    90:96:void com.android.tools.r8.ir.optimize.DeadCodeRemover.updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Value):87:93 -> a
    90:96:void com.android.tools.r8.ir.optimize.DeadCodeRemover.updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Instruction):100 -> a
    90:96:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):177 -> a
    97:97:void com.android.tools.r8.ir.optimize.DeadCodeRemover.updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Instruction):102:102 -> a
    97:97:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):177 -> a
    98:104:void com.android.tools.r8.ir.optimize.DeadCodeRemover.updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Value):87:93 -> a
    98:104:void com.android.tools.r8.ir.optimize.DeadCodeRemover.updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Instruction):103 -> a
    98:104:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):177 -> a
    105:107:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):181:183 -> a
    108:111:boolean removeUnneededCatchHandlers(com.android.tools.r8.ir.code.IRCode):189:192 -> a
    112:144:java.util.Collection com.android.tools.r8.ir.optimize.DeadCodeRemover.getDeadCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):221:253 -> a
    112:144:boolean removeUnneededCatchHandlers(com.android.tools.r8.ir.code.IRCode):193 -> a
    145:164:boolean removeUnneededCatchHandlers(com.android.tools.r8.ir.code.IRCode):194:213 -> a
    165:165:boolean com.android.tools.r8.ir.code.IRCode.isConsistentGraph():619:619 -> a
    165:165: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.me:
    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.je:
    1:1:void <init>():259:259 -> <init>
com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult$2 -> com.android.tools.r8.internal.ke:
    1:1:void <init>():267:267 -> <init>
com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult$3 -> com.android.tools.r8.internal.le:
    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.Be:
    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):265 -> 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):337:350 -> 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):269 -> a
    33:33:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> 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):350 -> a
    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):269 -> a
    34:35: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):350:351 -> a
    34:35: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):269 -> a
    36:36:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265:265 -> a
    36: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 -> a
    36: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):269 -> a
    37:37:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):261:261 -> a
    37:37:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265 -> 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):351 -> 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):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):347:347 -> 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):269 -> a
    39:40: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:271 -> a
    41: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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":476,"2":477,"3":478}}
    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):271:271 -> 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):271:271 -> a
    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):271:271 -> a
    314:363: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):273:322 -> a
    364:472: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):481:589 -> a
    364:472: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):320 -> a
    473:473: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
    473:473: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):265 -> a
    474: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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":479,"2":480,"3":481}}
    479:479: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
    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):265 -> a
    480:480: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
    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):265 -> a
    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):265 -> 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):103:103 -> 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):265 -> a
    482:490: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:141 -> a
    491:491:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    491:491: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):141 -> a
    492: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):143:147 -> a
    497:497:boolean com.android.tools.r8.graph.DexClassAndMethod.isStructurallyEqualTo(com.android.tools.r8.graph.DexClassAndMethod):41:41 -> 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):147 -> a
    498:515: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):150:167 -> a
    516:516: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
    516:516: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):167 -> a
    517:517: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
    517:517: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
    517:517: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
    517:517: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):167 -> a
    518:518: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):170:170 -> a
    519:519: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
    519:519:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179 -> a
    519:519: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):170 -> a
    520:520:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179:179 -> a
    520:520: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):170 -> a
    521: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:176 -> a
    527:527:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> 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):176 -> a
    528:549: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):176:197 -> a
    550: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):196:203 -> a
    558:558: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
    559:559: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):201:201 -> a
    560:560:com.android.tools.r8.graph.ProgramMethod lookupSingleTarget(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):252:252 -> a
    561:561: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
    561:561:com.android.tools.r8.graph.ProgramMethod lookupSingleTarget(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):252 -> a
    562:563: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):363:364 -> a
    564:564:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    564:564: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 -> a
    565:571: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):366:372 -> a
    572:572:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    572: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):372 -> a
    573:579: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):372:378 -> a
    580:589: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):391:400 -> a
    590:607: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):416:433 -> a
    608:623: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):432:447 -> a
    624:624: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):426:426 -> a
    625:627:boolean allowInliningOfInvokeInInlinee(com.android.tools.r8.ir.optimize.Inliner$InlineAction,int,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):459:461 -> a
    628:628:boolean com.android.tools.r8.ir.optimize.Inliner$Reason.mustBeInlined():498:498 -> a
    628:628:boolean allowInliningOfInvokeInInlinee(com.android.tools.r8.ir.optimize.Inliner$InlineAction,int,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):461 -> a
    629:634:boolean allowInliningOfInvokeInInlinee(com.android.tools.r8.ir.optimize.Inliner$InlineAction,int,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):465:470 -> a
    635:635:boolean stillHasBudget(com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):596:596 -> a
    636:636:boolean com.android.tools.r8.ir.optimize.Inliner$Reason.mustBeInlined():498:498 -> a
    636:636:boolean stillHasBudget(com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):596 -> a
    637:639:boolean stillHasBudget(com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):599:601 -> a
    640:640: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
    641:641:boolean com.android.tools.r8.ir.optimize.Inliner$Reason.mustBeInlined():498:498 -> a
    641:641: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 -> a
    642:644: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):624:626 -> a
    642:644: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):616 -> a
    645:645: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):617:617 -> a
    646:651: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):711:716 -> a
    646:651: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):618 -> a
    652:653:int com.android.tools.r8.ir.code.BasicBlock.numberOfThrowingInstructions():1633:1634 -> a
    652:653: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):716 -> a
    652: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):618 -> a
    654: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):722:727 -> a
    654: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):618 -> a
    660:692: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):646:678 -> a
    693:693:void markInlined(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason):737:737 -> 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):209:211 -> 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):225:227 -> b
    5:7:boolean satisfiesRequirementsForSimpleInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):212 -> 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):228 -> b
    8:8:boolean satisfiesRequirementsForSimpleInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):212 -> 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):229:242 -> b
    9:22:boolean satisfiesRequirementsForSimpleInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):212 -> b
    23:30:boolean satisfiesRequirementsForSimpleInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):213:220 -> b
com.android.tools.r8.ir.optimize.Devirtualizer -> com.android.tools.r8.internal.If:
    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):626:626 -> 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):35:35 -> 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):114:114 -> 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
    184:184:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):174 -> a
    185:187: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
    185:187:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):174 -> a
    188:200: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
    188:200:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):174 -> a
    201:203:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):176:176 -> a
    204:204:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> a
    204:204:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):182 -> a
    205:222:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):185:202 -> a
    223:226:boolean com.android.tools.r8.ir.optimize.Devirtualizer.isRebindingNewClassIntoMainDex(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):417:420 -> a
    223:226:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):202 -> a
    227:247:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):206:226 -> a
    248:269:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):225:246 -> a
    270:270:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessor():217:217 -> a
    270:270:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):247 -> a
    271:312:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):248:289 -> a
    313:313:void com.android.tools.r8.ir.code.DominatorTree.<init>(com.android.tools.r8.ir.code.IRCode):37:37 -> a
    313:313:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):289 -> a
    314:329:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):291:306 -> a
    330:334:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):305:309 -> a
    335:335:com.android.tools.r8.ir.optimize.AssumeRemover com.android.tools.r8.ir.optimize.AssumeRemover.removeMarkedInstructions():104:104 -> a
    335:335:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):315 -> a
    336:338:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):316:318 -> a
    339:339:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    339:339:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):318 -> a
    340:342:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):318:320 -> a
com.android.tools.r8.ir.optimize.DynamicTypeOptimization -> com.android.tools.r8.internal.nh:
    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
    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.yk:
    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
    7:14: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
    7:14: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
    15: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):83:83 -> a
    16:20: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
    21:21:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    21: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):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,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> 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 -> 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.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.mn:
    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.ln:
    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.cp:
    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>():88:88 -> <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):113:113 -> <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):103:124 -> <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):164:170 -> 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):170 -> a
    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):181:181 -> 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):846:852 -> 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):847:847 -> 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):880:885 -> 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):882:890 -> a
    33:35:com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy createDefaultInliningReasonStrategy(com.android.tools.r8.ir.conversion.MethodProcessor):896:898 -> 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):899:899 -> 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):919:919 -> 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):936:936 -> 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):936 -> 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):937:969 -> a
    73:79: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):1112:1118 -> a
    73:79: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):968 -> a
    80:89: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:1126 -> a
    80:89: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):968 -> a
    90: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):974:996 -> a
    113:113:boolean com.android.tools.r8.ir.optimize.Inliner$InlineResult.isRetryAction():0:0 -> a
    113:113: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):1000 -> a
    114:114:void com.android.tools.r8.ir.optimize.Inliner.enqueueMethodForReprocessing(com.android.tools.r8.graph.ProgramMethod):1241:1241 -> a
    114:114: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):1001 -> a
    115:123: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:1013 -> a
    124:165: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):1012:1053 -> a
    166:182: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):1047:1063 -> a
    183:212: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):1062:1091 -> a
    213:213:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    213:213: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):1093 -> a
    214:223: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):1094:1103 -> a
    224:230:boolean com.android.tools.r8.ir.optimize.Inliner.containsPotentialCatchHandlerVerificationError(com.android.tools.r8.ir.code.IRCode):1131:1137 -> a
    224:230:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):137 -> a
    231:231:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    231:231:boolean com.android.tools.r8.ir.optimize.Inliner.containsPotentialCatchHandlerVerificationError(com.android.tools.r8.ir.code.IRCode):1138 -> a
    231:231:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):137 -> a
    232:233:boolean com.android.tools.r8.ir.optimize.Inliner.containsPotentialCatchHandlerVerificationError(com.android.tools.r8.ir.code.IRCode):1138:1139 -> a
    232:233:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):137 -> a
    234:246:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):138:150 -> a
    247:249: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):129:131 -> a
    247:249:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):152 -> a
    250:250:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):158:158 -> a
    251: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):1175:1188 -> a
    265:265:void com.android.tools.r8.ir.optimize.Inliner.rewindBlockIterator(java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock):1222:1222 -> 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):1191 -> a
    266:266: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):1192:1192 -> a
    267:267:void com.android.tools.r8.ir.optimize.Inliner.rewindBlockIterator(java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock):1222:1222 -> a
    267:267: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):1195 -> a
    268:269:void lambda$postProcessInlineeBlocks$2(java.util.Set,java.util.Set,com.android.tools.r8.ir.code.BasicBlock):1184:1185 -> a
    270:272: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):1203:1205 -> a
    273:277:void applyMemberValuePropagationToInlinee(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set):1212:1216 -> a
    278:278:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    278:278:void applyMemberValuePropagationToInlinee(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set):1216 -> a
    279:281:void applyMemberValuePropagationToInlinee(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set):1216:1218 -> a
    282:289:void rewindBlockIterator(java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Consumer):1230:1237 -> a
    290:319:void onWaveDone():1254:1283 -> a
    320:338:void lambda$onWaveDone$4(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.ProgramMethodSet):1257:1275 -> a
    339:344:void lambda$onWaveDone$4(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.ProgramMethodSet):1274:1279 -> a
    345:346:void onLastWaveDone(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1292:1293 -> a
    347:347:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView):138:138 -> a
    347:347:void onLastWaveDone(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1293 -> a
    348:351:void onLastWaveDone(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1293:1296 -> a
    352:352:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView):138:138 -> a
    352:352:void onLastWaveDone(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1296 -> a
    353:354:void onLastWaveDone(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1296:1297 -> a
    355:362:void onLastWaveDone(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1294:1301 -> a
    363:363:boolean lambda$onLastWaveDone$5(com.android.tools.r8.graph.ProgramMethod):1299:1299 -> a
    364:364:boolean lambda$verifyAllSingleCallerMethodsHaveBeenPruned$6(com.android.tools.r8.graph.DexEncodedMethod):1308:1308 -> a
    365:367:void lambda$verifyAllSingleCallerMethodsHaveBeenPruned$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):1310:1310 -> a
    368:368:boolean verifyIsPrunedDueToSingleCallerInlining(com.android.tools.r8.graph.DexMethod):1318:1318 -> a
    369:371:boolean verifyAllMultiCallerInlinedMethodsHaveBeenPruned(com.android.tools.r8.graph.AppView):1323:1325 -> a
    1:6:int numberOfInstructions(com.android.tools.r8.ir.code.IRCode):795:800 -> 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):806 -> b
    8:15:int numberOfInstructions(com.android.tools.r8.ir.code.IRCode):812:819 -> b
    16:19:boolean lambda$onWaveDone$3(com.android.tools.r8.graph.ProgramMethod):1261:1264 -> b
    20:21:boolean verifyAllSingleCallerMethodsHaveBeenPruned(com.android.tools.r8.graph.AppView):1306:1307 -> b
    1:1:void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod):1250:1250 -> c
    1:1:void com.android.tools.r8.ir.optimize.Inliner.onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod):1250:1250 -> d
    1:1:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):1245 -> d
    2:2:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):1246:1246 -> 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>():191:191 -> <clinit>
    43:47:void <clinit>():216:220 -> <clinit>
    1:2:void <init>(java.lang.String,int,int):211:212 -> <init>
    1:1:com.android.tools.r8.ir.optimize.Inliner$Constraint[] values():191:191 -> a
    1:1:boolean isSet(int):231:231 -> c
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>():249:257 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.optimize.Inliner$Constraint):259:262 -> <init>
    5:9:void <init>(com.android.tools.r8.ir.optimize.Inliner$Constraint,com.android.tools.r8.graph.DexType):265:269 -> <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):292:315 -> 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):321:332 -> 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):337:387 -> a
    88:98:boolean verifyAllNestInSamePackage(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):464:474 -> 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):387 -> 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):388:395 -> a
    107:122:boolean allNestMembersSubtypeOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):441:456 -> 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):395 -> 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):399:432 -> a
    1:5:boolean equals(java.lang.Object):282:286 -> equals
    1:4:int hashCode():274:277 -> hashCode
    5:5:int com.android.tools.r8.graph.DexType.computeHashCode():124:124 -> hashCode
    5:5:int hashCode():277 -> hashCode
com.android.tools.r8.ir.optimize.Inliner$InlineAction -> com.android.tools.r8.internal.Wo:
    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 shouldSynthesizeInitClass -> d
    1:1:void <clinit>():513:513 -> <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):523:526 -> <init>
    com.android.tools.r8.ir.optimize.Inliner$InlineAction asInlineAction() -> a
    1:1:void setDowncastClass(com.android.tools.r8.graph.DexProgramClass):539:539 -> a
    2:10: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):552:560 -> a
    11:22:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.synthesizeInitClass(com.android.tools.r8.ir.code.IRCode):718:729 -> a
    11:22: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):561 -> a
    23:24:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):571:572 -> a
    25:25:boolean com.android.tools.r8.graph.DexEncodedMethod.isSynchronized():444:444 -> a
    25:25:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):572 -> 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):572:572 -> a
    27:27:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    27:27:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):572 -> a
    28: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):573:576 -> a
    32:32:boolean com.android.tools.r8.ir.code.Value.isMaybeNull():481:481 -> 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):576 -> a
    33:43: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:589 -> a
    44:57: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):584:597 -> a
    58:64: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):596:602 -> a
    65:65:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    65:65: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):603 -> a
    66:76: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):603:613 -> a
    77:77:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    77:77: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):618 -> a
    78:78: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):618:618 -> a
    79:86: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):617:624 -> a
    87:100: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):622:635 -> a
    101:101: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
    101:101:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):637 -> a
    102: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):638:677 -> a
    142:144: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):676:678 -> a
    145:145: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
    145:145: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):678 -> a
    146:182: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):678:714 -> a
    183:183:void lambda$buildInliningIR$0(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):590:590 -> a
    184:184:com.android.tools.r8.ir.code.Value lambda$buildInliningIR$1(com.android.tools.r8.ir.code.BasicBlock):640:640 -> a
    185:196:void setRemoveInnerFramePositionForReceiverUse(com.android.tools.r8.ir.code.Instruction):759:770 -> a
    1:1:com.android.tools.r8.graph.DexProgramClass getDowncastClass():535:535 -> b
    2:9:void 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):734:741 -> b
    10:10:boolean com.android.tools.r8.ir.code.BasicBlock.isEntry():610:610 -> b
    10:10:void 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):741 -> b
    11:24:void 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):741:754 -> b
    1:1:void setShouldSynthesizeInitClass():543:543 -> c
com.android.tools.r8.ir.optimize.Inliner$InlineResult -> com.android.tools.r8.internal.Xo:
    1:1:void <init>():502:502 -> <init>
    com.android.tools.r8.ir.optimize.Inliner$InlineAction asInlineAction() -> a
com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason -> com.android.tools.r8.internal.Yo:
    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):787:789 -> <init>
com.android.tools.r8.ir.optimize.Inliner$InliningInfo -> com.android.tools.r8.internal.Zo:
    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):833:835 -> <init>
com.android.tools.r8.ir.optimize.Inliner$Reason -> com.android.tools.r8.internal.ap:
    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>():487:494 -> <clinit>
    1:1:void <init>(java.lang.String,int):486:486 -> <init>
com.android.tools.r8.ir.optimize.Inliner$RetryAction -> com.android.tools.r8.internal.bp:
    1:1:void <init>():774:774 -> <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):429:429 -> 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
    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):397:397 -> 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):397:397 -> 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):52:52 -> 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):467:467 -> 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
    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: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:387 -> a
    296: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):189:190 -> a
    296: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:298: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
    298:298: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
    298:298: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
    299: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):393:395 -> a
    302:302: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":709,"2":710,"3":711}}
    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:395 -> a
    710:710:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> 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
    711:711:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    711:711: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
    698:701: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
    702: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):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):429:429 -> 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
    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):467:467 -> 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
    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):429:429 -> 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
    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):397:397 -> 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):467:467 -> 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
    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):429:429 -> 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
    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):467:467 -> 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
    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.gp:
    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.ip:
    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.Tp:
    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.nD:
    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: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):248:251 -> a
    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:266: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:225 -> a
    262:266: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:266:boolean hasSeen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):200 -> a
    267:268: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
    267:268: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
    267:268: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
    267:268:boolean hasSeen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):200 -> a
    269:272: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
    269: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):263 -> a
    269:272:boolean hasSeen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):200 -> a
    273:273: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
    273:273:boolean hasSeen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):200 -> a
    274:274:boolean hasSeen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):200:200 -> a
    275:275: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.yD:
    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: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):186:187 -> a
    47: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
    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:369: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:337 -> a
    360:369:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    370: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):336:352 -> a
    370: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.kE:
    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):193:193 -> 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
    21:21:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):144:144 -> a
    22:22:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateImplementsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):217:217 -> 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 -> a
    23:29:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):146:152 -> a
    30:30:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateExtendsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):193:193 -> a
    30:30:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):152 -> a
    31:31:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):154:154 -> a
    32:32:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateImplementsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):217:217 -> a
    32:32:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):154 -> a
    33:33:void com.android.tools.r8.ir.optimize.MemberPoolCollection.lambda$getAllSubTypesExclusive$1(java.util.Deque,com.android.tools.r8.graph.DexType):143:143 -> a
    34:34:void com.android.tools.r8.ir.optimize.MemberPoolCollection.addNonNull(java.util.Collection,java.lang.Object):273:273 -> a
    34:34: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.VE:
    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.gF:
    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:63:void onLastWaveDone(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):194:203 -> a
    64:64:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView):138:138 -> a
    64:64:void onLastWaveDone(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):203 -> a
    65:66:void onLastWaveDone(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):204:205 -> a
    67:67:com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraph lambda$onLastWaveDone$5(java.util.concurrent.ExecutorService):198:198 -> a
    68:124:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder computeMultiInlineCallerMethods(com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraph):213:269 -> a
    125:174: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):218:267 -> a
    175:175:boolean lambda$computeMultiInlineCallerMethods$7(com.android.tools.r8.graph.ProgramMethod):233:233 -> a
    176:177:void lambda$computeMultiInlineCallerMethods$8(com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod,int):263:264 -> 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.TF:
    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():1857:1857 -> a
    3:3:boolean com.android.tools.r8.utils.InternalOptions.shouldDesugarNests():519 -> a
    3:3:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):41 -> a
    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):31:31 -> 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):31:31 -> 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.UF:
    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):94:94 -> 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):94:94 -> 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.HK:
    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():477:477 -> 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
    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):1544:1544 -> 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):1543:1543 -> a
    150:150: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
    151:151:void applyOutliningCandidate(com.android.tools.r8.ir.code.IRCode):1577:1577 -> a
    152:152:boolean com.android.tools.r8.graph.Code.isOutlineCode():0:0 -> a
    152:152:void applyOutliningCandidate(com.android.tools.r8.ir.code.IRCode):1577 -> a
    153:168:void applyOutliningCandidate(com.android.tools.r8.ir.code.IRCode):1577:1592 -> a
    169:169:void lambda$applyOutliningCandidate$9(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Set,java.util.List):1584:1584 -> a
    170:176: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.vK:
    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:35:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):299:301 -> a
    36:36:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    36:36:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):301 -> a
    37:56:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):301:320 -> a
    57:57: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":402,"2":403,"3":404}}
    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
    404:404: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):320:320 -> a
    378:378:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):317:317 -> a
    379:379:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):314:314 -> a
    380:383:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):308:311 -> a
    384:401: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.wK:
    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:543:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):523:530 -> a
    544:544:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    544:544:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):530 -> a
    545:548:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):530:533 -> a
    549:549: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
    549:549:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):533 -> a
    550:550:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):534:534 -> a
    551:551:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):540:540 -> a
    552:552:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):344:344 -> a
    552:552:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):540 -> a
    553:553: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.xK:
    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:9:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):386:389 -> a
    10:10:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    10:10:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):389 -> a
    11:13:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):389:391 -> a
    14:14:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):397:397 -> a
    15:15:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":413,"2":414,"3":415}}
    413:413:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):397:397 -> a
    414:414:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    414:414:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):397 -> a
    415:415:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    415:415:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):397 -> a
    412:412: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.yK:
    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):397:397 -> 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):397:397 -> 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):397:397 -> 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):397:397 -> 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.zK:
    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:int computeHashCode():1820:1820 -> g0
    1:1:boolean computeEquals(java.lang.Object):1825:1825 -> h
    int estimatedDexCodeSizeUpperBoundInBytes() -> k0
    int estimatedSizeForInlining() -> l0
    1:1:java.lang.String toString():1805:1805 -> toString
com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction -> com.android.tools.r8.internal.BK:
    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.AK:
# {"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.CK:
    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.DK:
    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):316:316 -> a
    10:10:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1243 -> a
    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.EK:
    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.FK:
    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
    com.android.tools.r8.graph.DebugLocalInfo getOutgoingLocal(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
    9:19:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):1704:1714 -> a
    20:20:void resolveAndBuildSwitch(int,int,int,com.android.tools.r8.ir.conversion.IRBuilder):1720:1720 -> a
    21:21:void resolveAndBuildNewArrayFilledData(int,int,com.android.tools.r8.ir.conversion.IRBuilder):1726:1726 -> a
    com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder) -> b
    void setUp() -> b
    1:1:com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int):1741:1741 -> b
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int) -> c
    boolean verifyCurrentInstructionCanThrow() -> c
    1:9:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):1673:1681 -> c
    1:1:int instructionCount():1628:1628 -> d
    2:2:int getMoveExceptionRegister(int):1736:1736 -> d
    int instructionOffset(int) -> e
    1:1:com.android.tools.r8.ir.code.Position getCurrentPosition():1748:1748 -> e
    boolean verifyRegister(int) -> f
    int instructionIndex(int) -> g
com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter -> com.android.tools.r8.internal.GK:
    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:203:boolean canIncludeInstruction(com.android.tools.r8.ir.code.Instruction):874:943 -> a
    204:204:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> a
    204:204:boolean canIncludeInstruction(com.android.tools.r8.ir.code.Instruction):943 -> a
    205:211:boolean canIncludeInstruction(com.android.tools.r8.ir.code.Instruction):946:952 -> a
    212:212:boolean canIncludeInstruction(com.android.tools.r8.ir.code.Instruction):947:947 -> a
    213:213:boolean lambda$canIncludeInstruction$0(com.android.tools.r8.ir.code.Value):868:868 -> a
    214:214:com.android.tools.r8.graph.DexType argumentTypeFromInvoke(com.android.tools.r8.ir.code.InvokeMethod,int):958:958 -> a
    215:215:boolean com.android.tools.r8.ir.code.Instruction.isInvokePolymorphic():0:0 -> a
    215:215:com.android.tools.r8.graph.DexType argumentTypeFromInvoke(com.android.tools.r8.ir.code.InvokeMethod,int):958 -> a
    216:216:com.android.tools.r8.graph.DexType argumentTypeFromInvoke(com.android.tools.r8.ir.code.InvokeMethod,int):960:960 -> a
    217:217:boolean com.android.tools.r8.ir.code.Instruction.isInvokePolymorphic():0:0 -> a
    217:217:com.android.tools.r8.graph.DexType argumentTypeFromInvoke(com.android.tools.r8.ir.code.InvokeMethod,int):963 -> a
    218:223:com.android.tools.r8.graph.DexType argumentTypeFromInvoke(com.android.tools.r8.ir.code.InvokeMethod,int):965:970 -> a
    224:247: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
    248:248:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBoolean():0:0 -> a
    248:248:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():64 -> 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.isByte():0:0 -> a
    249:249:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():65 -> 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.isShort():0:0 -> a
    250:250:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():66 -> 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.isChar():0:0 -> a
    251:251:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():67 -> 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.isInt():0:0 -> a
    252:252:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():68 -> 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.isFloat():0:0 -> a
    253:253:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():69 -> 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.isLong():0:0 -> a
    254:254:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():70 -> 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:255:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDouble():0:0 -> a
    255:255:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():71 -> a
    255:255:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1019 -> a
    256:257: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
    258:258:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    258:258:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1021 -> a
    259:262: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
    263:292:void candidate(int,int):1130:1159 -> a
    293:303: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():477:477 -> b
    8:8:boolean supportedArgumentType(com.android.tools.r8.ir.code.Value):981 -> b
    9:15:boolean supportedArgumentType(com.android.tools.r8.ir.code.Value):984:990 -> b
com.android.tools.r8.ir.optimize.PeepholeOptimizer -> com.android.tools.r8.internal.cL:
    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: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):338:356 -> a
    324: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:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):452:452 -> a
    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.fL:
    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.JP:
    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>():58:58 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):81:81 -> <init>
    2:18:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):70:86 -> <init>
    1:1:boolean com.android.tools.r8.graph.Definition.isProgramField():0:0 -> a
    1:1:boolean isFinal(com.android.tools.r8.graph.DexClassAndField):177 -> a
    2:2:boolean isFinal(com.android.tools.r8.graph.DexClassAndField):180:180 -> a
    3:3:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    3:3:boolean isFinal(com.android.tools.r8.graph.DexClassAndField):180 -> a
    4:6:boolean isFinal(com.android.tools.r8.graph.DexClassAndField):181:183 -> a
    7:7:java.util.Set access$000(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination):58:58 -> a
    8:10:void lambda$processInstructionsToRemove$1(com.android.tools.r8.ir.code.BasicBlock,java.util.Set):315:315 -> a
    12:19:void lambda$processInstructionsToRemove$1(com.android.tools.r8.ir.code.BasicBlock,java.util.Set):317:324 -> a
    20:20:boolean lambda$processInstructionsToRemove$0(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):316:316 -> a
    21:40:void handleInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect):345:364 -> a
    41:41:void handleInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect):352:352 -> a
    42:49: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):367:374 -> a
    50:50:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    50: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):375 -> a
    51:59: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):376:384 -> a
    60:60:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    60: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):385 -> a
    61:68: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):386:393 -> a
    69:73:void markMostRecentInitClassForRemoval(com.android.tools.r8.graph.DexType):441:445 -> a
    74:83:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.FieldGet,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue,com.android.tools.r8.ir.optimize.AssumeRemover):493:502 -> a
    84:86:boolean lambda$markAssumeDynamicTypeUsersForRemoval$3(com.android.tools.r8.ir.code.FieldGet,com.android.tools.r8.ir.code.Instruction):499:501 -> a
    87:91:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):509:513 -> a
    92:92:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):62:62 -> a
    92:92:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):513 -> a
    93:101:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):514:522 -> 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):522 -> a
    103:104:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):522:523 -> a
    105:108:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():333:336 -> a
    105:108:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):524 -> a
    109:113:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():335:339 -> a
    109:113:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):524 -> a
    114:114:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    114:114:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():339 -> a
    114:114:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):524 -> a
    115:115:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():339:339 -> a
    115:115:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):524 -> a
    116:119:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():337:340 -> a
    116:119:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):524 -> a
    120:131:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):525:536 -> a
    132:139:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):535:542 -> a
    140:140:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):599:599 -> a
    141:141:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.markClassAsInitialized(com.android.tools.r8.graph.DexType):437:437 -> a
    141:141:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):599 -> a
    142:146:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):602:606 -> a
    147:147:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):62:62 -> a
    147:147:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):606 -> a
    148:165:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):607:624 -> a
    166:174:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):623:631 -> a
    175:175:void applyObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):635:635 -> 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):637:641 -> a
    181:184:void killAllNonFinalActiveFields():649:652 -> a
    185:185:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):656:656 -> a
    186:186:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> a
    186:186:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):656 -> a
    187:195:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):656:664 -> a
    196:196:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> a
    196:196:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):666 -> a
    197:197:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    197:197:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):666 -> a
    198:198:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    198:198:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):673 -> a
    199:199:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):674:674 -> a
    200:204:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):667:671 -> a
    1:1:com.android.tools.r8.graph.AppView access$100(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination):58:58 -> b
    2:2:void processInstructionsToRemove():313:313 -> b
    3:3:java.lang.Boolean lambda$handleStaticPut$4(com.android.tools.r8.graph.DexClassAndField):613:613 -> 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):613 -> b
    5:5:java.lang.Boolean lambda$handleStaticPut$4(com.android.tools.r8.graph.DexClassAndField):613:613 -> b
    1:1:com.android.tools.r8.graph.ProgramMethod access$200(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination):58:58 -> c
    2:4:void run():199:201 -> c
    5:5:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessor():217:217 -> c
    5:5:void run():201 -> c
    6:12:void run():202:208 -> c
    13:13:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessor():217:217 -> c
    13:13:void run():208 -> c
    14:23:void run():212:221 -> c
    24:30:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.resolveField(com.android.tools.r8.graph.DexField):187:193 -> c
    24:30:void run():222 -> c
    31:31:void run():223:223 -> c
    32:32:boolean com.android.tools.r8.graph.DexEncodedField.isVolatile():238:238 -> c
    32:32:void run():223 -> c
    33:33:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> c
    33:33:void run():228 -> c
    34:34:void run():229:229 -> c
    35:35: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):454:454 -> c
    35:35:void run():229 -> c
    36:36:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentInstanceFieldWrite(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField):484:484 -> c
    36:36: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):455 -> c
    36:36:void run():229 -> c
    37:37:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):62:62 -> c
    37:37:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentInstanceFieldWrite(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField):484 -> c
    37:37: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):455 -> c
    37:37:void run():229 -> c
    38:40:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentInstanceFieldWrite(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField):485:487 -> c
    38:40: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):455 -> c
    38:40:void run():229 -> c
    41:51: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):459:469 -> c
    41:51:void run():229 -> c
    52:52:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentInstanceFieldWrite(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField):484:484 -> c
    52:52: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):470 -> c
    52:52:void run():229 -> c
    53:53:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):62:62 -> c
    53:53:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentInstanceFieldWrite(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField):484 -> c
    53:53: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):470 -> c
    53:53:void run():229 -> c
    54:56:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentInstanceFieldWrite(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField):485:487 -> c
    54:56: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):470 -> c
    54:56:void run():229 -> c
    57:58:void run():230:231 -> c
    59:59:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> c
    59:59:void run():232 -> c
    60:60:void run():233:233 -> c
    61:61: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):550:550 -> c
    61:61:void run():233 -> c
    62:62:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.markClassAsInitialized(com.android.tools.r8.graph.DexType):437:437 -> c
    62:62: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):550 -> c
    62:62:void run():233 -> c
    63:64: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):552:553 -> c
    63:64:void run():233 -> c
    65:65:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentStaticFieldWrite(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField):591:591 -> c
    65:65: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):554 -> c
    65:65:void run():233 -> c
    66:66:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):62:62 -> c
    66:66:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentStaticFieldWrite(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField):591 -> c
    66:66: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):554 -> c
    66:66:void run():233 -> c
    67:69:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentStaticFieldWrite(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField):592:594 -> c
    67:69: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):554 -> c
    67:69:void run():233 -> c
    70:78: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):558:566 -> c
    70:78:void run():233 -> c
    79:79:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentStaticFieldWrite(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField):591:591 -> c
    79:79: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):567 -> c
    79:79:void run():233 -> c
    80:80:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):62:62 -> c
    80:80:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentStaticFieldWrite(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField):591 -> c
    80:80: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):567 -> c
    80:80:void run():233 -> c
    81:83:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentStaticFieldWrite(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField):592:594 -> c
    81:83: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):567 -> c
    81:83:void run():233 -> c
    84:91: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):569:576 -> c
    84:91:void run():233 -> c
    92:92:boolean com.android.tools.r8.graph.AppView.hasLiveness():659:659 -> c
    92:92: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):576 -> c
    92:92:void run():233 -> c
    93:100: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):578:585 -> c
    93:100:void run():233 -> c
    101:102:void run():234:235 -> c
    103:103:void run():224:224 -> c
    104:104:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> c
    104:104:void run():237 -> c
    105:105:void run():238:238 -> c
    106:106:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> c
    106:106:void run():239 -> c
    107:107:void run():240:240 -> c
    108:118:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInitClass(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InitClass):416:426 -> c
    108:118:void run():240 -> c
    119:119:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.markClassAsInitialized(com.android.tools.r8.graph.DexType):437:437 -> c
    119:119:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInitClass(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InitClass):427 -> c
    119:119:void run():240 -> c
    120:124:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInitClass(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InitClass):428:432 -> c
    120:124:void run():240 -> c
    125:125:boolean com.android.tools.r8.ir.code.Instruction.isMonitor():0:0 -> c
    125:125:void run():241 -> c
    126:132:void run():242:248 -> c
    133:133:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic):399:399 -> c
    133:133:void run():248 -> c
    134:134:boolean com.android.tools.r8.graph.AppView.hasClassHierarchy():642:642 -> c
    134:134:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic):399 -> c
    134:134:void run():248 -> c
    135:142:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic):400:407 -> c
    135:142:void run():248 -> c
    143:143:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.markClassAsInitialized(com.android.tools.r8.graph.DexType):437:437 -> c
    143:143:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic):407 -> c
    143:143:void run():248 -> c
    144:148:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic):408:412 -> c
    144:148:void run():248 -> c
    149:149:void run():249:249 -> c
    150:150:boolean com.android.tools.r8.ir.code.Instruction.isInvokeCustom():0:0 -> c
    150:150:void run():249 -> c
    151:152:void run():251:252 -> c
    153:153:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleNewInstance(com.android.tools.r8.ir.code.NewInstance):474:474 -> c
    153:153:void run():252 -> c
    154:154:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.markClassAsInitialized(com.android.tools.r8.graph.DexType):437:437 -> c
    154:154:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleNewInstance(com.android.tools.r8.ir.code.NewInstance):474 -> c
    154:154:void run():252 -> c
    155:157:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleNewInstance(com.android.tools.r8.ir.code.NewInstance):475:477 -> c
    155:157:void run():252 -> c
    158:170:void run():256:268 -> c
    171:171:boolean com.android.tools.r8.ir.code.Instruction.isArrayLength():0:0 -> c
    171:171:void run():269 -> c
    172:175:void run():270:273 -> c
    176:176:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> c
    176:176:void run():274 -> c
    177:177:boolean com.android.tools.r8.ir.code.Instruction.isConstMethodHandle():0:0 -> c
    177:177:void run():275 -> c
    178:178:boolean com.android.tools.r8.ir.code.Instruction.isConstMethodType():0:0 -> c
    178:178:void run():276 -> c
    179:179:void run():277:277 -> c
    180:180:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> c
    180:180:void run():278 -> c
    181:181:void run():279:279 -> c
    182:182:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> c
    182:182:void run():280 -> c
    183:184:void run():281:282 -> c
    185:185:boolean com.android.tools.r8.ir.code.Instruction.isInstanceOf():0:0 -> c
    185:185:void run():283 -> c
    186:186:boolean com.android.tools.r8.ir.code.Instruction.isInvokeMultiNewArray():0:0 -> c
    186:186:void run():284 -> c
    187:187:boolean com.android.tools.r8.ir.code.Instruction.isInvokeNewArray():0:0 -> c
    187:187:void run():285 -> c
    188:188:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> c
    188:188:void run():286 -> c
    189:189:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> c
    189:189:void run():287 -> c
    190:194:void run():288:292 -> c
    195:195:boolean com.android.tools.r8.ir.code.Instruction.isRecordFieldValues():0:0 -> c
    195:195:void run():293 -> c
    196:196:void run():267:267 -> c
    197:197:void run():0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":508,"2":509,"3":510}}
    508:508:void run():267:267 -> c
    509:509:void run():267:267 -> c
    510:510:void run():267:267 -> c
    491:491:void run():294:294 -> c
    492:492:void run():250:250 -> c
    493:493:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessor():217:217 -> c
    493:493:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessorWithUniquePredecessor():221 -> c
    493:493:void run():297 -> c
    494:494:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessorWithUniquePredecessor():221:221 -> c
    494:494:void run():297 -> c
    495:504:void run():298:307 -> c
    505:505:com.android.tools.r8.ir.optimize.AssumeRemover com.android.tools.r8.ir.optimize.AssumeRemover.removeMarkedInstructions():104:104 -> c
    505:505:void run():308 -> c
    506:507:void run():308:309 -> c
    1:1:com.android.tools.r8.ir.code.IRCode access$300(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination):58:58 -> d
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState -> com.android.tools.r8.internal.DP:
    java.util.LinkedHashMap finalInstanceFieldValues -> a
    java.util.LinkedHashMap nonFinalInstanceFieldValues -> d
    java.util.LinkedHashMap nonFinalStaticFieldValues -> e
    boolean $assertionsDisabled -> j
    java.util.LinkedHashMap finalStaticFieldValues -> b
    com.android.tools.r8.ir.code.InitClass mostRecentInitClass -> f
    int maxCapacity -> i
    java.util.LinkedHashMap mostRecentStaticFieldWrites -> h
    java.util.LinkedHashMap mostRecentInstanceFieldWrites -> g
    java.util.LinkedHashSet initializedClasses -> c
    1:1:void <clinit>():802:802 -> <clinit>
    1:2:void <init>(int):822:823 -> <init>
    3:35:void <init>(int,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):827:859 -> <init>
    1:1:int access$700(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):802:802 -> a
    2:3:void clearMostRecentInstanceFieldWrite(com.android.tools.r8.graph.DexField):870:871 -> a
    4:4:boolean lambda$clearMostRecentInstanceFieldWrite$0(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):871:871 -> a
    5:5:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.clearMostRecentInstanceFieldWrites():876:876 -> a
    5:5:void clearMostRecentFieldWrites():865 -> a
    6:6:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.clearMostRecentStaticFieldWrites():886:886 -> a
    6:6:void clearMostRecentFieldWrites():866 -> a
    7:11:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue getInstanceFieldValue(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):907:911 -> a
    12:12:void intersectFieldValues(java.util.Map,java.util.Map):956:956 -> a
    13:13:boolean lambda$intersectFieldValues$1(java.util.Map,java.util.Map$Entry):956:956 -> a
    14:14:void intersectInitializedClasses(java.util.Set,java.util.Set):961:961 -> a
    15:15:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):984:984 -> a
    16:16:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    16:16:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):985 -> a
    17:18:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):986:987 -> a
    19:20:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeFinalInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1045:1046 -> a
    19:20:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1039 -> a
    19:20:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):988 -> a
    21:22:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeNonFinalInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1051:1052 -> a
    21:22:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1040 -> a
    21:22:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):988 -> a
    23:24:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeMostRecentInstanceFieldWrite(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1081:1082 -> a
    23:24:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1041 -> a
    23:24:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):988 -> a
    25:25:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    25:25:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):989 -> a
    26:27:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeFinalStaticField(com.android.tools.r8.graph.DexField):1069:1070 -> a
    26:27:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeStaticField(com.android.tools.r8.graph.DexField):1063 -> a
    26:27:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):990 -> a
    28:28:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeStaticField(com.android.tools.r8.graph.DexField):1064:1064 -> a
    28:28:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):990 -> a
    29:30:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeMostRecentStaticFieldWrite(com.android.tools.r8.graph.DexField):1087:1088 -> a
    29:30:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeStaticField(com.android.tools.r8.graph.DexField):1065 -> a
    29:30:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):990 -> a
    31:32:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.killActiveInitializedClassesForExceptionalExit(com.android.tools.r8.ir.code.InitClass):995:996 -> a
    31:32:void access$600(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState,com.android.tools.r8.ir.code.InitClass):802 -> a
    33:37:boolean markClassAsInitialized(com.android.tools.r8.graph.DexType):1001:1005 -> a
    38:40:void reduceSize(int):1009:1011 -> a
    41:44:int com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.reduceSize(int,java.util.Set):1025:1028 -> a
    41:44:void reduceSize(int):1011 -> a
    45:51:void reduceSize(int):1012:1018 -> a
    52:52:int reduceSize(int,java.util.Map):1035:1035 -> a
    53:56:int com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.reduceSize(int,java.util.Set):1025:1028 -> a
    53:56:int reduceSize(int,java.util.Map):1035 -> a
    57:61:void putFinalInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue):1093:1097 -> a
    62:66:void putFinalStaticField(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue):1101:1105 -> a
    67:71:com.android.tools.r8.ir.code.InstancePut putMostRecentInstanceFieldWrite(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject,com.android.tools.r8.ir.code.InstancePut):1110:1114 -> a
    72:76:com.android.tools.r8.ir.code.StaticPut putMostRecentStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.StaticPut):1118:1122 -> a
    77:77:void setMostRecentInitClass(com.android.tools.r8.ir.code.InitClass):1148:1148 -> a
    78:78:int size(java.util.Map):1172:1172 -> a
    1:2:void clearMostRecentStaticFieldWrite(com.android.tools.r8.graph.DexField):880:881 -> b
    3:30:void intersect(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):924:951 -> b
    31:31:boolean lambda$removeNonFinalInstanceFields$2(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1058:1058 -> b
    32:37:void putNonFinalInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue):1126:1131 -> b
    38:43:void putNonFinalStaticField(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue):1135:1140 -> b
    44:45:com.android.tools.r8.ir.code.InitClass clearMostRecentInitClass():1152:1153 -> b
    1:1:void clearNonFinalInstanceFields():890:890 -> c
    2:6:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue getStaticFieldValue(com.android.tools.r8.graph.DexField):916:920 -> c
    1:1:void clearNonFinalStaticFields():894:894 -> d
    2:3:void removeNonFinalInstanceFields(com.android.tools.r8.graph.DexField):1057:1058 -> d
    1:4:void ensureCapacityForNewElement():898:901 -> e
    5:6:void removeNonFinalStaticField(com.android.tools.r8.graph.DexField):1075:1076 -> e
    1:1:com.android.tools.r8.ir.code.InitClass getMostRecentInitClass():1144:1144 -> f
    1:1:boolean isEmpty():965:965 -> g
    2:2:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Map):977:977 -> g
    2:2:boolean isEmpty():965 -> g
    3:3:boolean isEmpty():965:965 -> g
    4:4:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Map):977:977 -> g
    4:4:boolean isEmpty():966 -> g
    5:5:boolean isEmpty():966:966 -> g
    6:6:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Set):973:973 -> g
    6:6:boolean isEmpty():967 -> g
    7:7:boolean isEmpty():967:967 -> g
    8:8:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Map):977:977 -> g
    8:8:boolean isEmpty():968 -> g
    9:9:boolean isEmpty():968:968 -> g
    10:10:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Map):977:977 -> g
    10:10:boolean isEmpty():969 -> g
    1:2:int size():1158:1159 -> h
    3:3:int com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.size(java.util.Set):1168:1168 -> h
    3:3:int size():1160 -> h
    4:8:int size():1160:1164 -> h
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates -> com.android.tools.r8.internal.EP:
    java.util.LinkedHashMap activeStateAtExit -> a
    int capacity -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():678:678 -> <clinit>
    1:6:void <init>():678:683 -> <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):686 -> a
    2:24:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock,int):687:709 -> a
    25:25:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> a
    25:25:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock,int):710 -> a
    26:26:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock,int):711:711 -> a
    27:28:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):750:751 -> a
    29:33:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.removeState(com.android.tools.r8.ir.code.BasicBlock):783:787 -> a
    29:33:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):752 -> a
    34:37:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):754:757 -> a
    38:42:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.removeState(com.android.tools.r8.ir.code.BasicBlock):783:787 -> a
    38:42:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):758 -> a
    43:43:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):760:760 -> a
    44:48:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):768:772 -> a
    49:49:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueSuccessorWithUniquePredecessor():213:213 -> a
    49:49:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):772 -> a
    50:51:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):773:774 -> a
    52:77:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.ensureCapacity(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):720:745 -> a
    52:77:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):776 -> a
    78:80:int com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.size():793:795 -> a
    78:80:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.ensureCapacity(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):745 -> a
    78:80:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):776 -> a
    81:81:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.ensureCapacity(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):745:745 -> a
    81:81:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):776 -> a
    82:84:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):777:779 -> a
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ExistingValue -> com.android.tools.r8.internal.FP:
    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):103:103 -> <init>
    2:3:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination,com.android.tools.r8.ir.code.Value):107:108 -> <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.FieldInstruction):118:121 -> a
    1:1:com.android.tools.r8.ir.code.Value getValue():125:125 -> b
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":132,"2":133,"3":134}}
    132:132:java.lang.String toString():130:130 -> toString
    133:133:java.lang.String toString():130:130 -> toString
    134:134:java.lang.String toString():130:130 -> toString
    131:131:java.lang.String toString():130:130 -> toString
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject -> com.android.tools.r8.internal.GP:
    com.android.tools.r8.graph.DexField field -> a
    com.android.tools.r8.ir.code.Value object -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():151:151 -> <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):151:151 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value):155:158 -> <init>
    1:1:com.android.tools.r8.graph.DexField access$800(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):151:151 -> a
    1:5:boolean equals(java.lang.Object):168:172 -> equals
    1:1:int hashCode():163:163 -> hashCode
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue -> com.android.tools.r8.internal.HP:
    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.FieldInstruction) -> a
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$MaterializableValue -> com.android.tools.r8.internal.IP:
    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>():134:134 -> <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):134:134 -> <init>
    2:4:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination,com.android.tools.r8.ir.analysis.value.SingleValue):138:140 -> <init>
    1:3:void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):145:147 -> 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.FieldInstruction):147 -> a
    5:5:void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):146:146 -> a
com.android.tools.r8.ir.optimize.ReflectionOptimizer -> com.android.tools.r8.internal.lR:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():35:35 -> <clinit>
    1:21:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):41:61 -> a
    22: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):210:227 -> a
    22:39:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    40:40:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> 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):227 -> a
    40:40:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    41:41: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
    41:41:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    42:42:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    42: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):228 -> a
    42:42:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    43:45: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
    43:45:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    46:46:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    46:46: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
    46:46:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    47:47: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
    47:47:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    48:49:java.lang.String com.android.tools.r8.utils.DescriptorUtils.javaTypeToDescriptorIfValidJavaType(java.lang.String):93:94 -> a
    48:49: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
    48:49:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    50:82: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
    50:82:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    83:93: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
    83:93:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    94:94: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
    94:94:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    95:99: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
    95:99:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    100:101:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):67:68 -> a
    102:146: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
    102:146:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):64 -> a
    147:148:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):74:75 -> a
    149:149:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    149:149:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):75 -> a
    150:152:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):75:77 -> a
    153:153:boolean lambda$rewriteGetClassOrForNameToConstClass$0(com.android.tools.r8.ir.code.Instruction):51:51 -> a
    154:154: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
    155:162: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
    163: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):95:111 -> a
    180:180: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
    180:180: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
    181:202: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
    203: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):131:145 -> a
    218:218:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> 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.wT:
    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:30:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):84:110 -> a
    31:31:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    31:31:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):110 -> a
    32:94:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):114:176 -> a
    95:108:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):175:188 -> a
    109:110: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
    111:111:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    111: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):180 -> 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):182:182 -> 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):181:181 -> a
    114:120: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
    121:141: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
    142:142: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
    143:149: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
    150:150: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
    151:155: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
    156:156:com.android.tools.r8.graph.DexType lambda$createSynthesizedMethod$1(com.android.tools.r8.graph.DexClass):211:211 -> a
    157:158: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
    159:167: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
    159:167: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
    168:183: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
    168:183: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
    184:184: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
    184:184: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
    185:207: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
    185:207: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
    208:208: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
    208:208: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
    209:238: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
    209:238: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
    239:239: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
    239:239: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
    240:268: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
    240:268: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
    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):172:172 -> a
    269:269: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
    269:269: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.vT:
    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.YT:
    com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult NO_RESULT -> a
    boolean $assertionsDisabled -> b
    1:203:void <clinit>():28:230 -> <clinit>
    1:1:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult access$100():28:28 -> 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):302:308 -> 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):238 -> 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):308 -> a
    10:66: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):239:295 -> a
    10:66:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult canInlineWithoutSynthesizingNullCheckForReceiver(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):308 -> a
    67:67:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.DepthFirstSearchWorkListBase.run(java.lang.Object[]):125:125 -> a
    67: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):295 -> a
    67:67:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult canInlineWithoutSynthesizingNullCheckForReceiver(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):308 -> 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):297:297 -> 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):308 -> a
    69:77: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):311:319 -> a
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$1 -> com.android.tools.r8.internal.QT:
    1:1:void <init>(java.util.List,java.util.List):230:230 -> <init>
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$2 -> com.android.tools.r8.internal.RT:
    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>():240:240 -> <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):240:240 -> <init>
    1:9:com.android.tools.r8.utils.TraversalContinuation process(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.function.Function):248:256 -> a
    10:10:void com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResultBuilder.addSatisfyingInstruction(com.android.tools.r8.ir.code.Instruction):215:215 -> a
    10:10:com.android.tools.r8.utils.TraversalContinuation process(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.function.Function):256 -> a
    11:23:com.android.tools.r8.utils.TraversalContinuation process(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.function.Function):262:274 -> a
    24:30:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionEffect.toResultState():52:58 -> a
    24:30:com.android.tools.r8.utils.TraversalContinuation process(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.function.Function):274 -> a
    31:32:com.android.tools.r8.utils.TraversalContinuation process(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.function.Function):274:275 -> a
    33:41:com.android.tools.r8.utils.TraversalContinuation joiner(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.List):282:290 -> a
    42:42:boolean com.android.tools.r8.ir.code.BasicBlock.isEntry():610:610 -> a
    42:42:com.android.tools.r8.utils.TraversalContinuation joiner(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.List):290 -> a
    43:43:com.android.tools.r8.utils.TraversalContinuation joiner(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.List):291:291 -> a
    44:44:void com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResultBuilder.setFailingBlocksForPartialResults(java.util.List):219:219 -> a
    44:44:com.android.tools.r8.utils.TraversalContinuation joiner(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.List):291 -> a
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis -> com.android.tools.r8.internal.ST:
    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):158:158 -> a
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionEffect$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.TT:
# {"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>():30:30 -> <clinit>
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.UT:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    boolean com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState.isNotComputed() -> a
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultStateWithPartialBlocks -> com.android.tools.r8.internal.VT:
    java.util.List failingBlocks -> b
    com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState state -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():107:107 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState,java.util.List,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$1):107:107 -> <init>
    2:4:void <init>(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState,java.util.List):112:114 -> <init>
    1:1:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState access$400(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultStateWithPartialBlocks):107:107 -> a
    2:8:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultStateWithPartialBlocks joinChildren(java.util.List):119:125 -> 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):94:97 -> a
    9:12:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultStateWithPartialBlocks joinChildren(java.util.List):125 -> a
    13:25:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultStateWithPartialBlocks joinChildren(java.util.List):127:139 -> a
    1:1:java.util.List access$500(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultStateWithPartialBlocks):107:107 -> b
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult -> com.android.tools.r8.internal.WT:
    java.util.List topmostNotSatisfiedBlocks -> b
    java.util.List satisfyingInstructions -> a
    1:1:void <init>(java.util.List,java.util.List,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$1):167:167 -> <init>
    2:5:void <init>(java.util.List,java.util.List):173:176 -> <init>
    boolean hasResult() -> a
    1:1:void forEachSatisfyingInstruction(java.util.function.Consumer):184:184 -> a
    1:1:void forEachTopMostNotSatisfiedBlock(java.util.function.Consumer):188:188 -> b
    2:2:boolean isPartial():200:200 -> b
    1:1:int topMostNotSatisfiedBlockSize():192:192 -> c
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResultBuilder -> com.android.tools.r8.internal.XT:
    java.util.List failingBlocksForPartialResults -> b
    java.util.List satisfyingInstructions -> a
    boolean isFailed -> c
    1:4:void <init>():204:207 -> <init>
    5:5:void <init>(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$1):204:204 -> <init>
    1:3:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult build():223:225 -> a
    1:1:void fail():211:211 -> b
com.android.tools.r8.ir.optimize.SwitchCaseEliminator -> com.android.tools.r8.internal.YW:
    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.ZW:
    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.A00:
    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):172:172 -> 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):172:172 -> 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):172:172 -> 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.y00:
    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.z00:
    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.aa:
    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():506:506 -> 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):265:265 -> 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):261:261 -> a
    156:156:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265 -> 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.Z9:
    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.ba:
    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():477:477 -> 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
    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.ir.code.Instruction.isInstanceGet():0:0 -> 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):122 -> 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:59: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
    57:59:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):81 -> a
    60:67: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
    60:67: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
    60:67:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):81 -> a
    68:69: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
    68:69:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):81 -> a
    70:70:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    70: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):130 -> a
    70: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 willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):82:82 -> a
    72:74:boolean com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.exceedsInstructionBudgetAfterIncrement(int):98:100 -> a
    72:74:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):83 -> a
    75:75: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.ea:
    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.Qj:
    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.Uo:
    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: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):858:885 -> a
    88:115:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    116:116:boolean com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo.receiverMayEscapeOutsideConstructorChain():72:72 -> a
    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):885 -> a
    116:116:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    117:127: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:899 -> a
    117:127:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    128:128: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):67:67 -> a
    128:128: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
    128:128:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    129:145: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
    129:145:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    146:164: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:929 -> a
    146:164:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    165:165:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):333:333 -> a
    166:166: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
    166:166:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    167:167:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> a
    167:167: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
    167:167:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    168:177: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:1088 -> a
    168:177:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    178:178:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    178:178: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
    178:178:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    179:185: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
    179:185:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    186: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):1095:1109 -> a
    186: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):1210:1210 -> 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:203:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.exemptFromInstructionLimit(com.android.tools.r8.graph.ProgramMethod):1196:1197 -> a
    202:203: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
    202:203: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
    202:203:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    204:204: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
    204:204: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
    204:204:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    205:208:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):350:353 -> a
    209:229:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):232:252 -> a
    230:230: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
    231:236: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
    231:236: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
    237:264: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
    237:264: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
    265:265: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):67:67 -> a
    265:265: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
    265:265: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
    266:279: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
    266:279: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
    280:288: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
    280:288: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
    289:289: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
    289:289: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
    290:290: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
    290:290: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
    291:318: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
    291:318: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
    319:322: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
    319: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):386 -> a
    323:325: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
    326:345:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):590:609 -> a
    326:345: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
    346:346:boolean com.android.tools.r8.graph.Definition.isLibraryMethod():0:0 -> a
    346:346:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):610 -> a
    346:346: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
    347:376:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):611:640 -> a
    347:376: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
    377:377: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":508,"2":509,"3":510}}
    508:508:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):641:641 -> a
    508:508: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
    509:509:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):641:641 -> a
    509:509: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
    510:510:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):641:641 -> a
    510:510: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
    378:378:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):641:641 -> a
    378:378: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
    379:379:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    379:379:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):646 -> a
    379: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:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):646:646 -> 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):390 -> a
    381:381:boolean com.android.tools.r8.ir.code.Instruction.isMonitor():0:0 -> a
    381:381:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):651 -> a
    381:381: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
    382:386:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):654:658 -> a
    382:386: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
    387:387: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":527,"2":528,"3":529}}
    527:527:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):658:658 -> 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):390 -> a
    528:528:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):658:658 -> 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):390 -> a
    529:529:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):658:658 -> 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):390 -> a
    388:396:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):658:666 -> a
    388: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):390 -> a
    397:401: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
    397:401: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
    402:402:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    402:402: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
    402:402: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
    403:403: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
    403:403: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
    404: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):747:766 -> a
    404: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
    404: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:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> 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):766 -> 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:428: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
    425:428: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:428: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
    429:430: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
    429:430: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
    429:430: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
    429:430: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
    431:431: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):35:35 -> a
    431:431: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
    431:431: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
    431:431: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
    431:431: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
    432:447: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
    432:447: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
    432:447: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
    432:447: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
    448:448: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
    448:448: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
    448:448: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
    448:448: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
    448:448: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
    449:449: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
    449:449: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
    449:449: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
    449:449: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
    450:450: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
    450:450: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
    450:450: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
    450:450: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
    451:451: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
    451:451: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
    451:451: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
    451:451: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
    452:452: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
    452:452: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
    452:452: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
    452:452: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
    453:463: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
    453: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):677 -> a
    453: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: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":530,"2":531,"3":532}}
    530:530: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
    530:530: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
    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):391 -> a
    531:531: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
    531:531: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
    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):391 -> a
    532:532: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
    532:532: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
    532:532: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:467: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
    465:467: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
    465:467: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
    468:469: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
    468:469: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
    470:470:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    470:470: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
    470:470: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
    471:471: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
    471:471: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
    472:496:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():829:853 -> a
    472: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):392 -> a
    497:497:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():847:847 -> a
    497:497: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
    498:498: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":533,"2":534,"3":535}}
    533:533:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():847:847 -> a
    533:533: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
    534:534:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():847:847 -> a
    534:534: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
    535:535:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():847:847 -> a
    535:535: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
    499:501:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():847:849 -> a
    499: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):392 -> a
    502:502:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():831:831 -> 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):392 -> 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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":536,"2":537,"3":538}}
    536:536:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():831:831 -> a
    536:536: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
    537:537:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():831:831 -> a
    537:537: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
    538:538:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():831:831 -> a
    538:538: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
    504:506:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():831:833 -> a
    504:506: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
    507:507: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
    539:549:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):463:473 -> a
    550:550:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    550:550:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):473 -> a
    551:563:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):473:485 -> a
    564:564: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
    564:564:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):485 -> a
    565:571:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):486:492 -> a
    572:572: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
    572:572:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):493 -> a
    573:573: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
    573:573:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):493 -> a
    574:578:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):495:499 -> a
    579:579:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):496:496 -> a
    580:613:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):474:507 -> a
    614:619:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):506:511 -> a
    620:620:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):509:509 -> a
    621:624:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):686:689 -> a
    625:625:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    625:625:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):689 -> a
    626:642:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):690:706 -> a
    643:643: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":1360,"2":1361,"3":1362}}
    1360:1360:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):706:706 -> a
    1361:1361:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):706:706 -> a
    1362:1362:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):706:706 -> a
    1349:1359:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):706:716 -> a
    1363:1363:int lambda$removeFieldReadsFromNewInstance$2(com.android.tools.r8.ir.code.InstanceGet):687:687 -> a
    1364:1368: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
    1369:1383: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
    1384:1384: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
    1385:1395:boolean isEligibleParameterUsages(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,java.util.Set):1131:1141 -> a
    1396:1403:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1155:1162 -> a
    1404:1404:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    1404:1404:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1162 -> a
    1405:1412:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1162:1169 -> a
    1413:1459: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
    1413:1459:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1170 -> a
    1460:1470:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1174:1184 -> a
    1471:1474: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
    1471:1474:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1185 -> a
    1475:1503: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
    1475:1503:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleIndirectVirtualMethodCall(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1004 -> a
    1475:1503:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1185 -> a
    1504:1504:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    1504:1504:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleVirtualMethodCall(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1052 -> a
    1504:1504:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleIndirectVirtualMethodCall(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1004 -> a
    1504:1504:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1185 -> a
    1505:1506: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
    1505:1506:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleIndirectVirtualMethodCall(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1004 -> a
    1505:1506:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1185 -> a
    1507:1517: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
    1507:1517:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1185 -> a
    1518:1518:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.markSizeOfIndirectTargetForInlining(com.android.tools.r8.graph.ProgramMethod):1201:1201 -> a
    1518:1518:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1188 -> a
    1519:1520:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.exemptFromInstructionLimit(com.android.tools.r8.graph.ProgramMethod):1196:1197 -> a
    1519:1520:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.markSizeOfIndirectTargetForInlining(com.android.tools.r8.graph.ProgramMethod):1202 -> a
    1519:1520:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1188 -> a
    1521:1523:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.markSizeOfIndirectTargetForInlining(com.android.tools.r8.graph.ProgramMethod):1203:1205 -> a
    1521:1523:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1188 -> a
    1524:1540:boolean isEligibleSingleTarget(com.android.tools.r8.graph.ProgramMethod):1220:1236 -> a
    1541:1541:boolean isEligibleSingleTarget(com.android.tools.r8.graph.ProgramMethod):1232:1232 -> a
    1542:1542:void lambda$removeInstruction$5(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):1250:1250 -> a
    1543:1544: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:4:java.lang.RuntimeException reportUnknownFieldReadFromSingleton(com.android.tools.r8.ir.code.InstanceGet):819:820 -> b
    5:5:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> 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:47:void rebindIndirectEligibleInstanceUsersFromPhis():560:578 -> g
    48:48:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> g
    48:48:void rebindIndirectEligibleInstanceUsersFromPhis():578 -> g
    49:54:void rebindIndirectEligibleInstanceUsersFromPhis():578:583 -> g
    55:55:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> g
    55:55:void rebindIndirectEligibleInstanceUsersFromPhis():583 -> g
    56:57:void rebindIndirectEligibleInstanceUsersFromPhis():583:584 -> g
    58:58:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> g
    58:58:void rebindIndirectEligibleInstanceUsersFromPhis():584 -> g
    59:59:void rebindIndirectEligibleInstanceUsersFromPhis():584:584 -> g
com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor$IllegalClassInlinerStateException -> com.android.tools.r8.internal.To:
    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.K1:
    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.E5:
    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.F5:
    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.G5:
    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.da:
    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.xe:
    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.Dt:
    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.Ct:
    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.PG:
    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.QG:
    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.RG:
    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:61:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages abandonClassInliningInCurrentContexts(java.lang.Iterable,java.util.function.Predicate):160:164 -> a
    62:62:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages rebuildParameter(com.android.tools.r8.ir.code.Value,java.util.function.BiFunction):169:169 -> a
    63:63: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
    63:63:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages rebuildParameter(com.android.tools.r8.ir.code.Value,java.util.function.BiFunction):169 -> a
    64:66:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages rebuildParameter(com.android.tools.r8.ir.code.Value,java.util.function.BiFunction):170:172 -> a
    67:67: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
    68:75:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages rebuildParameters(com.android.tools.r8.utils.IntObjToObjFunction):183:190 -> a
    76:76:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.<init>():119:119 -> a
    76:76:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages rebuildParameters(com.android.tools.r8.utils.IntObjToObjFunction):190 -> a
    77:90: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.UK:
    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.VK:
    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.WK:
    1:1:void <init>():10:10 -> <init>
    com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState asAbstractState() -> a
    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.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.lY:
    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:87: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
    82:87: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:87: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
    88: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):116:116 -> a
    88: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.analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):174:174 -> 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 -> 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.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):114:114 -> 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.analyzeAssume(com.android.tools.r8.ir.code.Assume,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):169:169 -> 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 -> 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.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):108:108 -> a
    93:93:boolean lambda$apply$0(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):95:95 -> a
    94:94:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isTop():0:0 -> a
    94:94:boolean lambda$apply$0(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):95 -> a
    95:100: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
    101:106: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
    107:107: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
    108:108: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
    109:109: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
    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 -> a
    110:114: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
    115:115: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
    115:115: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
    116:124: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
    125:125: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
    126:126: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
    127:130: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
    131:131: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
    131:131: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
    132:137: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
    138:138:boolean com.android.tools.r8.ir.code.InvokeDirect.isInvokeConstructor(com.android.tools.r8.graph.DexItemFactory):121:121 -> a
    138:138: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
    139:150: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:256 -> a
    151:151:boolean com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo.receiverMayEscapeOutsideConstructorChain():72:72 -> a
    151:151: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
    152:160: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
    161:161: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
    162:162: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
    163:166: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
    167:167: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
    167:167: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
    168:178: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
    179:179: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
    180:180: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
    181: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):312:315 -> a
    185:185: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
    185:185: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
    186:196: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
    197:197: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
    198:198: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
    199:199: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
    200:200: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
    201:201: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
    202:202: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
    203:203: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
    204:204:boolean isArgumentOfInterest(com.android.tools.r8.ir.code.Value):352:352 -> a
    205:205: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
    205:205:boolean isArgumentOfInterest(com.android.tools.r8.ir.code.Value):352 -> a
    206:207:boolean isArgumentOfInterest(com.android.tools.r8.ir.code.Value):352:353 -> a
    208:218:boolean isMaybeEligibleForClassInlining(com.android.tools.r8.ir.analysis.type.TypeElement):357:367 -> a
    219:228:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.isMaybeEligibleForClassInlining(com.android.tools.r8.graph.DexProgramClass):374:383 -> a
    219:228:boolean isMaybeEligibleForClassInlining(com.android.tools.r8.ir.analysis.type.TypeElement):367 -> a
    229:229:boolean isMaybeEligibleForClassInlining(com.android.tools.r8.ir.analysis.type.TypeElement):368:368 -> a
    230:230:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.isMaybeEligibleForClassInlining(com.android.tools.r8.graph.ClasspathOrLibraryClass):389:389 -> a
    230:230:boolean isMaybeEligibleForClassInlining(com.android.tools.r8.ir.analysis.type.TypeElement):368 -> a
    231:232:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult widen(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):395:396 -> a
    233:233: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
    233:233:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult widen(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):396 -> a
    234:234:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isBottom():0:0 -> a
    234:234:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult widen(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):409 -> a
    235:235:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isTop():0:0 -> a
    235:235:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult widen(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):410 -> a
    236:236:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult widen(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):411:411 -> a
    237:237:com.android.tools.r8.ir.analysis.framework.intraprocedural.FailedTransferFunctionResult com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.fail():343:343 -> a
    237:237:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult widen(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):412 -> a
    238:238: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
    239:239:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isBottom():0:0 -> a
    239:239: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
    240:240:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isTop():0:0 -> a
    240:240: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
    241:243: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
    244:244:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.top():53:53 -> 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):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.a00:
    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.b00:
    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.c00:
    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.B1:
    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.RewrittenPrototypeDescription$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.I1:
    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.RewrittenPrototypeDescription$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.ca:
    com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.RewrittenPrototypeDescription$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.Wc:
    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.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$ArgumentInfoCollection):43:61 -> a
    24:25:void lambda$fixupAfterParametersChanged$0(com.android.tools.r8.graph.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> a
    26:26:void lambda$fixupAfterParametersChanged$0(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):48 -> a
    27:27:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    27:27:void lambda$fixupAfterParametersChanged$0(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):53 -> a
    28:33:void lambda$fixupAfterParametersChanged$0(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):54:59 -> a
    34:36:boolean isEligibleForNewInstanceClassInlining(com.android.tools.r8.graph.ProgramMethod,int):72:74 -> a
    37:68: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.XW:
    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.xh:
    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):75 -> 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):75:75 -> 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.RewrittenPrototypeDescription):65:65 -> a
    void onMethodPruned(com.android.tools.r8.graph.ProgramMethod) -> b
    void unsetRewriter() -> b
    void updateEnumUnboxingCandidatesInfo() -> c
    1:1:com.android.tools.r8.ir.optimize.enums.EmptyEnumUnboxer get():32:32 -> d
com.android.tools.r8.ir.optimize.enums.EnumDataMap -> com.android.tools.r8.internal.Yh:
    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:8:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getUnboxedValue(com.android.tools.r8.graph.DexField):114:115 -> a
    7:8:int getUnboxedValue(com.android.tools.r8.graph.DexField):62 -> a
    9:10:int getValuesSize(com.android.tools.r8.graph.DexType):66:67 -> a
    11:11:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getValuesSize():139:139 -> a
    11:11:int getValuesSize(com.android.tools.r8.graph.DexType):67 -> a
    12:12:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasValues():135:135 -> a
    12:12:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getValuesSize():139 -> a
    12:12:int getValuesSize(com.android.tools.r8.graph.DexType):67 -> a
    13:14:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getValuesSize():139:140 -> a
    13:14:int getValuesSize(com.android.tools.r8.graph.DexType):67 -> a
    15:16:int getMaxValuesSize():72:73 -> a
    17:17:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasValues():135:135 -> a
    17:17:int getMaxValuesSize():73 -> a
    18:18:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getValuesSize():139:139 -> a
    18:18:int getMaxValuesSize():74 -> a
    19:19: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
    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
com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData -> com.android.tools.r8.internal.Xh:
    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.di:
    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.Zh:
    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.ai:
    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.bi:
    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.ci:
    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.gi:
    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.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 unsetRewriter() -> b
    void updateEnumUnboxingCandidatesInfo() -> c
com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl -> com.android.tools.r8.internal.ii:
    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):951 -> a
    2:5:void recordEnumState(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues):954:957 -> 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):232:232 -> 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: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
    104:104:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    105:105: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
    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):462 -> 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.code.Instruction.isAssume():0:0 -> 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 -> 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: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):473:484 -> a
    107: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
    107:118:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    119:119:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.addRequiredNameData(com.android.tools.r8.graph.DexProgramClass):515:515 -> a
    119:119: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
    119:119: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:119:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    120:120:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.markMethodDependsOnLibraryModelisation(com.android.tools.r8.graph.ProgramMethod):208:208 -> a
    120:120: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
    120:120: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
    120:120:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    121:121: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
    121:121: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
    121:121:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    122:122:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.markMethodDependsOnLibraryModelisation(com.android.tools.r8.graph.ProgramMethod):208:208 -> a
    122:122: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
    122:122: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
    122:122:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    123:129: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
    123:129: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
    123:129:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    130:130:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isUnboxableNameMethod(com.android.tools.r8.graph.DexMethod):520:520 -> a
    130:130: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
    130:130: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
    130:130:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    131:135: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
    131:135:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):265 -> a
    136:136:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):268:268 -> a
    137:146:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,java.util.Set):411:420 -> a
    137:146:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):268 -> a
    147:149:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.allowCheckCast(com.android.tools.r8.ir.code.CheckCast):432:434 -> a
    147:149:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,java.util.Set):424 -> a
    147:149:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):268 -> a
    150:150:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.allowCheckCast(com.android.tools.r8.ir.code.CheckCast):433:433 -> a
    150:150:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,java.util.Set):424 -> a
    150:150:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):268 -> a
    151:154:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,java.util.Set):425:428 -> a
    151:154:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):268 -> a
    155:174:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):286:305 -> a
    175:177:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.markEnumEligible(com.android.tools.r8.graph.DexType,java.util.Set):310:312 -> a
    175:177:void lambda$analyzeInvokeCustom$0(java.util.Set,com.android.tools.r8.graph.DexType):325 -> a
    178:180:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.invalidateEnum(com.android.tools.r8.graph.DexType):317:319 -> a
    178:180:void lambda$analyzeInvokeCustom$2(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):341 -> a
    181:183:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.invalidateEnum(com.android.tools.r8.graph.DexType):317:319 -> a
    181:183:void lambda$analyzeInvokeCustom$2(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):342 -> a
    184:184:void analyzeInvokeCustom(com.android.tools.r8.ir.code.InvokeCustom,java.util.Set,com.android.tools.r8.graph.ProgramMethod):325:325 -> a
    185:185:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexCallSite.getMethodProto():110:110 -> a
    185:185:void analyzeInvokeCustom(com.android.tools.r8.ir.code.InvokeCustom,java.util.Set,com.android.tools.r8.graph.ProgramMethod):325 -> a
    186:199:void analyzeInvokeCustom(com.android.tools.r8.ir.code.InvokeCustom,java.util.Set,com.android.tools.r8.graph.ProgramMethod):325:338 -> a
    200:201:void analyzeInvokeCustomParameters(com.android.tools.r8.ir.code.InvokeCustom,java.util.function.Consumer):349:350 -> a
    202:202:java.util.List com.android.tools.r8.graph.DexCallSite.getBootstrapArgs():106:106 -> a
    202:202:void analyzeInvokeCustomParameters(com.android.tools.r8.ir.code.InvokeCustom,java.util.function.Consumer):350 -> a
    203:204:void analyzeInvokeCustomParameters(com.android.tools.r8.ir.code.InvokeCustom,java.util.function.Consumer):350:351 -> a
    205:205:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):353:353 -> a
    206:206:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodHandle():0:0 -> a
    206:206:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):353 -> a
    207:208:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):355:356 -> a
    209:209:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    209:209:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):356 -> a
    210:212:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):357:359 -> a
    213:214:void com.android.tools.r8.graph.DexProto.forEachType(java.util.function.Consumer):78:79 -> a
    213:214:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):359 -> a
    215:215:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):361:361 -> a
    216:216:boolean com.android.tools.r8.graph.DexMethodHandle.isFieldHandle():290:290 -> a
    216:216:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):361 -> a
    217:220:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):361:364 -> a
    221:221:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodType():0:0 -> a
    221:221:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):366 -> a
    222:223:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):367:368 -> a
    224:225:void com.android.tools.r8.graph.DexProto.forEachType(java.util.function.Consumer):78:79 -> a
    224:225:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):368 -> a
    226:250:void addNullDependencies(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,java.util.Set):526:550 -> a
    251:252: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
    253: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):984:1016 -> a
    253: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: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
    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:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.allowCheckCast(com.android.tools.r8.ir.code.CheckCast):432:434 -> 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):1083 -> 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):996 -> 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:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.allowCheckCast(com.android.tools.r8.ir.code.CheckCast):433:433 -> a
    290:290: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):1083 -> 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):996 -> 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:293: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):1084:1086 -> a
    291:293: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 -> a
    291:293: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
    294:294: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):987:987 -> a
    294:294: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
    295:295: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):1026:1026 -> a
    295:295: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):987 -> a
    295:295: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
    296:296: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:994 -> a
    296:296: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
    297:312: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):1059:1074 -> a
    297:312: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 -> a
    297:312: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
    313:313: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
    313:313: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
    314:314: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):991:991 -> a
    314:314: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
    315:340: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:1014 -> a
    315:340: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
    341:341: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):1012:1012 -> a
    341:341: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
    342:346: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):1344:1348 -> a
    342:346: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):1012 -> a
    342:346: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
    347:347: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):1004:1004 -> a
    347:347: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
    348:348: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
    348:348: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
    349: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):1001:1001 -> a
    349: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:353: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):1143:1146 -> a
    350:353: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):1000 -> a
    350:353: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
    354:354: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):998:998 -> a
    354:354: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
    355:355: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):1120:1120 -> a
    355:355: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):998 -> a
    355:355: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
    356:356: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":387,"2":388,"3":389}}
    387:387: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):1120:1120 -> a
    387:387: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):998 -> a
    387:387: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
    388:388: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):1120:1120 -> a
    388:388: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):998 -> a
    388:388: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
    389:389: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):1120:1120 -> a
    389:389: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):998 -> a
    389:389: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
    357:370: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):1121:1134 -> a
    357:370: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):998 -> a
    357:370: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
    371:386: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
    390:390:void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens):585:585 -> a
    391:393:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.initializeCheckNotNullMethods(com.android.tools.r8.graph.GraphLens):591:593 -> a
    391:393:void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens):586 -> a
    394:399:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.initializeEnumUnboxingCandidates(com.android.tools.r8.graph.GraphLens):598:603 -> a
    394:399:void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens):587 -> a
    400:402: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):615:617 -> a
    403:411:com.android.tools.r8.ir.optimize.enums.EnumDataMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.finishAnalysis():746:754 -> a
    403:411: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):618 -> a
    412:432: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):619:639 -> a
    433:433: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
    433:433: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):642 -> a
    434:440: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):643:649 -> a
    441:441: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
    441:441: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 -> a
    442:464: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:671 -> a
    465:465:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView):138:138 -> a
    465:465: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):671 -> a
    466:466: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):672:672 -> a
    467:467:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView):138:138 -> a
    467:467: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):675 -> a
    468:468: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):676:676 -> a
    469:475: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):673:679 -> a
    476:476:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView):138:138 -> a
    476: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):679 -> a
    477:477: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:680 -> a
    478:482: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):677:681 -> a
    483:489: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):700:706 -> a
    483:489: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):683 -> a
    490:493: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:688 -> a
    494:494:java.util.Set lambda$unboxEnums$5(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.LongLivedClassSetBuilder):650:650 -> a
    495:497:boolean lambda$unboxEnums$6(com.android.tools.r8.graph.ProgramMethod,java.util.Set):654:656 -> a
    498:498:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():0:0 -> a
    498:498:boolean lambda$unboxEnums$6(com.android.tools.r8.graph.ProgramMethod,java.util.Set):656 -> a
    499:500:void updateKeepInfo(java.util.Set):738:739 -> a
    501:501:void lambda$updateKeepInfo$7(java.util.Set,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):742:742 -> a
    502:502:void lambda$updateKeepInfo$7(java.util.Set,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):741:741 -> a
    503:518: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):777:792 -> a
    503:518:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    519:519: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):1437:1437 -> a
    519:519: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):794 -> a
    519:519:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    520:531: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):800:811 -> a
    520:531:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    532:532: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):1437:1437 -> a
    532:532: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):810 -> a
    532:532:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    533:533:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinalField():180:180 -> a
    533:533:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):942 -> a
    533: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):814 -> a
    533:533:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    534:535:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):942:943 -> a
    534:535: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):814 -> a
    534:535:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    536:536:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    536:536:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):943 -> a
    536:536: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):814 -> a
    536:536:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    537:539:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):944:946 -> a
    537: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):814 -> a
    537:539:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    540:544: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:819 -> a
    540:544:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    545:545: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):1437:1437 -> a
    545:545: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):816 -> a
    545:545:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    546: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):822:837 -> a
    546:561:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    562:562: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):1437:1437 -> a
    562:562: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):836 -> a
    562:562:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    563:563: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):840:840 -> a
    563:563:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    564:564:boolean com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.isEnumValuesObjectState():0:0 -> a
    564:564: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):840 -> a
    564:564:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    565:567: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):840:842 -> a
    565:567:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    568:585: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:858 -> a
    568:585:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    586:586:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinalField():180:180 -> a
    586:586:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):942 -> a
    586: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):858 -> a
    586:586:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    587:588:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):942:943 -> a
    587: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):858 -> a
    587:588:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    589:589:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    589:589:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):943 -> a
    589:589: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):858 -> a
    589:589:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    590:592:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):944:946 -> a
    590:592: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):858 -> a
    590:592:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    593:593: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):858:858 -> a
    593:593:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    594:594:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinalField():180:180 -> a
    594:594:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):942 -> a
    594: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):859 -> a
    594:594:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    595:596:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):942:943 -> 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):859 -> 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):762 -> a
    597:597:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    597:597:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):943 -> a
    597:597: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):859 -> a
    597:597:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    598:600:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):944:946 -> a
    598:600: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):859 -> a
    598:600:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    601: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):859:860 -> a
    601:602:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    603: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):885:886 -> a
    603: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):869 -> a
    603:604:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    605:608: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):906:909 -> a
    605:608: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):888 -> a
    605:608: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):869 -> a
    605:608:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    609:609:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> a
    609:609: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 -> a
    609:609: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):888 -> a
    609:609: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):869 -> a
    609:609:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    610: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):912:912 -> a
    610: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):888 -> a
    610: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):869 -> a
    610:610:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    611:611:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    611:611:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> 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):912 -> 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):888 -> 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):869 -> 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):762 -> a
    612:616: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):913:917 -> a
    612:616: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):888 -> a
    612:616: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):869 -> a
    612:616:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    617:617: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):1437:1437 -> a
    617: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):916 -> a
    617: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):888 -> a
    617: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):869 -> a
    617:617:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> 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):918:918 -> 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):888 -> 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):869 -> 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):762 -> a
    619:619:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    619:619: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):920 -> a
    619:619: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):888 -> a
    619:619: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):869 -> a
    619:619:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    620:623: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):920:923 -> a
    620:623: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):888 -> a
    620:623: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):869 -> a
    620:623:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    624:624: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):1437:1437 -> a
    624:624: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
    624:624: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):888 -> a
    624:624: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):869 -> a
    624:624:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    625:639: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):924:938 -> a
    625:639: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):888 -> a
    625:639: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):869 -> a
    625:639:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    640:650: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):889:899 -> a
    640:650: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):869 -> a
    640:650:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    651:655: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:878 -> a
    651:655:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):762 -> a
    656:656:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):765:765 -> a
    657:657:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection.removeCandidate(com.android.tools.r8.graph.DexProgramClass):46:46 -> a
    657:657:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):765 -> a
    658:658:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):769:769 -> a
    659:672:void lambda$analyzeInitializers$9(com.android.tools.r8.graph.DexProgramClass):964:977 -> a
    673:678: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):1097:1102 -> a
    679:679: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):52:52 -> a
    679:679: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 -> a
    680:680: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):48:48 -> a
    680:680: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):52 -> a
    680:680: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 -> a
    681:690: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):1104:1113 -> a
    691:711: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):1156:1176 -> a
    712:712:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    712:712: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):1176 -> a
    713:716: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):1176:1179 -> a
    717:729: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):1174:1186 -> a
    730:730:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():0:0 -> a
    730:730: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):1186 -> a
    731:733: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):1188:1190 -> a
    734:740: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):1189:1195 -> a
    741:755: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:1207 -> a
    756:757:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getArgumentForParameter(int):280:281 -> a
    756:757: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):1208 -> a
    758: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):1209:1219 -> a
    769:769:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():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):1222 -> a
    770:773: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):1223:1226 -> a
    774:774:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    774:774: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):1226 -> a
    775:775: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):1226:1226 -> a
    776:799: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):1248:1271 -> a
    776:799: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):1229 -> a
    800:800: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):1261:1261 -> a
    800:800: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):1229 -> a
    801:801:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.addRequiredNameData(com.android.tools.r8.graph.DexProgramClass):515:515 -> a
    801:801: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):1262 -> a
    801:801: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):1229 -> a
    802:802: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):1263:1263 -> a
    802:802: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):1229 -> a
    803:824: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:1274 -> a
    803:824: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):1229 -> a
    825:866: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):1255:1296 -> a
    825:866: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):1229 -> a
    867:874: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):1294:1301 -> a
    867:874: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):1229 -> a
    875:875:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.addRequiredNameData(com.android.tools.r8.graph.DexProgramClass):515:515 -> a
    875:875: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):1302 -> a
    875:875: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):1229 -> a
    876:907: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):1303:1334 -> a
    876:907: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):1229 -> a
    908:913: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):1311:1316 -> a
    908:913: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):1229 -> a
    914:914:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.addRequiredNameData(com.android.tools.r8.graph.DexProgramClass):515:515 -> a
    914:914: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):1313 -> a
    914:914: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):1229 -> a
    915:915: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):1314:1314 -> a
    915:915: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):1229 -> a
    916:916: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):1232:1232 -> a
    917:917:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.markMethodDependsOnLibraryModelisation(com.android.tools.r8.graph.ProgramMethod):208:208 -> a
    917:917: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):1233 -> a
    918:919:void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod):1458:1459 -> a
    920:923:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):1469:1472 -> 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):1437:1437 -> 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:10:com.android.tools.r8.utils.collections.LongLivedClassSetBuilder lambda$analyzeInvokeUser$10(com.android.tools.r8.graph.GraphLens):1197:1197 -> b
    11:11:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):1453:1453 -> b
    12:12:void unsetRewriter():1477:1477 -> b
    1:2:void updateEnumUnboxingCandidatesInfo():185:186 -> c
    3:3:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection.removeCandidate(com.android.tools.r8.graph.DexProgramClass):46:46 -> c
    3:3:void updateEnumUnboxingCandidatesInfo():186 -> c
    4:4:void updateEnumUnboxingCandidatesInfo():188:188 -> c
    1:15:com.android.tools.r8.ir.optimize.enums.EnumDataMap analyzeEnumInstances():759:773 -> d
    1:1:void analyzeInitializers():962:962 -> e
    1:1:com.android.tools.r8.graph.DexClassAndField getOrdinalField():180:180 -> f
com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl$1 -> com.android.tools.r8.internal.hi:
    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):709:709 -> <init>
    1:2:void fixup(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo):712:713 -> 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):713 -> a
    4:5:void fixup(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo):713:714 -> a
    6:7:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):720:721 -> 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):721 -> a
    9:12:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):721:724 -> a
    13:21:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):723:731 -> a
com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis -> com.android.tools.r8.internal.li:
    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):1437:1437 -> 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):1437:1437 -> 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:24:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removeEnumsInAnnotations():83:84 -> a
    23: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():652:652 -> 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.ni:
    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.mi:
    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.ri:
    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):172:172 -> 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
    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):172:172 -> 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
    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):172:172 -> 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
    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):172:172 -> 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
    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):172:172 -> 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
com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens -> com.android.tools.r8.internal.ti:
    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>():33:33 -> <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):45:49 -> <init>
    1:4:com.android.tools.r8.graph.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):67:70 -> 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):94:98 -> a
    5:9:com.android.tools.r8.graph.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):71 -> 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):97:97 -> a
    10:10:com.android.tools.r8.graph.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):71 -> a
    11:11:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo$Builder com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo.builder():234:234 -> a
    11:11:com.android.tools.r8.graph.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):75 -> a
    12:16:com.android.tools.r8.graph.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):76:80 -> a
    17:33:com.android.tools.r8.graph.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):74:90 -> 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):107:110 -> a
    38:38:com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens$Builder enumUnboxingLensBuilder(com.android.tools.r8.graph.AppView):116:116 -> a
    boolean hasCustomCodeRewritings() -> f
    boolean isEnumUnboxerLens() -> h
com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens$Builder -> com.android.tools.r8.internal.si:
    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>():119:119 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):131:131 -> <init>
    2:12:void <init>(com.android.tools.r8.graph.AppView):122:132 -> <init>
    1:2:com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens$Builder mapUnboxedEnums(java.util.Set):136:137 -> a
    3:3:void move(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):146:146 -> a
    4:33:com.android.tools.r8.graph.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,int):159:188 -> a
    34:34:com.android.tools.r8.graph.RewrittenPrototypeDescription com.android.tools.r8.graph.RewrittenPrototypeDescription.createForRewrittenTypes(com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):664:664 -> a
    34:34:com.android.tools.r8.graph.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,int):188 -> a
    35:35:com.android.tools.r8.graph.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,int):189:189 -> a
    36:36:com.android.tools.r8.graph.RewrittenPrototypeDescription com.android.tools.r8.graph.RewrittenPrototypeDescription.withExtraUnusedNullParameters(int):850:850 -> a
    36:36:com.android.tools.r8.graph.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,int):189 -> a
    37:37:void com.android.tools.r8.ir.conversion.ExtraUnusedNullParameter.<init>():20:20 -> a
    37:37:com.android.tools.r8.graph.RewrittenPrototypeDescription com.android.tools.r8.graph.RewrittenPrototypeDescription.withExtraUnusedNullParameters(int):850 -> a
    37:37:com.android.tools.r8.graph.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,int):189 -> a
    38:39:com.android.tools.r8.graph.RewrittenPrototypeDescription com.android.tools.r8.graph.RewrittenPrototypeDescription.withExtraUnusedNullParameters(int):851:852 -> a
    38:39:com.android.tools.r8.graph.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,int):189 -> a
    40:40:com.android.tools.r8.graph.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,int):190:190 -> a
    41:43:void recordCheckNotZeroMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):196:198 -> a
    44:47:void recordCheckNotZeroMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):197:200 -> a
    48:51:void recordCheckNotZeroMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):199:202 -> a
    52:55:void recordCheckNotZeroMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):201:204 -> a
    56:56:void recordCheckNotZeroMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):203:203 -> a
    57:63:com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens build(com.android.tools.r8.graph.AppView):208:214 -> a
com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter -> com.android.tools.r8.internal.ui:
    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.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.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.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.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.RewrittenPrototypeDescription):124 -> a
    10:14:java.util.Map com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.createInitialConvertedEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.RewrittenPrototypeDescription):93:97 -> a
    10:14:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):124 -> a
    15:15:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> a
    15:15:java.util.Map com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.createInitialConvertedEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.RewrittenPrototypeDescription):97 -> a
    15:15:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):124 -> a
    16:17:java.util.Map com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.createInitialConvertedEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.RewrittenPrototypeDescription):100:101 -> a
    16:17:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):124 -> a
    18:18:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    18: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.RewrittenPrototypeDescription):102 -> a
    18:18:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):124 -> a
    19:20:java.util.Map com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.createInitialConvertedEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.RewrittenPrototypeDescription):103:104 -> a
    19:20:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):124 -> a
    21:21:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getEnumTypeOrNull(com.android.tools.r8.graph.DexType):594:594 -> a
    21: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.RewrittenPrototypeDescription):104 -> a
    21:21:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):124 -> 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.RewrittenPrototypeDescription):106:106 -> 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.RewrittenPrototypeDescription):124 -> a
    23:30:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):125:132 -> a
    31:32: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
    31:32:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):133 -> a
    33:36: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
    33:36: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
    33:36:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):133 -> a
    37:37:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getEnumTypeOrNull(com.android.tools.r8.graph.DexType):594:594 -> a
    37:37: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
    37: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
    37:37:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):133 -> a
    38:40: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
    38:40:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):133 -> a
    41:45: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
    41:45: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
    41:45:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):133 -> a
    46: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):529:529 -> a
    46:46:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):133 -> a
    47:67:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):134:154 -> a
    68:95:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):153:180 -> a
    96:96:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():84:84 -> a
    96:96:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):182 -> 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.RewrittenPrototypeDescription):182:182 -> a
    98:106:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):181:189 -> a
    107:107: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
    107:107: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
    107:107:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):190 -> a
    108:111: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
    108:111:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):190 -> a
    112: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):516:516 -> a
    112:112:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):190 -> a
    113:114:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):192:193 -> a
    115:115:boolean com.android.tools.r8.ir.code.Instruction.isInvokeSuper():0:0 -> a
    115:115:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):197 -> a
    116:116: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
    116:116: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
    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.RewrittenPrototypeDescription):198 -> a
    117:120: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
    117:120:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):198 -> a
    121: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):516:516 -> a
    121:121:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):198 -> 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.RewrittenPrototypeDescription):201:201 -> a
    123:123: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
    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.RewrittenPrototypeDescription):202 -> a
    124:124:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():84:84 -> 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):485 -> 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.RewrittenPrototypeDescription):202 -> 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: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.RewrittenPrototypeDescription):202 -> a
    126:126:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():84:84 -> 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.RewrittenPrototypeDescription):187 -> 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.RewrittenPrototypeDescription):187: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.RewrittenPrototypeDescription):186:186 -> a
    129:129:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():84:84 -> 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.RewrittenPrototypeDescription):178 -> 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.RewrittenPrototypeDescription):178:178 -> a
    131:164:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):177:210 -> a
    165:165: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
    165:165:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):213 -> a
    166:168:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):213:215 -> a
    169:169:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    169:169:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):215 -> a
    170:170: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
    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.RewrittenPrototypeDescription):216 -> 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.RewrittenPrototypeDescription):216:216 -> a
    172:172: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
    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.RewrittenPrototypeDescription):217 -> a
    173:183:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):217:227 -> a
    184:184:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Instruction.clearOutValue():157:157 -> a
    184:184:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):228 -> a
    185:201:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):228:244 -> a
    202:210: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
    202:210:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    211:211:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    211: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):365 -> a
    211:211:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> 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):365:365 -> 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.RewrittenPrototypeDescription):243 -> a
    213:213:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    213:213: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
    213:213:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    214:215: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
    214:215:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    216:216: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
    216:216: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
    216:216:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    217: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):373:394 -> a
    217:238:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    239:239:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> 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):395 -> 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.RewrittenPrototypeDescription):243 -> a
    240:240: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
    240:240:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    241:241: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
    241: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):398 -> a
    241:241:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    242:242:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():84:84 -> a
    242:242: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
    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):398 -> 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.RewrittenPrototypeDescription):243 -> a
    243:243: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
    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):398 -> 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.RewrittenPrototypeDescription):243 -> a
    244: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):400:401 -> a
    244:245:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    246:246:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    246:246: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
    246:246:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    247:247: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
    247:247:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    248:248:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():84:84 -> a
    248:248: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
    248:248:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    249:249: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
    249:249:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    250:262: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
    250:262:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    263:263:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    263:263: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
    263:263:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    264:264: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
    264:264:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    265:265: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
    265: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 -> a
    265:265:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    266:269: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
    266:269:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    270:283: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
    270:283:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    284:284:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    284: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):437 -> a
    284:284:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    285:288: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
    285:288:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    289:289:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    289:289: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
    289:289:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    290: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):447:459 -> a
    290:302:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    303:303:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():0:0 -> 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):459 -> 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.RewrittenPrototypeDescription):243 -> a
    304:306: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
    304:306:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    307:307:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    307:307: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
    307:307:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    308:308: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
    308:308: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
    308:308:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    309:320: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
    309:320:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):243 -> a
    321:321:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    321:321:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):252 -> a
    322:338:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):253:269 -> a
    339:345:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):268:274 -> a
    346:346:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    346:346:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):274 -> a
    347:347:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():84:84 -> a
    347:347:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):275 -> a
    348:348:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):275:275 -> a
    349:349: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
    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.RewrittenPrototypeDescription):275 -> a
    350:352:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):275:277 -> a
    353:353: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
    353:353:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):277 -> a
    354:358:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):277:281 -> a
    359:359: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
    359:359:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):287 -> a
    360:360:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    360:360: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
    360:360:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):287 -> a
    361:372: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
    361:372:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):287 -> a
    373:373: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
    373:373:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):287 -> a
    374:377:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):288:291 -> a
    378:378:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> 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.RewrittenPrototypeDescription):291 -> a
    379:380:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):292:293 -> a
    381:381:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    381:381:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):299 -> a
    382:386:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):300:304 -> a
    387:389: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
    387:389:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):304 -> a
    390:390:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():84:84 -> a
    390: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 -> a
    390:390:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):304 -> a
    391:393: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
    391:393:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):304 -> a
    394:394: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
    394:394: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
    394:394:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):304 -> a
    395:395: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
    395:395:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):304 -> a
    396:396:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):307:307 -> a
    397:413:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):306:322 -> a
    414:427: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
    414:427:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):323 -> a
    428:435:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):325:332 -> a
    436:443:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.validateArrayAccess(com.android.tools.r8.ir.code.ArrayAccess):567:574 -> a
    436:443:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):332 -> a
    444:444:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.validateArrayAccess(com.android.tools.r8.ir.code.ArrayAccess):572:572 -> a
    444:444:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):332 -> a
    445:445:boolean com.android.tools.r8.ir.code.Instruction.isNewUnboxedEnumInstance():0:0 -> 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.RewrittenPrototypeDescription):335 -> a
    446:447:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):336:337 -> a
    448:448:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.code.NewUnboxedEnumInstance.getType():59:59 -> a
    448:448:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):337 -> a
    449:452:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):337:340 -> a
    453:453:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    453:453:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):339 -> a
    454:460:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.RewrittenPrototypeDescription):338:344 -> a
    461:467: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
    468:470: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
    471:472:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):579:580 -> a
    473:473:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    473:473:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):580 -> a
    474:474:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):580:580 -> a
    475:475:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    475:475:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):580 -> a
    476:479: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
    476:479:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):583 -> a
    480:480:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getEnumTypeOrNull(com.android.tools.r8.graph.DexType):594:594 -> a
    480:480: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
    480:480:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):583 -> a
    481:481: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.wi:
    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>():73:73 -> <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):88:97 -> <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):217 -> 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):216:216 -> a
    3:3:com.android.tools.r8.graph.DexEncodedMethod lambda$fixupTypeReferences$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):129:129 -> a
    4:67:com.android.tools.r8.com.google.common.collect.BiMap duplicateCheckNotNullMethods(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):151:214 -> a
    68:68:boolean lambda$duplicateCheckNotNullMethods$1(com.android.tools.r8.graph.ProgramMethod,java.util.Set):159:159 -> 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):159 -> 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):167:174 -> 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):174 -> a
    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):175:175 -> 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):173 -> 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):173:173 -> 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):171:186 -> 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):180:205 -> 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):204:207 -> a
    130: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):190:194 -> a
    135:135:com.android.tools.r8.cf.CfVersion com.android.tools.r8.graph.DexEncodedMethod.getClassFileVersionOrElse(com.android.tools.r8.cf.CfVersion):811:811 -> 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):194 -> 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):191:201 -> 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):198:203 -> a
    153:153:com.android.tools.r8.graph.Code lambda$duplicateCheckNotNullMethods$2(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):197:197 -> 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):233:233 -> a
    155:163:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):239:247 -> 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):247 -> a
    165:187:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):250:272 -> 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):272 -> a
    189:195:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):276:282 -> 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):282 -> a
    197:207:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):282:292 -> a
    208:208:com.android.tools.r8.ir.code.ConstClass$Builder com.android.tools.r8.ir.code.ConstClass.builder():42:42 -> a
    208:208:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):294 -> a
    209:211:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):295:297 -> a
    212:212: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
    212:212:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):297 -> a
    213:213: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
    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:222:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):296:304 -> a
    223:228:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):303:308 -> a
    229:229: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":681,"2":682,"3":683}}
    681:681:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):308:308 -> a
    682:682:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    682:682:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):308 -> a
    683:683:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    683:683:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):308 -> a
    538:540:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):309:311 -> 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):311 -> a
    542:550:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):312:320 -> 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):409:409 -> a
    551:551:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):320 -> 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):429:429 -> 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):409 -> a
    552:552:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):320 -> a
    553:562:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):321:330 -> a
    563:563:com.android.tools.r8.ir.code.InvokeDirect$Builder com.android.tools.r8.ir.code.InvokeDirect.builder():50:50 -> a
    563:563:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):335 -> a
    564:600:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):336:372 -> a
    601:610:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):369:378 -> a
    611:611:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    611:611:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):378 -> a
    612:626:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):378:392 -> a
    627:627:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):391: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:639:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):386:396 -> a
    640:640:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):467:467 -> a
    640:640:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):396 -> a
    641:649:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):397:405 -> a
    650: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):562:563 -> a
    650:651:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):405 -> a
    652:652:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasUnboxedValueFor(com.android.tools.r8.graph.ProgramField):119:119 -> 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):563 -> a
    652:652:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):405 -> a
    653:653:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasUnboxedValueFor(com.android.tools.r8.graph.DexField):123:123 -> a
    653:653:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasUnboxedValueFor(com.android.tools.r8.graph.ProgramField):119 -> 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):563 -> a
    653:653:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):405 -> a
    654:654:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.ProgramField):127:127 -> 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):563 -> a
    654:654:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):405 -> a
    655:655:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.DexField):131:131 -> a
    655:655:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.ProgramField):127 -> a
    655:655: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):563 -> a
    655:655:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):405 -> a
    656:656: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):564:564 -> a
    656:656:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):405 -> a
    657:663:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):406:412 -> a
    664:664:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    664:664:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):413 -> a
    665:670:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):414:419 -> a
    671:671:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    671:671:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):419 -> a
    672:672:java.lang.Object com.android.tools.r8.ir.code.IRCodeInstructionListIterator.previous():24:24 -> a
    672:672:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):420 -> a
    673:679:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):422:428 -> a
    680:680:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):427:427 -> a
    684: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):435:440 -> a
    690:690:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    690:690: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):440 -> a
    691:691: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):455:455 -> a
    692:692:boolean lambda$createLocalUtilityFields$7(java.util.Map,com.android.tools.r8.graph.DexField):451:451 -> a
    693: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):463:466 -> a
    697:697:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    697:697: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):467 -> a
    698:698: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):467:467 -> a
    699:711: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:476 -> a
    712:713:void lambda$createLocalUtilityField$10(com.android.tools.r8.graph.DexEncodedField$Builder):481:482 -> a
    714:715:void lambda$createLocalUtilityField$9(com.android.tools.r8.graph.FieldAccessFlags):484:485 -> a
    716:716:void lambda$createLocalUtilityMethods$11(java.util.Map,com.android.tools.r8.graph.DexEncodedMethod):499:499 -> a
    717:726: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):503:512 -> a
    727:727:boolean lambda$createLocalUtilityMethods$12(java.util.Map,com.android.tools.r8.graph.DexMethod):510:510 -> a
    728: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):522:528 -> a
    735:735:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2383:2383 -> 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):528 -> 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):529:529 -> 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):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":765,"2":766,"3":767}}
    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):529:529 -> 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):529:529 -> a
    767:767: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):529:529 -> a
    738:738:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    738:738: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):530 -> a
    739:743: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):530:534 -> a
    744:745:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupProto(com.android.tools.r8.graph.DexProto):647:648 -> a
    744:745: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):531 -> a
    746:748:com.android.tools.r8.graph.DexType[] com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupTypes(com.android.tools.r8.graph.DexType[]):665:667 -> a
    746:748:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupProto(com.android.tools.r8.graph.DexProto):648 -> a
    746: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):531 -> a
    749:749:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupProto(com.android.tools.r8.graph.DexProto):649:649 -> 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):531 -> a
    750:750: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):535:535 -> a
    751: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):529:539 -> a
    762:762: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):150:150 -> a
    762:762: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 -> a
    763: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):542:543 -> a
    768:779:void lambda$createLocalUtilityMethod$15(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):547:558 -> a
    780:784:void lambda$createLocalUtilityMethod$14(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.MethodAccessFlags):550:554 -> a
    785: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):562:563 -> a
    785: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):442 -> a
    787:787:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasUnboxedValueFor(com.android.tools.r8.graph.ProgramField):119: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):563 -> 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):442 -> a
    788:788:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasUnboxedValueFor(com.android.tools.r8.graph.DexField):123:123 -> a
    788:788:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasUnboxedValueFor(com.android.tools.r8.graph.ProgramField):119 -> 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):563 -> 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):442 -> a
    789:789:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.ProgramField):127: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):563 -> 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):442 -> a
    790:790:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.DexField):131:131 -> a
    790:790:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.ProgramField):127 -> 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):563 -> 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):442 -> a
    791:791: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):564:564 -> a
    791:791: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):442 -> a
    792:802: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):443:453 -> a
    803:803:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):568:568 -> a
    804:805:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupProto(com.android.tools.r8.graph.DexProto):647:648 -> a
    804:805:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):569 -> a
    806:808:com.android.tools.r8.graph.DexType[] com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupTypes(com.android.tools.r8.graph.DexType[]):665:667 -> a
    806:808:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupProto(com.android.tools.r8.graph.DexProto):648 -> a
    806:808:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):569 -> a
    809:809:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupProto(com.android.tools.r8.graph.DexProto):649:649 -> a
    809:809:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):569 -> a
    810:825:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):570:585 -> a
    826:828:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):584:586 -> a
    829:831:void lambda$fixupEncodedMethod$16(com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):589:591 -> a
    832:832:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer com.android.tools.r8.graph.RewrittenPrototypeDescription.createMethodOptimizationInfoFixer():677:677 -> a
    832:832:void lambda$fixupEncodedMethod$16(com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):591 -> a
    833:837:void lambda$fixupEncodedMethod$16(com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):590:594 -> a
    838:838:com.android.tools.r8.graph.DexEncodedMethod$Builder com.android.tools.r8.graph.DexEncodedMethod$Builder.setIsLibraryMethodOverrideIf(boolean,com.android.tools.r8.utils.OptionalBool):1453:1453 -> a
    838:838:void lambda$fixupEncodedMethod$16(com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):593 -> a
    839:845:com.android.tools.r8.graph.DexMethod ensureUniqueMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):598:604 -> a
    846:856:com.android.tools.r8.graph.DexMethod ensureUniqueMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):602:612 -> 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:318 -> a
    857:857:com.android.tools.r8.graph.DexMethod ensureUniqueMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):610 -> a
    858:858: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
    858:858:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withName(java.lang.String,com.android.tools.r8.graph.DexItemFactory):318 -> a
    858:858:com.android.tools.r8.graph.DexMethod ensureUniqueMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):610 -> a
    859:859:boolean lambda$ensureUniqueMethod$17(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):605:605 -> a
    860:865:void fixupFields(java.util.List,com.android.tools.r8.graph.DexClass$FieldSetter):622:627 -> a
    866:866: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
    866:866:void fixupFields(java.util.List,com.android.tools.r8.graph.DexClass$FieldSetter):627 -> a
    867:878:void fixupFields(java.util.List,com.android.tools.r8.graph.DexClass$FieldSetter):628:639 -> a
    879:879:void lambda$fixupFields$18(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField$Builder):635:635 -> a
    880:880:void lambda$fixupFields$18(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField$Builder):634:634 -> a
    881:889:com.android.tools.r8.graph.DexType fixupType(com.android.tools.r8.graph.DexType):653:661 -> a
    1:6:void fixupEnumClassInitializers(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):226:231 -> 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):493:515 -> b
    1:9:com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result fixupTypeReferences(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):102:110 -> 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):110 -> c
    11:12:com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result fixupTypeReferences(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):112:113 -> 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):113 -> c
    14:26:com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result fixupTypeReferences(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):115:127 -> c
    27:27:void com.android.tools.r8.graph.DexClass.setStaticFields(java.util.Collection):412:412 -> c
    27:27:com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result fixupTypeReferences(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):127 -> c
    28:45:com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result fixupTypeReferences(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):129:146 -> c
com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result -> com.android.tools.r8.internal.vi:
    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):681:684 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.BiMap getCheckNotNullToCheckNotZeroMapping():688:688 -> a
    1:1:com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens getLens():692:692 -> b
    1:1:com.android.tools.r8.graph.PrunedItems getPrunedItems():696:696 -> c
com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClass -> com.android.tools.r8.internal.xi:
    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.zi:
    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.yi:
    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.Bi:
    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):191:194 -> 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):400:421 -> a
    5:26:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):200 -> 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):422 -> a
    27:27:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):200 -> 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):425:437 -> a
    28:40:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):200 -> 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):294:299 -> a
    41:46:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> 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):232:232 -> 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):299 -> a
    47:47:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> 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):299:303 -> a
    48:52:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> 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):341:341 -> 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):307 -> a
    53:53:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> 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):348:348 -> 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):342 -> 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):307 -> a
    54:54:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> 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):348 -> 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):342 -> 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):307 -> a
    55:55:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> 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):349:355 -> 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):342 -> 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):307 -> a
    56:62:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> 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):232:232 -> 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):355 -> 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):342 -> 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):307 -> a
    63:63:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> 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):355:359 -> 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):342 -> 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):307 -> a
    64:68:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> 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):343:343 -> 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):307 -> a
    69:69:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> 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):308:309 -> a
    70:71:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> a
    72:72:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.enableRemoveProtoEnumSwitchMap():1583:1583 -> 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):309 -> a
    72:72:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> a
    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):310:315 -> a
    73:78:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> 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):52:52 -> 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):315 -> a
    79:79:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> 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):48:48 -> 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):52 -> 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):315 -> a
    80:80:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> 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):315:319 -> a
    81:85:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> 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):232:232 -> 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):319 -> a
    86:86:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> 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):320:320 -> a
    87:87:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> 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):314:326 -> a
    88:100:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> 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):325:325 -> a
    101:101:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):205 -> a
    102:108:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):210:216 -> 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):216 -> a
    110:111:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):224:225 -> 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):225 -> a
    115:123:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):237:245 -> 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):249 -> a
    125:127:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):250:252 -> a
    128:134:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):251:257 -> 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):257 -> a
    136:143:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):258:265 -> 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):268 -> a
    145:161:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):272:288 -> 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):288 -> a
    163:163:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):288:288 -> 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):230:231 -> a
    166:166:void lambda$removeSwitchMaps$1(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):274:274 -> 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):94:94 -> b
    41:41:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):101 -> b
    42:53:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):101:112 -> b
    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):341:341 -> b
    54:54:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):112 -> b
    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):348:348 -> b
    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):342 -> b
    55:55:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):112 -> b
    56:56:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNullOrAbstractValue():0:0 -> b
    56:56: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):348 -> b
    56:56: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):342 -> b
    56:56:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):112 -> b
    57: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):349:355 -> b
    57: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):342 -> b
    57:63:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):112 -> b
    64:64: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):232:232 -> b
    64:64: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):355 -> b
    64:64: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):342 -> b
    64:64:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):112 -> b
    65:69: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):355:359 -> b
    65: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):342 -> b
    65:69:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):112 -> b
    70:70: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):343:343 -> b
    70:70:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):112 -> b
    71:72:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):114:115 -> b
    73:73:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> b
    73:73:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):114 -> b
    74:74:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):121:121 -> b
    75:75: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):334:334 -> b
    75:75:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):121 -> 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):348:348 -> b
    76:76: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):335 -> b
    76:76:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):121 -> b
    77:77:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNullOrAbstractValue():0:0 -> b
    77:77: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):348 -> b
    77:77: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):335 -> b
    77:77:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):121 -> b
    78:84: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):349:355 -> b
    78:84: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):335 -> b
    78:84:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):121 -> b
    85:85: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):232:232 -> b
    85:85: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):355 -> b
    85:85: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):335 -> b
    85:85:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):121 -> b
    86:90: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):355:359 -> b
    86:90: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):335 -> b
    86:90:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):121 -> b
    91:91: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):336:336 -> b
    91:91:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):121 -> b
    92:94:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):127:129 -> b
    95:95:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> b
    95:95:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):129 -> b
    96:103:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):130:137 -> b
    104:104:boolean com.android.tools.r8.graph.DexClass.isFinal():656:656 -> b
    104:104:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):137 -> b
    105:123:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):142:160 -> b
    124:124:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> b
    124:124:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):160 -> b
    125:129:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):161:165 -> b
    130:130:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> b
    130:130:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):165 -> b
    131:133:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):165:167 -> b
com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo -> com.android.tools.r8.internal.Ai:
    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):362:362 -> <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):375:380 -> <init>
com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass -> com.android.tools.r8.internal.TB:
    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):582:582 -> 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):574:574 -> 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.SB:
    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.KT:
    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):582:582 -> 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):574:574 -> 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.JT:
    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: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):244:245 -> a
    15:16:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):214 -> a
    17:17:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2383:2383 -> 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.t9:
    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.RewrittenPrototypeDescription$ArgumentInfoCollection):37:37 -> a
    6:6:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> a
    6:6:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):37 -> a
    7:7:com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.unknown():12:12 -> a
    7:7:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):48 -> a
    8:10:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription$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.ji:
    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.RewrittenPrototypeDescription$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.ki:
    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.TZ:
    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.RewrittenPrototypeDescription$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.u9:
    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
    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:int computeHashCode():95:95 -> g0
    1:1:boolean computeEquals(java.lang.Object):90:90 -> h
    1:1:int estimatedDexCodeSizeUpperBoundInBytes():100:100 -> k0
    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.mP:
    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.jP:
    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.kP:
    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.lP:
    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.p6:
    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.zc:
    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.RewrittenPrototypeDescription):63:77 -> a
    16:19:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.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.RewrittenPrototypeDescription):81 -> a
    21:30:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription):84:93 -> a
    31:31:com.android.tools.r8.ir.analysis.value.UnknownValue com.android.tools.r8.ir.analysis.value.AbstractValue.unknown():20:20 -> a
    31:31:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription):93 -> a
    32:44:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription):93:105 -> 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):55:55 -> a
    45:45:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription):104 -> a
    46:46:com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.top():14:14 -> 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):56 -> a
    46:46:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription):104 -> 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):57:57 -> a
    47:47:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription):104 -> a
    48:48: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):20:20 -> 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 -> a
    48:48:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription):104 -> a
    49:49: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
    49:49:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription):104 -> a
    50:50:boolean lambda$fixupAfterParametersChanged$0(java.lang.Integer):77:77 -> a
    51:52:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractArgumentValue(int):118:119 -> a
    53: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):130:131 -> a
    55:55:void com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo.<init>(int):36:36 -> a
    55:55: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
    56: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):133:135 -> a
    59:59:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    59:59: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
    60: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:149 -> a
    71:71:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexEncodedMethod.getArgumentType(int):200:200 -> 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):149 -> 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):150:150 -> 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: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:74: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
    74:74: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
    74:74:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60 -> a
    74:74: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
    75:75: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
    75:75:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60 -> a
    75:75: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
    76:80: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
    81:86: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
    87:99: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
    100:100:com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.top():14:14 -> a
    100:100: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.ze:
    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 -> b
    1:1:com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo toMutableOptimizationInfo():11 -> b
    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.Ge:
    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>():25:36 -> <clinit>
    1:1:void <init>():41:41 -> <init>
    boolean neverReturnsNormally() -> A
    boolean returnValueHasBeenPropagated() -> B
    boolean returnValueOnlyDependsOnArguments() -> C
    boolean returnsArgument() -> D
    boolean triggersClassInitBeforeAnySideEffect() -> E
    1:1:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo toMutableOptimizationInfo():195:195 -> F
    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getInstanceInitializerInfo(com.android.tools.r8.ir.code.InvokeDirect):89:89 -> a
    2:2:boolean mayHaveSideEffects(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.utils.InternalOptions):180:180 -> a
    1:1:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.DefaultMethodOptimizationInfo.toMutableOptimizationInfo():195:195 -> b
    1:1:com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo toMutableOptimizationInfo():25 -> b
    boolean cannotBeKept() -> e
    boolean classInitializerMayBePostponed() -> f
    boolean forceInline() -> g
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractReturnValue():135:135 -> 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():59 -> i
    com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo getBridgeInfo() -> j
    1:1:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint getClassInlinerMethodConstraint():64:64 -> k
    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getContextInsensitiveInstanceInitializerInfo():84:84 -> l
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType():74:74 -> m
    1:1:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification getEnumUnboxerMethodClassification():69:69 -> n
    1:1:java.util.Set getInitializedClassesOnNormalExit():79:79 -> o
    java.util.BitSet getNonNullParamOnNormalExits() -> p
    java.util.BitSet getNonNullParamOrThrow() -> q
    1:3:int getReturnedArgument():119:119 -> r
    1:1:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint getSimpleInliningConstraint():145:145 -> s
    java.util.BitSet getUnusedArguments() -> t
    boolean hasBeenInlinedIntoSingleCallSite() -> u
    boolean isInitializerEnablingJavaVmAssertions() -> w
    boolean isMultiCallerMethod() -> x
    boolean isReachabilitySensitive() -> y
    1:1:boolean mayHaveSideEffects():175:175 -> z
com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo -> com.android.tools.r8.internal.Cj:
    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.bB:
    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.mD:
    com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo asMutableMethodOptimizationInfo() -> a
    com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo toMutableOptimizationInfo() -> b
    com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo asMutableFieldOptimizationInfo() -> c
    boolean isMutableOptimizationInfo() -> d
com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo -> com.android.tools.r8.internal.cE:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():21:21 -> <clinit>
    1:1:void <init>():21:21 -> <init>
    boolean neverReturnsNormally() -> A
    boolean returnValueHasBeenPropagated() -> B
    boolean returnValueOnlyDependsOnArguments() -> C
    boolean returnsArgument() -> D
    boolean triggersClassInitBeforeAnySideEffect() -> 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():81:82 -> v
    boolean isInitializerEnablingJavaVmAssertions() -> w
    boolean isMultiCallerMethod() -> x
    boolean isReachabilitySensitive() -> y
    boolean mayHaveSideEffects() -> z
com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector -> com.android.tools.r8.internal.eE:
    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>():115:115 -> <clinit>
    1:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):124:131 -> <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):142:142 -> 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):168:170 -> 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):143 -> 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):175:175 -> 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):144 -> 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):182:221 -> 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):176 -> 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):144 -> 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):220:220 -> 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):176 -> 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):144 -> 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):177:177 -> 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):144 -> 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):145:145 -> a
    49:49:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.identifyInvokeSemanticsForInlining(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):534:534 -> a
    49:49: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
    50:53:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.identifyInvokeSemanticsForInlining(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):541:544 -> a
    50:53:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.identifyInvokeSemanticsForInlining(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):535 -> a
    50: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):146 -> a
    54:54:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.identifyInvokeSemanticsForInlining(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):543:543 -> a
    54:54:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.identifyInvokeSemanticsForInlining(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):535 -> 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:55:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.identifyInvokeSemanticsForInlining(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):536:536 -> a
    55:55: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
    56:56: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:148 -> a
    57:61: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):801:805 -> a
    57: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):149 -> 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):814:814 -> 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):151 -> a
    63:67: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):824:828 -> a
    63:67: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):815 -> a
    63:67: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):151 -> a
    68: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):840:841 -> a
    68: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):828 -> a
    68: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):815 -> a
    68: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):151 -> a
    70:70:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():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):841 -> 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):828 -> 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):815 -> 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):151 -> a
    71:72: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):842:843 -> a
    71:72: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):828 -> a
    71:72: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):815 -> a
    71:72: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):151 -> a
    73:73:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():0:0 -> a
    73:73: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):844 -> a
    73:73: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):828 -> a
    73:73: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):815 -> a
    73:73: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):151 -> a
    74:76: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):844:846 -> a
    74:76: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):828 -> a
    74:76: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):815 -> a
    74:76: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):151 -> a
    77:77: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):845:845 -> a
    77:77: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):828 -> a
    77:77: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):815 -> a
    77: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):151 -> a
    78:78:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isUnknownClassification():0:0 -> a
    78:78: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):848 -> a
    78:78: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):828 -> a
    78:78: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):815 -> a
    78:78: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):151 -> a
    79:79: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):848:848 -> a
    79:79: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):828 -> a
    79:79: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):815 -> a
    79:79: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):151 -> a
    80:82: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):831:833 -> a
    80:82: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):815 -> a
    80: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):151 -> a
    83:83: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):816:816 -> a
    83:83: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):151 -> a
    84:85: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):855:856 -> a
    84:85: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
    86:88: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):864:864 -> a
    86:88: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):857 -> a
    86:88: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
    89:89: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):858:858 -> a
    89:89: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
    90:90: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):874:874 -> a
    90:90: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):153 -> a
    91: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):887:898 -> a
    91: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):875 -> a
    91: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):153 -> a
    103: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):897:899 -> a
    103: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):875 -> a
    103: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):153 -> a
    106:106: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
    106:106: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):899 -> a
    106:106: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):875 -> a
    106:106: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):153 -> a
    107: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):903:904 -> a
    107: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):875 -> a
    107: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):153 -> 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):904 -> 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):875 -> 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):153 -> 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):910:910 -> 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):875 -> 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):153 -> a
    111:111:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60:60 -> a
    111:111: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):910 -> a
    111:111: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):875 -> 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):153 -> a
    112:112: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
    112:112: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
    112:112:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60 -> a
    112:112: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):910 -> a
    112:112: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):875 -> 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):153 -> a
    113:113: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
    113:113:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60 -> a
    113:113: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):910 -> a
    113:113: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):875 -> a
    113:113: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):153 -> a
    114:116: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):912:914 -> a
    114:116: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):875 -> a
    114:116: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):153 -> a
    117:117: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
    117:117: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):914 -> a
    117:117: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):875 -> a
    117:117: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):153 -> a
    118:118: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):876:876 -> a
    118:118: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):153 -> a
    119: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):154:154 -> 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):920:920 -> 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):155 -> a
    121:127: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):927:933 -> a
    121:127: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):921 -> a
    121:127: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
    128:128: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):922:922 -> a
    128:128: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
    129:129: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):233:233 -> a
    129:129: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
    130:142: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):243:255 -> a
    130:142: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):234 -> a
    130:142: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
    143:143: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
    143:143: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):260 -> a
    143:143: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):234 -> a
    143:143: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
    144: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):283:496 -> a
    144: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):261 -> a
    144: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):234 -> a
    144: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):157 -> a
    358: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):475:476 -> a
    358: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):261 -> a
    358: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):234 -> a
    358: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):157 -> a
    360:360:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613:613 -> a
    360:360: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):476 -> a
    360:360: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):261 -> a
    360:360: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):234 -> a
    360:360: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
    361:362: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):479:480 -> a
    361:362: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):261 -> a
    361:362: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):234 -> a
    361:362: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
    363:364: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):443:444 -> a
    363:364: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):261 -> a
    363:364: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):234 -> a
    363:364: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
    365:365:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613:613 -> a
    365:365: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):444 -> a
    365:365: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):261 -> a
    365:365: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):234 -> a
    365:365: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
    366:387: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):445:466 -> a
    366:387: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):261 -> a
    366:387: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):234 -> a
    366:387: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
    388:390: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):391:393 -> a
    388:390: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):261 -> a
    388:390: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):234 -> a
    388:390: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
    391:391:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):94:94 -> a
    391:391: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):393 -> a
    391:391: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):261 -> a
    391:391: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):234 -> a
    391:391: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
    392: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):394:410 -> a
    392: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):261 -> a
    392: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):234 -> a
    392: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):157 -> a
    409:413: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) -> a
    409:413: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):261 -> a
    409:413: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):234 -> a
    409:413: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
    414:414: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
    414:414: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):413 -> a
    414:414: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):261 -> a
    414:414: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):234 -> a
    414:414: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
    415:427: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):414:426 -> a
    415:427: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):261 -> a
    415:427: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):234 -> a
    415:427: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
    428:455: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):406:433 -> a
    428:455: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):261 -> a
    428:455: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):234 -> a
    428:455: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
    456:463: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):365:372 -> a
    456:463: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):261 -> a
    456:463: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):234 -> a
    456:463: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
    464:464: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
    464:464: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
    464:464: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):261 -> a
    464:464: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):234 -> a
    464:464: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
    465: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):373:373 -> a
    465: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):261 -> a
    465: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):234 -> a
    465: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):157 -> a
    466:466:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):62:62 -> 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):373 -> 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):261 -> 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):234 -> 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):157 -> a
    467:470: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):374:377 -> a
    467:470: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):261 -> a
    467:470: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):234 -> a
    467:470: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
    471:471: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
    471:471: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):377 -> a
    471:471: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):261 -> a
    471:471: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):234 -> a
    471:471: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
    472:476: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):380:384 -> a
    472:476: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):261 -> a
    472:476: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):234 -> a
    472:476: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
    477:485: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):346:354 -> a
    477:485: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):261 -> a
    477:485: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):234 -> a
    477:485: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
    486:486:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    486:486: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):355 -> a
    486:486: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):261 -> a
    486:486: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):234 -> a
    486:486: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
    487:487: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):357:357 -> a
    487:487: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):261 -> a
    487:487: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):234 -> a
    487:487: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
    488:665: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):310:487 -> a
    488:665: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):261 -> a
    488:665: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):234 -> a
    488:665: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
    666:845: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):338:517 -> a
    666:845: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):261 -> a
    666:845: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):234 -> a
    666:845: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
    846:846: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):263:263 -> a
    846:846: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):234 -> a
    846:846: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
    847:847: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):262:262 -> a
    847:847: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):234 -> a
    847: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):157 -> a
    848:848: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):235:235 -> 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):157 -> a
    849:851: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):940:942 -> a
    849:851: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):159 -> a
    852:852: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):1032:1032 -> a
    852:852: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):160 -> a
    853:859: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):1039:1045 -> a
    853:859: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):1033 -> a
    853:859: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):160 -> a
    860:860: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):1034:1034 -> a
    860:860: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):160 -> a
    861:861: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):1051:1051 -> a
    861:861: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):161 -> a
    862:884: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):1060:1082 -> a
    862:884: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):1052 -> a
    862:884: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):161 -> a
    885:885: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):1053:1053 -> a
    885:885: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):161 -> a
    886:886: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):1090:1090 -> a
    886:886: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):162 -> a
    887:906: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):1097:1116 -> a
    887:906: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):1091 -> a
    887:906: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):162 -> a
    907:907: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):1092:1092 -> a
    907:907: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):162 -> a
    908:908: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):1231:1231 -> a
    908:908: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):163 -> a
    909:918: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):1238:1247 -> a
    909:918: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):1232 -> a
    909:918: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):163 -> a
    919:919: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):1233:1233 -> a
    919:919: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):163 -> a
    920:920:boolean couldBeReceiverValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.AliasedValueConfiguration):522:522 -> a
    921:921: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
    921:921:boolean couldBeReceiverValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.AliasedValueConfiguration):526 -> a
    922:922:boolean triggersClassInitializationBeforeSideEffect(com.android.tools.r8.ir.code.IRCode):555:555 -> a
    923:925:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$triggersClassInitializationBeforeSideEffect$0(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):558:560 -> a
    926:945:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$triggersClassInitializationBeforeSideEffect$0(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):559:578 -> a
    946:1004:boolean alwaysTriggerExpectedEffectBeforeAnythingElse(com.android.tools.r8.ir.code.IRCode,java.util.function.BiFunction):590:648 -> a
    1005:1044:boolean alwaysTriggerExpectedEffectBeforeAnythingElse(com.android.tools.r8.ir.code.IRCode,java.util.function.BiFunction):609:648 -> a
    1045:1057:boolean alwaysTriggerExpectedEffectBeforeAnythingElse(com.android.tools.r8.ir.code.IRCode,java.util.function.BiFunction):636:648 -> a
    1058:1058:boolean checksNullBeforeSideEffect(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value):659:659 -> a
    1059:1062:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$1(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):662:665 -> a
    1063:1065:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isNullCheck(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):772:774 -> a
    1063:1065:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$1(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):665 -> a
    1066:1070:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$1(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):666:670 -> a
    1071:1078: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):737:744 -> a
    1071:1078:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$1(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):670 -> a
    1079:1079:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    1079:1079: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):744 -> a
    1079:1079:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$1(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):670 -> a
    1080:1082: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):745:747 -> a
    1080:1082:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$1(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):670 -> a
    1083:1083:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    1083:1083: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):749 -> a
    1083:1083:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$1(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):670 -> a
    1084:1084: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):750:750 -> a
    1084:1084:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$1(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):670 -> a
    1085:1087:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$1(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):671:673 -> a
    1088:1095:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isKotlinThrowParameterIsNullException(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeStatic):758:765 -> a
    1088:1095:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$1(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):673 -> a
    1096:1096:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    1096:1096:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isKotlinThrowParameterIsNullException(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeStatic):765 -> a
    1096:1096:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$1(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):673 -> a
    1097:1099:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isKotlinThrowParameterIsNullException(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeStatic):766:768 -> a
    1097:1099:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$1(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):673 -> a
    1100:1101:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$1(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):676:677 -> a
    1102:1104:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isNullCheck(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):772:774 -> a
    1102:1104:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$1(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):677 -> a
    1105:1113:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$1(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):678:686 -> a
    1114:1121: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):783:790 -> a
    1114:1121:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$1(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):686 -> a
    1122:1133:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$1(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):687:698 -> a
    1134:1134:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    1134:1134:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$1(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):701 -> a
    1135:1141:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$1(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):701:707 -> a
    1142:1165:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):948:971 -> a
    1166:1166:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):970:970 -> a
    1167:1167:boolean com.android.tools.r8.graph.DexEncodedMethod.isSynchronized():444:444 -> a
    1167:1167:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):980 -> a
    1168:1168:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):983:983 -> a
    1169:1180:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.hasNonTrivialFinalizeMethod(com.android.tools.r8.graph.DexProgramClass):1016:1027 -> a
    1169:1180:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):983 -> a
    1181:1200:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):991:1010 -> a
    1201:1201:boolean lambda$computeMayHaveSideEffects$2(com.android.tools.r8.graph.DexProgramClass):973:973 -> a
    1202:1210: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):1122:1130 -> a
    1211:1211:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    1211:1211: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):1131 -> a
    1212:1221: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):1131:1140 -> a
    1222:1253: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):1135:1166 -> a
    1254:1299: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):1180:1225 -> a
    1254:1299: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):1167 -> a
    1300:1300:boolean lambda$isNonNullOnNormalExit$4(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):1138:1138 -> a
    boolean lambda$computeMayHaveSideEffects$3(com.android.tools.r8.graph.DexProgramClass) -> b
com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect -> com.android.tools.r8.internal.dE:
    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>():726:729 -> <clinit>
    1:1:void <init>(java.lang.String,int):725:725 -> <init>
com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo -> com.android.tools.r8.internal.EF:
    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>
    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.MemberOptimizationInfo toMutableOptimizationInfo() -> b
    com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo asMutableFieldOptimizationInfo() -> c
    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.FF:
    com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification enumUnboxerMethodClassification -> g
    java.util.BitSet nonNullParamOnNormalExits -> m
    java.util.BitSet nonNullParamOrThrow -> l
    java.util.BitSet unusedArguments -> o
    com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo argumentInfos -> b
    int returnedArgument -> d
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint simpleInliningConstraint -> n
    com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint classInlinerConstraint -> f
    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo$InlinePreference inlining -> i
    boolean $assertionsDisabled -> r
    com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo bridgeInfo -> j
    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 -> k
    int flags -> p
    com.android.tools.r8.ir.analysis.type.DynamicType dynamicType -> h
    int DEFAULT_FLAGS -> q
    1:74:void <clinit>():35:108 -> <clinit>
    75:75:boolean com.android.tools.r8.ir.optimize.info.DefaultMethodOptimizationInfo.mayHaveSideEffects():175:175 -> <clinit>
    75:75:void <clinit>():111 -> <clinit>
    76:97:void <clinit>():111:132 -> <clinit>
    1:1:void <init>():137:137 -> <init>
    2:99:void <init>():38:135 -> <init>
    100:100:void <init>(com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):143:143 -> <init>
    101:220:void <init>(com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):38:157 -> <init>
    1:1:boolean neverReturnsNormally():401:401 -> A
    1:1:boolean returnValueHasBeenPropagated():682:682 -> B
    1:1:boolean returnValueOnlyDependsOnArguments():511:511 -> C
    1:1:boolean returnsArgument():390:390 -> D
    1:1:boolean triggersClassInitBeforeAnySideEffect():490:490 -> E
    1:1:void markAsPropagated():677:677 -> F
    1:1:void markCannotBeKept():228:228 -> G
    1:1:void markClassInitializerMayBePostponed():237:237 -> H
    1:2:void markForceInline():651:652 -> I
    1:1:void markInlinedIntoSingleCallSite():376:376 -> J
    1:1:void markMayNotHaveSideEffects():580:580 -> K
    1:1:void markNeverReturnsNormally():596:596 -> L
    1:1:void markReturnValueOnlyDependsOnArguments():588:588 -> M
    1:1:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo mutableCopy():701:701 -> N
    1:1:void setInitializerEnablingJavaAssertions():548:548 -> O
    1:4:void setMultiCallerMethod():660:663 -> P
    1:1:void unsetAbstractReturnValue():610:610 -> Q
    1:1:void unsetBridgeInfo():422:422 -> R
    1:1:void unsetClassInitializerMayBePostponed():241:241 -> S
    1:1:void unsetClassInlinerMethodConstraint():278:278 -> T
    1:1:void unsetDynamicType():645:645 -> U
    1:1:void unsetEnumUnboxerMethodClassification():296:296 -> V
    1:1:void unsetForceInline():656:656 -> W
    1:1:void unsetInitializedClassesOnNormalExit():560:560 -> X
    1:1:void unsetInitializerEnablingJavaVmAssertions():552:552 -> Y
    1:1:void unsetInlinedIntoSingleCallSite():380:380 -> Z
    com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo asMutableMethodOptimizationInfo() -> 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 markTriggerClassInitBeforeAnySideEffect(boolean):668 -> 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):575:575 -> 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):532:534 -> 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):533:533 -> 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():495:495 -> a
    42:42:boolean mayHaveSideEffects(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.utils.InternalOptions):500 -> 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):503 -> 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):503 -> a
    45:45:boolean mayHaveSideEffects(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.utils.InternalOptions):503:503 -> a
    46:46:void setSimpleInliningConstraint(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):523:523 -> a
    47:47:void setInstanceInitializerInfoCollection(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection):540:540 -> a
    48:48:void markInitializesClassesOnNormalExit(java.util.Set):556:556 -> a
    49:49:void markReturnsAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):604:604 -> a
    50:50:void markReturnsAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":657,"2":658,"3":659}}
    657:657:void markReturnsAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):604:604 -> a
    658:658:void markReturnsAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):604:604 -> a
    659:659:void markReturnsAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):604:604 -> a
    654:656:void markReturnsAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):604:606 -> a
    660:660:void setDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexEncodedMethod):614:614 -> a
    661:662: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):628:629 -> a
    661:662:void setDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexEncodedMethod):622 -> a
    663:663:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexEncodedMethod.getReturnType():335:335 -> a
    663:663: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):629 -> a
    663:663:void setDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexEncodedMethod):622 -> a
    664:664: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):629:629 -> 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):622 -> a
    665:665:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    665:665: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):629 -> a
    665:665:void setDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexEncodedMethod):622 -> a
    666:666: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
    666:666:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    666: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):629 -> a
    666:666:void setDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexEncodedMethod):622 -> a
    667:671: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):630:634 -> a
    667:671:void setDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexEncodedMethod):622 -> a
    672:672:void setDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexEncodedMethod):623:623 -> a
    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection.empty():23:23 -> a0
    1:1:void unsetInstanceInitializerInfoCollection():544 -> a0
    2:2:void unsetInstanceInitializerInfoCollection():544:544 -> a0
    com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo toMutableOptimizationInfo() -> b
    1:3:void com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.setFlag(int,boolean):203:205 -> b
    1:3:void setReachabilitySensitive(boolean):515 -> b
    4:4:boolean isFlagSet(int):218:218 -> b
    5:5:void setNonNullParamOnNormalExits(java.util.BitSet):363:363 -> b
    1:1:void unsetMayNotHaveSideEffects():584:584 -> b0
    1:1:void setNonNullParamOrThrow(java.util.BitSet):344:344 -> c
    2:4:void markReturnsArgument(int):564:566 -> c
    1:1:void unsetNeverReturnsNormally():600:600 -> 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 unsetNonNullParamOnNormalExits():367:367 -> d0
    1:1:boolean cannotBeKept():223:223 -> e
    1:1:void unsetNonNullParamOrThrow():348:348 -> e0
    1:1:boolean classInitializerMayBePostponed():233:233 -> f
    1:1:void unsetReachabilitySensitive():519:519 -> f0
    1:1:boolean forceInline():485:485 -> g
    1:1:void unsetReturnValueOnlyDependsOnArguments():592:592 -> g0
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractReturnValue():427:427 -> h
    1:1:void unsetReturnedArgument():570:570 -> h0
    1:1:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo getArgumentInfos():246:246 -> i
    1:1:void unsetSimpleInliningConstraint():527:527 -> i0
    1:1:com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo getBridgeInfo():406:406 -> j
    1:1:void unsetTriggerClassInitBeforeAnySideEffect():672:672 -> 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:boolean mayHaveSideEffects():495:495 -> z
com.android.tools.r8.ir.optimize.info.OptimizationFeedback -> com.android.tools.r8.internal.VJ:
    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.UJ:
    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.WJ:
    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):245 -> a
    8:8:void setClassInlinerMethodConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint):246:246 -> 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):252 -> a
    10:10:void setEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):253:253 -> 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):282 -> a
    12:12:void setSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):282:282 -> 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):292 -> a
    14:14:void setUnusedArguments(com.android.tools.r8.graph.ProgramMethod,java.util.BitSet):292:292 -> 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 unsetEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod):324 -> a
    16:16:void unsetEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod):324:324 -> 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
    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 markTriggerClassInitBeforeAnySideEffect(com.android.tools.r8.graph.DexEncodedMethod,boolean):234:234 -> a
    46:46:void setBridgeInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo):239:239 -> a
    47:48:void setInstanceInitializerInfoCollection(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection):260:261 -> a
    49:49:void setInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.DexEncodedMethod):266:266 -> a
    50:50:void setNonNullParamOrThrow(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet):271:271 -> 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 unsetForceInline(com.android.tools.r8.graph.ProgramMethod):329 -> b
    2:2:void unsetForceInline(com.android.tools.r8.graph.ProgramMethod):329:329 -> 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):276:276 -> 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 methodNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod):208 -> c
    2:2:void methodNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod):208:208 -> 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):287:287 -> 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 markTriggerClassInitBeforeAnySideEffect(com.android.tools.r8.graph.DexEncodedMethod,boolean) -> 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 unsetEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod) -> a
    void methodMayNotHaveSideEffects(com.android.tools.r8.graph.DexEncodedMethod) -> b
    void setNonNullParamOnNormalExits(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet) -> b
    void unsetForceInline(com.android.tools.r8.graph.ProgramMethod) -> 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 methodNeverReturnsNormally(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.YJ:
    com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple INSTANCE -> a
    1:1:void <clinit>():27:27 -> <clinit>
    1:1:void <init>():29:29 -> <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 markTriggerClassInitBeforeAnySideEffect(com.android.tools.r8.graph.DexEncodedMethod,boolean) -> 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):44:44 -> 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):65:66 -> a
    4:4:void methodReturnsArgument(com.android.tools.r8.graph.DexEncodedMethod,int):99:99 -> 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):105:105 -> 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):111:111 -> a
    7:7:void markProcessed(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):136:136 -> a
    8:8:void setArgumentInfos(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):145:145 -> a
    9:9:void setBridgeInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo):150:150 -> a
    10:12:void setEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):163:165 -> a
    13:14:void setInstanceInitializerInfoCollection(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection):173:174 -> a
    15:15:void setInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.DexEncodedMethod):179:179 -> 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 unsetEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod):250:250 -> a
    26:26:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):343:343 -> a
    26:26:void unsetEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod):250 -> a
    27:27:void unsetEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":28,"2":29,"3":30}}
    28:28:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> a
    28:28:void unsetEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod):250 -> a
    29:29:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> a
    29:29:void unsetEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod):250 -> a
    30:30:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> a
    30:30:void unsetEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod):250 -> a
    1:1:com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple getInstance():32:32 -> b
    2:2:void markFieldAsPropagated(com.android.tools.r8.graph.DexEncodedField):49:49 -> b
    3:3:void methodMayNotHaveSideEffects(com.android.tools.r8.graph.DexEncodedMethod):116:116 -> b
    4:4:void setNonNullParamOnNormalExits(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet):189:189 -> b
    5:5:void unsetForceInline(com.android.tools.r8.graph.ProgramMethod):256:256 -> b
    6:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):343:343 -> b
    6:6:void unsetForceInline(com.android.tools.r8.graph.ProgramMethod):256 -> b
    7:7:void unsetForceInline(com.android.tools.r8.graph.ProgramMethod):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":8,"2":9,"3":10}}
    8:8:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> b
    8:8:void unsetForceInline(com.android.tools.r8.graph.ProgramMethod):256 -> b
    9:9:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> b
    9:9:void unsetForceInline(com.android.tools.r8.graph.ProgramMethod):256 -> b
    10:10:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> b
    10:10:void unsetForceInline(com.android.tools.r8.graph.ProgramMethod):256 -> b
    1:1:void markFieldCannotBeKept(com.android.tools.r8.graph.DexEncodedField):39:39 -> c
    2:2:void markInlinedIntoSingleCallSite(com.android.tools.r8.graph.DexEncodedMethod):83:83 -> c
    3:3:void methodNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod):126:126 -> c
    void methodReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.DexEncodedMethod) -> d
    1:1:void setMultiCallerMethod(com.android.tools.r8.graph.ProgramMethod):71:71 -> d
    1:1:void classInitializerMayBePostponed(com.android.tools.r8.graph.DexEncodedMethod):200:200 -> e
    2:2:void unsetAbstractReturnValue(com.android.tools.r8.graph.ProgramMethod):222:222 -> e
    3:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):343:343 -> e
    3:3:void unsetAbstractReturnValue(com.android.tools.r8.graph.ProgramMethod):222 -> e
    4:4:void unsetAbstractReturnValue(com.android.tools.r8.graph.ProgramMethod):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5,"2":6,"3":7}}
    5:5:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> e
    5:5:void unsetAbstractReturnValue(com.android.tools.r8.graph.ProgramMethod):222 -> e
    6:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> e
    6:6:void unsetAbstractReturnValue(com.android.tools.r8.graph.ProgramMethod):222 -> e
    7:7:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> e
    7:7:void unsetAbstractReturnValue(com.android.tools.r8.graph.ProgramMethod):222 -> e
    1:1:void markMethodCannotBeKept(com.android.tools.r8.graph.DexEncodedMethod):88:88 -> f
    2:2:void unsetClassInitializerMayBePostponed(com.android.tools.r8.graph.ProgramMethod):233:233 -> f
    3:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):343:343 -> f
    3:3:void unsetClassInitializerMayBePostponed(com.android.tools.r8.graph.ProgramMethod):233 -> f
    4:4:void unsetClassInitializerMayBePostponed(com.android.tools.r8.graph.ProgramMethod):0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5,"2":6,"3":7}}
    5:5:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> f
    5:5:void unsetClassInitializerMayBePostponed(com.android.tools.r8.graph.ProgramMethod):233 -> f
    6:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> f
    6:6:void unsetClassInitializerMayBePostponed(com.android.tools.r8.graph.ProgramMethod):233 -> f
    7:7:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> f
    7:7:void unsetClassInitializerMayBePostponed(com.android.tools.r8.graph.ProgramMethod):233 -> 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):351:352 -> g
    2:3:void unsetBridgeInfo(com.android.tools.r8.graph.DexEncodedMethod):228 -> g
    4:4:void unsetClassInlinerMethodConstraint(com.android.tools.r8.graph.ProgramMethod):239:239 -> g
    5:5:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):343:343 -> g
    5:5:void unsetClassInlinerMethodConstraint(com.android.tools.r8.graph.ProgramMethod):239 -> g
    6:6:void unsetClassInlinerMethodConstraint(com.android.tools.r8.graph.ProgramMethod):0:0 -> g
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7,"2":8,"3":9}}
    7:7:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> g
    7:7:void unsetClassInlinerMethodConstraint(com.android.tools.r8.graph.ProgramMethod):239 -> g
    8:8:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> g
    8:8:void unsetClassInlinerMethodConstraint(com.android.tools.r8.graph.ProgramMethod):239 -> g
    9:9:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> g
    9:9:void unsetClassInlinerMethodConstraint(com.android.tools.r8.graph.ProgramMethod):239 -> g
    1:1:void unsetDynamicReturnType(com.android.tools.r8.graph.ProgramMethod):245:245 -> h
    2:2:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):343:343 -> h
    2:2:void unsetDynamicReturnType(com.android.tools.r8.graph.ProgramMethod):245 -> h
    3:3:void unsetDynamicReturnType(com.android.tools.r8.graph.ProgramMethod):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> h
    4:4:void unsetDynamicReturnType(com.android.tools.r8.graph.ProgramMethod):245 -> h
    5:5:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> h
    5:5:void unsetDynamicReturnType(com.android.tools.r8.graph.ProgramMethod):245 -> h
    6:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> h
    6:6:void unsetDynamicReturnType(com.android.tools.r8.graph.ProgramMethod):245 -> h
    1:1:void unsetInitializedClassesOnNormalExit(com.android.tools.r8.graph.ProgramMethod):261:261 -> i
    2:2:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):343:343 -> i
    2:2:void unsetInitializedClassesOnNormalExit(com.android.tools.r8.graph.ProgramMethod):261 -> i
    3:3:void unsetInitializedClassesOnNormalExit(com.android.tools.r8.graph.ProgramMethod):0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> i
    4:4:void unsetInitializedClassesOnNormalExit(com.android.tools.r8.graph.ProgramMethod):261 -> i
    5:5:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> i
    5:5:void unsetInitializedClassesOnNormalExit(com.android.tools.r8.graph.ProgramMethod):261 -> i
    6:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> i
    6:6:void unsetInitializedClassesOnNormalExit(com.android.tools.r8.graph.ProgramMethod):261 -> i
    1:1:void unsetInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.ProgramMethod):267:267 -> j
    2:2:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):343:343 -> j
    2:2:void unsetInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.ProgramMethod):267 -> j
    3:3:void unsetInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.ProgramMethod):0:0 -> j
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> j
    4:4:void unsetInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.ProgramMethod):267 -> j
    5:5:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> j
    5:5:void unsetInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.ProgramMethod):267 -> j
    6:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> j
    6:6:void unsetInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.ProgramMethod):267 -> j
    1:1:void unsetInlinedIntoSingleCallSite(com.android.tools.r8.graph.ProgramMethod):273:273 -> k
    2:2:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):343:343 -> k
    2:2:void unsetInlinedIntoSingleCallSite(com.android.tools.r8.graph.ProgramMethod):273 -> k
    3:3:void unsetInlinedIntoSingleCallSite(com.android.tools.r8.graph.ProgramMethod):0:0 -> k
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> k
    4:4:void unsetInlinedIntoSingleCallSite(com.android.tools.r8.graph.ProgramMethod):273 -> k
    5:5:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> k
    5:5:void unsetInlinedIntoSingleCallSite(com.android.tools.r8.graph.ProgramMethod):273 -> k
    6:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> k
    6:6:void unsetInlinedIntoSingleCallSite(com.android.tools.r8.graph.ProgramMethod):273 -> k
    1:1:void unsetInstanceInitializerInfoCollection(com.android.tools.r8.graph.ProgramMethod):279:279 -> l
    2:2:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):343:343 -> l
    2:2:void unsetInstanceInitializerInfoCollection(com.android.tools.r8.graph.ProgramMethod):279 -> l
    3:3:void unsetInstanceInitializerInfoCollection(com.android.tools.r8.graph.ProgramMethod):0:0 -> l
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> l
    4:4:void unsetInstanceInitializerInfoCollection(com.android.tools.r8.graph.ProgramMethod):279 -> l
    5:5:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> l
    5:5:void unsetInstanceInitializerInfoCollection(com.android.tools.r8.graph.ProgramMethod):279 -> l
    6:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> l
    6:6:void unsetInstanceInitializerInfoCollection(com.android.tools.r8.graph.ProgramMethod):279 -> l
    1:1:void unsetMayNotHaveSideEffects(com.android.tools.r8.graph.ProgramMethod):285:285 -> m
    2:2:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):343:343 -> m
    2:2:void unsetMayNotHaveSideEffects(com.android.tools.r8.graph.ProgramMethod):285 -> m
    3:3:void unsetMayNotHaveSideEffects(com.android.tools.r8.graph.ProgramMethod):0:0 -> m
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> m
    4:4:void unsetMayNotHaveSideEffects(com.android.tools.r8.graph.ProgramMethod):285 -> m
    5:5:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> m
    5:5:void unsetMayNotHaveSideEffects(com.android.tools.r8.graph.ProgramMethod):285 -> m
    6:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> m
    6:6:void unsetMayNotHaveSideEffects(com.android.tools.r8.graph.ProgramMethod):285 -> m
    1:1:void unsetNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod):291:291 -> n
    2:2:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):343:343 -> n
    2:2:void unsetNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod):291 -> n
    3:3:void unsetNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod):0:0 -> n
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> n
    4:4:void unsetNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod):291 -> n
    5:5:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> n
    5:5:void unsetNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod):291 -> n
    6:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> n
    6:6:void unsetNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod):291 -> n
    1:1:void unsetNonNullParamOnNormalExits(com.android.tools.r8.graph.ProgramMethod):297:297 -> o
    2:2:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):343:343 -> o
    2:2:void unsetNonNullParamOnNormalExits(com.android.tools.r8.graph.ProgramMethod):297 -> o
    3:3:void unsetNonNullParamOnNormalExits(com.android.tools.r8.graph.ProgramMethod):0:0 -> o
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> o
    4:4:void unsetNonNullParamOnNormalExits(com.android.tools.r8.graph.ProgramMethod):297 -> o
    5:5:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> o
    5:5:void unsetNonNullParamOnNormalExits(com.android.tools.r8.graph.ProgramMethod):297 -> o
    6:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> o
    6:6:void unsetNonNullParamOnNormalExits(com.android.tools.r8.graph.ProgramMethod):297 -> o
    1:1:void unsetNonNullParamOrThrow(com.android.tools.r8.graph.ProgramMethod):303:303 -> p
    2:2:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):343:343 -> p
    2:2:void unsetNonNullParamOrThrow(com.android.tools.r8.graph.ProgramMethod):303 -> p
    3:3:void unsetNonNullParamOrThrow(com.android.tools.r8.graph.ProgramMethod):0:0 -> p
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> p
    4:4:void unsetNonNullParamOrThrow(com.android.tools.r8.graph.ProgramMethod):303 -> p
    5:5:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> p
    5:5:void unsetNonNullParamOrThrow(com.android.tools.r8.graph.ProgramMethod):303 -> p
    6:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> p
    6:6:void unsetNonNullParamOrThrow(com.android.tools.r8.graph.ProgramMethod):303 -> p
    1:1:void unsetReachabilitySensitive(com.android.tools.r8.graph.ProgramMethod):309:309 -> q
    2:2:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):343:343 -> q
    2:2:void unsetReachabilitySensitive(com.android.tools.r8.graph.ProgramMethod):309 -> q
    3:3:void unsetReachabilitySensitive(com.android.tools.r8.graph.ProgramMethod):0:0 -> q
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> q
    4:4:void unsetReachabilitySensitive(com.android.tools.r8.graph.ProgramMethod):309 -> q
    5:5:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> q
    5:5:void unsetReachabilitySensitive(com.android.tools.r8.graph.ProgramMethod):309 -> q
    6:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> q
    6:6:void unsetReachabilitySensitive(com.android.tools.r8.graph.ProgramMethod):309 -> q
    1:1:void unsetReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.ProgramMethod):320:320 -> r
    2:2:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):343:343 -> r
    2:2:void unsetReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.ProgramMethod):320 -> r
    3:3:void unsetReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.ProgramMethod):0:0 -> r
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> r
    4:4:void unsetReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.ProgramMethod):320 -> r
    5:5:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> r
    5:5:void unsetReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.ProgramMethod):320 -> r
    6:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> r
    6:6:void unsetReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.ProgramMethod):320 -> r
    1:1:void unsetReturnedArgument(com.android.tools.r8.graph.ProgramMethod):315:315 -> s
    2:2:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):343:343 -> s
    2:2:void unsetReturnedArgument(com.android.tools.r8.graph.ProgramMethod):315 -> s
    3:3:void unsetReturnedArgument(com.android.tools.r8.graph.ProgramMethod):0:0 -> s
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> s
    4:4:void unsetReturnedArgument(com.android.tools.r8.graph.ProgramMethod):315 -> s
    5:5:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> s
    5:5:void unsetReturnedArgument(com.android.tools.r8.graph.ProgramMethod):315 -> s
    6:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> s
    6:6:void unsetReturnedArgument(com.android.tools.r8.graph.ProgramMethod):315 -> s
    1:1:void unsetSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod):326:326 -> t
    2:2:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):343:343 -> t
    2:2:void unsetSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod):326 -> t
    3:3:void unsetSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod):0:0 -> t
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> t
    4:4:void unsetSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod):326 -> t
    5:5:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> t
    5:5:void unsetSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod):326 -> t
    6:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> t
    6:6:void unsetSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod):326 -> t
    1:1:void unsetTriggerClassInitBeforeAnySideEffect(com.android.tools.r8.graph.ProgramMethod):332:332 -> u
    2:2:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):343:343 -> u
    2:2:void unsetTriggerClassInitBeforeAnySideEffect(com.android.tools.r8.graph.ProgramMethod):332 -> u
    3:3:void unsetTriggerClassInitBeforeAnySideEffect(com.android.tools.r8.graph.ProgramMethod):0:0 -> u
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> u
    4:4:void unsetTriggerClassInitBeforeAnySideEffect(com.android.tools.r8.graph.ProgramMethod):332 -> u
    5:5:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> u
    5:5:void unsetTriggerClassInitBeforeAnySideEffect(com.android.tools.r8.graph.ProgramMethod):332 -> u
    6:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> u
    6:6:void unsetTriggerClassInitBeforeAnySideEffect(com.android.tools.r8.graph.ProgramMethod):332 -> u
    1:1:void unsetUnusedArguments(com.android.tools.r8.graph.ProgramMethod):338:338 -> v
    2:2:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):343:343 -> v
    2:2:void unsetUnusedArguments(com.android.tools.r8.graph.ProgramMethod):338 -> v
    3:3:void unsetUnusedArguments(com.android.tools.r8.graph.ProgramMethod):0:0 -> v
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> v
    4:4:void unsetUnusedArguments(com.android.tools.r8.graph.ProgramMethod):338 -> v
    5:5:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> v
    5:5:void unsetUnusedArguments(com.android.tools.r8.graph.ProgramMethod):338 -> v
    6:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):344:344 -> v
    6:6:void unsetUnusedArguments(com.android.tools.r8.graph.ProgramMethod):338 -> v
com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo -> com.android.tools.r8.internal.ZX:
    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.N5:
    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.k10:
    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.Ah:
    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.RewrittenPrototypeDescription$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.qp:
    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:2:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):44:45 -> a
    3:3:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> a
    3:3:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):45 -> a
    4:9:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):46:51 -> a
    10:19:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):50:59 -> a
    1:1:int getArgumentIndex():28:28 -> b
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldArgumentInitializationInfo asArgumentInitializationInfo() -> f
    boolean isArgumentInitializationInfo() -> h
    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.rp:
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription$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() -> f
    boolean isSingleValue() -> g
    boolean isArgumentInitializationInfo() -> h
    com.android.tools.r8.ir.analysis.value.SingleValue asSingleValue() -> j
com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection -> com.android.tools.r8.internal.tp:
    1:1:void <init>():25:25 -> <init>
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription$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.sp:
    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.up:
    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.wp:
    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.RewrittenPrototypeDescription$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.SG:
    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.RewrittenPrototypeDescription$ArgumentInfoCollection):73 -> a
    2:6:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fixupAfterParametersChanged(com.android.tools.r8.graph.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$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.RewrittenPrototypeDescription$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.WZ:
    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.RewrittenPrototypeDescription$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.Kd:
    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.RewrittenPrototypeDescription$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.De:
    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.Bh:
    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.RewrittenPrototypeDescription$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.Cp:
    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.Dp:
    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.RewrittenPrototypeDescription$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.UG:
    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.RewrittenPrototypeDescription$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.TG:
    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.Ce:
    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():506:506 -> a
    24:24:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isSingleCallerInliningTarget(com.android.tools.r8.graph.ProgramMethod):74 -> a
    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:26:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isSingleCallerInliningTarget(com.android.tools.r8.graph.ProgramMethod):74:75 -> a
    25: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():506:506 -> a
    27:27:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isSingleCallerInliningTarget(com.android.tools.r8.graph.ProgramMethod):75 -> a
    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:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isSingleCallerInliningTarget(com.android.tools.r8.graph.ProgramMethod):75: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: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
    30:34: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
    30:34: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
    35:35:boolean com.android.tools.r8.ir.conversion.MethodProcessor.isPostMethodProcessor():0:0 -> a
    35: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):92 -> a
    35: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.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
    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:41: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.ck:
    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.dp:
    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
    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.fp:
    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):40:45 -> 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.RewrittenPrototypeDescription com.android.tools.r8.graph.GraphLens.lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod):460:460 -> 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):45 -> b
    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):47:47 -> 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.ep:
    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
    1:1:boolean verifyIRCacheIsEmpty():67:67 -> c
com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy -> com.android.tools.r8.internal.hp:
    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.WG:
    com.android.tools.r8.ir.optimize.inliner.NopWhyAreYouNotInliningReporter INSTANCE -> a
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>():18:18 -> <init>
    void reportCallerNotSameClass() -> a
    void reportIncorrectArity(int,int) -> 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 reportCallerNotSameNest() -> b
    void reportPotentialExplosionInExceptionalControlFlowResolutionBlocks(int,int) -> b
    void reportCallerNotSamePackage() -> c
    void reportWillExceedInstructionBudget(int,int) -> c
    void reportCallerNotSubtype() -> d
    void reportWillExceedMaxInliningDepth(int,int) -> d
    void reportInaccessible() -> e
    void reportWillExceedMonitorEnterValuesBudget(int,int) -> e
    void reportInlineeDoesNotHaveCode() -> f
    void reportInlineeHigherApiCall() -> 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():21:21 -> w
com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter -> com.android.tools.r8.internal.J10:
    1:1:void <init>():18:18 -> <init>
    void reportCallerNotSameClass() -> a
    void reportIncorrectArity(int,int) -> 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):22:26 -> a
    6:19:void handleInvokeWithUnknownTarget(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):31:44 -> a
    void reportCallerNotSameNest() -> b
    void reportPotentialExplosionInExceptionalControlFlowResolutionBlocks(int,int) -> b
    void reportCallerNotSamePackage() -> c
    void reportWillExceedInstructionBudget(int,int) -> c
    void reportCallerNotSubtype() -> d
    void reportWillExceedMaxInliningDepth(int,int) -> d
    void reportInaccessible() -> e
    void reportWillExceedMonitorEnterValuesBudget(int,int) -> e
    void reportInlineeDoesNotHaveCode() -> f
    void reportInlineeHigherApiCall() -> 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.K10:
    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>():16:16 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):25:25 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):22:28 -> <init>
    1:1:void reportUnsafeConstructorInliningDueToFinalFieldAssignment(com.android.tools.r8.ir.code.InstancePut):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":226,"2":227,"3":228}}
    226:226:void reportUnsafeConstructorInliningDueToFinalFieldAssignment(com.android.tools.r8.ir.code.InstancePut):219:219 -> a
    227:227:void reportUnsafeConstructorInliningDueToFinalFieldAssignment(com.android.tools.r8.ir.code.InstancePut):219:219 -> a
    228:228:void reportUnsafeConstructorInliningDueToFinalFieldAssignment(com.android.tools.r8.ir.code.InstancePut):219:219 -> a
    222:224:void reportUnsafeConstructorInliningDueToFinalFieldAssignment(com.android.tools.r8.ir.code.InstancePut):221:223 -> a
    225:225:void reportUnsafeConstructorInliningDueToFinalFieldAssignment(com.android.tools.r8.ir.code.InstancePut):219:219 -> a
    229:229:void reportUnsafeConstructorInliningDueToIndirectConstructorCall(com.android.tools.r8.ir.code.InvokeDirect):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":462,"2":463,"3":464}}
    462:462:void reportUnsafeConstructorInliningDueToIndirectConstructorCall(com.android.tools.r8.ir.code.InvokeDirect):229:229 -> a
    463:463:void reportUnsafeConstructorInliningDueToIndirectConstructorCall(com.android.tools.r8.ir.code.InvokeDirect):229:229 -> a
    464:464:void reportUnsafeConstructorInliningDueToIndirectConstructorCall(com.android.tools.r8.ir.code.InvokeDirect):229:229 -> a
    460:460:void reportUnsafeConstructorInliningDueToIndirectConstructorCall(com.android.tools.r8.ir.code.InvokeDirect):231:231 -> a
    461:461:void reportUnsafeConstructorInliningDueToIndirectConstructorCall(com.android.tools.r8.ir.code.InvokeDirect):229:229 -> a
    465:465:void reportUnsafeConstructorInliningDueToUninitializedObjectUse(com.android.tools.r8.ir.code.Instruction):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":703,"2":704,"3":705}}
    703:703:void reportUnsafeConstructorInliningDueToUninitializedObjectUse(com.android.tools.r8.ir.code.Instruction):237:237 -> a
    704:704:void reportUnsafeConstructorInliningDueToUninitializedObjectUse(com.android.tools.r8.ir.code.Instruction):237:237 -> a
    705:705:void reportUnsafeConstructorInliningDueToUninitializedObjectUse(com.android.tools.r8.ir.code.Instruction):237:237 -> a
    702:702:void reportUnsafeConstructorInliningDueToUninitializedObjectUse(com.android.tools.r8.ir.code.Instruction):237:237 -> a
    706:716:void print(java.lang.String):32:42 -> a
    717:717:void printWithExceededThreshold(java.lang.String,java.lang.String,int,int):47:47 -> a
    718:718:void reportCallerNotSameClass():52:52 -> a
    719:719:void reportIncorrectArity(int,int):87:87 -> a
    720:725:void reportInvalidInliningReason(com.android.tools.r8.ir.optimize.Inliner$Reason,java.util.Set):146:146 -> a
    1:1:void reportCallerNotSameNest():57:57 -> b
    2:2:void reportPotentialExplosionInExceptionalControlFlowResolutionBlocks(int,int):184:184 -> b
    1:1:void reportCallerNotSamePackage():62:62 -> c
    2:2:void reportWillExceedInstructionBudget(int,int):242:242 -> c
    1:1:void reportCallerNotSubtype():69:69 -> d
    2:2:void reportWillExceedMaxInliningDepth(int,int):251:251 -> d
    1:1:void reportInaccessible():82:82 -> e
    2:2:void reportWillExceedMonitorEnterValuesBudget(int,int):261:261 -> e
    1:1:void reportInlineeDoesNotHaveCode():97:97 -> f
    1:1:void reportInlineeHigherApiCall():119:119 -> g
    1:1:void reportInlineeNotInliningCandidate():102:102 -> h
    1:1:void reportInlineeNotProcessed():107:107 -> i
    1:1:void reportInlineeNotSimple():112:112 -> j
    1:1:void reportInlineeRefersToClassesNotInMainDex():124:124 -> k
    1:1:void reportInliningAcrossFeatureSplit():131:131 -> l
    1:1:void reportInstructionBudgetIsExceeded():136:136 -> m
    1:1:void reportMustTriggerClassInitialization():166:166 -> n
    1:1:void reportNoInliningIntoConstructorsWhenGeneratingClassFiles():173:173 -> o
    1:1:void reportPinned():178:178 -> p
    1:1:void reportProcessedConcurrently():193:193 -> q
    1:1:void reportReceiverDefinitelyNull():199:199 -> r
    1:1:void reportReceiverMaybeNull():204:204 -> s
    1:1:void reportRecursiveMethod():209:209 -> t
    1:1:void reportUnknownTarget():214:214 -> u
    1:2:boolean unsetReasonHasBeenReportedFlag():270:271 -> v
com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraph -> com.android.tools.r8.internal.hF:
    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.iF:
    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.jF:
    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.kF:
    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.r5:
    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.T5:
    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
    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:8: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:57 -> a
    3:8: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
    9:9:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    9: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):57 -> a
    9: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:11: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
    10:11: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.fi:
    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():659:659 -> 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
    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):48:50 -> a
    6:25: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
    6: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):50 -> a
    26:26: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
    26:26: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
    26: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):79 -> 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):50 -> 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: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.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
    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):81 -> 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:30: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
    29: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):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.RA:
    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.SA:
    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):94:94 -> 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.UA:
    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.TA:
com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection -> com.android.tools.r8.internal.YA:
    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
    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.aB:
    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():1503:1503 -> a
    65:65:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelRequireNonNullMethods():158 -> a
    65:65:void run(java.util.Set):51 -> a
    66:69:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelRequireNonNullMethods():158:161 -> a
    66:69:void run(java.util.Set):51 -> a
    70:82:void lambda$modelLibraryMethodsNonNullParamOrThrow$0(com.android.tools.r8.graph.DexMethod,int[]):104:116 -> a
    83:83:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo.hasNonNullParamOnNormalExits():49:49 -> a
    83:83:void lambda$modelLibraryMethodsNonNullParamOrThrow$0(com.android.tools.r8.graph.DexMethod,int[]):116 -> a
    84:86:void lambda$modelLibraryMethodsNonNullParamOrThrow$0(com.android.tools.r8.graph.DexMethod,int[]):117:119 -> a
    87:89: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):94:94 -> 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.YB:
    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.rJ:
    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.JJ:
    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
    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):68:68 -> a
    5:5:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    5:5: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
    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):69 -> a
    6:11: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
    6:11: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
    12: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):63:63 -> 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.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
    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):64 -> a
    14:20: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
    14: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):64 -> 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.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
    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):64 -> a
    22:25: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
    22: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):64 -> a
    26:26: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
    26: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):143 -> 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):64 -> a
    27:28: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
    27: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):64 -> a
    29: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):139:139 -> 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):64 -> 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):90:90 -> a
    31:31:boolean com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.isToStringMethod(com.android.tools.r8.graph.DexMethod):1499:1499 -> 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 -> a
    32:32:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    32:32: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
    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):91 -> a
    33: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):222:225 -> a
    33: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):1491:1491 -> 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
    62:62: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
    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):79 -> a
    63:63:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> 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):185 -> 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:73: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
    64:73: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
    74:74:boolean com.android.tools.r8.graph.AppView.hasClassHierarchy():642:642 -> a
    74: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):195 -> a
    74: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:77: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
    75:77: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
    80:89: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
    80:89: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
    90:90: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
    91:91:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    91:91: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
    91: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):74 -> a
    92:97: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
    92:97: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
    98:98: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
    99:99:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    99:99: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
    99: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):59 -> a
    100:110: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
    100:110: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
    111:111:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    111:111: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
    111:111: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
    112:115: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:117 -> a
    112:115: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
    116:116: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
    116:116: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
    116:116: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
    117: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) -> a
    117: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:129: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
    119:129: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
    130:130:com.android.tools.r8.ir.code.InvokeVirtual$Builder com.android.tools.r8.ir.code.InvokeVirtual.builder():37:37 -> a
    130:130: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
    130:130: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
    131:135: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
    131:135: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
    136:136: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
    136:136: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.yV:
    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.WV:
    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: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):103:111 -> a
    6: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
    6: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.isAppendStringMethod(com.android.tools.r8.graph.DexMethod):1988:1988 -> 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):111 -> a
    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:16: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:113 -> a
    16:16: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: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,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    17:17:boolean com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods.isAppendObjectMethod(com.android.tools.r8.graph.DexMethod):1980:1980 -> a
    17:17: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
    17:17: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
    17: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,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    18:22: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
    18:22: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
    18: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,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    23:23:com.android.tools.r8.ir.code.InvokeVirtual$Builder com.android.tools.r8.ir.code.InvokeVirtual.builder():37:37 -> a
    23: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 -> a
    23: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
    23: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:25: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
    24:25: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: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,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    26:26: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
    26: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 -> a
    26: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
    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,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    27:28: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
    27:28: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: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,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    29:37: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
    29:37: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
    29: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,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    38:38:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    38: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 -> a
    38: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
    38: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:40: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
    39:40: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:40: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
    41:41: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
    41: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 -> a
    41: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
    41: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:43: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
    42:43: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:43: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
    44: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):124:138 -> a
    44: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
    44: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.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> 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):138 -> 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.setMethod(com.android.tools.r8.graph.DexClassAndMethod):307:307 -> 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):139 -> 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:62: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
    62:62: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: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,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    63:63: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
    63:63: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
    63:63: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
    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,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    64:66: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
    64: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):83 -> a
    64: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.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
    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):83 -> 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:68: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
    68:68: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
    69:69: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
    69:69: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
    69:69: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
    70:83:boolean com.android.tools.r8.utils.ValueUtils.isNonNullStringBuilder(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):24:37 -> a
    70: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):150 -> a
    70: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
    70: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:85: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
    84:85: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
    84:85: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
    86:86: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
    86:86: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.VV:
    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):1992:1992 -> 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
    153:153:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):179 -> a
    154:154:boolean com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State.computeAllAliasesIfUnusedStringBuilder(com.android.tools.r8.ir.code.Value,java.util.Set):238:238 -> a
    154:154:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):179 -> a
    155:155:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):180:180 -> a
    156:156: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.cW:
    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: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:77 -> 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):55 -> 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.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
    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:18: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:81 -> a
    15: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):55 -> a
    19:19:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    19:19: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
    19:19: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
    20:33: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
    20: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):55 -> a
    34:50: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
    51:51:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    51:51:boolean isPrunedClassNameComparison(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):122 -> a
    52:54: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
    55:55:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    55:55:boolean isPrunedClassNameComparison(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):128 -> a
    56:58: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.Uu:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():18:18 -> <clinit>
    1:23:boolean toStringMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.List):22:44 -> a
    24:24:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexMethod):794:794 -> a
    24:24:boolean toStringMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.List):44 -> a
    25:30: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.C3:
    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.D3:
    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.rK:
    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.uK:
    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.tK:
    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.z4:
    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.A4:
    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.lh:
    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.OB:
    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.kD:
    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.XE:
    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.ZK:
    int getMin() -> a
    void setIndex(int) -> a
    java.util.function.Predicate getPredicate() -> b
    int getMax() -> c
com.android.tools.r8.ir.optimize.peepholes.PeepholeHelper -> com.android.tools.r8.internal.aL:
    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.bL:
    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.kL:
    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>
    int getMin() -> a
    1:2:void setIndex(int):36:37 -> a
    3:3:com.android.tools.r8.ir.code.Instruction get(com.android.tools.r8.ir.optimize.peepholes.Match):41:41 -> a
    1:1:java.util.function.Predicate getPredicate():21:21 -> b
    int getMax() -> c
com.android.tools.r8.ir.optimize.peepholes.RemoveDebugPositionPeephole -> com.android.tools.r8.internal.FR:
    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.LV:
    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.MV:
    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.NV:
    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.O10:
    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>
    int getMin() -> a
    1:2:void setIndex(int):37:38 -> a
    3:3:java.util.List get(com.android.tools.r8.ir.optimize.peepholes.Match):42:42 -> a
    1:1:java.util.function.Predicate getPredicate():22:22 -> b
    int getMax() -> c
com.android.tools.r8.ir.optimize.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>
    com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState asAbstractState() -> a
    1:1:boolean access$100(com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl,com.android.tools.r8.ir.code.InvokeVirtual):51:51 -> a
    2:2:boolean isAppendInstructionLive(com.android.tools.r8.ir.code.InvokeVirtual):79:79 -> a
    2:2:boolean access$100(com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl,com.android.tools.r8.ir.code.InvokeVirtual):51 -> a
    3:3:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):51:51 -> a
    4:12:com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl join(com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl):89:97 -> a
    4:12:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):51 -> a
    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:51 -> b
    2:5:com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl addLiveAppendInstruction(com.android.tools.r8.ir.code.InvokeVirtual):72:75 -> b
    2:5: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
    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 isBuilderInit(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 isToStringMethod(com.android.tools.r8.graph.DexMethod) -> b
    boolean isAppendMethod(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):2796:2796 -> a
    5:5:boolean isBuilderInit(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):833 -> a
    6:7:boolean isBuilderInit(com.android.tools.r8.graph.DexMethod):838:839 -> a
    8:8:boolean com.android.tools.r8.graph.DexItemFactory.isConstructor(com.android.tools.r8.graph.DexMethod):2796:2796 -> a
    8:8:boolean isBuilderInit(com.android.tools.r8.graph.DexMethod):839 -> a
    9:11:boolean isBuilderInitWithInitialValue(com.android.tools.r8.ir.code.InvokeMethod):844:846 -> a
    12:30:boolean isSupportedAppendMethod(com.android.tools.r8.ir.code.InvokeMethod):857:875 -> a
    31:31:boolean canHandleArgumentType(com.android.tools.r8.graph.DexType):891:891 -> a
    31:31:boolean isSupportedAppendMethod(com.android.tools.r8.ir.code.InvokeMethod):876 -> a
    1:4:boolean isToStringMethod(com.android.tools.r8.graph.DexMethod):883:886 -> b
    1:2:boolean isAppendMethod(com.android.tools.r8.graph.DexMethod):851:852 -> 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:2:boolean access$2000(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,com.android.tools.r8.ir.code.Value):200:200 -> a
    3:26:boolean canBeOptimized(com.android.tools.r8.ir.code.Value):284:307 -> a
    3:26:boolean access$2000(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,com.android.tools.r8.ir.code.Value):200 -> a
    27:49:java.util.Set findAllLocalBuilders():226:248 -> a
    50:52:java.util.Set collectAllLinkedBuilders(com.android.tools.r8.ir.code.Value):261:263 -> a
    50:52:java.util.Set findAllLocalBuilders():249 -> a
    53:61:java.util.Set findAllLocalBuilders():249:257 -> a
    62:70:void collectAllLinkedBuilders(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):268:276 -> a
    71:71:java.util.Map createBuilderState(com.android.tools.r8.ir.code.Value):316:316 -> a
    72:100:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):350:378 -> a
    72:100: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
    101:101:java.util.Map getBuilderState(com.android.tools.r8.ir.code.Value):321:321 -> a
    101:101:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):379 -> a
    101:101: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
    102:131:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):380:409 -> a
    102:131: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
    132:132:java.util.Map getBuilderState(com.android.tools.r8.ir.code.Value):321:321 -> a
    132:132:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):410 -> a
    132:132: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
    133:146:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):411:424 -> a
    133:146: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
    147:147:java.util.Map getBuilderState(com.android.tools.r8.ir.code.Value):321:321 -> a
    147:147:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):427 -> a
    147:147: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
    148:156:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):428:436 -> a
    148:156: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
    157:161:java.lang.String extractConstantArgument(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):446:450 -> a
    162:162:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    162:162:java.lang.String extractConstantArgument(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):450 -> a
    163:189:java.lang.String extractConstantArgument(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):451:477 -> a
    190:197: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
    198:217:void logHistogramOfChains(java.util.List,boolean):549:568 -> a
    218:234:void logHistogramOfChains(java.util.List,boolean):563:579 -> a
    235:235:void logHistogramOfChains(java.util.List,boolean):574:574 -> a
    236:237:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):590:591 -> a
    238:238:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    238:238:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):591 -> a
    239:273:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):592:626 -> a
    274:277:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):625:628 -> a
    278:278:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    278:278:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):628 -> a
    279:280:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):629:630 -> a
    281:285:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):603:607 -> a
    286:289:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):605:608 -> a
    290:290:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    290:290:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):608 -> a
    291:315:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):610:634 -> a
    316:316:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    316:316:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):634 -> a
    317:317:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):634:634 -> a
    318:344:boolean isToStringOfInterest(java.util.Set,com.android.tools.r8.ir.code.Instruction):640:666 -> a
    318:344:boolean lambda$applyConcatenationResults$1(java.util.Set,com.android.tools.r8.ir.code.Instruction):593 -> a
    345:390:java.lang.String toCompileTimeString(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):678:723 -> a
    391:394: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
    391:394:java.lang.String toCompileTimeString(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):723 -> a
    395:395:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult.isFailedAnalysisResult():0:0 -> a
    395:395: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
    395:395:java.lang.String toCompileTimeString(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):723 -> a
    396:396: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.eW:
    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):1584:1584 -> a
    223:223:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):310 -> a
    224:243:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):314:333 -> a
    244:244:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    244:244:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):334 -> a
    245:321:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):335:411 -> a
    322:323:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):393:394 -> a
    324:324:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    324:324:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):395 -> a
    325:352:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):414:441 -> a
    353:355:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):440:442 -> a
    356:356:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    356:356:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):443 -> a
    357:363:void com.android.tools.r8.ir.optimize.string.StringOptimizer.logHistogramOfNames(com.android.tools.r8.graph.DexString):469:475 -> a
    357:363:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):444 -> a
    364:364:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):446:446 -> a
    365:365:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    365:365:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):447 -> a
    366:367:void com.android.tools.r8.ir.optimize.string.StringOptimizer.logHistogramOfNames(com.android.tools.r8.ir.code.DexItemBasedConstString):490:491 -> a
    366:367:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):448 -> a
    368:368:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    368:368:void com.android.tools.r8.ir.optimize.string.StringOptimizer.logHistogramOfNames(com.android.tools.r8.ir.code.DexItemBasedConstString):491 -> a
    368:368:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):448 -> a
    369:376:void com.android.tools.r8.ir.optimize.string.StringOptimizer.logHistogramOfNames(com.android.tools.r8.ir.code.DexItemBasedConstString):491:498 -> a
    369:376:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):448 -> a
    377:378:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):453:454 -> a
    379:379:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> a
    379:379:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):454 -> a
    380:380:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):454:454 -> a
    381:386: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:37:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):508:527 -> b
    38:40:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):526:528 -> b
    41:41:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> b
    41:41:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):529 -> b
    42:79:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):530:567 -> b
    80:80:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):41:41 -> b
    80:80:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):567 -> b
    81:81: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.dW:
    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.O8:
    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):172:172 -> 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
    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):172:172 -> 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
com.android.tools.r8.ir.optimize.typechecks.CheckCastAndInstanceOfMethodSpecialization -> com.android.tools.r8.internal.l9:
    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
    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: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):267: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:314: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:498 -> a
    291:314: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
    315:315:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    315:315: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
    315:315: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
    316:318: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
    316:318: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
    319:319: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
    319:319: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
    320:320:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    320: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):465 -> a
    320: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:323: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
    321:323: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
    324:325: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
    324:325:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167 -> a
    324: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):467 -> a
    324: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:326: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
    326:326: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
    327:349: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
    350:350:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalRead():0:0 -> a
    350:350: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
    351:398: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:421 -> a
    399:399:int lambda$computeDebugInfo$0(com.android.tools.r8.ir.regalloc.LiveRange):263:263 -> a
    400:401: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
    402:402:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):428:428 -> a
    403:404:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,int,int,com.android.tools.r8.ir.code.Value):433:434 -> a
    403:404:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):428 -> a
    405:405:boolean usesValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):439:439 -> a
    405:405:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,int,int,com.android.tools.r8.ir.code.Value):435 -> a
    405:405:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):428 -> a
    406:412:boolean valuesContain(com.android.tools.r8.ir.code.Value,java.util.Collection):444:450 -> a
    406:412:boolean usesValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):439 -> a
    406:412:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,int,int,com.android.tools.r8.ir.code.Value):435 -> a
    406:412:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):428 -> a
    413:413:boolean usesValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):440:440 -> a
    413:413:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,int,int,com.android.tools.r8.ir.code.Value):435 -> a
    413:413:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):428 -> a
    414:420:boolean valuesContain(com.android.tools.r8.ir.code.Value,java.util.Collection):444:450 -> a
    414:420:boolean usesValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):440 -> a
    414:420:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,int,int,com.android.tools.r8.ir.code.Value):435 -> a
    414:420:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):428 -> a
    421:444: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
    445:464: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
    465:465:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):607:607 -> a
    466:466:boolean com.android.tools.r8.ir.code.Value.isFixedRegisterValue():0:0 -> a
    466:466:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):607 -> a
    467:478:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):608:619 -> a
    479:480:int getRegisterForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):804:805 -> a
    479:480:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):621 -> a
    481:481:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):612:612 -> a
    482:482:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1099,"2":1100,"3":1101}}
    1099:1099:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):612:612 -> a
    1100:1100:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):612:612 -> a
    1101:1101:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):612:612 -> a
    1094:1096:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):612:614 -> a
    1097:1097:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    1097:1097:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):614 -> a
    1098:1098:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):614:614 -> a
    1102:1102:boolean isSpillInstruction(com.android.tools.r8.ir.code.Instruction):771:771 -> a
    1103:1103:boolean com.android.tools.r8.ir.code.Value.isFixedRegisterValue():0:0 -> a
    1103:1103:boolean isSpillInstruction(com.android.tools.r8.ir.code.Instruction):772 -> a
    1104:1106:boolean isSpillInstruction(com.android.tools.r8.ir.code.Instruction):776:778 -> a
    1107:1145:boolean invariantsHold(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):990:1028 -> a
    1146:1147:void lambda$invariantsHold$3(java.util.TreeSet,int):998:999 -> a
    1148:1155:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1183:1190 -> a
    1156:1156:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    1156:1156:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1190 -> a
    1157:1157:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1191:1191 -> a
    1158:1168:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1188:1198 -> a
    1169:1176:boolean liveIntervalsHasUnhandledSplitOverlappingAnyOf(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):1246:1253 -> a
    1169:1176:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1201 -> a
    1177:1177:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    1177:1177:boolean liveIntervalsHasUnhandledSplitOverlappingAnyOf(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):1253 -> a
    1177:1177:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1201 -> a
    1178:1178:boolean liveIntervalsHasUnhandledSplitOverlappingAnyOf(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):1252:1252 -> a
    1178:1178:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1201 -> a
    1179:1179:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1202:1202 -> a
    1180:1193:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1200:1213 -> a
    1194:1194:int getFreeConsecutiveRegisters(int):3046:3046 -> a
    1194:1194:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1214 -> a
    1195:1196:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1216:1217 -> a
    1197:1202:boolean registerAssignmentNotConflictingWithArgument(com.android.tools.r8.ir.regalloc.LiveIntervals):1051:1056 -> a
    1197:1202:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1217 -> a
    1203:1203:boolean registerAssignmentNotConflictingWithArgument(com.android.tools.r8.ir.regalloc.LiveIntervals):1055:1055 -> a
    1203:1203:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1217 -> a
    1204:1204:boolean registerAssignmentNotConflictingWithArgument(com.android.tools.r8.ir.regalloc.LiveIntervals):1054:1054 -> a
    1204:1204:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1217 -> a
    1205:1218:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1219:1232 -> a
    1219:1243:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1215:1239 -> a
    1244:1263:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1275:1294 -> a
    1264:1271:boolean registersAreFreeAndConsecutive(int,boolean):3102:3109 -> a
    1264:1271:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1294 -> a
    1272:1297:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1295:1320 -> a
    1298:1300:boolean registerIsFree(int):3179:3179 -> a
    1298:1300:boolean registersAreFree(int,boolean):3186 -> a
    1298:1300:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1320 -> a
    1301:1301:boolean registerIsFree(int):3180:3180 -> a
    1301:1301:boolean registersAreFree(int,boolean):3186 -> a
    1301:1301:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1320 -> a
    1302:1302:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1320:1320 -> a
    1303:1333:boolean maySpillLiveIntervalsToRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int,int):1336:1366 -> a
    1334:1334:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    1334:1334:boolean maySpillLiveIntervalsToRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int,int):1367 -> a
    1335:1351:boolean maySpillLiveIntervalsToRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int,int):1374:1390 -> a
    1352:1353:void assignRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1866:1867 -> a
    1354:1384:void updateRegisterHints(com.android.tools.r8.ir.regalloc.LiveIntervals):1872:1902 -> a
    1354:1384:void assignRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1868 -> a
    1385:1397: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
    1398:1398: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":3378,"2":3379,"3":3380,"4":3381,"5":3382}}
    3378:3378: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
    3379:3379: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
    3380:3380: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
    3381:3381: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
    3382:3382: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
    3373:3377: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
    3383:3413: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
    3414:3414:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2236:2236 -> a
    3415:3415:boolean atLeastOneOfRegistersAreTaken(int,boolean):3199:3199 -> a
    3415:3415:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2237 -> a
    3416:3462:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2237:2283 -> a
    3463:3485:void splitRangesForSpilledConstant(com.android.tools.r8.ir.regalloc.LiveIntervals,int):2352:2374 -> a
    3463:3485:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2286 -> a
    3486:3486:int toGapPosition(int):1402:1402 -> a
    3486:3486:void splitRangesForSpilledConstant(com.android.tools.r8.ir.regalloc.LiveIntervals,int):2374 -> a
    3486:3486:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2286 -> a
    3487:3500:void splitRangesForSpilledConstant(com.android.tools.r8.ir.regalloc.LiveIntervals,int):2374:2387 -> a
    3487:3500:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2286 -> a
    3501:3501:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2287:2287 -> a
    3502:3509:void splitRangesForSpilledArgument(com.android.tools.r8.ir.regalloc.LiveIntervals):2300:2307 -> a
    3502:3509:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2288 -> a
    3510:3538:void splitRangesForSpilledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):2314:2342 -> a
    3510:3538:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2290 -> a
    3539:3540:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2295:2296 -> a
    3541:3543:boolean registerIsFree(int):3179:3179 -> a
    3541:3543:boolean registersAreFree(int,boolean):3186 -> a
    3541:3543:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2296 -> a
    3544:3544:boolean registerIsFree(int):3180:3180 -> a
    3544:3544:boolean registersAreFree(int,boolean):3186 -> a
    3544:3544:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2296 -> a
    3545:3545:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2296:2296 -> a
    3546:3548: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
    3549:3549:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    3549:3549: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
    3550:3558: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
    3559:3559: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
    3560:3595: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
    3596:3596:boolean unconstrainedForCf(int,com.android.tools.r8.utils.InternalOptions):2727:2727 -> a
    3596:3596: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
    3597:3597:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    3597:3597:boolean unconstrainedForCf(int,com.android.tools.r8.utils.InternalOptions):2727 -> a
    3597:3597: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
    3598:3604: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
    3605:3605:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2590:2590 -> a
    3606:3606:java.util.LinkedHashSet com.android.tools.r8.com.google.common.collect.Sets.newLinkedHashSet():305:305 -> a
    3606:3606:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2592 -> a
    3607:3607:java.util.LinkedHashSet com.android.tools.r8.com.google.common.collect.Sets.newLinkedHashSet():305:305 -> a
    3607:3607:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2593 -> a
    3608:3608:java.util.LinkedHashSet com.android.tools.r8.com.google.common.collect.Sets.newLinkedHashSet():305:305 -> a
    3608:3608:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2594 -> a
    3609:3617:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2595:2603 -> a
    3618:3618:void com.android.tools.r8.utils.LinkedHashSetUtils.addAll(java.util.LinkedHashSet,java.util.LinkedHashSet):12:12 -> a
    3618:3618:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2602 -> a
    3619:3619:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2605:2605 -> a
    3620:3620:void com.android.tools.r8.utils.LinkedHashSetUtils.addAll(java.util.LinkedHashSet,java.util.LinkedHashSet):12:12 -> a
    3620:3620:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2605 -> a
    3621:3624:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2609:2612 -> a
    3625:3625:void com.android.tools.r8.utils.LinkedHashSetUtils.addAll(java.util.LinkedHashSet,java.util.LinkedHashSet):12:12 -> a
    3625:3625:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2615 -> a
    3626:3653:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2616:2643 -> a
    3654:3660:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2640:2646 -> a
    3661:3661:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    3661:3661:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2646 -> a
    3662:3669:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2646:2653 -> a
    3670:3670:boolean unconstrainedForCf(int,com.android.tools.r8.utils.InternalOptions):2727:2727 -> a
    3670:3670:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2653 -> a
    3671:3671:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    3671:3671:boolean unconstrainedForCf(int,com.android.tools.r8.utils.InternalOptions):2727 -> a
    3671:3671:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2653 -> a
    3672:3709:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2653:2690 -> a
    3710:3711:int getLiveRangeEndOnExceptionalFlow(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):2719:2720 -> a
    3710:3711:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2694 -> a
    3712:3731:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2691:2710 -> a
    3732:3754:boolean implementationIsBridge(com.android.tools.r8.ir.code.IRCode):2796:2818 -> a
    3755:3755:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2840:2840 -> a
    3756:3760:boolean argumentsAreAlreadyLinked(com.android.tools.r8.ir.code.Invoke):2945:2949 -> a
    3756:3760:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2840 -> a
    3761:3794:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2841:2874 -> a
    3795:3796:boolean com.android.tools.r8.ir.code.Value.hasRegisterConstraint():737:738 -> a
    3795:3796:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2876 -> a
    3797:3797:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2877:2877 -> a
    3798:3799:com.android.tools.r8.ir.code.Value createValue(com.android.tools.r8.ir.analysis.type.TypeElement):2825:2826 -> a
    3798:3799:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2877 -> a
    3800:3801:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2878:2879 -> a
    3802:3805:void replaceArgument(com.android.tools.r8.ir.code.Invoke,int,com.android.tools.r8.ir.code.Value):2831:2834 -> a
    3802:3805:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2880 -> a
    3806:3830:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2882:2906 -> a
    3831:3857:void generateArgumentMovesAtDefinitions(com.android.tools.r8.ir.code.Invoke,java.util.PriorityQueue,com.android.tools.r8.ir.code.InstructionListIterator):2914:2940 -> a
    3831:3857:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2907 -> a
    3858:3858:int lambda$generateArgumentMoves$5(com.android.tools.r8.ir.code.Move,com.android.tools.r8.ir.code.Move):2848:2848 -> a
    3859:3881:int getFreeConsecutiveRegisters(int,boolean):3050:3072 -> a
    3882:3885:int getNextFreeRegister(java.util.Iterator):3118:3121 -> a
    3882:3885:int getFreeConsecutiveRegisters(int,boolean):3073 -> a
    3886:3889:int getNextFreeRegister(java.util.Iterator):3118:3121 -> a
    3886:3889:int getFreeConsecutiveRegisters(int,boolean):3077 -> a
    3890:3904:int getFreeConsecutiveRegisters(int,boolean):3080:3094 -> a
    3905:3916:int lambda$getFreeConsecutiveRegisters$6(java.lang.Integer,java.lang.Integer):3056:3067 -> a
    3917:3929:void excludeRegistersForInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet):3125:3137 -> a
    3930:3941:void freeOccupiedRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3143:3154 -> a
    3942:3942: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:5:int getArgumentOrAllocateRegisterForValue(com.android.tools.r8.ir.code.Value,int):626:627 -> b
    6:7:int getRegisterForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):804:805 -> b
    6:7:int getArgumentOrAllocateRegisterForValue(com.android.tools.r8.ir.code.Value,int):627 -> b
    8:8:int getArgumentOrAllocateRegisterForValue(com.android.tools.r8.ir.code.Value,int):629:629 -> b
    9:9:com.android.tools.r8.utils.InternalOptions options():634:634 -> b
    10:14:int realRegisterNumberFromAllocated(int):823:827 -> b
    15:16:void lambda$invariantsHold$4(java.util.TreeSet,int):1015:1016 -> b
    17:34:boolean needsArrayGetWideWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1417:1434 -> b
    35:39:boolean isArrayGetArrayRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1440:1444 -> b
    40:44:void splitOverlappingInactiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2199:2203 -> b
    45:45:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> b
    45:45:void splitOverlappingInactiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2204 -> b
    46:72:void splitOverlappingInactiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2205:2231 -> b
    73:77:void increaseCapacity(int,boolean):3038:3042 -> b
    1:3:int registersUsed():598:600 -> c
    4:4:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):652:652 -> c
    5:16:void clearRegisterAssignments(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):785:796 -> c
    5:16:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> c
    17:17:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):656:656 -> c
    18:26:void pinArgumentRegisters():3019:3027 -> c
    18:26:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):659 -> c
    27:27:void pinArgumentRegisters():3024:3024 -> c
    27:27:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):659 -> c
    28:83:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):833:888 -> c
    28:83:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    84:84:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> c
    84:84:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):888 -> c
    84:84:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    85:91:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):889:895 -> c
    85:91:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    92:92:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> c
    92:92:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):895 -> c
    92:92:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    93:114:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):900:921 -> c
    93:114:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    115:121:void setHintForDestRegOfCheckCast(com.android.tools.r8.ir.regalloc.LiveIntervals):1062:1068 -> c
    115:121:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):923 -> c
    115:121:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    122:122:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> c
    122:122:void setHintForDestRegOfCheckCast(com.android.tools.r8.ir.regalloc.LiveIntervals):1068 -> c
    122:122:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):923 -> c
    122:122:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    123:124:void setHintForDestRegOfCheckCast(com.android.tools.r8.ir.regalloc.LiveIntervals):1069:1070 -> c
    123:124:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):923 -> c
    123:124:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    125:131:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1081:1087 -> c
    125:131:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):924 -> c
    125:131:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    132:132:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> c
    132:132:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1087 -> c
    132:132:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):924 -> c
    132:132:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    133:138:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1088:1093 -> c
    133:138:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):924 -> c
    133:138:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    139:139:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> c
    139:139:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1093 -> c
    139:139:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):924 -> c
    139:139:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    140:140:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1094:1094 -> c
    140:140:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):924 -> c
    140:140:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    141:206:void allocateArgumentIntervalsWithSrc(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1109:1174 -> c
    141:206:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):929 -> c
    141:206:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    207:256:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):930:979 -> c
    207:256:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    257:269:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1616:1628 -> c
    257:269:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    257:269:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    270:272:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1909:1911 -> c
    270:272:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1629 -> c
    270:272:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    270:272:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    273:324:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1639:1690 -> c
    273:324:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    273:324:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    325:325:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> c
    325:325:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1691 -> c
    325:325:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    325:325:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    326:330:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1692:1696 -> c
    326:330:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    326:330:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    331:331:int toInstructionPosition(int):1398:1398 -> c
    331:331:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1696 -> c
    331:331:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    331:331:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    332:343:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1701:1712 -> c
    332:343:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    332:343:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    344:353:boolean freePositionsAreConsistentWithFreeRegisters(com.android.tools.r8.ir.regalloc.RegisterPositions,int):1034:1043 -> c
    344:353:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1712 -> c
    344:353:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    344:353:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    354:382:boolean useRegisterHint(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean):1792:1820 -> c
    354:382:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1715 -> c
    354:382:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    354:382:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    383:409:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1721:1747 -> c
    383:409:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    383:409:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    410:428:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2042:2060 -> c
    410:428:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    410:428:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    410:428:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    429:438:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2059:2068 -> c
    429:438:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    429:438:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    429:438:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    439:439:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> c
    439:439:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2069 -> c
    439:439:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    439:439:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    439:439:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    440:483:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2070:2113 -> c
    440:483:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    440:483:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    440:483:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    484:486:int getLargestPosition(com.android.tools.r8.ir.regalloc.RegisterPositions,int,boolean):2177:2179 -> c
    484:486:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2119 -> c
    484:486:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    484:486:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    484:486:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    487:502:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2121:2136 -> c
    487:502:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    487:502:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    487: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):2141 -> 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:508:int getLargestPosition(com.android.tools.r8.ir.regalloc.RegisterPositions,int,boolean):2177:2179 -> c
    506:508:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2142 -> c
    506:508:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    506:508:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    506:508:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    509:514:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2144:2149 -> c
    509:514:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    509:514:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    509:514:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    515:522:int getNewSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):1263:1270 -> c
    515:522:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2151 -> c
    515:522:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    515:522:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    515:522:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    523:523:void increaseCapacity(int):3033:3033 -> c
    523:523:int getNewSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):1270 -> c
    523:523:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2151 -> c
    523:523:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    523:523:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    523:523:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    524:526:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1909:1911 -> c
    524:526:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2152 -> c
    524:526:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    524:526:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    524:526:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    527:533:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2153:2159 -> c
    527:533:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    527:533:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    527:533:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    534:534:void increaseCapacity(int):3033:3033 -> c
    534:534:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2160 -> c
    534:534:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    534:534:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    534:534:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    535:535:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2163:2163 -> c
    535:535:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    535:535:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    535:535:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    536:543:void assignRegisterAndSpill(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2187:2194 -> c
    536:543:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2165 -> c
    536:543:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    536:543:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    536:543:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    544:545:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2168:2169 -> c
    544:545:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    544:545:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    544:545:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    546:553:void assignRegisterAndSpill(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2187:2194 -> c
    546:553:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2170 -> c
    546:553:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    546:553:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    546:553:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    554:556:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1748:1750 -> 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:559:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1909:1911 -> c
    557:559:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1751 -> c
    557:559:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    557:559:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    560:568:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1752:1760 -> c
    560:568:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    560:568:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    569:569:void increaseCapacity(int):3033:3033 -> c
    569:569:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1761 -> c
    569:569:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    569:569:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    570:570:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1764:1764 -> c
    570:570:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    570:570:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    571:573:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1909:1911 -> c
    571:573:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1766 -> c
    571:573:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    571:573:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    574:575:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1775:1776 -> c
    574:575:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    574:575:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    576:578:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1909:1911 -> c
    576:578:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1777 -> c
    576:578:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    576:578:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    579:579:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1778:1778 -> c
    579:579:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    579:579:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    580:625:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):663:708 -> c
    626:634:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):681:689 -> c
    635:635:int highestUsedRegister():593:593 -> c
    635:635:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):691 -> c
    636:639:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):692:695 -> c
    640:640:int highestUsedRegister():593:593 -> c
    640:640:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):669 -> c
    641:647:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):670:676 -> c
    648:687:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):673:712 -> c
    688:688:int highestUsedRegister():593:593 -> c
    688:688:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):713 -> c
    689:689:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):712:712 -> c
    690:690:int highestUsedRegister():593:593 -> c
    690:690:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):715 -> c
    691:691:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):714:714 -> c
    692:692:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):666:666 -> c
    693:698:int unadjustedRealRegisterFromAllocated(int):809:814 -> c
    699:722:boolean needsLongResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1510:1533 -> c
    723:730: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
    25:26:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1480:1481 -> d
    27:27:boolean com.android.tools.r8.ir.code.Instruction.isCmp():0:0 -> d
    27:27:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1481 -> d
    28:41:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1482:1495 -> d
    42:42: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 -> E
    2:2:java.util.List getRanges():262:262 -> E
    2:2:java.lang.String toAscciArtString():594 -> E
    3:4:java.lang.String toAscciArtString():594:595 -> E
    5:5:boolean com.android.tools.r8.ir.regalloc.LiveRange.isInfinite():32:32 -> E
    5:5:java.lang.String toAscciArtString():595 -> E
    6:16:java.lang.String toAscciArtString():596:606 -> E
    1:13:void undoSplits():469:481 -> F
    14:16:void recomputeLimit():486:488 -> F
    14:16:void undoSplits():482 -> F
    17:17:void updateRegisterConstraint(int):254:254 -> F
    17:17:void recomputeLimit():488 -> F
    17:17:void undoSplits():482 -> F
    1:1:boolean usedInMonitorOperation():535:535 -> G
    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:void setSpilled(boolean):106:106 -> a
    8:8:int getRegister():276:276 -> a
    8:8:void setSpilled(boolean):106 -> a
    9:10:void setSpilled(boolean):106:107 -> a
    11:11:com.android.tools.r8.ir.regalloc.LiveIntervals getSplitParent():212:212 -> a
    11:11:boolean anySplitOverlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):354 -> a
    12:12:boolean anySplitOverlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):355:355 -> a
    13:13:boolean overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    13:13:boolean anySplitOverlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):355 -> a
    14:14:java.util.List getSplitChildren():208:208 -> a
    14:14:boolean anySplitOverlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):358 -> a
    15:16:boolean anySplitOverlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):358:359 -> a
    17:17:boolean overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    17:17:boolean anySplitOverlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):359 -> a
    18:20:boolean tryAddRange(com.android.tools.r8.ir.regalloc.LiveRange):226:228 -> a
    18:20:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):221 -> a
    21:21:boolean com.android.tools.r8.ir.regalloc.LiveRange.isInfinite():32:32 -> a
    21:21:boolean tryAddRange(com.android.tools.r8.ir.regalloc.LiveRange):228 -> a
    21:21:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):221 -> a
    22:22:boolean tryAddRange(com.android.tools.r8.ir.regalloc.LiveRange):231:231 -> a
    22:22:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):221 -> a
    23:23:int toInstructionPosition(int):67:67 -> a
    23:23:boolean tryAddRange(com.android.tools.r8.ir.regalloc.LiveRange):231 -> a
    23:23:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):221 -> a
    24:24:boolean tryAddRange(com.android.tools.r8.ir.regalloc.LiveRange):232:232 -> a
    24:24:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):221 -> a
    25:25:int toInstructionPosition(int):67:67 -> a
    25:25:boolean tryAddRange(com.android.tools.r8.ir.regalloc.LiveRange):232 -> a
    25:25:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):221 -> a
    26:30:boolean tryAddRange(com.android.tools.r8.ir.regalloc.LiveRange):237:241 -> a
    26:30:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):221 -> a
    31:31:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):222:222 -> a
    32:33:void addUse(com.android.tools.r8.ir.regalloc.LiveIntervalsUse):249:250 -> a
    34:34:void updateRegisterConstraint(int):254:254 -> a
    34:34:void addUse(com.android.tools.r8.ir.regalloc.LiveIntervalsUse):250 -> a
    35:35:boolean usesRegister(int,boolean):315:315 -> a
    36:36:com.android.tools.r8.ir.code.ValueType getType():79:79 -> a
    36:36:boolean usesRegister(int,boolean):318 -> a
    37:40:boolean usesRegister(int,boolean):318:321 -> a
    41:42:void clearRegisterAssignment():332:333 -> a
    43:43:boolean overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    43:43:void setHint(com.android.tools.r8.ir.regalloc.LiveIntervals,java.util.PriorityQueue):88 -> a
    44:44:void setHint(com.android.tools.r8.ir.regalloc.LiveIntervals,java.util.PriorityQueue):91:91 -> a
    45:45:int getRegister():276:276 -> a
    45:45:void setHint(com.android.tools.r8.ir.regalloc.LiveIntervals,java.util.PriorityQueue):92 -> a
    46:48:void setHint(com.android.tools.r8.ir.regalloc.LiveIntervals,java.util.PriorityQueue):92:94 -> 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
    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
    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
    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
    6:8:int firstUseAfter(int):384:386 -> 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:3:int computeMaxNonSpilledRegister():289:290 -> f
    2:3:int getMaxNonSpilledRegister():311 -> f
    4:4:boolean isSpilled():111:111 -> f
    4:4:int computeMaxNonSpilledRegister():291 -> f
    4:4:int getMaxNonSpilledRegister():311 -> f
    5:5:int getRegister():276:276 -> f
    5:5:int computeMaxNonSpilledRegister():292 -> f
    5:5:int getMaxNonSpilledRegister():311 -> f
    6:9:int computeMaxNonSpilledRegister():292:295 -> f
    6:9:int getMaxNonSpilledRegister():311 -> f
    10:10:boolean isSpilled():111:111 -> f
    10:10:int computeMaxNonSpilledRegister():295 -> f
    10:10:int getMaxNonSpilledRegister():311 -> f
    11:11:int computeMaxNonSpilledRegister():296:296 -> f
    11:11:int getMaxNonSpilledRegister():311 -> f
    12:12:int getRegister():276:276 -> f
    12:12:int computeMaxNonSpilledRegister():296 -> f
    12:12:int getMaxNonSpilledRegister():311 -> f
    13:16:int computeMaxNonSpilledRegister():296:299 -> f
    13:16:int getMaxNonSpilledRegister():311 -> f
    17:22: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
    1:1:int getRegister():276:276 -> i
    2:3:void setMaxNonSpilledRegister(int):303:304 -> i
    1:1:int getRegisterLimit():280:280 -> j
    2:3:void setRegister(int):284:285 -> j
    1:1:int toInstructionPosition(int):67:67 -> k
    1:1:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):418 -> k
    2:2:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):418:418 -> k
    3:3:int toInstructionPosition(int):67:67 -> k
    3:3:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):418 -> k
    4:9:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):419:424 -> k
    10:10:com.android.tools.r8.ir.code.Value getValue():75:75 -> k
    10:10:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):424 -> k
    11:46:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):424:459 -> k
    47:49:void recomputeLimit():486:488 -> k
    47:49:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):462 -> k
    50:50:void updateRegisterConstraint(int):254:254 -> k
    50:50:void recomputeLimit():488 -> k
    50:50:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):462 -> k
    51:52:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):463:464 -> k
    53:53: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:4:boolean isRematerializable():115:116 -> z
    3:4:boolean isSpilledAndRematerializable():128 -> z
com.android.tools.r8.ir.regalloc.LiveIntervalsUse -> com.android.tools.r8.internal.KB:
    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.MB:
    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 getRegisterForValue(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 getArgumentOrAllocateRegisterForValue(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
    com.android.tools.r8.utils.InternalOptions options() -> b
    int registersUsed() -> 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
    70:71:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):299:300 -> a
    72:80:void removeArgumentRestores(java.util.Set):332:340 -> a
    72:80:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):301 -> a
    81:82:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):304:305 -> a
    83:91:void removeArgumentRestores(java.util.Set):332:340 -> a
    83:91:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):306 -> a
    92:93:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):309:310 -> a
    94:97:void pruneParallelMoveSets(java.util.Set,java.util.Set,java.util.Set):269:272 -> a
    94:97:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):313 -> a
    98:99:com.android.tools.r8.ir.regalloc.SpillMove getMoveWithSource(com.android.tools.r8.ir.regalloc.LiveIntervals,java.util.Collection):219:220 -> a
    98:99:void pruneParallelMoveSets(java.util.Set,java.util.Set,java.util.Set):272 -> a
    98:99:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):313 -> a
    100:104:com.android.tools.r8.ir.regalloc.SpillMove getMoveWritingSourceRegister(com.android.tools.r8.ir.regalloc.SpillMove,java.util.Collection):228:232 -> a
    100:104:void pruneParallelMoveSets(java.util.Set,java.util.Set,java.util.Set):273 -> a
    100:104:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):313 -> a
    105:105:void pruneParallelMoveSets(java.util.Set,java.util.Set,java.util.Set):274:274 -> a
    105:105:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):313 -> a
    106:107:com.android.tools.r8.ir.regalloc.SpillMove getMoveWithSource(com.android.tools.r8.ir.regalloc.LiveIntervals,java.util.Collection):219:220 -> a
    106:107:void pruneParallelMoveSets(java.util.Set,java.util.Set,java.util.Set):274 -> a
    106:107:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):313 -> a
    108:109:void pruneParallelMoveSets(java.util.Set,java.util.Set,java.util.Set):276:277 -> a
    108:109:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):313 -> a
    110:114:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):316:320 -> a
    115:144:void scheduleMoves(int,java.util.Set,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):347:376 -> a
    145:149:void scheduleMoves(int,java.util.Set,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):375:379 -> a
    150:156: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.q1:
    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.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.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:int computeHashCode():89:89 -> g0
    1:1:boolean computeEquals(java.lang.Object):94:94 -> h
    int estimatedDexCodeSizeUpperBoundInBytes() -> k0
    com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider() -> t0
    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 -> com.android.tools.r8.internal.p1:
    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.l6:
    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.sf:
    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.jf:
    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.kf:
    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.lf:
    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.mf:
    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):114:114 -> b
    16:16:com.android.tools.r8.graph.CfCode generateCfCode():105 -> b
    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):114:114 -> b
    46:46:com.android.tools.r8.graph.CfCode generateCfCode():137 -> b
    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.nf:
    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.of:
    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.pf:
    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):114:114 -> b
    11:11:com.android.tools.r8.graph.CfCode generateCfCode():188 -> b
    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):114:114 -> b
    35:35:com.android.tools.r8.graph.CfCode generateCfCode():208 -> b
    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.qf:
    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.rf:
    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.Ih:
    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.qi:
    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.oi:
    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.pi:
    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.jj:
    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":50,"2":51,"3":52,"4":53,"5":54}}
    50:50: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
    50:50:com.android.tools.r8.graph.CfCode build():106 -> a
    51:51: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
    51:51:com.android.tools.r8.graph.CfCode build():106 -> a
    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
    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):172:172 -> a
    49:49: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.Bk:
    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":116,"2":117,"3":118}}
    116:116:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.getInvokeOpcode():250:250 -> a
    116:116:com.android.tools.r8.graph.CfCode build():187 -> a
    117:117:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.getInvokeOpcode():250:250 -> a
    117:117:com.android.tools.r8.graph.CfCode build():187 -> a
    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
    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):172:172 -> a
    115:115:com.android.tools.r8.graph.CfCode build():213 -> a
    119:119:void maybeInsertArgumentCast(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):220:220 -> a
    120:120:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.isStaticSource():267:267 -> a
    120:120:void maybeInsertArgumentCast(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):224 -> a
    121:121:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.isStaticTarget():271:271 -> a
    121:121:void maybeInsertArgumentCast(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):224 -> a
    122:127:void maybeInsertArgumentCast(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):230:235 -> a
    128:128:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):36:36 -> a
    128:128:void maybeInsertArgumentCast(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):235 -> a
    129:129: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.Ak:
# {"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.Dk:
    com.android.tools.r8.graph.DexMethod target -> n
    boolean castResult -> p
    com.android.tools.r8.graph.DexType targetReceiver -> m
    com.android.tools.r8.ir.code.Invoke$Type invokeType -> o
    int $r8$clinit -> t
    boolean isInterface -> q
    boolean extraNullParameter -> r
    boolean $assertionsDisabled -> 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.Ck:
    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.nP:
    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.oP:
    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.fX:
    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 -> t0
com.android.tools.r8.ir.synthetic.SyntheticCfCodeProvider -> com.android.tools.r8.internal.iX:
    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.tX:
    int[] paramRegisters -> f
    java.util.function.Predicate doesNotEndBlock -> j
    java.util.function.Predicate endsBlock -> k
    com.android.tools.r8.ir.code.Position position -> i
    com.android.tools.r8.graph.DexProto proto -> c
    boolean $assertionsDisabled -> l
    int nextRegister -> d
    java.util.List traceEvents -> h
    com.android.tools.r8.graph.DexType receiver -> a
    int receiverRegister -> e
    java.util.List constructors -> g
    com.android.tools.r8.graph.DexMethod method -> b
    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
    com.android.tools.r8.graph.DebugLocalInfo getOutgoingLocal(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
    com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder) -> b
    1:3:void setUp():151:153 -> b
    4:4:com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int):210:210 -> b
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int) -> c
    boolean verifyCurrentInstructionCanThrow() -> c
    1:1:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):166:166 -> c
    2:2:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):165:165 -> c
    1:3:void clear():158:160 -> clear
    boolean lambda$static$0(com.android.tools.r8.ir.conversion.IRBuilder) -> d
    1:1:int instructionCount():107:107 -> d
    2:2:int getMoveExceptionRegister(int):205:205 -> d
    int instructionOffset(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
    boolean verifyRegister(int) -> f
    1:3:int getReceiverRegister():92:94 -> f
    int instructionIndex(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.m3:
    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.Xk:
# {"id":"sourceFile","fileName":"Function.java"}
com.android.tools.r8.it.unimi.dsi.fastutil.Hash$Strategy -> com.android.tools.r8.internal.Tl:
    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.jm:
    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() -> l
    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.e5:
    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.d5:
    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.f5:
    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.h5:
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollections -> com.android.tools.r8.internal.k5:
    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.i5:
    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.BooleanIterator iterator():38:38 -> iterator
    2:2:java.util.Iterator iterator():38: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.j5:
    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.l5:
    boolean nextBoolean() -> g
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators -> com.android.tools.r8.internal.p5:
    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.m5:
    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 -> l
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators$SingletonIterator -> com.android.tools.r8.internal.n5:
    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 -> l
    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.o5:
    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.v5:
    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.t5:
    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.u5:
    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"}
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():311:311 -> e
    1:1:java.util.Set entrySet():43:43 -> entrySet
    1:4:boolean equals(java.lang.Object):334:337 -> equals
    int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.remove(int) -> f
    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: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
    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 -> e
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():30 -> e
    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 -> e
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.int2IntEntrySet():87 -> e
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.entrySet():293 -> e
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():30 -> e
    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: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:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():273:273 -> e
    1:1:java.util.Set entrySet():42:42 -> entrySet
    1:4:boolean equals(java.lang.Object):296:299 -> equals
    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.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>
    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 -> b
    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 -> e
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():30 -> 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: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
    1:1: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.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 -> Y
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet tailSet(int):160:160 -> c
    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 -> r
    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:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():273:273 -> e
    1:1:java.util.Set entrySet():42:42 -> entrySet
    1:4:boolean equals(java.lang.Object):296:299 -> equals
    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
    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.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap.int2ReferenceEntrySet():1435:1435 -> c
    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 -> e
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():30 -> e
    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: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 -> Y
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet tailSet(int):160:160 -> c
    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 -> r
    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(int):68:68 -> a
    2:2:boolean add(java.lang.Integer):114:114 -> a
    3:4:int[] toArray(int[]):148:149 -> a
    5:5: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
    5:5:int[] toArray(int[]):149 -> a
    6: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):289:289 -> a
    6: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
    6:10:int[] toArray(int[]):149 -> a
    11:11: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
    11:11: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
    11:11:int[] toArray(int[]):149 -> a
    12:12:int[] toArray(int[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":14,"2":15,"3":16,"4":17,"5":18,"6":19}}
    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
    19:19: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
    19:19: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
    19:19:int[] toArray(int[]):149 -> 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[],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
    20:21: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
    1:1:boolean contains(java.lang.Object):129:129 -> contains
    boolean contains(int) -> f
    1:4:boolean rem(int):94:97 -> i
    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>
    int nextInt() -> j
    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 add(int) -> a
    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: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 ensureIndex(int):47:47 -> j
    2:2:void ensureIndex(int):0:0 -> j
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":98,"2":99,"3":100,"4":101,"5":102}}
    98:98:void ensureIndex(int):47:47 -> j
    99:99:void ensureIndex(int):47:47 -> j
    100:100:void ensureIndex(int):47:47 -> j
    101:101:void ensureIndex(int):47:47 -> j
    102:102:void ensureIndex(int):47:47 -> j
    49:49:void ensureIndex(int):47:47 -> j
    50:50:void ensureIndex(int):46:46 -> j
    51:51:void ensureIndex(int):0:0 -> j
      # {"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 -> j
    99:99:void ensureIndex(int):46:46 -> j
    100:100:void ensureIndex(int):46:46 -> j
    101:101:void ensureIndex(int):46:46 -> j
    102:102:void ensureIndex(int):46:46 -> j
    103:103:void ensureIndex(int):46:46 -> j
    97:97:void ensureIndex(int):46:46 -> j
    1:1:void ensureRestrictedIndex(int):62:62 -> k
    2:2:void ensureRestrictedIndex(int):0:0 -> k
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":128,"2":129,"3":130,"4":131,"5":132}}
    128:128:void ensureRestrictedIndex(int):62:62 -> k
    129:129:void ensureRestrictedIndex(int):62:62 -> k
    130:130:void ensureRestrictedIndex(int):62:62 -> k
    131:131:void ensureRestrictedIndex(int):62:62 -> k
    132:132:void ensureRestrictedIndex(int):62:62 -> k
    64:64:void ensureRestrictedIndex(int):62:62 -> k
    65:65:void ensureRestrictedIndex(int):61:61 -> k
    66:66:void ensureRestrictedIndex(int):0:0 -> k
      # {"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 -> k
    129:129:void ensureRestrictedIndex(int):61:61 -> k
    130:130:void ensureRestrictedIndex(int):61:61 -> k
    131:131:void ensureRestrictedIndex(int):61:61 -> k
    132:132:void ensureRestrictedIndex(int):61:61 -> k
    133:133:void ensureRestrictedIndex(int):61:61 -> k
    127:127:void ensureRestrictedIndex(int):61:61 -> k
    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 -> l
    1:1:int indexOf(int):279 -> l
    2:4:int indexOf(int):281:283 -> 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
    1:5:int lastIndexOf(int):290:294 -> m
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator listIterator(int) -> n
    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:boolean add(int):750:752 -> a
    8:10:void getElements(int,int[],int,int):797:799 -> a
    11:11:void getElements(int,int[],int,int):798:798 -> a
    12:16:void removeElements(int,int):804:808 -> a
    17:18:boolean addAll(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):898:899 -> a
    19:19:boolean addAll(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):904:904 -> a
    20:20: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
    20:20: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
    1:3:boolean addAll(int,java.util.Collection):766:768 -> addAll
    1:4:void add(int,int):758:761 -> 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:2:int getInt(int):773:774 -> h
    1:5:boolean rem(int):888:892 -> i
    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 -> n
    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 -> d
    1:1:boolean hasNext():826:826 -> hasNext
    1:1:boolean hasPrevious():830:830 -> hasPrevious
    1:3:int nextInt():834:834 -> j
    1:1:int nextIndex():844:844 -> nextIndex
    1:1:int previousIndex():848:848 -> previousIndex
    1:11:void remove():864:864 -> remove
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() -> d
    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:5:int hashCode():57:61 -> hashCode
    1:1:boolean rem(int):87:87 -> i
    1:1:boolean remove(int):75:75 -> j
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.Zp:
    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 access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap,int):37:37 -> a
    3:5:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap.findKey(int):234:236 -> a
    3:5:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap,int):37 -> a
    6:8:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap.findKey(int):234:236 -> a
    6:8: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:3:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap.findKey(int):234:236 -> f
    1:3:int remove(int):304 -> f
    4:9:int remove(int):305:310 -> f
    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:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values():321:321 -> k
    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 -> k
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values():321 -> k
    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: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.Yp:
    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.Xp:
    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.aq:
    boolean containsKey(int) -> a
    int put(int,int) -> b
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap -> com.android.tools.r8.internal.jq:
    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$200(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):87:87 -> a
    2:6:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.removeNullEntry():285:289 -> a
    2:6:int access$200(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):87 -> a
    7:7:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap,int):87:87 -> a
    8:17: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:1:int remove(int):429:429 -> f
    2:6:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.removeNullEntry():285:289 -> f
    2:6:int remove(int):429 -> f
    7:17:int remove(int):430:440 -> f
    1:25:void fixPointers(int):907:931 -> g
    1:11:int get(int):717:727 -> get
    1:42:void rehash(int):1742:1783 -> 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:3:int removeEntry(int):276:278 -> i
    4:9:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.shiftKeys(int):409:414 -> i
    4:9:int removeEntry(int):279 -> i
    10:10:int removeEntry(int):280:280 -> i
    11:17:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.shiftKeys(int):417:423 -> i
    11:17:int removeEntry(int):279 -> i
    18:19: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
    18:19: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 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.bq:
    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.cq:
    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.dq:
    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 -> d
    1:1:int nextInt():1488:1488 -> j
    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: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.eq:
    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 -> Y
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet tailSet(int):1548:1548 -> c
    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: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:boolean remove(int):1519:1521 -> j
    1:3:int lastInt():1537:1537 -> r
    1:1:int size():1509:1509 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry -> com.android.tools.r8.internal.fq:
    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.gq:
    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.hq:
    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 -> l
    1:6:int nextEntry():1135:1135 -> m
    1:6:int previousEntry():1144:1144 -> n
    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.iq:
    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 -> d
    1:1:int nextInt():1617:1617 -> j
    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: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.mq:
    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.kq:
    int getIntKey() -> a
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$FastEntrySet -> com.android.tools.r8.internal.lq:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap -> com.android.tools.r8.internal.vq:
    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$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):50:50 -> a
    2:5:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.removeNullEntry():228:231 -> a
    2:5:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):50 -> a
    6:6:int access$400(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap,int):50:50 -> a
    7:16: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:1:int remove(int):352:352 -> f
    2:5:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.removeNullEntry():228:231 -> f
    2:5:int remove(int):352 -> f
    6:16:int remove(int):353:363 -> f
    1:7:void rehash(int):979:985 -> g
    8:8:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.realSize():206:206 -> g
    8:8:void rehash(int):986 -> g
    9:21:void rehash(int):987:999 -> g
    1:11:int get(int):370:380 -> get
    1:2:int removeEntry(int):220:221 -> h
    3:8:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.shiftKeys(int):333:338 -> h
    3:8:int removeEntry(int):222 -> h
    9:9:int removeEntry(int):223:223 -> h
    10:15:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.shiftKeys(int):341:346 -> h
    10:15:int removeEntry(int):222 -> h
    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 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.nq:
    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.oq:
    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.pq:
    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:int nextInt():793:793 -> j
    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
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$KeySet -> com.android.tools.r8.internal.qq:
    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:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():806:806 -> iterator
    1:3:boolean remove(int):821:823 -> j
    1:1:int size():811:811 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry -> com.android.tools.r8.internal.rq:
    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.sq:
    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.tq:
    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 -> l
    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.uq:
    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:int nextInt():854:854 -> j
    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
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.wq:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap -> com.android.tools.r8.internal.zq:
    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 access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap,int):37:37 -> a
    3:5:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap.findKey(int):235:237 -> a
    3:5:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap,int):37 -> a
    6:8:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap.findKey(int):235:237 -> a
    6:8:boolean containsKey(int):265 -> a
    9:11:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap.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.Int2ObjectArrayMap):37:37 -> b
    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 -> b
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ObjectEntrySet():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
    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 com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap.keySet():321:321 -> keySet
    1:1:java.util.Set keySet():37 -> 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.yq:
    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.xq:
    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.Aq:
    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.Dq:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ObjectEntrySet() -> b
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry -> com.android.tools.r8.internal.Bq:
    int getIntKey() -> a
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$FastEntrySet -> com.android.tools.r8.internal.Cq:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap -> com.android.tools.r8.internal.Mq:
    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$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):49:49 -> a
    2:6:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.removeNullEntry():228:232 -> a
    2:6:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):49 -> a
    7:7:java.lang.Object access$400(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap,int):49:49 -> a
    8:23:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.insert(int,java.lang.Object):249:264 -> a
    8:23:java.lang.Object put(int,java.lang.Object):271 -> a
    24:26:java.lang.Object put(int,java.lang.Object):272:274 -> a
    27:36:boolean containsKey(int):344:353 -> a
    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 -> b
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ObjectEntrySet():49 -> b
    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:7:void rehash(int):907:913 -> d
    8:8:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.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.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 com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.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.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.Eq:
    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.Fq:
    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.Gq:
    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:int nextInt():727:727 -> j
    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
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$KeySet -> com.android.tools.r8.internal.Hq:
    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:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():740:740 -> iterator
    1:3:boolean remove(int):755:757 -> j
    1:1:int size():745:745 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapEntry -> com.android.tools.r8.internal.Iq:
    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.Jq:
    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.Kq:
    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 -> l
    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.Lq:
    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.er:
    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
    124:126:int firstIntKey():967:967 -> a
    127:127:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap subMap(int,int):1389:1389 -> a
    1:79:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ObjectEntrySet():1127:1205 -> b
    80:80:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap 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.Int2ObjectSortedMap headMap(int):1379:1379 -> 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:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry findKey(int):247:249 -> d
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.compare(int,int):234:234 -> d
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry findKey(int):249 -> d
    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 -> d
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry findKey(int):250 -> d
    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 -> d
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry findKey(int):250 -> d
    7:9:int lastIntKey():973:973 -> d
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry locateKey(int):264:266 -> e
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.compare(int,int):234:234 -> e
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry locateKey(int):266 -> e
    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 -> e
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry locateKey(int):268 -> e
    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 -> e
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry locateKey(int):268 -> e
    1:2:java.lang.Object get(int):961:962 -> get
    1:1:boolean isEmpty():956:956 -> isEmpty
    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.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:258:java.lang.Object remove(int):457:459 -> remove
    259:259: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
    259:259:java.lang.Object remove(int):460 -> remove
    260:261:java.lang.Object remove(int):464:465 -> remove
    262:262: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
    262:262:java.lang.Object remove(int):468 -> remove
    263:264: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.Oq:
    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.Nq:
    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.Pq:
    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.Qq:
    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.Rq:
    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.Sq:
    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 -> d
    1:1:int nextInt():1228:1228 -> j
    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: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.Tq:
    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.br:
    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
    3244:3248:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap subMap(int,int):1663:1667 -> a
    3249:3251:int firstIntKey():1718:1720 -> a
    3252:3252:int firstIntKey():1719:1719 -> a
    1:81:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ObjectEntrySet():1465:1545 -> b
    82:83:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap tailMap(int):1657:1658 -> b
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap 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:5:boolean containsValue(java.lang.Object):1594:1598 -> containsValue
    1:1:boolean in(int):1460:1460 -> d
    2:4:int lastIntKey():1725:1727 -> d
    5:5:int lastIntKey():1726:1726 -> d
    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:9:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry firstEntry():1677:1685 -> k
    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 -> k
    10:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry firstEntry():1685 -> k
    13:13:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$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.Int2ObjectRBTreeMap$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.ObjectCollection values():1566:1583 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$1 -> com.android.tools.r8.internal.Uq:
    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.Vq:
    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.Wq:
    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.Xq:
    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.Yq:
    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 -> n
    2:4: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 -> n
    2:4:void updateNext():1767 -> n
    5:6:void updateNext():1767:1768 -> n
    1:2:void updatePrevious():1762:1763 -> o
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.internal.Zq:
    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 -> d
    1:1:int nextInt():1822:1822 -> j
    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: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.ar:
    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.cr:
    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 -> l
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry previousEntry():1046:1046 -> m
    1:1:void updateNext():1030:1030 -> n
    2:4: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 -> n
    2:4:void updateNext():1030 -> n
    5:5:void updateNext():1030:1030 -> n
    1:1:int nextIndex():1054:1054 -> nextIndex
    1:1:void updatePrevious():1042:1042 -> o
    1:1:int previousIndex():1058:1058 -> previousIndex
    1:12:void remove():1062:1062 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$ValueIterator -> com.android.tools.r8.internal.dr:
    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.Int2ObjectSortedMap -> com.android.tools.r8.internal.fr:
    int firstIntKey() -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap subMap(int,int) -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ObjectEntrySet() -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap tailMap(int) -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap headMap(int) -> c
    int lastIntKey() -> d
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap -> com.android.tools.r8.internal.yr:
    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
    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):355:355 -> 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
    38:40:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):356:358 -> a
    38:40:java.lang.Object put(int,java.lang.Object):283 -> a
    41:41:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> 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):358 -> a
    41:41:java.lang.Object put(int,java.lang.Object):283 -> a
    42:43:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):359:360 -> a
    42:43:java.lang.Object put(int,java.lang.Object):283 -> a
    44:44:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> a
    44:44: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
    44:44:java.lang.Object put(int,java.lang.Object):283 -> a
    45:58: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
    45:58:java.lang.Object put(int,java.lang.Object):283 -> a
    59:59:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> a
    59:59: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
    59:59:java.lang.Object put(int,java.lang.Object):283 -> a
    60:81:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):377:398 -> a
    60:81:java.lang.Object put(int,java.lang.Object):283 -> a
    82:82:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> a
    82:82: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
    82:82:java.lang.Object put(int,java.lang.Object):283 -> a
    83:96: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
    83:96:java.lang.Object put(int,java.lang.Object):283 -> a
    97:97:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> a
    97:97: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
    97:97:java.lang.Object put(int,java.lang.Object):283 -> a
    98:121: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
    98:121:java.lang.Object put(int,java.lang.Object):283 -> a
    122:123:java.lang.Object put(int,java.lang.Object):284:285 -> a
    124:124: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
    124:124:java.lang.Object put(int,java.lang.Object):283 -> a
    125:125:boolean containsKey(int):980:980 -> a
    126:128:int firstIntKey():1001:1001 -> a
    129:129:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int):1421:1421 -> a
    1:1: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:81:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet():1161:1239 -> c
    82:82: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
    6:8:int lastIntKey():1007:1007 -> d
    1:2:java.lang.Object get(int):995:996 -> get
    1:1:boolean isEmpty():990:990 -> isEmpty
    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:94:java.lang.Object remove(int):562:564 -> remove
    95:95:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> remove
    95:95:java.lang.Object remove(int):564 -> remove
    96:100:java.lang.Object remove(int):567:571 -> remove
    101:101:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> remove
    101:101:java.lang.Object remove(int):572 -> remove
    102:148:java.lang.Object remove(int):573:619 -> remove
    149:149:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.decBalance():893:893 -> remove
    149:149:java.lang.Object remove(int):620 -> remove
    150:152:java.lang.Object remove(int):623:625 -> remove
    153:153:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> remove
    153:153:java.lang.Object remove(int):625 -> remove
    154:158:java.lang.Object remove(int):628:632 -> remove
    159:159:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> remove
    159:159:java.lang.Object remove(int):633 -> remove
    160:202:java.lang.Object remove(int):634:676 -> remove
    203:204: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
    203:204:java.lang.Object remove(int):556 -> remove
    205:208:java.lang.Object remove(int):681:684 -> remove
    209:209: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
    209:209:java.lang.Object remove(int):494 -> remove
    210:210:java.lang.Object remove(int):494:494 -> remove
    211:211: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
    211:211:java.lang.Object remove(int):497 -> remove
    212:212: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.gr:
    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.ir:
    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.hr:
    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
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$3 -> com.android.tools.r8.internal.jr:
    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.kr:
    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.lr:
    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.mr:
    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 -> d
    1:1:int nextInt():1262:1262 -> j
    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: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.nr:
    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.vr:
    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:1:boolean containsKey(int):1624:1624 -> a
    2:3:java.lang.Object put(int,java.lang.Object):1648:1649 -> a
    4:4:java.lang.Object put(int,java.lang.Object):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3306,"2":3307,"3":3308,"4":3309,"5":3310}}
    3306:3306:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    3307:3307:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    3308:3308:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    3309:3309:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    3310:3310:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    1653:1653:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    1654:1654:java.lang.Object put(int,java.lang.Object):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3311,"2":3312,"3":3313}}
    3311:3311:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    3312:3312:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    3313:3313:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    3303:3305:java.lang.Object put(int,java.lang.Object):1649:1651 -> a
    3314:3318:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int):1698:1702 -> a
    3319:3321:int firstIntKey():1753:1755 -> a
    3322:3322:int firstIntKey():1754:1754 -> a
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(int):1692:1693 -> b
    1:81:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet():1497:1577 -> c
    82:83: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
    2:4:int lastIntKey():1760:1762 -> d
    5:5:int lastIntKey():1761:1761 -> 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: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.or:
    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.pr:
    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.qr:
    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.rr:
    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.sr:
    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 -> n
    2:4: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 -> n
    2:4:void updateNext():1802 -> n
    5:6:void updateNext():1802:1803 -> n
    1:2:void updatePrevious():1797:1798 -> o
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.internal.tr:
    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 -> d
    1:1:int nextInt():1857:1857 -> j
    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: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.ur:
    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.wr:
    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 -> l
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry previousEntry():1080:1080 -> m
    1:1:void updateNext():1064:1064 -> n
    2:4: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 -> n
    2:4:void updateNext():1064 -> n
    5:5:void updateNext():1064:1064 -> n
    1:1:int nextIndex():1088:1088 -> nextIndex
    1:1:void updatePrevious():1076:1076 -> o
    1:1:int previousIndex():1092:1092 -> previousIndex
    1:12:void remove():1096:1096 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$ValueIterator -> com.android.tools.r8.internal.xr:
    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.Br:
    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:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap,int):37:37 -> a
    3:5:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap.findKey(int):235:237 -> a
    3: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
    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 -> c
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ReferenceEntrySet():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.Ar:
    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.zr:
    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.Cr:
    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.Lr:
    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$200(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):86:86 -> a
    2:7:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.removeNullEntry():285:290 -> a
    2:7:java.lang.Object access$200(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):86 -> a
    8:8:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap,int):86:86 -> a
    9:33:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.insert(int,java.lang.Object):307:331 -> a
    9:33:java.lang.Object put(int,java.lang.Object):338 -> a
    34:36:java.lang.Object put(int,java.lang.Object):339:341 -> a
    37:46:boolean containsKey(int):684:693 -> a
    47:49:int firstIntKey():905:905 -> a
    50:50:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int):947:947 -> a
    1:1: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
    26:27:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap$FastSortedEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.int2ReferenceEntrySet():1358:1359 -> c
    26:27:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ReferenceEntrySet():86 -> c
    28:29:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap$FastSortedEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.int2ReferenceEntrySet():1358:1359 -> c
    28:29:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet():86 -> 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
    26:28:int lastIntKey():916:916 -> 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: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.Dr:
    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.Er:
    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.Fr:
    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 -> d
    1:1:int nextInt():1415:1415 -> j
    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: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.Gr:
    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 -> Y
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet tailSet(int):1475:1475 -> c
    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: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:boolean remove(int):1446:1448 -> j
    1:3:int lastInt():1464:1464 -> r
    1:1:int size():1436:1436 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntry -> com.android.tools.r8.internal.Hr:
    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.Ir:
    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.Jr:
    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 -> l
    1:6:int nextEntry():1062:1062 -> m
    1:6:int previousEntry():1071:1071 -> n
    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.Kr:
    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.Or:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ReferenceEntrySet() -> c
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry -> com.android.tools.r8.internal.Mr:
    int getIntKey() -> a
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$FastEntrySet -> com.android.tools.r8.internal.Nr:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMaps -> com.android.tools.r8.internal.Qr:
    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.Pr:
    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 -> c
    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:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():75:75 -> e
    1:1:java.util.Set entrySet():43:43 -> entrySet
    1:2:boolean equals(java.lang.Object):110:111 -> equals
    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.Zr:
    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$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):49:49 -> a
    2:6:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.removeNullEntry():228:232 -> a
    2:6:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):49 -> a
    7:7:java.lang.Object access$400(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap,int):49:49 -> a
    8:23:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.insert(int,java.lang.Object):249:264 -> a
    8:23:java.lang.Object put(int,java.lang.Object):271 -> a
    24:26:java.lang.Object put(int,java.lang.Object):272:274 -> a
    27:36:boolean containsKey(int):344:353 -> a
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.int2ReferenceEntrySet():707:708 -> c
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ReferenceEntrySet():49 -> c
    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.Rr:
    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.Sr:
    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.Tr:
    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:int nextInt():727:727 -> j
    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
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$KeySet -> com.android.tools.r8.internal.Ur:
    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:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():740:740 -> iterator
    1:3:boolean remove(int):755:757 -> j
    1:1:int size():745:745 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapEntry -> com.android.tools.r8.internal.Vr:
    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.Wr:
    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.Xr:
    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 -> l
    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.Yr:
    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.rs:
    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:126:int firstIntKey():967:967 -> a
    127:127:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int):1389:1389 -> a
    1:1: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:80:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet():1127:1205 -> c
    81:81: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
    7:9:int lastIntKey():973:973 -> 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: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:258:java.lang.Object remove(int):457:459 -> remove
    259:259: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
    259:259:java.lang.Object remove(int):460 -> remove
    260:261:java.lang.Object remove(int):464:465 -> remove
    262:262: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
    262:262:java.lang.Object remove(int):468 -> remove
    263:264: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.bs:
    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.as:
    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.cs:
    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.ds:
    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.es:
    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.fs:
    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 -> d
    1:1:int nextInt():1228:1228 -> j
    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: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.gs:
    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.os:
    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: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
    3244:3248:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int):1663:1667 -> a
    3249:3251:int firstIntKey():1718:1720 -> a
    3252:3252:int firstIntKey():1719:1719 -> a
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(int):1657:1658 -> b
    1:81:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet():1465:1545 -> c
    82:83: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
    2:4:int lastIntKey():1725:1727 -> d
    5:5:int lastIntKey():1726:1726 -> 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: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.hs:
    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.is:
    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.js:
    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.ks:
    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.ls:
    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 -> n
    2:4: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 -> n
    2:4:void updateNext():1767 -> n
    5:6:void updateNext():1767:1768 -> n
    1:2:void updatePrevious():1762:1763 -> o
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.internal.ms:
    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 -> d
    1:1:int nextInt():1822:1822 -> j
    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: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.ns:
    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.ps:
    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 -> l
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry previousEntry():1046:1046 -> m
    1:1:void updateNext():1030:1030 -> n
    2:4: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 -> n
    2:4:void updateNext():1030 -> n
    5:5:void updateNext():1030:1030 -> n
    1:1:int nextIndex():1054:1054 -> nextIndex
    1:1:void updatePrevious():1042:1042 -> o
    1:1:int previousIndex():1058:1058 -> previousIndex
    1:12:void remove():1062:1062 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$ValueIterator -> com.android.tools.r8.internal.qs:
    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.ts:
    int firstIntKey() -> 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
    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
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet() -> c
    int lastIntKey() -> d
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.ss:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMaps -> com.android.tools.r8.internal.vs:
    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.us:
    1:1:void <init>():60:60 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int):95:95 -> a
    2:2:int firstIntKey():112:112 -> a
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(java.lang.Integer):141:141 -> a
    4:4: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: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.objects.ObjectSet int2ReferenceEntrySet():57:57 -> c
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet():71:71 -> c
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(int):101:101 -> c
    1:1:int lastIntKey():117:117 -> d
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():57:57 -> e
    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: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: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.zs:
    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:2:boolean add(int):266:267 -> a
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389:389 -> a
    3:3:void getElements(int,int[],int,int):393 -> a
    4:4:void getElements(int,int[],int,int):394:394 -> a
    5:5:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):73:73 -> a
    5:5:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    5:5: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 getElements(int,int[],int,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":12,"2":13,"3":14,"4":15,"5":16,"6":17}}
    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
    16:16:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):72:72 -> 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):72:72 -> 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
    8:8:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):72:72 -> a
    8:8:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    8:8: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
    10:10:void getElements(int,int[],int,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":18,"2":19,"3":20,"4":21,"5":22,"6":23}}
    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
    22:22:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):71:71 -> a
    22:22:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    22:22:void getElements(int,int[],int,int):393 -> a
    23:23:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):71:71 -> a
    23:23:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    23:23:void getElements(int,int[],int,int):393 -> a
    11:11:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):71:71 -> 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
    24:26:void removeElements(int,int):407:409 -> a
    27:28:int[] toArray(int[]):436:437 -> a
    29:35:boolean addAll(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):458:464 -> a
    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
    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:int getInt(int):274:274 -> h
    4:4:int getInt(int):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":554,"2":555,"3":556,"4":557,"5":558}}
    554:554:int getInt(int):274:274 -> h
    555:555:int getInt(int):274:274 -> h
    556:556:int getInt(int):274:274 -> h
    557:557:int getInt(int):274:274 -> h
    558:558:int getInt(int):274:274 -> h
    278:278:int getInt(int):274:274 -> h
    279:279:int getInt(int):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":554,"2":555,"3":556}}
    554:554:int getInt(int):274:274 -> h
    555:555:int getInt(int):274:274 -> h
    556:556:int getInt(int):274:274 -> h
    553:553:int getInt(int):274:274 -> h
    1:3:boolean rem(int):304:306 -> i
    1:1:boolean isEmpty():339:339 -> isEmpty
    1:2:int indexOf(int):280:281 -> l
    1:2:int lastIndexOf(int):287:288 -> m
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator listIterator(int):493:494 -> n
    1:1:void grow(int):250:250 -> o
    2:5:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.grow(int[],int,int):204:207 -> o
    2:5:void grow(int):250 -> o
    6:6:void grow(int):250:250 -> o
    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.ys:
    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 -> d
    1:1:boolean hasNext():498:498 -> hasNext
    1:1:boolean hasPrevious():502:502 -> hasPrevious
    1:3:int nextInt():506:506 -> j
    1:1:int nextIndex():516:516 -> nextIndex
    1:1:int previousIndex():520:520 -> previousIndex
    1:10:void remove():534:534 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet -> com.android.tools.r8.internal.Bs:
    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
    2:3:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet.findKey(int):111:112 -> a
    2:3:boolean add(int):164 -> a
    4:10:boolean add(int):166:172 -> a
    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: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:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet.findKey(int):111:112 -> j
    1:2:boolean remove(int):153 -> j
    3:6:boolean remove(int):155:158 -> j
    1:1:int size():148:148 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet$1 -> com.android.tools.r8.internal.As:
    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 -> j
    1:2:void remove():135:136 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays -> com.android.tools.r8.internal.Cs:
    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.Ds:
    int previousInt() -> d
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection -> com.android.tools.r8.internal.Fs:
    boolean add(int) -> a
    boolean contains(int) -> f
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollections -> com.android.tools.r8.internal.Is:
    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.Gs:
    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.Hs:
    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.Js:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator -> com.android.tools.r8.internal.Ls:
    int nextInt() -> j
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators -> com.android.tools.r8.internal.Os:
    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.Ms:
    1:1:void <init>():42:42 -> <init>
    1:1:java.lang.Object clone():87:87 -> clone
    1:1:int previousInt():62:62 -> d
    1:1:int nextInt():57:57 -> j
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators$UnmodifiableIterator -> com.android.tools.r8.internal.Ns:
    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 -> j
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList -> com.android.tools.r8.internal.Ps:
    boolean add(int) -> a
    void getElements(int,int[],int,int) -> a
    void removeElements(int,int) -> a
    void add(int,int) -> b
    int set(int,int) -> c
    int removeInt(int) -> g
    int getInt(int) -> h
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator -> com.android.tools.r8.internal.Qs:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists -> com.android.tools.r8.internal.Ss:
    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.Rs:
    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: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:int getInt(int):70:70 -> h
    1:1:boolean rem(int):75:75 -> i
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():62:62 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():62:62 -> iterator
    3:3:java.util.Iterator iterator():62:62 -> iterator
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator iterator():212:212 -> iterator
    1:1:java.util.ListIterator listIterator():62:62 -> listIterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator listIterator():208:208 -> 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.Zs:
    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
    9:22:boolean add(int):302:315 -> a
    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:4:int hashCode():695:697 -> hashCode
    1:1:boolean isEmpty():417:417 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():547:547 -> iterator
    1:1:boolean remove(int):365:365 -> j
    2:5:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.removeNullEntry():355:358 -> j
    2:5:boolean remove(int):365 -> j
    6:13:boolean remove(int):369:376 -> j
    1:5:void rehash(int):639:643 -> k
    6:6:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.realSize():262:262 -> k
    6:6:void rehash(int):644 -> k
    7:16:void rehash(int):645:654 -> k
    1:1:boolean removeEntry(int):348:348 -> l
    2:7:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.shiftKeys(int):331:336 -> l
    2:7:boolean removeEntry(int):349 -> l
    8:8:boolean removeEntry(int):350:350 -> l
    9:13:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.shiftKeys(int):339:343 -> l
    9:13:boolean removeEntry(int):349 -> l
    1:1:int size():412:412 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet$SetIterator -> com.android.tools.r8.internal.Ys:
    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 -> j
    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.at:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSets -> com.android.tools.r8.internal.ct:
    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.bt:
    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 -> i
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet -> com.android.tools.r8.internal.dt:
    int firstInt() -> Y
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet tailSet(int) -> c
    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() -> r
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets -> com.android.tools.r8.internal.ft:
    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.et:
    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
    9:15:void putAll(java.util.Map):76:82 -> putAll
    16:18:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.put(java.lang.Long,java.lang.Object):135:137 -> putAll
    16:18: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
    14:20: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 com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.nextLong() -> a
    long previousLong() -> b
    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"}
    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
    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:13:boolean equals(java.lang.Object):441:443 -> equals
    14:14:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.next():57:57 -> equals
    14:14:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.next():33 -> equals
    14:14:boolean equals(java.lang.Object):443 -> equals
    15:15:boolean equals(java.lang.Object):443:443 -> equals
    16:16:boolean com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.valEquals(java.lang.Object,java.lang.Object):407:407 -> equals
    16:16: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: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 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):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
    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
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator listIterator(int) -> k
    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 getLong(int):772:773 -> b
    6:7:long set(int,long):785:786 -> b
    1:5: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 -> k
    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 nextLong():833:833 -> a
    4:8:void add(long):851:851 -> a
    1:3:long previousLong():838:838 -> b
    4:6: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: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.bC:
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap$FastEntrySet -> com.android.tools.r8.internal.cC:
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap -> com.android.tools.r8.internal.lC:
    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$300(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):49:49 -> a
    2:6:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.removeNullEntry():228:232 -> a
    2:6:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):49 -> a
    7:7:java.lang.Object access$400(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap,int):49:49 -> a
    8:23:int com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.insert(long,java.lang.Object):249:264 -> a
    8:23:java.lang.Object put(long,java.lang.Object):271 -> a
    24:25:java.lang.Object put(long,java.lang.Object):273:274 -> a
    26:26:java.lang.Object remove(long):309:309 -> a
    27:31:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.removeNullEntry():228:232 -> a
    27:31:java.lang.Object remove(long):309 -> a
    32:39: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.dC:
    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.eC:
    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.fC:
    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:long nextLong():727:727 -> a
    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
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$KeySet -> com.android.tools.r8.internal.gC:
    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.hC:
    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.iC:
    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.jC:
    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 -> l
    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.kC:
    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.nC:
    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:3:long getLong(int):274:274 -> b
    4:4:long getLong(int):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":554,"2":555,"3":556,"4":557,"5":558}}
    554:554:long getLong(int):274:274 -> b
    555:555:long getLong(int):274:274 -> b
    556:556:long getLong(int):274:274 -> b
    557:557:long getLong(int):274:274 -> b
    558:558:long getLong(int):274:274 -> b
    278:278:long getLong(int):274:274 -> b
    279:279:long getLong(int):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":559,"2":560,"3":561}}
    559:559:long getLong(int):274:274 -> b
    560:560:long getLong(int):274:274 -> b
    561:561:long getLong(int):274:274 -> b
    553:553:long getLong(int):274:274 -> b
    562:565:long set(int,long):313:313 -> b
    566:566:long set(int,long):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1194,"2":1195,"3":1196,"4":1197,"5":1198}}
    1194:1194:long set(int,long):313:313 -> b
    1195:1195:long set(int,long):313:313 -> b
    1196:1196:long set(int,long):313:313 -> b
    1197:1197:long set(int,long):313:313 -> b
    1198:1198:long set(int,long):313:313 -> b
    879:879:long set(int,long):313:313 -> b
    880:880:long set(int,long):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1199,"2":1200,"3":1201}}
    1199:1199:long set(int,long):313:313 -> b
    1200:1200:long set(int,long):313:313 -> b
    1201:1201:long set(int,long):313:313 -> b
    1193:1193:long set(int,long):313:313 -> b
    1:3: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 -> k
    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.mC:
    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 nextLong():506:506 -> a
    4:5:void add(long):524:525 -> a
    1:3:long previousLong():511:511 -> b
    4:6: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: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.oC:
    long previousLong() -> b
com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongCollection -> com.android.tools.r8.internal.pC:
com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongIterator -> com.android.tools.r8.internal.rC:
    long nextLong() -> a
com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongList -> com.android.tools.r8.internal.sC:
    void add(int,long) -> a
    void removeElements(int,int) -> a
    long getLong(int) -> b
    long set(int,long) -> b
    long removeLong(int) -> e
com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongSet -> com.android.tools.r8.internal.yC:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap -> com.android.tools.r8.internal.I0:
    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
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap.keySet() -> e
    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
    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:7:void putAll(java.util.Map):82:88 -> putAll
    8:8:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry.getKey():128:128 -> putAll
    8:8:void putAll(java.util.Map):88 -> putAll
    9:9:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry.getBooleanValue():145:145 -> putAll
    9:9:void putAll(java.util.Map):88 -> putAll
    10:16:void putAll(java.util.Map):88:94 -> putAll
    17:18:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.put(java.lang.Object,java.lang.Boolean):123:124 -> putAll
    17:18: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:13:java.lang.String toString():330:338 -> toString
    14:14:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry.getKey():128:128 -> toString
    14:14:java.lang.String toString():338 -> toString
    15:17:java.lang.String toString():338:340 -> toString
    18:18:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry.getBooleanValue():145:145 -> toString
    18:18:java.lang.String toString():341 -> toString
    19:22:java.lang.String toString():341:344 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry -> com.android.tools.r8.internal.H0:
    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.K0:
    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"}
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():297:297 -> e
    1:1:java.util.Set entrySet():42:42 -> entrySet
    1:4:boolean equals(java.lang.Object):320:323 -> equals
    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.J0:
    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.L0:
    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 -> e
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():31 -> e
    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 -> e
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.object2IntEntrySet():87 -> e
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntSortedMap.entrySet():229 -> e
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():31 -> e
    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
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongMap -> com.android.tools.r8.internal.M0:
    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
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap.object2LongEntrySet() -> e
    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
    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.N0:
    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
    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.O0:
    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.Q0:
    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.P0:
    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.S0:
    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
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap.keySet() -> e
    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
    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.R0:
    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.T0:
    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.U0:
    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.X0:
    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
    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: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 ensureIndex(int):48:48 -> i
    2:2:void ensureIndex(int):0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":100,"2":101,"3":102,"4":103,"5":104}}
    100:100:void ensureIndex(int):48:48 -> i
    101:101:void ensureIndex(int):48:48 -> i
    102:102:void ensureIndex(int):48:48 -> i
    103:103:void ensureIndex(int):48:48 -> i
    104:104:void ensureIndex(int):48:48 -> i
    50:50:void ensureIndex(int):48:48 -> i
    51:51:void ensureIndex(int):47:47 -> i
    52:52:void ensureIndex(int):0:0 -> i
      # {"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 -> i
    101:101:void ensureIndex(int):47:47 -> i
    102:102:void ensureIndex(int):47:47 -> i
    103:103:void ensureIndex(int):47:47 -> i
    104:104:void ensureIndex(int):47:47 -> i
    105:105:void ensureIndex(int):47:47 -> i
    99:99:void ensureIndex(int):47:47 -> 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
    1:1:void ensureRestrictedIndex(int):63:63 -> j
    2:2:void ensureRestrictedIndex(int):0:0 -> j
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":130,"2":131,"3":132,"4":133,"5":134}}
    130:130:void ensureRestrictedIndex(int):63:63 -> j
    131:131:void ensureRestrictedIndex(int):63:63 -> j
    132:132:void ensureRestrictedIndex(int):63:63 -> j
    133:133:void ensureRestrictedIndex(int):63:63 -> j
    134:134:void ensureRestrictedIndex(int):63:63 -> j
    65:65:void ensureRestrictedIndex(int):63:63 -> j
    66:66:void ensureRestrictedIndex(int):62:62 -> j
    67:67:void ensureRestrictedIndex(int):0:0 -> j
      # {"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 -> j
    131:131:void ensureRestrictedIndex(int):62:62 -> j
    132:132:void ensureRestrictedIndex(int):62:62 -> j
    133:133:void ensureRestrictedIndex(int):62:62 -> j
    134:134:void ensureRestrictedIndex(int):62:62 -> j
    135:135:void ensureRestrictedIndex(int):62:62 -> j
    129:129:void ensureRestrictedIndex(int):62:62 -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator listIterator(int) -> k
    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.W0:
    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 -> k
    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.V0:
    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.Y0:
    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.Z0:
    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.a1:
    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.c1:
    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.d1:
    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.f1:
    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"}
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():297:297 -> e
    1:1:java.util.Set entrySet():42:42 -> entrySet
    1:4:boolean equals(java.lang.Object):320:323 -> equals
    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.e1:
    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.g1:
    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 -> e
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():31 -> e
    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 -> e
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntSortedMap.entrySet():229 -> e
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():31 -> e
    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
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongMap -> com.android.tools.r8.internal.h1:
    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.i1:
    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.l1:
    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: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 ensureIndex(int):48:48 -> i
    2:2:void ensureIndex(int):0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":100,"2":101,"3":102,"4":103,"5":104}}
    100:100:void ensureIndex(int):48:48 -> i
    101:101:void ensureIndex(int):48:48 -> i
    102:102:void ensureIndex(int):48:48 -> i
    103:103:void ensureIndex(int):48:48 -> i
    104:104:void ensureIndex(int):48:48 -> i
    50:50:void ensureIndex(int):48:48 -> i
    51:51:void ensureIndex(int):47:47 -> i
    52:52:void ensureIndex(int):0:0 -> i
      # {"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 -> i
    101:101:void ensureIndex(int):47:47 -> i
    102:102:void ensureIndex(int):47:47 -> i
    103:103:void ensureIndex(int):47:47 -> i
    104:104:void ensureIndex(int):47:47 -> i
    105:105:void ensureIndex(int):47:47 -> i
    99:99:void ensureIndex(int):47:47 -> 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
    1:1:void ensureRestrictedIndex(int):63:63 -> j
    2:2:void ensureRestrictedIndex(int):0:0 -> j
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":130,"2":131,"3":132,"4":133,"5":134}}
    130:130:void ensureRestrictedIndex(int):63:63 -> j
    131:131:void ensureRestrictedIndex(int):63:63 -> j
    132:132:void ensureRestrictedIndex(int):63:63 -> j
    133:133:void ensureRestrictedIndex(int):63:63 -> j
    134:134:void ensureRestrictedIndex(int):63:63 -> j
    65:65:void ensureRestrictedIndex(int):63:63 -> j
    66:66:void ensureRestrictedIndex(int):62:62 -> j
    67:67:void ensureRestrictedIndex(int):0:0 -> j
      # {"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 -> j
    131:131:void ensureRestrictedIndex(int):62:62 -> j
    132:132:void ensureRestrictedIndex(int):62:62 -> j
    133:133:void ensureRestrictedIndex(int):62:62 -> j
    134:134:void ensureRestrictedIndex(int):62:62 -> j
    135:135:void ensureRestrictedIndex(int):62:62 -> j
    129:129:void ensureRestrictedIndex(int):62:62 -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator listIterator(int) -> k
    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.k1:
    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 -> k
    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.j1:
    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.m1:
    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.n1:
    1:1:void <init>():23:23 -> <init>
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap -> com.android.tools.r8.internal.wH:
    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
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet keySet():321:321 -> e
    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.vH:
    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.uH:
    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.zH:
    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:boolean isEmpty():277:277 -> isEmpty
    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 -> j
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet object2IntEntrySet():37 -> j
    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.yH:
    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.xH:
    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.AH:
    int getInt(java.lang.Object) -> a
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap -> com.android.tools.r8.internal.JH:
    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$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):87:87 -> a
    2:7:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.removeNullEntry():285:290 -> a
    2:7:int access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):87 -> a
    8:8:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap,int):87:87 -> a
    9:33:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.insert(java.lang.Object,int):307:331 -> a
    9:33:int put(java.lang.Object,int):338 -> a
    34:36:int put(java.lang.Object,int):339:341 -> a
    37:47: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: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.Object2IntSortedMap$FastSortedEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.object2IntEntrySet():1422:1423 -> j
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet object2IntEntrySet():87 -> j
    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.BH:
    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.CH:
    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.DH:
    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.EH:
    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.FH:
    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.GH:
    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.HH:
    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 -> l
    1:6:int nextEntry():1127:1127 -> m
    1:6:int previousEntry():1136:1136 -> n
    1:2:int nextIndex():1117:1118 -> nextIndex
    1:2:int previousIndex():1122:1123 -> previousIndex
    1:47:void remove():1145:1191 -> remove
    48:48:void remove():1146:1146 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.IH:
    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 -> d
    1:1:int nextInt():1584:1584 -> j
    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: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.MH:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet object2IntEntrySet() -> j
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry -> com.android.tools.r8.internal.KH:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$FastEntrySet -> com.android.tools.r8.internal.LH:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap -> com.android.tools.r8.internal.VH:
    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$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):49:49 -> a
    2:6:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.removeNullEntry():227:231 -> a
    2:6:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):49 -> a
    7:7:int access$400(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap,int):49:49 -> a
    8:23:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.insert(java.lang.Object,int):248:263 -> a
    8:23:int put(java.lang.Object,int):270 -> a
    24:26:int put(java.lang.Object,int):271:273 -> a
    27:37: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: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.Object2IntMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.object2IntEntrySet():761:762 -> j
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet object2IntEntrySet():49 -> j
    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.NH:
    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.OH:
    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.PH:
    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.QH:
    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.RH:
    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.SH:
    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.TH:
    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 -> l
    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.UH:
    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:int nextInt():836:836 -> j
    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
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.WH:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap$Entry -> com.android.tools.r8.internal.XH:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap$FastEntrySet -> com.android.tools.r8.internal.YH:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap -> com.android.tools.r8.internal.hI:
    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$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):49:49 -> a
    2:6:long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.removeNullEntry():227:231 -> a
    2:6:long access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):49 -> a
    7:7:long access$400(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap,int):49:49 -> a
    8:23:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.insert(java.lang.Object,long):248:263 -> a
    8:23:long put(java.lang.Object,long):270 -> a
    24:25: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
    16:17:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.object2LongEntrySet():761:762 -> e
    16:17:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet object2LongEntrySet():49 -> e
    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.ZH:
    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:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.containsValue(long):404:408 -> b
    2: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.aI:
    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.bI:
    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.cI:
    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.dI:
    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.eI:
    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.fI:
    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 -> l
    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.gI:
    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:long nextLong():836:836 -> a
    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
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap -> com.android.tools.r8.internal.qI:
    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$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):85:85 -> a
    2:8:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.removeNullEntry():315:321 -> a
    2:8:java.lang.Object access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):85 -> a
    9:9:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap,int):85: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:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectSortedMap$FastSortedEntrySet object2ObjectEntrySet():1379:1380 -> e
    3:44: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
    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.iI:
    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.jI:
    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.kI:
    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.lI:
    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.mI:
    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.nI:
    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.oI:
    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 -> l
    1:6:int nextEntry():1084:1084 -> m
    1:6:int previousEntry():1093:1093 -> n
    1:2:int nextIndex():1074:1075 -> nextIndex
    1:2:int previousIndex():1079:1080 -> previousIndex
    1:49:void remove():1102:1150 -> remove
    50:50:void remove():1103:1103 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$ValueIterator -> com.android.tools.r8.internal.pI:
    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.sI:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry -> com.android.tools.r8.internal.rI:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.tI:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap -> com.android.tools.r8.internal.CI:
    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$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):85:85 -> a
    2:8:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.removeNullEntry():284:290 -> a
    2:8:java.lang.Object access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):85 -> a
    9:9:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap,int):85: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:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet keySet():1457:1458 -> e
    3:44: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
    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.uI:
    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.vI:
    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.wI:
    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.xI:
    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.yI:
    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.zI:
    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.AI:
    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 -> l
    1:6:int nextEntry():1053:1053 -> m
    1:6:int previousEntry():1062:1062 -> n
    1:2:int nextIndex():1043:1044 -> nextIndex
    1:2:int previousIndex():1048:1049 -> previousIndex
    1:49:void remove():1071:1119 -> remove
    50:50:void remove():1072:1072 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.BI:
    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.EI:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry -> com.android.tools.r8.internal.DI:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap -> com.android.tools.r8.internal.WI:
    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
    7:8:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet keySet():1261:1262 -> e
    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:258:java.lang.Object remove(java.lang.Object):444:446 -> remove
    259:259: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
    259:259:java.lang.Object remove(java.lang.Object):447 -> remove
    260:261:java.lang.Object remove(java.lang.Object):451:452 -> remove
    262:262: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
    262:262:java.lang.Object remove(java.lang.Object):455 -> remove
    263:264: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.GI:
    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.FI:
    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.HI:
    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.II:
    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.JI:
    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.KI:
    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.LI:
    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.TI:
    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
    5:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet keySet():1521:1522 -> e
    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.MI:
    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.NI:
    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.OI:
    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.PI:
    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.QI:
    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 -> n
    2:4: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 -> n
    2:4:void updateNext():1728 -> n
    5:6:void updateNext():1728:1729 -> n
    7:7:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> n
    7:7:void updateNext():1729 -> n
    8:8:void updateNext():1729:1729 -> n
    1:2:void updatePrevious():1723:1724 -> o
    3:3:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> o
    3:3:void updatePrevious():1724 -> o
    4:4:void updatePrevious():1724:1724 -> o
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.internal.RI:
    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.SI:
    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.UI:
    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 -> l
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry previousEntry():1035:1035 -> m
    1:1:void updateNext():1019:1019 -> n
    2:4: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 -> n
    2:4:void updateNext():1019 -> n
    5:5:void updateNext():1019:1019 -> n
    1:1:int nextIndex():1043:1043 -> nextIndex
    1:1:void updatePrevious():1031:1031 -> o
    1:1:int previousIndex():1047:1047 -> previousIndex
    1:12:void remove():1051:1051 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$ValueIterator -> com.android.tools.r8.internal.VI:
    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.XI:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList -> com.android.tools.r8.internal.ZI:
    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 -> k
    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.YI:
    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.bJ:
    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.aJ:
    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.cJ:
# {"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.eJ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection -> com.android.tools.r8.internal.fJ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollections -> com.android.tools.r8.internal.iJ:
    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.gJ:
    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.ObjectIterator iterator():38:38 -> iterator
    2:2:java.util.Iterator iterator():38:38 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator 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.objects.ObjectCollections$UnmodifiableCollection -> com.android.tools.r8.internal.hJ:
    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.kJ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators -> com.android.tools.r8.internal.oJ:
    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.lJ:
    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.mJ:
    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.nJ:
    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.pJ:
    void removeElements(int,int) -> a
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator -> com.android.tools.r8.internal.qJ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet -> com.android.tools.r8.internal.sJ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets -> com.android.tools.r8.internal.vJ:
    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.tJ:
    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.uJ:
    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.wJ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSets -> com.android.tools.r8.internal.yJ:
    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.xJ:
    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.KP:
    boolean getBoolean(java.lang.Object) -> b
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap -> com.android.tools.r8.internal.NP:
    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.LP:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap$FastEntrySet -> com.android.tools.r8.internal.MP:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps -> com.android.tools.r8.internal.QP:
    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.OP:
    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.PP:
    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.ZP:
    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
    16:20:boolean removeNullEntry():227:231 -> 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: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.RP:
    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:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.containsValue(boolean):359:363 -> b
    2: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.SP:
    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.TP:
    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.UP:
    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.VP:
    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.WP:
    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.XP:
    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 -> l
    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.YP:
    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.cQ:
    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 access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap,java.lang.Object):37:37 -> a
    3:5:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.findKey(java.lang.Object):235:237 -> a
    3:5:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap,java.lang.Object):37 -> a
    6:8:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.findKey(java.lang.Object):235:237 -> a
    6:8:int put(java.lang.Object,int):283 -> a
    9:26:int put(java.lang.Object,int):285:302 -> a
    27:30: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:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.findKey(java.lang.Object):235:237 -> c
    2:4:int removeInt(java.lang.Object):308 -> c
    5:11: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:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.reference2IntEntrySet():231:231 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2IntEntrySet():37 -> f
    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.bQ:
    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.aQ:
    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.dQ:
    int getInt(java.lang.Object) -> a
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap -> com.android.tools.r8.internal.mQ:
    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$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):87:87 -> a
    2:7:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.removeNullEntry():285:290 -> a
    2:7:int access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):87 -> a
    8:8:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap,int):87:87 -> a
    9:33:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.insert(java.lang.Object,int):307:331 -> a
    9:33:int put(java.lang.Object,int):338 -> a
    34:36:int put(java.lang.Object,int):339:341 -> a
    37:47: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.Reference2IntLinkedOpenHashMap.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.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:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2IntEntrySet():87:87 -> f
    2:26: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.eQ:
    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.fQ:
    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.gQ:
    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.hQ:
    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.iQ:
    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.jQ:
    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.kQ:
    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 -> l
    1:6:int nextEntry():1127:1127 -> m
    1:6:int previousEntry():1136:1136 -> n
    1:2:int nextIndex():1117:1118 -> nextIndex
    1:2:int previousIndex():1122:1123 -> previousIndex
    1:47:void remove():1145:1191 -> remove
    48:48:void remove():1146:1146 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.lQ:
    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 -> d
    1:1:int nextInt():1584:1584 -> j
    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: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.pQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2IntEntrySet() -> f
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry -> com.android.tools.r8.internal.nQ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$FastEntrySet -> com.android.tools.r8.internal.oQ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap -> com.android.tools.r8.internal.yQ:
    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$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):49:49 -> a
    2:6:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.removeNullEntry():227:231 -> a
    2:6:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):49 -> a
    7:7:int access$400(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap,int):49:49 -> a
    8:23:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.insert(java.lang.Object,int):248:263 -> a
    8:23:int put(java.lang.Object,int):270 -> a
    24:26:int put(java.lang.Object,int):271:273 -> a
    27:37: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
    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:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.reference2IntEntrySet():761:762 -> f
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2IntEntrySet():49 -> f
    3:9:void rehash(int):961:967 -> f
    10:10:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.realSize():205:205 -> f
    10:10:void rehash(int):968 -> f
    11:23: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.qQ:
    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.rQ:
    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.sQ:
    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.tQ:
    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.uQ:
    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.vQ:
    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.wQ:
    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 -> l
    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.xQ:
    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:int nextInt():836:836 -> j
    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
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.zQ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongMap$Entry -> com.android.tools.r8.internal.AQ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongMap$FastEntrySet -> com.android.tools.r8.internal.BQ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap -> com.android.tools.r8.internal.KQ:
    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$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):49:49 -> a
    2:6:long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.removeNullEntry():227:231 -> a
    2:6:long access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):49 -> a
    7:7:long access$400(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap,int):49:49 -> a
    8:23:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.insert(java.lang.Object,long):248:263 -> a
    8:23:long put(java.lang.Object,long):270 -> a
    24:25: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.CQ:
    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:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.containsValue(long):404:408 -> b
    2: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.DQ:
    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.EQ:
    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.FQ:
    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.GQ:
    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.HQ:
    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.IQ:
    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 -> l
    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.JQ:
    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:long nextLong():836:836 -> a
    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
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList -> com.android.tools.r8.internal.MQ:
    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 -> k
    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.LQ:
    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.OQ:
    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.NQ:
    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.PQ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollections -> com.android.tools.r8.internal.SQ:
    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.QQ:
    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.ObjectIterator iterator():38:38 -> iterator
    2:2:java.util.Iterator iterator():38: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.RQ:
    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.TQ:
    void removeElements(int,int) -> a
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet -> com.android.tools.r8.internal.VQ:
    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: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:5:void rehash(int):607:611 -> i
    6:6:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.realSize():239:239 -> i
    6:6:void rehash(int):612 -> i
    7:16:void rehash(int):613:622 -> 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 removeEntry(int):314:314 -> j
    2:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.shiftKeys(int):297:302 -> j
    2:7:boolean removeEntry(int):315 -> j
    8:8:boolean removeEntry(int):316:316 -> j
    9:13:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.shiftKeys(int):305:309 -> j
    9:13:boolean removeEntry(int):315 -> j
    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.UQ:
    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.WQ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets -> com.android.tools.r8.internal.ZQ:
    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.XQ:
    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.YQ:
    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.aR:
com.android.tools.r8.jar.CfApplicationWriter -> com.android.tools.r8.internal.v6:
    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:2:void write(com.android.tools.r8.ClassFileConsumer):111:112 -> a
    3:7:void write(com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.utils.AndroidApp):116:120 -> a
    8:11:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):137:140 -> a
    12:17:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):139:144 -> a
    18:21:boolean com.android.tools.r8.jar.CfApplicationWriter.includeMarker(com.android.tools.r8.dex.Marker):125:128 -> a
    18:21:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):144 -> a
    22:22:boolean com.android.tools.r8.dex.Marker.isCfBackend():228:228 -> a
    22:22:boolean com.android.tools.r8.jar.CfApplicationWriter.includeMarker(com.android.tools.r8.dex.Marker):128 -> a
    22:22:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):144 -> a
    23:23:boolean com.android.tools.r8.dex.Marker.isDexBackend():232:232 -> a
    23:23:boolean com.android.tools.r8.jar.CfApplicationWriter.includeMarker(com.android.tools.r8.dex.Marker):128 -> a
    23:23:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):144 -> a
    24:25:boolean com.android.tools.r8.jar.CfApplicationWriter.includeMarker(com.android.tools.r8.dex.Marker):128:129 -> a
    24:25:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):144 -> a
    26:26:boolean com.android.tools.r8.dex.Marker.isCfBackend():228:228 -> a
    26:26:boolean com.android.tools.r8.jar.CfApplicationWriter.includeMarker(com.android.tools.r8.dex.Marker):130 -> a
    26:26:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):144 -> a
    27:27:boolean com.android.tools.r8.jar.CfApplicationWriter.includeMarker(com.android.tools.r8.dex.Marker):130:130 -> a
    27:27:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):144 -> a
    28:35:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):144:151 -> a
    36:36:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):222:222 -> a
    36:36:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):151 -> a
    37:53:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):153:169 -> a
    54:54:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
    54:54:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):169 -> a
    55:57:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):171:173 -> a
    58:62:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):170:174 -> a
    63:63:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):167:167 -> a
    64:69:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):155:160 -> a
    70:70:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
    70:70:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):160 -> a
    71:72:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):161:162 -> a
    73:92:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):158:177 -> a
    93:93: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
    94:94:void com.android.tools.r8.org.objectweb.asm.ClassWriter.<init>(int):229:229 -> a
    94:94: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
    95:105: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
    106:112:java.lang.String com.android.tools.r8.jar.CfApplicationWriter.getSourceDebugExtension(com.android.tools.r8.graph.DexAnnotationSet):359:365 -> a
    106:112: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
    113:113: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
    114:121:com.android.tools.r8.cf.CfVersion com.android.tools.r8.jar.CfApplicationWriter.getClassFileVersion(com.android.tools.r8.graph.DexProgramClass):335:342 -> a
    114:121: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
    122:140: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
    141:147:java.lang.String com.android.tools.r8.graph.GenericSignature$ClassSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):276:282 -> a
    141:147: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
    148:159: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
    160:170: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
    160:170: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
    171:192: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
    193:199:java.lang.String com.android.tools.r8.graph.GenericSignature$FieldTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):476:482 -> a
    193:199: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
    200:236: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
    237:241:void com.android.tools.r8.utils.ExceptionUtils.withConsumeResourceHandler(com.android.tools.r8.utils.Reporter,java.util.function.Consumer):51:55 -> a
    237:241: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
    242:242: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
    243:243:void lambda$writeClass$2(com.android.tools.r8.ClassFileConsumer,byte[],java.lang.String,com.android.tools.r8.DiagnosticsHandler):293:293 -> a
    244:244:int compareTypesThroughLens(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):297:297 -> a
    245:251:int compareMethodsThroughLens(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):306:312 -> a
    252:255:int compareMethodsThroughLens(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):310:313 -> a
    256:256:com.android.tools.r8.graph.DexType[] lambda$compareMethodsThroughLens$3(com.android.tools.r8.graph.DexMethod):311:311 -> a
    257:260:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):317:320 -> a
    261:261:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    261:261:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):320 -> a
    262:262:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):320:320 -> a
    263:263:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":608,"2":609,"3":610}}
    608:608:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):320:320 -> a
    609:609:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):320:320 -> a
    610:610:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):320:320 -> a
    584:586:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):321:323 -> a
    587:591:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1956:1960 -> a
    587:591:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):323 -> a
    592:592: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
    592:592:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1961 -> a
    592:592:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):323 -> a
    593:598:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):322:327 -> a
    599:603:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1956:1960 -> a
    599:603:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):327 -> a
    604:604: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
    604:604:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):1961 -> a
    604:604:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):327 -> a
    605:607:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):328:330 -> a
    611:618:com.android.tools.r8.graph.DexValue getSystemAnnotationValue(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexType):348:355 -> a
    619:625:void writeField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.org.objectweb.asm.ClassWriter):404:410 -> a
    626:632:java.lang.String com.android.tools.r8.graph.GenericSignature$FieldTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):476:482 -> a
    626:632:void writeField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.org.objectweb.asm.ClassWriter):410 -> a
    633:636:java.lang.Object com.android.tools.r8.jar.CfApplicationWriter.getStaticValue(com.android.tools.r8.graph.DexEncodedField):397:400 -> a
    633:636:void writeField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.org.objectweb.asm.ClassWriter):411 -> a
    637:638:void writeField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.org.objectweb.asm.ClassWriter):412:413 -> a
    639:647: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
    648:648:boolean com.android.tools.r8.graph.DexEncodedMethod.isDeprecated():262:262 -> a
    648:648: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
    649: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):435:438 -> a
    653:659:java.lang.String com.android.tools.r8.graph.GenericSignature$MethodTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):878:884 -> a
    653:659: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
    660:660: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
    661:669:java.lang.String[] com.android.tools.r8.jar.CfApplicationWriter.getExceptions(com.android.tools.r8.graph.DexAnnotationSet):383:391 -> a
    661:669: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
    670:678: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
    679:692: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
    679:692: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
    693:695: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
    696:699: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
    696: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):452 -> a
    700:700:void writeParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.ParameterAnnotationsList):483:483 -> a
    701:701:int com.android.tools.r8.graph.ParameterAnnotationsList.getAnnotableParameterCount():102:102 -> a
    701:701:void writeParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.ParameterAnnotationsList):483 -> a
    702:702:void writeParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.ParameterAnnotationsList):482:482 -> a
    703:703:int com.android.tools.r8.graph.ParameterAnnotationsList.getAnnotableParameterCount():102:102 -> a
    703:703:void writeParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.ParameterAnnotationsList):485 -> a
    704:711:void writeParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.ParameterAnnotationsList):484:491 -> a
    712:712:void writeParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.ParameterAnnotationsList):489:489 -> a
    713:713: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
    714:723:void writeAnnotations(com.android.tools.r8.jar.CfApplicationWriter$AnnotationConsumer,com.android.tools.r8.graph.DexAnnotation[]):500:509 -> a
    724:729:void writeAnnotations(com.android.tools.r8.jar.CfApplicationWriter$AnnotationConsumer,com.android.tools.r8.graph.DexAnnotation[]):508:513 -> a
    730:731:void writeAnnotation(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,com.android.tools.r8.graph.DexEncodedAnnotation):519:520 -> a
    732:790:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):525:583 -> a
    791:794:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):528:531 -> a
    795:822:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):530:557 -> a
    823:833:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):554:564 -> a
    834:852:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):561:579 -> a
    853:853:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):577:577 -> a
    854:854:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):573:573 -> a
    855:858: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.u6:
    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.Ne:
# {"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.tA:
# {"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.GG:
# {"id":"sourceFile","fileName":"NoWhenBranchMatchedException.kt"}
    1:1:void <init>():9:9 -> <init>
com.android.tools.r8.jetbrains.kotlin.Pair -> com.android.tools.r8.internal.OK:
# {"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.MZ:
# {"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.QZ:
# {"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.SZ:
# {"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.n00:
# {"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.a30:
# {"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"}
    com.android.tools.r8.jetbrains.kotlin.collections.AbstractList$Companion Companion -> b
    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 <init>():105:105 -> <init>
    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
    1:1:int getIndex():73:73 -> l
    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 -> c
    int fromIndex -> d
    int _size -> e
    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.n3:
    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.o3:
# {"id":"sourceFile","fileName":"Arrays.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt$asList$3 -> com.android.tools.r8.internal.p3:
# {"id":"sourceFile","fileName":"_ArraysJvm.kt"}
    int[] $this_asList -> c
    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.q3:
# {"id":"sourceFile","fileName":"_Arrays.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt -> com.android.tools.r8.internal.Sb:
    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.Tb:
# {"id":"sourceFile","fileName":"Collections.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__IteratorsJVMKt -> com.android.tools.r8.internal.Ub:
# {"id":"sourceFile","fileName":"IteratorsJVM.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__MutableCollectionsJVMKt -> com.android.tools.r8.internal.Vb:
# {"id":"sourceFile","fileName":"MutableCollectionsJVM.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__ReversedViewsKt -> com.android.tools.r8.internal.Wb:
# {"id":"sourceFile","fileName":"ReversedViews.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt -> com.android.tools.r8.internal.Yb:
# {"id":"sourceFile","fileName":"_Collections.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt$withIndex$1 -> com.android.tools.r8.internal.Xb:
# {"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.Dh:
# {"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.Eh:
# {"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.Fh:
# {"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.Hh:
# {"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.Eo:
# {"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.Fo:
# {"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.Go:
# {"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.fD:
    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.gD:
# {"id":"sourceFile","fileName":"MapsJVM.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.MapsKt___MapsKt -> com.android.tools.r8.internal.hD:
# {"id":"sourceFile","fileName":"_Maps.kt"}
com.android.tools.r8.jetbrains.kotlin.internal.ProgressionUtilKt -> com.android.tools.r8.internal.AM:
# {"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.Cv:
# {"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.Lk:
# {"id":"sourceFile","fileName":"Functions.kt"}
    java.lang.Object invoke() -> a
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 -> com.android.tools.r8.internal.Nk:
# {"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.Mk:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function11 -> com.android.tools.r8.internal.Ok:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function12 -> com.android.tools.r8.internal.Pk:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function13 -> com.android.tools.r8.internal.Qk:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function14 -> com.android.tools.r8.internal.Rk:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function15 -> com.android.tools.r8.internal.Sk:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function16 -> com.android.tools.r8.internal.Tk:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function17 -> com.android.tools.r8.internal.Uk:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function18 -> com.android.tools.r8.internal.Vk:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function19 -> com.android.tools.r8.internal.Wk:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function2 -> com.android.tools.r8.internal.bl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function20 -> com.android.tools.r8.internal.Yk:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function21 -> com.android.tools.r8.internal.Zk:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function22 -> com.android.tools.r8.internal.al:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function3 -> com.android.tools.r8.internal.cl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function4 -> com.android.tools.r8.internal.dl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function5 -> com.android.tools.r8.internal.el:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function6 -> com.android.tools.r8.internal.fl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function7 -> com.android.tools.r8.internal.gl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function8 -> com.android.tools.r8.internal.hl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function9 -> com.android.tools.r8.internal.il:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.internal.ClassBasedDeclarationContainer -> com.android.tools.r8.internal.z9:
# {"id":"sourceFile","fileName":"ClassBasedDeclarationContainer.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.internal.ClassReference -> com.android.tools.r8.internal.Fa:
# {"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.Ob:
# {"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.Qt:
    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.Yz:
# {"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.dR:
    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.eR:
    1:1:void <init>():14:14 -> <init>
com.android.tools.r8.jetbrains.kotlin.reflect.KClass -> com.android.tools.r8.internal.Ew:
# {"id":"sourceFile","fileName":"KClass.kt"}
com.android.tools.r8.jetbrains.kotlin.text.StringsKt -> com.android.tools.r8.internal.yW:
    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.zW:
# {"id":"sourceFile","fileName":"Indent.kt"}
com.android.tools.r8.jetbrains.kotlin.text.StringsKt__RegexExtensionsKt -> com.android.tools.r8.internal.AW:
# {"id":"sourceFile","fileName":"RegexExtensions.kt"}
com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringBuilderKt -> com.android.tools.r8.internal.BW:
# {"id":"sourceFile","fileName":"StringBuilder.kt"}
com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringNumberConversionsKt -> com.android.tools.r8.internal.CW:
# {"id":"sourceFile","fileName":"StringNumberConversions.kt"}
com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt -> com.android.tools.r8.internal.DW:
# {"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:4:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOfAny(java.lang.CharSequence,char[],int,boolean):933:933 -> a
    4:4:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf(java.lang.CharSequence,char,int,boolean):1088 -> a
    4:4: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:4:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.contains(java.lang.CharSequence,char,boolean):1159 -> a
    4:4:boolean contains$default(java.lang.CharSequence,char,boolean,int,java.lang.Object):1158 -> a
    5:5:char com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.single(char[]):2892:2892 -> a
    5:5:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOfAny(java.lang.CharSequence,char[],int,boolean):934 -> a
    5:5:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf(java.lang.CharSequence,char,int,boolean):1088 -> a
    5:5:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf$default(java.lang.CharSequence,char,int,boolean,int,java.lang.Object):1086 -> a
    5:5:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.contains(java.lang.CharSequence,char,boolean):1159 -> a
    5:5:boolean contains$default(java.lang.CharSequence,char,boolean,int,java.lang.Object):1158 -> a
    6:6:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOfAny(java.lang.CharSequence,char[],int,boolean):935:935 -> a
    6:6:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf(java.lang.CharSequence,char,int,boolean):1088 -> a
    6: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
    6:6:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.contains(java.lang.CharSequence,char,boolean):1159 -> a
    6: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.EW:
# {"id":"sourceFile","fileName":"_Strings.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.Flag -> com.android.tools.r8.internal.ik:
# {"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.fk:
# {"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.gk:
# {"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.hk:
# {"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.ik$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.pk:
# {"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.Ao:
# {"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.Fw:
# {"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.Hw:
# {"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.Gw:
# {"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.Hw$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.Iw:
# {"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
    4:4: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.Jw:
# {"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:boolean equals(java.lang.Object):0:0 -> equals
    3:3:java.lang.Byte com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ByteValue.getValue():37:37 -> equals
    3:3:boolean equals(java.lang.Object):0 -> equals
    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.Kw:
# {"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
    4:4: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.Lw:
# {"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:boolean equals(java.lang.Object):0:0 -> equals
    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.Mw:
# {"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.Nw:
# {"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:boolean equals(java.lang.Object):0:0 -> equals
    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.Ow:
# {"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
    4:4: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.Pw:
# {"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.Qw:
# {"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.Rw:
# {"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
    4:4: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.Sw:
# {"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
    4:4: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.Tw:
# {"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:boolean equals(java.lang.Object):0:0 -> equals
    3:3:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$StringValue.getValue():59:59 -> equals
    3:3:boolean equals(java.lang.Object):0 -> equals
    4:4: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.Uw:
# {"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:boolean equals(java.lang.Object):0:0 -> equals
    3:3:byte com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UByteValue.getValue-w2LRezQ():48:48 -> equals
    3:3:boolean equals(java.lang.Object):0 -> equals
    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.Vw:
# {"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:boolean equals(java.lang.Object):0:0 -> equals
    3:3:int com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UIntValue.getValue-pVg5ArA():54:54 -> equals
    3:3:boolean equals(java.lang.Object):0 -> equals
    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.Ww:
# {"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:boolean equals(java.lang.Object):0:0 -> equals
    3:3:long com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ULongValue.getValue-s-VKNKU():57:57 -> equals
    3:3:boolean equals(java.lang.Object):0 -> equals
    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.Xw:
# {"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:boolean equals(java.lang.Object):0:0 -> equals
    3:3:short com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UShortValue.getValue-Mh2AYeg():51:51 -> equals
    3:3:boolean equals(java.lang.Object):0 -> equals
    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.Yw:
# {"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 getProperties():64:64 -> 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 getTypeAliases():69:69 -> 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 getFunctions():59:59 -> 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.ax:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor -> com.android.tools.r8.internal.bx:
# {"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>
    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.dx:
# {"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.cx:
# {"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.dx$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.dx$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.ex:
# {"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.fx:
# {"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.hx:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor -> com.android.tools.r8.internal.ix:
# {"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.jx:
# {"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.kx:
# {"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.lx:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List getProperties() -> a
    java.util.List getTypeAliases() -> b
    java.util.List getFunctions() -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor -> com.android.tools.r8.internal.mx:
# {"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.nx:
# {"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.ox:
# {"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.px:
# {"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.qx:
# {"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.rx:
# {"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.sx:
# {"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.ux:
# {"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.vx:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound -> com.android.tools.r8.internal.wx:
# {"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.xx:
# {"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.zx:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor -> com.android.tools.r8.internal.Ax:
# {"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.Bx:
# {"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.Cx:
# {"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.Dx:
# {"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 getProperties():203:203 -> 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 getTypeAliases():208:208 -> 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 getFunctions():198:198 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor -> com.android.tools.r8.internal.Fx:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor -> com.android.tools.r8.internal.Gx:
# {"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>
    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.Hx:
# {"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.Jx:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor -> com.android.tools.r8.internal.Kx:
# {"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.Lx:
# {"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.Mx:
# {"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:553: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.KmTypeAliasVisitor -> com.android.tools.r8.internal.Ox:
# {"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.Qx:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter -> com.android.tools.r8.internal.Rx:
# {"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.Tx:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor -> com.android.tools.r8.internal.Ux:
# {"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.Vx:
# {"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.Wx:
# {"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.Xx:
# {"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:479: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.KmValueParameterVisitor -> com.android.tools.r8.internal.Zx:
# {"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.ay:
# {"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.by:
# {"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.cy:
# {"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.dy:
# {"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.ey:
# {"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.fy:
# {"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.JG:
# {"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.Ya:
# {"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.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):425:425 -> 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):425 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor visitConstructor(int):431:431 -> a
    4:4: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
    4:4: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
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor visitConstructor(int):431 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):434:434 -> a
    6:6: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
    6:6: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
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):434 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitProperty(int,java.lang.String,int,int):437:437 -> a
    8:8:void visitCompanionObject(java.lang.String):443:443 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):471:471 -> 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.Oa:
# {"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$visitExtensions$1 -> com.android.tools.r8.internal.Pa:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType $type -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> c
    1:1:java.lang.Object invoke(java.lang.Object):471: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 invoke(java.lang.Object):471 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitFunction$1 -> com.android.tools.r8.internal.Qa:
# {"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.Ra:
# {"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.Sa:
# {"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.Ta:
# {"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.Ua:
# {"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.Va:
# {"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.Wa:
# {"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.qA:
# {"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.pA:
# {"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.MK:
# {"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.KmFunctionVisitor visitFunction(int,java.lang.String):487:487 -> a
    2:2: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
    2:2: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
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):487 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitProperty(int,java.lang.String,int,int):490:490 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):496:496 -> 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$visitExtensions$1 -> com.android.tools.r8.internal.IK:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter this$0 -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType $type -> b
    1:1:java.lang.Object invoke(java.lang.Object):496: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 invoke(java.lang.Object):496 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitFunction$1 -> com.android.tools.r8.internal.JK:
# {"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.KK:
# {"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.LK:
# {"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.fP:
# {"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.hP:
# {"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.gP:
# {"id":"sourceFile","fileName":"readUtils.kt"}
    int[] $EnumSwitchMapping$0 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt -> com.android.tools.r8.internal.iP:
# {"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:1124: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:211 -> a
    1115:1124: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:1124: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
    1125:1126:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.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
    1125:1126: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):211 -> a
    1125:1126: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
    1125:1126: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
    1127:1127: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
    1127:1127:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.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
    1127: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):211 -> a
    1127: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
    1127: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:1128:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.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
    1128:1128: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):211 -> a
    1128:1128: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
    1128:1128: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
    1129:1129: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):214:214 -> a
    1129:1129: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
    1129:1129: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
    1130: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):75:89 -> a
    1130: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:1145: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
    1145:1145: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
    1146:1146: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
    1146:1146: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
    1146:1146: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
    1147:1157: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
    1147:1157: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
    1158:1158: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
    1158:1158: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
    1158:1158: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
    1159:1187: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
    1159:1187: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
    1159:1187: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
    1159:1187: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
    1188:1595: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
    1188:1595: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
    1188:1595: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
    1596:1596: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
    1596:1596: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
    1596:1596: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
    1597:1668: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
    1597: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 -> a
    1597: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
    1597: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: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
    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):99 -> 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:1672: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
    1671:1672: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
    1671:1672: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
    1673:1681: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:108 -> a
    1673:1681: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
    1682:1691:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.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
    1682:1691: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):108 -> a
    1682:1691: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
    1692:1701:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.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
    1692:1701: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):108 -> a
    1692:1701: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
    1702:1702: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):111:111 -> a
    1702:1702: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
    1703:1703: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
    1704:1838: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
    1704:1838: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
    1839:1839: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
    1839:1839: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
    1839:1839: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
    1840:1840: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
    1840:1840: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
    1840:1840: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
    1840:1840: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
    1841:1843: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
    1841:1843: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
    1841:1843: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
    1844:1854: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:141 -> a
    1844:1854: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
    1855:1859:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.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
    1855:1859: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):141 -> a
    1855:1859: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
    1860:1867:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.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
    1860:1867: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):141 -> a
    1860:1867: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
    1868:1868: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):144:144 -> a
    1868:1868: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
    1869:1875: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
    1876:1882: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
    1883:2158: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
    1883:2158: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
    2159:2159: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
    2159:2159: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
    2160:2160: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
    2160:2160: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
    2161:2161: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
    2161:2161: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
    2161:2161: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
    2162:2162: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
    2162:2162: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
    2163:2438: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
    2163:2438: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
    2439:2439: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
    2439:2439: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
    2440:2541: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
    2440:2541: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
    2440:2541: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
    2542:2545: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
    2542:2545: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
    2546:2653: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
    2546:2653: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
    2546:2653: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
    2654:2669: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
    2654:2669: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
    2670:2671: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
    2670:2671: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
    2670:2671: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
    2672:2673: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
    2672:2673: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
    2672:2673: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
    2674:2674: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
    2675:2675: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
    2675:2675: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
    2676:2680: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
    2681:3001: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
    3002:3002: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
    3003:3003: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
    3004:3004: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
    3004:3004: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
    3005:3005: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
    3006:3326: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
    3327:3327: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
    3328:3385: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
    3328:3385: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
    3386:3387: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
    3386:3387: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
    3388:3395: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
    3396:3445: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
    3396:3445: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
    3446:3450: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
    3451:3457: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
    3451:3457: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
    3458:3458: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
    3458:3458: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
    3459:3467: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
    3459:3467: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
    3468:3468: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
    3468:3468: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
    3469:3474: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
    3469:3474: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
    3475:3483: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
    3475:3483: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
    3475:3483: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
    3484:3484: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
    3484:3484: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
    3485:3490: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:245 -> a
    3491:3492:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.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
    3491:3492: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):245 -> a
    3493:3493: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
    3493:3493:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.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
    3493:3493: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):245 -> a
    3494:3501:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.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
    3494:3501: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):245 -> a
    3502:3502: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):248:248 -> a
    3503:3504: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
    3503:3504: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
    3505:3801: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
    3802:3802: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
    3803:3803: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
    3804:3804: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
    3804:3804: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
    3805:3805: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
    3806:4102: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
    4103:4103: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
    4104:4175: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
    4104:4175: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
    4176:4177: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
    4176:4177: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
    4178:4195: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:276 -> a
    4196:4204:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.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
    4196:4204: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):276 -> a
    4205:4205: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
    4205:4205:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.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
    4205:4205: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):276 -> a
    4206:4207:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.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
    4206:4207: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):276 -> a
    4208:4223:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.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
    4208:4223: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):276 -> a
    4224:4224: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):279:279 -> a
    4225:4229: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
    4230:4313: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
    4230:4313: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
    4314:4315: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
    4314:4315: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
    4316:4323: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
    4324:4324: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
    4325:4449: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
    4325:4449: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
    4450:4450: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
    4450:4450: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
    4451:4456: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:347 -> a
    4457:4461:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.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
    4457:4461: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):347 -> a
    4462:4462: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):350:350 -> a
    4463:4481: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
    4482:4482: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
    4483:4483: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
    4484:4491: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
    4492:4526: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
    4492:4526: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
    4527:4528: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
    4527:4528: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
    4529:4529: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
    4530:4530: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
    4531:4531: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
    4531:4531: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
    4532:4539: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
    4540:4635: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
    4540:4635: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
    4636:4637: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
    4636:4637: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
    4638:4641: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
    4642:4731: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
    4642:4731: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
    4732:4733: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
    4732:4733: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
    4734:4737: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
    4738:4778: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
    4738:4778: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
    4779:4780: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
    4779:4780: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
    4781:4781: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
    4782:4789: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:401 -> a
    4790:4795:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.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
    4790:4795: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):401 -> a
    4796:4796: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):404:404 -> a
    4797:4797: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
    4798:4798: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":5167,"2":5168,"3":5169}}
    5167:5167: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
    5168:5168: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
    5169:5169: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
    5158:5158: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
    5159:5159: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
    5159:5159: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
    5160:5164: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
    5165:5165: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
    5165:5165: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
    5166:5166: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
    5170:5170:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):408:408 -> a
    5171:5273: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
    5171:5273:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):408 -> a
    5274:5278: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
    5274:5278: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
    5274:5278:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):408 -> a
    5283:5287: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
    5283:5287: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
    5283:5287:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):408 -> a
    5292:5292: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
    5292:5292: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
    5292:5292:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):408 -> a
    5293:5303: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
    5293:5303:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):408 -> a
    5304:5307:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):411:414 -> a
    5308:5308:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):413:413 -> a
    5309:5317:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):412:420 -> a
    5318:5318:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):419:419 -> a
    5319:5329:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):418:428 -> a
    5330:5330:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):409:409 -> a
    5331:5331: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
    5331:5331:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):409 -> a
    5332:5332:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):409:409 -> a
    5333:5334: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
    5335:5345: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
    5346:5346: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
    5347:5347: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
    5348:5357: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
    5358:5471: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
    5358:5471: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
    5472:5473: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
    5472:5473: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
    5474:5485: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
    5486:5487:int getTypeFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):497:498 -> a
    5488:5488:int getPropertyGetterFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):504:504 -> a
    5489:5489:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getDefaultPropertyAccessorFlags(int):510:510 -> a
    5489:5489: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.X10:
# {"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.Y10:
# {"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.Y20:
# {"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.c20:
# {"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:7: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$visitExtensions$1 -> com.android.tools.r8.internal.Z10:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1 this$0 -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType $type -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
    1:1:java.lang.Object invoke(java.lang.Object):139:139 -> a
    2:142: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
    2:142:java.lang.Object invoke(java.lang.Object):139 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitValueParameter$1 -> com.android.tools.r8.internal.a20:
# {"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.b20:
# {"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.e20:
# {"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.d20:
# {"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.i20:
# {"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.f20:
# {"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.g20:
# {"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.h20:
# {"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.m20:
# {"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.j20:
# {"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.k20:
# {"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.l20:
# {"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.u20:
# {"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.n20:
# {"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.o20:
# {"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.p20:
# {"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.q20:
# {"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.r20:
# {"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.s20:
# {"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.t20:
# {"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.B20:
# {"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.v20:
# {"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.w20:
# {"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.x20:
# {"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.y20:
# {"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.z20:
# {"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.A20:
# {"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.H20:
# {"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:17: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.C20:
# {"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.D20:
# {"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$visitExtensions$1 -> com.android.tools.r8.internal.E20:
# {"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$writeType$1 this$0 -> c
    1:1:java.lang.Object invoke(java.lang.Object):112:112 -> a
    2:115: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
    2:115:java.lang.Object invoke(java.lang.Object):112 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitFlexibleTypeUpperBound$1 -> com.android.tools.r8.internal.F20:
# {"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.G20:
# {"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.N20:
# {"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.I20:
# {"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.J20:
# {"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
    277:277:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.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):0:0 -> a
    277:277: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):274 -> a
    277:277: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.K20:
# {"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.L20:
# {"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.M20:
# {"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.Q20:
# {"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:16:void visitEnd():48:59 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1$visitExtensions$1 -> com.android.tools.r8.internal.O20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1 this$0 -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType $type -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
    1:1:java.lang.Object invoke(java.lang.Object):43:43 -> a
    2:46: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
    2:46:java.lang.Object invoke(java.lang.Object):43 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1$visitUpperBound$1 -> com.android.tools.r8.internal.P20:
# {"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.U20:
# {"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.R20:
# {"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
    241:241:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.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):0:0 -> a
    241:241: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):238 -> a
    241:241: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.S20:
# {"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.T20:
# {"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.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$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.V20:
# {"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.W20:
# {"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.Vi:
# {"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.Zw:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmConstructorExtension -> com.android.tools.r8.internal.gx:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmExtension -> com.android.tools.r8.internal.tx:
# {"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.yx:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmPackageExtension -> com.android.tools.r8.internal.Ex:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmPropertyExtension -> com.android.tools.r8.internal.Ix:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeAliasExtension -> com.android.tools.r8.internal.Nx:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeExtension -> com.android.tools.r8.internal.Px:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeParameterExtension -> com.android.tools.r8.internal.Sx:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmValueParameterExtension -> com.android.tools.r8.internal.Yx:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions -> com.android.tools.r8.internal.ID:
# {"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.HD:
# {"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.GD:
# {"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.jN:
    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.aN:
    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.hN:
    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.bN:
    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.cN:
    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.gN:
    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.dN:
    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.eN:
    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: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():3058:3059 -> a
    85: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.fN:
    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
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type[] values():2416:2416 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2542:2542 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2541:2541 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2540:2540 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2539:2539 -> c
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2538:2538 -> c
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2537:2537 -> c
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2536:2536 -> c
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2535:2535 -> c
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2534:2534 -> c
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2533:2533 -> c
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2532:2532 -> c
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2531:2531 -> c
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2530:2530 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder -> com.android.tools.r8.internal.iN:
    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.nN:
    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.kN:
    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.lN:
    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: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():7811:7812 -> a
    200: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: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():14066:14067 -> a
    217: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: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():15398:15399 -> a
    226: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: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():17361:17362 -> a
    235: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: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():19966:19967 -> a
    244: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.mN:
    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.qN:
    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.oN:
    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.pN:
    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.tN:
    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.rN:
    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.sN:
    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: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():24721:24722 -> a
    31: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.yN:
    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.uN:
    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.vN:
    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: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():25927:25928 -> a
    55: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.wN:
    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
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType valueOf(int):24357:24357 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType valueOf(int):24356:24356 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType valueOf(int):24355:24355 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind -> com.android.tools.r8.internal.xN:
    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
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind valueOf(int):24422:24422 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind valueOf(int):24421:24421 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind valueOf(int):24420:24420 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry -> com.android.tools.r8.internal.BN:
    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>
    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.zN:
    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.AN:
    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.FN:
    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.CN:
    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.DN:
    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: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():25927:25928 -> a
    78: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: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():25927:25928 -> b
    7: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.EN:
    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
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue valueOf(int):25442:25442 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue valueOf(int):25441:25441 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue valueOf(int):25440:25440 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function -> com.android.tools.r8.internal.IN:
    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.GN:
    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.HN:
    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: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():7811:7812 -> a
    128: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: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():18807:18808 -> a
    140: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.JN:
    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.KN:
    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.NN:
    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.LN:
    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.MN:
    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: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():15398:15399 -> a
    82: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: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():17361:17362 -> a
    91: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: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():19966:19967 -> a
    100: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.QN:
    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.ON:
    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.PN:
    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: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():7811:7812 -> a
    109: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.XN:
    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.RN:
    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.VN:
    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.SN:
    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.TN:
    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.UN:
    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
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection valueOf(int):5188:5188 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection valueOf(int):5187:5187 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection valueOf(int):5186:5186 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection valueOf(int):5185:5185 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder -> com.android.tools.r8.internal.WN:
    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.aO:
    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.YN:
    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.ZN:
    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: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():7811:7812 -> a
    96: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.eO:
    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.bO:
    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.cO:
    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.dO:
    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
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance valueOf(int):7440:7440 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance valueOf(int):7439:7439 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance valueOf(int):7438:7438 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable -> com.android.tools.r8.internal.hO:
    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.fO:
    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.gO:
    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.kO:
    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.iO:
    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.jO:
    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.pO:
    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.lO:
    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.mO:
    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.nO:
    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
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level valueOf(int):21401:21401 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level valueOf(int):21400:21400 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level valueOf(int):21399:21399 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind -> com.android.tools.r8.internal.oO:
    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
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind valueOf(int):21466:21466 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind valueOf(int):21465:21465 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind valueOf(int):21464:21464 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable -> com.android.tools.r8.internal.sO:
    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.qO:
    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.rO:
    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.tO:
    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.S4:
# {"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.ok:
    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.lk:
    1:1:void <init>(int):269:269 -> <init>
    1:1:java.lang.Object get(int):266:266 -> a
    2:2: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.mk:
    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.nk:
    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.IF:
# {"id":"sourceFile","fileName":"NameResolver.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoBufUtilKt -> com.android.tools.r8.internal.uO:
# {"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.TO:
# {"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.CZ:
# {"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.T00:
# {"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.S00:
# {"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.V00:
# {"id":"sourceFile","fileName":"VersionRequirement.kt"}
    java.util.List infos -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion Companion -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable EMPTY -> 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.deserialization.VersionRequirementTable$Companion -> com.android.tools.r8.internal.U00:
# {"id":"sourceFile","fileName":"VersionRequirement.kt"}
    1:1:void <init>():14:14 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf -> com.android.tools.r8.internal.ww:
    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.iw:
    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.gw:
    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.hw:
    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.lw:
    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.jw:
    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.kw:
    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.ow:
    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.mw:
    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.nw:
    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.vw:
    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.pw:
    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.qw:
    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.uw:
    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.rw:
    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.sw:
    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.tw:
    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
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation valueOf(int):544:544 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation valueOf(int):543:543 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation valueOf(int):542:542 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding -> com.android.tools.r8.internal.a5:
    boolean FORCE_8TO7_ENCODING -> a
    boolean $assertionsDisabled -> b
    1:13:void <clinit>():15:27 -> <clinit>
    void $$$reportNull$$$0(int) -> a
    1:2:java.lang.String[] encodeBytes(byte[]):45:46 -> a
    3:33:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.encode8to7(byte[]):75:105 -> a
    3:33:java.lang.String[] encodeBytes(byte[]):48 -> a
    34:34:java.lang.String[] encodeBytes(byte[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":84,"2":85,"3":86,"4":87,"5":88}}
    84:84:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.encode8to7(byte[]):105:105 -> a
    84:84:java.lang.String[] encodeBytes(byte[]):48 -> a
    85:85:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.encode8to7(byte[]):105:105 -> a
    85:85:java.lang.String[] encodeBytes(byte[]):48 -> a
    86:86:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.encode8to7(byte[]):105:105 -> a
    86:86:java.lang.String[] encodeBytes(byte[]):48 -> a
    87:87:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.encode8to7(byte[]):105:105 -> a
    87:87:java.lang.String[] encodeBytes(byte[]):48 -> a
    88:88:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.encode8to7(byte[]):105:105 -> a
    88:88:java.lang.String[] encodeBytes(byte[]):48 -> a
    35:37:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.encode8to7(byte[]):105:107 -> a
    35:37:java.lang.String[] encodeBytes(byte[]):48 -> a
    38:38:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.addModuloByte(byte[],int):115:115 -> a
    38:38:java.lang.String[] encodeBytes(byte[]):51 -> a
    39:54:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.splitBytesToStringArray(byte[]):130:145 -> a
    39:54:java.lang.String[] encodeBytes(byte[]):52 -> a
    55:55:java.lang.String[] encodeBytes(byte[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":89,"2":90,"3":91,"4":92,"5":93}}
    89:89:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.splitBytesToStringArray(byte[]):145:145 -> a
    89:89:java.lang.String[] encodeBytes(byte[]):52 -> a
    90:90:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.splitBytesToStringArray(byte[]):145:145 -> a
    90:90:java.lang.String[] encodeBytes(byte[]):52 -> a
    91:91:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.splitBytesToStringArray(byte[]):145:145 -> a
    91:91:java.lang.String[] encodeBytes(byte[]):52 -> a
    92:92:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.splitBytesToStringArray(byte[]):145:145 -> a
    92:92:java.lang.String[] encodeBytes(byte[]):52 -> a
    93:93:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.splitBytesToStringArray(byte[]):145:145 -> a
    93:93:java.lang.String[] encodeBytes(byte[]):52 -> a
    56:82:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.splitBytesToStringArray(byte[]):145:171 -> a
    56:82:java.lang.String[] encodeBytes(byte[]):52 -> a
    83:83:java.lang.String[] encodeBytes(byte[]):0:0 -> a
    94:95:byte[] decodeBytes(java.lang.String[]):179:180 -> a
    96:97:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.dropMarker(java.lang.String[]):199:200 -> a
    96:97:byte[] decodeBytes(java.lang.String[]):182 -> a
    98:108:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.UtfEncodingKt.stringsToBytes(java.lang.String[]):59:69 -> a
    98:108:byte[] decodeBytes(java.lang.String[]):182 -> a
    109:110:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.dropMarker(java.lang.String[]):199:200 -> a
    109:110:byte[] decodeBytes(java.lang.String[]):185 -> a
    111:112:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.combineStringArrayIntoBytes(java.lang.String[]):210:211 -> a
    111:112:byte[] decodeBytes(java.lang.String[]):189 -> a
    113:113:byte[] decodeBytes(java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":141,"2":142,"3":143}}
    141:141:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.combineStringArrayIntoBytes(java.lang.String[]):211:211 -> a
    141:141:byte[] decodeBytes(java.lang.String[]):189 -> a
    142:142:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.combineStringArrayIntoBytes(java.lang.String[]):211:211 -> a
    142:142:byte[] decodeBytes(java.lang.String[]):189 -> a
    143:143:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.combineStringArrayIntoBytes(java.lang.String[]):211:211 -> a
    143:143:byte[] decodeBytes(java.lang.String[]):189 -> a
    114:122:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.combineStringArrayIntoBytes(java.lang.String[]):211:219 -> a
    114:122:byte[] decodeBytes(java.lang.String[]):189 -> a
    123:123:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.addModuloByte(byte[],int):115:115 -> a
    123:123:byte[] decodeBytes(java.lang.String[]):191 -> a
    124:140:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.decode7to8(byte[]):247:263 -> a
    124:140:byte[] decodeBytes(java.lang.String[]):192 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.ClassMapperLite -> com.android.tools.r8.internal.ja:
# {"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.Ov:
# {"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.Lv:
# {"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:boolean equals(java.lang.Object):0:0 -> equals
    3:3:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field.getName():23:23 -> equals
    3:3:boolean equals(java.lang.Object):0 -> equals
    4:4:boolean equals(java.lang.Object):0:0 -> equals
    5:6:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field.getDesc():23:23 -> equals
    5:6:boolean equals(java.lang.Object):0 -> equals
    7:7: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.Mv:
# {"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:boolean equals(java.lang.Object):0:0 -> equals
    3:3:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method.getName():19:19 -> equals
    3:3:boolean equals(java.lang.Object):0 -> equals
    4:4:boolean equals(java.lang.Object):0:0 -> equals
    5:6:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method.getDesc():19:19 -> equals
    5:6:boolean equals(java.lang.Object):0 -> equals
    7:7: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.Zv:
# {"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.bw:
# {"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.xw:
# {"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
    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
    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
    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
    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.deserialization.UtfEncodingKt -> com.android.tools.r8.internal.w00:
# {"id":"sourceFile","fileName":"utfEncoding.kt"}
    1:51:java.lang.String[] bytesToStrings(byte[]):27:77 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.serialization.JvmStringTable -> com.android.tools.r8.internal.yw:
# {"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:void serializeTo(java.io.OutputStream):96:96 -> a
    731:732: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 -> a
    731:732:void serializeTo(java.io.OutputStream):96 -> a
    733:733:void serializeTo(java.io.OutputStream):96:96 -> a
    734:734: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
    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 -> a
    734:734:void serializeTo(java.io.OutputStream):96 -> a
    735:735: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
    735:735:void serializeTo(java.io.OutputStream):96 -> a
    736:737:void serializeTo(java.io.OutputStream):96:97 -> a
    738:739: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
    738:739:void serializeTo(java.io.OutputStream):98 -> a
    740:740:void serializeTo(java.io.OutputStream):98:98 -> a
    741:741: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
    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 -> a
    741:741:void serializeTo(java.io.OutputStream):98 -> a
    742:742: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
    742:742:void serializeTo(java.io.OutputStream):98 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.Interner -> com.android.tools.r8.internal.Mt:
# {"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.Lt:
# {"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.GF:
# {"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.vX:
# {"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.b1:
    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.Y5:
    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.W5:
    byte nextByte() -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output -> com.android.tools.r8.internal.X5:
    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.Ab:
    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.Cb:
    byte[] buffer -> a
    java.io.OutputStream output -> e
    int totalBytesWritten -> d
    int limit -> b
    int position -> c
    1:1:void <init>(byte[],int,int):78:78 -> <init>
    2:28:void <init>(byte[],int,int):56:82 -> <init>
    29:29:void <init>(java.io.OutputStream,byte[]):85:85 -> <init>
    30:63:void <init>(java.io.OutputStream,byte[]):56: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:22: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:1160 -> b
    9:22:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047 -> b
    23:31:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.refreshBuffer():958:966 -> b
    23:31: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
    23:31:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047 -> b
    32:37: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
    32:37:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047 -> b
    38:43:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.writeTo(java.io.OutputStream,int,int):564:569 -> b
    38: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
    38: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.CodedOutputStream.writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,int,int):1173:1173 -> 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):565:565 -> 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.ByteString.writeTo(java.io.OutputStream,int,int):562:562 -> 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):1171 -> b
    46:46:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047 -> b
    47:47:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.writeTo(java.io.OutputStream,int,int):559:559 -> b
    47:47: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
    47:47:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047 -> b
    48:48:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.refreshBuffer():960:960 -> b
    48:48: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
    48:48:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047 -> b
    49:49:void writeRawBytes(byte[]):1052:1052 -> b
    50:63:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(byte[],int,int):1113:1126 -> b
    50:63:void writeRawBytes(byte[]):1052 -> b
    64:72:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.refreshBuffer():958:966 -> b
    64:72:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(byte[],int,int):1127 -> b
    64:72:void writeRawBytes(byte[]):1052 -> b
    73:81:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(byte[],int,int):1132:1140 -> b
    73:81:void writeRawBytes(byte[]):1052 -> b
    82:82:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.refreshBuffer():960:960 -> b
    82:82:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(byte[],int,int):1127 -> b
    82:82:void writeRawBytes(byte[]):1052 -> b
    83:83:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> b
    83:83:void writeMessage(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):255 -> b
    84:85: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
    84:85: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:13:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawByte(byte):1036:1037 -> e
    12:13:void writeRawByte(int):1042 -> e
    14:14:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> e
    14:14:void writeSInt64(int,long):341 -> e
    15:15:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeSInt64NoTag(long):517:517 -> e
    15:15: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.Bb:
    1:1:void <init>():1016:1016 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite -> com.android.tools.r8.internal.Ui:
    java.util.Map extensionsByNumber -> a
    int $r8$clinit -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite EMPTY -> 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
    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
    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.Ti:
    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.Lj:
    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
    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
    30:30:boolean isInitialized(java.util.Map$Entry):436:436 -> a
    31:31:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> a
    31:31:boolean isInitialized(java.util.Map$Entry):437 -> a
    32:46:boolean isInitialized(java.util.Map$Entry):439:453 -> a
    47:52:void mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet):481:486 -> a
    53:87: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
    88: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):575:575 -> 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):574:574 -> 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
    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: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
    93:93:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readSFixed64():580:580 -> a
    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 -> 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):573:573 -> a
    95:95: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:572 -> a
    96:96:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readSFixed32():575:575 -> a
    96:96: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
    97: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):572:586 -> a
    112:112: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
    113:113:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readUInt32():562:562 -> a
    113:113: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
    114:114: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
    115: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):570:581 -> 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):578:578 -> a
    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):568:568 -> 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):564:564 -> a
    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):563:563 -> a
    131:131:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readFixed32():358:358 -> 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):563 -> a
    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):563:563 -> 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):562:562 -> a
    134:134:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readFixed64():353:353 -> a
    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):562 -> 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):562:562 -> a
    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):561:561 -> a
    137:137:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readInt32():348:348 -> 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):561 -> 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):561:561 -> 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):560:560 -> a
    140:140:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readUInt64():338:338 -> 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):560 -> 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):560:560 -> 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):559:559 -> a
    143:143:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readInt64():343:343 -> a
    143:143: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
    144:144: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
    145:145: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
    146:146:float com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readFloat():333:333 -> a
    146:146: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
    147:147: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
    148:148: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
    149:149:double com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readDouble():328:328 -> a
    149:149: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
    150:150: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
    151: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):679:702 -> a
    175:175:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeSInt64NoTag(long):517:517 -> a
    175:175: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
    176: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):701:701 -> a
    177:177:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeSInt32NoTag(int):512:512 -> 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):701 -> a
    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):700:700 -> a
    179:179:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeSFixed64NoTag(long):507:507 -> 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):700 -> a
    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):699:699 -> a
    181:181:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeSFixed32NoTag(int):502:502 -> 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):699 -> a
    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):705:706 -> a
    184:184:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeEnumNoTag(int):497:497 -> a
    184:184: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
    185: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):708:708 -> a
    186:186:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeEnumNoTag(int):497:497 -> 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):708 -> a
    187:187: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
    188:188:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeUInt32NoTag(int):489:489 -> a
    188: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):698 -> a
    189: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):692:693 -> a
    191:192: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
    191: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):693 -> a
    193:193: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
    194:195:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeByteArrayNoTag(byte[]):461:462 -> a
    194: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):695 -> 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):690:690 -> 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):689:689 -> a
    198:198: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
    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):689 -> 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):688:688 -> a
    200:202:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeStringNoTag(java.lang.String):423:425 -> a
    200: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):688 -> 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):687:687 -> a
    204:204:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeBoolNoTag(boolean):415:415 -> 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):687 -> a
    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):686:686 -> a
    206:206:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeFixed32NoTag(int):410:410 -> 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):686 -> a
    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):685:685 -> a
    208:208:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeFixed64NoTag(long):405:405 -> 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):685 -> 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):684:684 -> 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):683:683 -> a
    211:211:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeUInt64NoTag(long):385:385 -> a
    211:211: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
    212:212: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
    213:213:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeInt64NoTag(long):390:390 -> a
    213:213: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
    214:214: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
    215:215:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeFloatNoTag(float):380:380 -> a
    215:215: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
    216:216: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
    217:217:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeDoubleNoTag(double):375:375 -> a
    217:217: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
    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):719:719 -> a
    219:219: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
    219:219: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
    220:220:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getNumber():694:694 -> a
    220:220: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
    221:221:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> a
    221:221: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
    222:222: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
    223:223:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isPacked():710:710 -> a
    223:223: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
    224:224: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:724 -> a
    225:225:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    225:225: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
    226: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):727:736 -> a
    236: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):657:658 -> a
    236: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.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    238:238: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
    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):658 -> 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:239: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
    239:239: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
    239:239: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
    239:239: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
    240:240:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    240:240: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
    240: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):658 -> a
    240: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):737 -> a
    241:241: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
    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):660 -> 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):737 -> 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):660:660 -> a
    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):737 -> a
    243:243:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> 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):660 -> 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):737 -> 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):661:661 -> 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):737 -> a
    245: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):657:658 -> a
    245: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.CodedOutputStream.writeGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):233 -> 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):658 -> a
    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.CodedOutputStream.writeGroupNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):430:430 -> a
    248:248: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
    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):658 -> 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:249:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    249:249: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
    249:249: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
    249:249: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
    250:250: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
    250:250: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
    250:250: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
    251:251: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:660 -> a
    251:251: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
    252:252:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    252:252: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
    252:252: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
    253:253: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
    253:253: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
    254:295:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):835:876 -> a
    296:296:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):858:858 -> a
    297:297:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeSInt64SizeNoTag(long):948:948 -> a
    297:297:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):858 -> a
    298:298:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):857:857 -> a
    299:299:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeSInt32SizeNoTag(int):940:940 -> a
    299:299:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):857 -> a
    300:300:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):856:856 -> a
    301:315:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):855:869 -> a
    316:316:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeEnumSizeNoTag(int):916:916 -> a
    316:316:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):869 -> a
    317:317:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):872:872 -> a
    318:318:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeEnumSizeNoTag(int):916:916 -> a
    318:318:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):872 -> a
    319:319:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):854:854 -> a
    320:320:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeUInt32SizeNoTag(int):908:908 -> a
    320:320:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):854 -> a
    321:322:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):849:850 -> a
    323:323: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
    323:323:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):850 -> a
    324:324:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):852:852 -> a
    325:325:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeByteArraySizeNoTag(byte[]):892:892 -> a
    325:325:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):852 -> a
    326:326:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):864:864 -> a
    327:327:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):847:847 -> a
    328:328: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
    328:328:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):847 -> a
    329:329:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):846:846 -> a
    330:334:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeStringSizeNoTag(java.lang.String):831:835 -> a
    330:334:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):846 -> a
    335:335:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):845:845 -> a
    336:336:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):844:844 -> a
    337:337:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):843:843 -> a
    338:338:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):842:842 -> a
    339:339:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):841:841 -> a
    340:340:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeUInt64SizeNoTag(long):777:777 -> a
    340:340:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):841 -> a
    341:341:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):840:840 -> a
    342:342:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeInt64SizeNoTag(long):785:785 -> a
    342:342:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):840 -> a
    343:343:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):839:839 -> a
    344:344: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
    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
    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
    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
    3:13:void setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):239:249 -> c
    14:14: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
    14:14:void setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):249 -> c
    15:15:void setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):249:249 -> c
    16:29:void setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):240:253 -> c
    30:30: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
    30:30:void setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):253 -> c
    31:37:void setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):253:259 -> c
    38:45: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.Kj:
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite -> com.android.tools.r8.internal.vl:
    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
    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:769: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:546 -> a
    752:769: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
    770:770: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
    770:770: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
    770:770: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
    771:772: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
    771:772: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
    773:773:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readEnum():570:570 -> a
    773:773: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
    773:773: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
    774:774: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
    774:774: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
    775:775: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
    775:775: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
    775:775: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
    776:788: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
    776:788: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
    789:789: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
    789:789: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
    789:789: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
    790:800: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
    790:800: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
    801:801: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
    801:801: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
    801:801: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
    802: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):571:608 -> a
    802: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.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> 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):608 -> 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:841: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
    841:841: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
    842:842: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
    842:842: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
    843:843:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> a
    843:843: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
    843:843: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
    844: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):575:578 -> a
    844: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:848: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
    848:848: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
    848:848: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
    849:852: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
    849:852: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
    853:853: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
    853: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):585 -> a
    853: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: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
    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:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.getNumber():830:830 -> 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):587 -> 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:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getNumber():694:694 -> a
    856:856:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.getNumber():830 -> 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):587 -> a
    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:866: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:596 -> a
    857:866: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
    867:867:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readEnum():570:570 -> a
    867:867: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
    867:867: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
    868:868: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
    868:868: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
    869:869: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
    869: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):597 -> a
    869: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:875: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
    870:875: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
    876:876:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeUInt32NoTag(int):489:489 -> a
    876:876: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
    876:876: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
    877:877: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
    877:877: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
    878:878:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> a
    878:878: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
    878:878: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
    879:882: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
    879:882: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
    883:883: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
    884:885: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.pl:
    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.ql:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet extensions -> c
    boolean extensionsIsMutable -> d
    1:3:void <init>():332:334 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet access$000(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):327:327 -> a
    2:4: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
    2:4: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
    5:7:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.ensureExtensionsIsMutable():350:352 -> a
    5:7:void mergeExtensionFields(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage):495 -> a
    8:8:void mergeExtensionFields(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage):496:496 -> 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:368 -> a
    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: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
    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 -> 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:11: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
    11:11: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
    12:14:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.ensureExtensionsIsMutable():350:352 -> a
    12: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):454 -> 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):455:455 -> 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):371:371 -> a
    16:16: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
    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:18: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
    18:18: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
    18:18: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
    19:19: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
    19:19: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
    20:22:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.ensureExtensionsIsMutable():350:352 -> a
    20: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):432 -> a
    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:433 -> a
    24:24:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.toFieldSetType(java.lang.Object):869:869 -> 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:25:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> a
    25:25:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.toFieldSetType(java.lang.Object):869 -> a
    25:25: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
    26:26:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.toFieldSetType(java.lang.Object):870:870 -> a
    26:26: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
    27:27: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
    27:27:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.toFieldSetType(java.lang.Object):870 -> a
    27:27: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
    28:38:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.toFieldSetType(java.lang.Object):870:880 -> a
    28:38: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
    39:39: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
    40:40: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
    40:40: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.sl:
    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: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
    2:2:java.lang.Object getExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):211 -> 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
    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
    9:9:java.lang.Object getExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):216 -> a
    10:10:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.fromFieldSetType(java.lang.Object):845:845 -> a
    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
    24:24: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
    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:181 -> b
    1:1:boolean hasExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):194 -> b
    2:2: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
    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 -> b
    2:2:boolean hasExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):194 -> b
    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:181 -> b
    3:3:boolean hasExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):194 -> b
    4:4:boolean hasExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):195:195 -> b
    5:5: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
    5:5: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.rl:
    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
    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
    6:6:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):290:290 -> a
    7:7:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> a
    7:7:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):290 -> a
    8:8:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getNumber():694:694 -> a
    8:8:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):293 -> a
    9:9:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):293:293 -> a
    10:10:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    10:10: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
    10:10:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):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.writeUInt32(int,int):303 -> 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):353 -> 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.writeUInt32NoTag(int):489:489 -> a
    12:12:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeUInt32(int,int):304 -> 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):353 -> a
    12:12:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):293 -> 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):354:354 -> 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.writeTag(int,int):1180:1180 -> 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):355 -> a
    14:14:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):293 -> a
    15:20: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.tl:
    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.ul:
    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
    3:4:java.lang.Object singularFromFieldSetType(java.lang.Object):860:861 -> a
    5:17: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
    5:17:java.lang.Object singularFromFieldSetType(java.lang.Object):861 -> a
    18: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[]):754:754 -> a
    18: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[]):748:748 -> a
    19:19: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
    3:4: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.At:
    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.yt:
    int getNumber() -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLiteMap -> com.android.tools.r8.internal.zt:
    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.Ut:
    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.xA:
    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.JB:
    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.IB:
    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 -> c
    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.FD:
    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.XK:
    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.gT:
    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:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):503:503 -> equals
    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:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):504:504 -> equals
    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.dT:
    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: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):609:616 -> a
    1: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.eT:
    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 -> l
    2:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$PieceIterator.getNextNonEmptyLeaf():740:744 -> l
    2:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():765 -> l
    7:7:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.isEmpty():135:135 -> l
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$PieceIterator.getNextNonEmptyLeaf():744 -> l
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():765 -> l
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():765:765 -> l
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():762:762 -> l
    1:1:java.lang.Object next():716:716 -> next
    1:1:void remove():770:770 -> remove
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$RopeByteIterator -> com.android.tools.r8.internal.fT:
    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 -> c
    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.AU:
    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.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:87 -> a
    3:5:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):296:298 -> a
    3: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:17:java.util.Map$Entry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getArrayEntryAt(int):185:185 -> a
    17:17:java.util.Map$Entry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getArrayEntryAt(int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    18:34: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:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.checkMutable():364:365 -> e
    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: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
    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
    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.DU:
    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.BU:
    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.CU:
    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.EU:
    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: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
    3:3:int compareTo(java.lang.Object):400 -> compareTo
    4:4:java.lang.Comparable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry.getKey():416:416 -> 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 -> compareTo
    4:4:int compareTo(java.lang.Object):400 -> compareTo
    5:5: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
    5:5: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.FU:
    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.GU:
    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.PZ:
    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.v00:
    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.V10:
    int makeTag(int,int) -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType -> com.android.tools.r8.internal.T10:
    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.P10:
    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.Q10:
    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.R10:
    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.S10:
    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.U10:
    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.Bv:
# {"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.Ev:
# {"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.Fv:
# {"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.Hv:
# {"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.Iv:
# {"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.Kv:
# {"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.Nv:
# {"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.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):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.dw:
# {"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.fw:
# {"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.Aw:
# {"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.Cw:
# {"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.Ky:
# {"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: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():9889:9890 -> i
    73:74:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write(int[],int):70 -> i
    73: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
    73: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.Ny:
# {"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: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():12344:12345 -> h
    124:125:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write(int[],int):121 -> h
    124: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
    124: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: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():12344:12345 -> a
    298:299:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String,int[],int):295 -> a
    298: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
    298: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.Oy:
# {"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.Av:
# {"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.Dv:
# {"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.Gv:
# {"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.Jv:
# {"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.Yv:
# {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
    1:1:void <init>():17:17 -> <init>
    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:10: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
    11:12: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
    13:14: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
    15:16: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
    17:18: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
    19:20: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
    21:22: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
    23:23: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
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeExtension createTypeExtension():311:311 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeParameterExtension createTypeParameterExtension():309:309 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeClassExtensions$1 -> com.android.tools.r8.internal.Qv:
# {"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.Pv:
# {"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.Rv:
# {"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.Sv:
# {"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.Uv:
# {"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.Tv:
# {"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.Vv:
# {"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.Wv:
# {"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.Xv:
# {"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.cw:
# {"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.ew:
# {"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.zw:
# {"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.Bw:
# {"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.Dw:
# {"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.gy:
    void get(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation) -> a
com.android.tools.r8.kotlin.KmVisitorProviders$KmContractVisitorProvider -> com.android.tools.r8.internal.hy:
com.android.tools.r8.kotlin.KmVisitorProviders$KmEffectExpressionVisitorProvider -> com.android.tools.r8.internal.iy:
com.android.tools.r8.kotlin.KmVisitorProviders$KmEffectVisitorProvider -> com.android.tools.r8.internal.jy:
    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.ky:
    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.ly:
    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.my:
com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider -> com.android.tools.r8.internal.ny:
    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.oy:
    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.py:
    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.qy:
    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.ry:
com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeVisitorProvider -> com.android.tools.r8.internal.sy:
com.android.tools.r8.kotlin.KmVisitorProviders$KmValueParameterVisitorProvider -> com.android.tools.r8.internal.ty:
    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.uy:
com.android.tools.r8.kotlin.Kotlin -> com.android.tools.r8.internal.Cy:
    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.xy:
    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.yy:
    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.zy:
    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.Ay:
    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.By:
    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.Iy:
    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.Dy:
    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.Ey:
    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.Fy:
    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.Gy:
    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.Hy:
    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.Jy:
    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.Ly:
    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():502:502 -> 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():761:761 -> 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
    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 -> j
    1:1:int[] getMetadataVersion():410:410 -> m
com.android.tools.r8.kotlin.KotlinClassLevelInfo -> com.android.tools.r8.internal.My:
    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
    java.lang.String getPackageName() -> j
    boolean isSyntheticClass() -> l
    int[] getMetadataVersion() -> m
com.android.tools.r8.kotlin.KotlinClassMetadataReader -> com.android.tools.r8.internal.Qy:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():34:34 -> <clinit>
    1:16: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:66 -> a
    17:17:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
    17:17: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
    18:18: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
    19:19: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":298,"2":299,"3":300}}
    298:298: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
    299:299: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
    300:300: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
    85:85: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
    86:86: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":304,"2":305,"3":306}}
    304:304: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
    305:305: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
    306:306: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
    158:158: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
    159:165: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
    166:166: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
    167:167:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
    167:167: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
    168:168: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
    169:169: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":307,"2":308,"3":309}}
    307:307: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
    308:308: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
    309:309: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
    225:225: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
    226:226: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":313,"2":314,"3":315}}
    313:313: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
    314:314: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
    315:315: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
    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):62:62 -> a
    289: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):57:63 -> a
    316:317:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):78:79 -> a
    318:325: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
    318:325:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):80 -> a
    326:330:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):85:89 -> a
    331:333:java.util.Map com.android.tools.r8.kotlin.KotlinClassMetadataReader.toElementMap(com.android.tools.r8.graph.DexEncodedAnnotation):117:119 -> a
    331:333:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):89 -> a
    334:338:int com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKind(com.android.tools.r8.kotlin.Kotlin,java.util.Map):147:151 -> a
    334:338:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):90 -> a
    339:344:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):91:96 -> 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:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):97 -> a
    350:350:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):96:96 -> a
    351:351:int com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKind(com.android.tools.r8.kotlin.Kotlin,java.util.Map):149:149 -> a
    351:351:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):97 -> a
    352:352:int com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKind(com.android.tools.r8.kotlin.Kotlin,java.util.Map):149:149 -> a
    352:352:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):90 -> a
    353:355:java.util.Map com.android.tools.r8.kotlin.KotlinClassMetadataReader.toElementMap(com.android.tools.r8.graph.DexEncodedAnnotation):117:119 -> a
    353:355:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):112 -> a
    356:356: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
    357:361:int com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKind(com.android.tools.r8.kotlin.Kotlin,java.util.Map):147:151 -> a
    357:361:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):126 -> a
    362:377:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):127:142 -> a
    378:381: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
    378:381: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
    378:381:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):143 -> a
    384:394: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
    384:394: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:394:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):143 -> a
    395:395: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
    395:395: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
    395:395:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):143 -> a
    396:396: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
    396:396: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
    396:396:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):143 -> a
    397: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):332:332 -> a
    397: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
    397: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):331:331 -> 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:409: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
    399:409: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
    399:409:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):143 -> a
    410:410: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
    410:410: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
    410:410:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):143 -> a
    411:411:int com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKind(com.android.tools.r8.kotlin.Kotlin,java.util.Map):149:149 -> a
    411:411:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):126 -> a
    412:429: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
    430:450: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
    451:451: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":648,"2":649,"3":650}}
    648:648: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
    649:649: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
    650:650: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
    647:647: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
    651:651:int[] getUnboxedIntArray(com.android.tools.r8.graph.DexValue,java.lang.String):201:201 -> a
    652:652:boolean com.android.tools.r8.graph.DexValue.isDexValueArray():0:0 -> a
    652:652:int[] getUnboxedIntArray(com.android.tools.r8.graph.DexValue,java.lang.String):201 -> a
    653:657:int[] getUnboxedIntArray(com.android.tools.r8.graph.DexValue,java.lang.String):204:208 -> a
    658:658: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.Py:
    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.Wy:
    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.Ry:
    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.Sy:
    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.Ty:
    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.Uy:
    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.Vy:
    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.Xy:
    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.Yy:
    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
    boolean isConstructor() -> g
    com.android.tools.r8.kotlin.KotlinConstructorInfo asConstructor() -> h
com.android.tools.r8.kotlin.KotlinContractInfo -> com.android.tools.r8.internal.Zy:
    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.bz:
    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.az:
    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.cz:
    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.dz:
    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.ez:
com.android.tools.r8.kotlin.KotlinFileFacadeInfo -> com.android.tools.r8.internal.fz:
    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 -> j
    1:1:int[] getMetadataVersion():77:77 -> m
com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo -> com.android.tools.r8.internal.gz:
    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.hz:
    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() -> i
    1:1:boolean hasCrossInlineParameter():72:72 -> n
com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo -> com.android.tools.r8.internal.iz:
    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.jz:
    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.lz:
    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.kz:
    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.mz:
    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.nz:
    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.oz:
    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
    boolean isConstructor() -> g
    com.android.tools.r8.kotlin.KotlinConstructorInfo asConstructor() -> h
    boolean isFunction() -> i
    com.android.tools.r8.kotlin.KotlinPropertyInfo asProperty() -> k
com.android.tools.r8.kotlin.KotlinMetadataDiagnostic -> com.android.tools.r8.internal.pz:
    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.rz:
    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>():30:32 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier,java.util.Set):41:44 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$100(com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension):30:30 -> a
    2:6:void done(com.android.tools.r8.shaking.Enqueuer):54:58 -> a
    7:43:void done(com.android.tools.r8.shaking.Enqueuer):55:91 -> a
    44:44:com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$KotlinMetadataDefinitionSupplier com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension.definitionsForContext(com.android.tools.r8.graph.ProgramDefinition):48:48 -> a
    44:44:void done(com.android.tools.r8.shaking.Enqueuer):93 -> a
    45:45:void done(com.android.tools.r8.shaking.Enqueuer):94:94 -> a
    46:46:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):94:94 -> a
    46:46:void done(com.android.tools.r8.shaking.Enqueuer):94 -> a
    47:79:void done(com.android.tools.r8.shaking.Enqueuer):98:130 -> 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):66:69 -> 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):69 -> 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):69 -> 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):69:81 -> 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):81 -> 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):80:85 -> a
    108:109:boolean lambda$done$0(com.android.tools.r8.graph.DexAnnotation):77:78 -> a
    110:110:void lambda$done$1(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):82:82 -> a
    111:111:void lambda$done$3(java.util.Set,com.android.tools.r8.graph.ProgramMethod):104:104 -> a
    112:113:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):113:114 -> 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):114 -> 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):114 -> a
    117:127:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):114:124 -> a
    128:128:com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$KotlinMetadataDefinitionSupplier com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension.definitionsForContext(com.android.tools.r8.graph.ProgramDefinition):48:48 -> a
    128:128:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):124 -> a
    129:129:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):124:124 -> 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):124 -> a
    132:132:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):125:125 -> a
    133:133:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):124:124 -> a
    134:134:void lambda$done$7(com.android.tools.r8.graph.DexProgramClass):132:132 -> a
    135:135:com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$KotlinMetadataDefinitionSupplier com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension.definitionsForContext(com.android.tools.r8.graph.ProgramDefinition):48:48 -> a
    135:135:void lambda$done$7(com.android.tools.r8.graph.DexProgramClass):132 -> a
    136:137:void lambda$done$7(com.android.tools.r8.graph.DexProgramClass):132:133 -> a
    138:138:void lambda$done$6(com.android.tools.r8.graph.ProgramMember):135:135 -> a
    139:139:com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$KotlinMetadataDefinitionSupplier com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension.definitionsForContext(com.android.tools.r8.graph.ProgramDefinition):48:48 -> a
    139:139:void lambda$done$6(com.android.tools.r8.graph.ProgramMember):135 -> a
    140:140:void lambda$done$6(com.android.tools.r8.graph.ProgramMember):135:135 -> a
    1:2:boolean lambda$done$4(com.android.tools.r8.graph.DexAnnotation):119:120 -> b
com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$KotlinMetadataDefinitionSupplier -> com.android.tools.r8.internal.qz:
    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):139:139 -> <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):148:151 -> <init>
    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():167:167 -> a
    1:4:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):159:162 -> c
com.android.tools.r8.kotlin.KotlinMetadataMembersTracker -> com.android.tools.r8.internal.sz:
    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.uz:
    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):391:391 -> 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.tz:
    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.zz:
    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.xz:
    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.wz:
    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.vz:
    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.yz:
    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 -> j
    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.Az:
    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:248:void lambda$kotlinMultiFileClassPartToString$2(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String):125:126 -> a
    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.Bz:
com.android.tools.r8.kotlin.KotlinMultiFileClassFacadeInfo -> com.android.tools.r8.internal.Cz:
    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 -> j
    1:1:int[] getMetadataVersion():87:87 -> m
com.android.tools.r8.kotlin.KotlinMultiFileClassPartInfo -> com.android.tools.r8.internal.Dz:
    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 -> j
    1:1:int[] getMetadataVersion():85:85 -> m
com.android.tools.r8.kotlin.KotlinPackageInfo -> com.android.tools.r8.internal.Ez:
    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():502:502 -> 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():502:502 -> 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.Fz:
    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() -> k
    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.Iz:
    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.Gz:
    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.Hz:
    1:1:void <init>(java.lang.String):36:36 -> <init>
com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Position -> com.android.tools.r8.internal.Iz$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.Iz$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.Iz$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.Jz:
    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.Kz:
    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():502:502 -> 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
    1:1:java.lang.String getPackageName():98:98 -> j
    boolean isSyntheticClass() -> 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.Lz:
    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.Mz:
    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.Nz:
    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.Oz:
    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.Pz:
    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):391:391 -> 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):391:391 -> 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.Qz:
    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.Sz:
    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.Rz:
    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:1:void access$100(com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):47:47 -> a
    2:4:void com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint.rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):78:80 -> a
    2:4:void access$100(com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):47 -> a
    5:9: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
    5:9:com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint access$000(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement):47 -> a
com.android.tools.r8.logging.Log -> com.android.tools.r8.internal.XB:
    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>():34:34 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.ClassNameMinifier$ClassNamingStrategy,java.lang.Iterable):51:51 -> <init>
    2:30:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.ClassNameMinifier$ClassNamingStrategy,java.lang.Iterable):39:67 -> <init>
    1:1:java.util.function.Predicate access$100(com.android.tools.r8.naming.ClassNameMinifier):34:34 -> a
    2:2:void access$400(com.android.tools.r8.naming.ClassNameMinifier,java.lang.String):34:34 -> a
    3:3:void setUsedTypeName(java.lang.String):72:72 -> a
    3:3:void access$400(com.android.tools.r8.naming.ClassNameMinifier,java.lang.String):34 -> a
    4:29:com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming computeRenaming(com.android.tools.r8.utils.Timing):88:113 -> a
    30:46:com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming computeRenaming(com.android.tools.r8.utils.Timing):109:125 -> a
    47:55:java.util.Map getPackageRenaming():129:137 -> a
    47:55:com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming computeRenaming(com.android.tools.r8.utils.Timing):125 -> a
    56:56:com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming computeRenaming(com.android.tools.r8.utils.Timing):125:125 -> a
    57:58:void renameDanglingTypes(com.android.tools.r8.graph.DexClass):141:142 -> a
    59:59:void renameDanglingTypesInField(com.android.tools.r8.graph.DexEncodedField):146:146 -> a
    60:63:void renameDanglingTypesInMethod(com.android.tools.r8.graph.DexEncodedMethod):150:153 -> a
    64:65:void registerClassAsUsed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):169:170 -> a
    66:66:void setUsedTypeName(java.lang.String):72:72 -> a
    66:66:void registerClassAsUsed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):170 -> a
    67:67:void registerClassAsUsed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):171:171 -> a
    68:81:com.android.tools.r8.graph.DexType getOutClassForType(com.android.tools.r8.graph.DexType):185:198 -> a
    68:81:void registerClassAsUsed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):172 -> a
    82:96:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.InnerClassAttribute.getLiveContext(com.android.tools.r8.graph.AppView):101:115 -> a
    82:96:com.android.tools.r8.graph.DexType getOutClassForType(com.android.tools.r8.graph.DexType):198 -> a
    82:96:void registerClassAsUsed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):172 -> a
    97:101:void registerClassAsUsed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):174:178 -> a
    102:102:com.android.tools.r8.graph.DexString computeName(com.android.tools.r8.graph.DexType):203:203 -> a
    103:116:com.android.tools.r8.graph.DexType getOutClassForType(com.android.tools.r8.graph.DexType):185:198 -> a
    103:116:com.android.tools.r8.graph.DexString computeName(com.android.tools.r8.graph.DexType):207 -> a
    117:131:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.InnerClassAttribute.getLiveContext(com.android.tools.r8.graph.AppView):101:115 -> a
    117:131:com.android.tools.r8.graph.DexType getOutClassForType(com.android.tools.r8.graph.DexType):198 -> a
    117:131:com.android.tools.r8.graph.DexString computeName(com.android.tools.r8.graph.DexType):207 -> a
    132:141:com.android.tools.r8.graph.DexString computeName(com.android.tools.r8.graph.DexType):209:218 -> a
    142:158:com.android.tools.r8.naming.ClassNameMinifier$Namespace getStateForOuterClass(com.android.tools.r8.graph.DexType,java.lang.String):236:252 -> a
    142:158:com.android.tools.r8.graph.DexString computeName(com.android.tools.r8.graph.DexType):220 -> a
    159:161:com.android.tools.r8.graph.DexString computeName(com.android.tools.r8.graph.DexType):224:226 -> a
    162:166:java.lang.String getParentPackagePrefix(java.lang.String):328:332 -> a
    1:1:com.android.tools.r8.naming.ClassNameMinifier$ClassNamingStrategy access$200(com.android.tools.r8.naming.ClassNameMinifier):34:34 -> b
    2:2:com.android.tools.r8.naming.ClassNameMinifier$Namespace getStateForClass(com.android.tools.r8.graph.DexType):230:230 -> 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):230 -> b
    4:4:com.android.tools.r8.naming.ClassNameMinifier$Namespace getStateForClass(com.android.tools.r8.graph.DexType):232:232 -> b
    5:5:com.android.tools.r8.naming.ClassNameMinifier$Namespace lambda$getStateForClass$2(java.lang.String):232:232 -> b
    1:1:java.util.Set access$300(com.android.tools.r8.naming.ClassNameMinifier):34:34 -> c
    2:2:boolean lambda$new$0(java.lang.String):64:64 -> c
    3:3:void lambda$computeRenaming$1(com.android.tools.r8.graph.DexType):99:99 -> c
    1:7:void renameDanglingType(com.android.tools.r8.graph.DexType):158:164 -> 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):75:75 -> <init>
    2:4:void <init>(java.util.Map,java.util.Map):80:82 -> <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>():257:257 -> <clinit>
    1:1:void <init>(com.android.tools.r8.naming.ClassNameMinifier,java.lang.String):265:265 -> <init>
    2:2:void <init>(com.android.tools.r8.naming.ClassNameMinifier,java.lang.String,java.lang.String):268:268 -> <init>
    3:15:void <init>(com.android.tools.r8.naming.ClassNameMinifier,java.lang.String,java.lang.String):261:273 -> <init>
    1:3:com.android.tools.r8.graph.DexString nextTypeName(com.android.tools.r8.graph.DexType):281:283 -> a
    4:4:int incrementNameIndex():299:299 -> a
    1:1:int getDictionaryIndex():289:289 -> b
    1:1:int incrementDictionaryIndex():294:294 -> c
    1:1:java.lang.String getPackageName():277:277 -> 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
    boolean $assertionsDisabled -> g
    java.lang.String renamedName -> b
    1:1:void <clinit>():38:38 -> <clinit>
    1:1:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.position.Position,java.util.Map,java.util.Map,java.util.Map,com.android.tools.r8.naming.ClassNamingForMapApplier$1):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>
    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
    6:16:com.android.tools.r8.naming.MemberNaming lookup(com.android.tools.r8.naming.MemberNaming$Signature):173:183 -> 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.Sg:
    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):230:232 -> 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 lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):131:131 -> a
    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:80: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:179 -> a
    81:85:void renameFieldsInClasses():184:188 -> a
    86:86:void renameFieldsInClasses():187:187 -> a
    87:95:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):190:198 -> a
    96:101:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):196:201 -> a
    102:102:com.android.tools.r8.naming.ReservedFieldNamingState getReservedFieldNamingState(com.android.tools.r8.graph.DexType):93:93 -> a
    102:102:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):201 -> a
    103:105:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):202:204 -> a
    106:106:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    106:106:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):204 -> a
    107:108:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):207:208 -> a
    109:112:void lambda$renameFieldsInUnrelatedClasspathClasses$6(com.android.tools.r8.graph.DexClasspathClass):218:221 -> a
    113:118:void renameFieldsInInterfacePartition(java.util.Set):237:242 -> a
    119:119:com.android.tools.r8.naming.ReservedFieldNamingState getReservedFieldNamingState(com.android.tools.r8.graph.DexType):93:93 -> a
    119:119:void renameFieldsInInterfacePartition(java.util.Set):242 -> a
    120:137:void renameFieldsInInterfacePartition(java.util.Set):244:261 -> a
    138:138:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    138:138:void renameFieldsInInterfacePartition(java.util.Set):261 -> a
    139:140:void lambda$renameFieldsInInterfacePartition$7(com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState):250:251 -> a
    141:143:com.android.tools.r8.graph.DexString renameField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.FieldNamingState):272:274 -> a
    141:143:void lambda$renameFieldsInClasses$4(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.graph.ProgramField):204 -> a
    144:146:com.android.tools.r8.graph.DexString renameField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.FieldNamingState):272:274 -> a
    144:146:void lambda$renameFieldsInInterfacePartition$8(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.ProgramField):263 -> a
    147:147:void lambda$renameFieldsInInterfacePartition$8(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.ProgramField):265:265 -> a
    148:148:void lambda$renameFieldsInInterfacePartition$8(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.ProgramField):264:264 -> a
    149:149: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
    149:149:void lambda$renameFieldsInInterfacePartition$8(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.ProgramField):264 -> a
    150:150:void renameNonReboundAccessesToField(com.android.tools.r8.graph.FieldAccessInfo):286:286 -> a
    151:154:void renameNonReboundAccessToField(com.android.tools.r8.graph.DexField):292:295 -> a
    155:155:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):94:94 -> a
    155:155:void renameNonReboundAccessToField(com.android.tools.r8.graph.DexField):295 -> a
    156:164:void renameNonReboundAccessToField(com.android.tools.r8.graph.DexField):295:303 -> 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():213:216 -> b
    1:1:com.android.tools.r8.naming.FieldNamingState lambda$renameFieldsInClasses$3(com.android.tools.r8.graph.DexType):197:197 -> c
    2:4:void renameNonReboundReferences():280:282 -> 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>():307:307 -> <clinit>
    1:1:void <init>(com.android.tools.r8.naming.FieldNameMinifier):313:313 -> <init>
    2:6:void <init>(com.android.tools.r8.naming.FieldNameMinifier):311:315 -> <init>
    1:1:java.util.List access$100(com.android.tools.r8.naming.FieldNameMinifier$InterfacePartitioning,java.util.Collection):307:307 -> a
    2:9:java.util.List sortedPartitions(java.util.Collection):319:326 -> a
    10:43:java.util.Set buildSortedPartition(com.android.tools.r8.graph.DexClass):333:366 -> 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
    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 incrementNameIndex():115:115 -> a
    1:1:int getDictionaryIndex():105:105 -> b
    1:1:int incrementDictionaryIndex():110:110 -> 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):397:397 -> 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):397:397 -> 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.on:
    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):1576:1576 -> 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
    248:257:int com.android.tools.r8.naming.IdentifierNameStringMarker.getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):343:352 -> a
    248:257: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
    258:258:int com.android.tools.r8.naming.IdentifierNameStringMarker.getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):351:351 -> a
    258: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:262: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
    263:263:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    263: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):222 -> a
    264:281: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
    282:282: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
    282:282: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
    282: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):244 -> a
    283:361: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
    362:368: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
    369:369: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
    369:369: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
    370: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):328:328 -> a
    371:371: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
    372:384: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
    385:385: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":771,"2":772,"3":773}}
    771:771: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
    772: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:374 -> a
    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
    759:770: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.rn:
    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):1584:1584 -> a
    103:103:boolean isClassNameValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):191 -> a
    104: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):205:211 -> a
    111:111:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1576:1576 -> 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):35:35 -> 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 -> d
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.com.google.common.base.Equivalence equivalence -> b
    com.android.tools.r8.com.google.common.base.Equivalence definitionEquivalence -> c
    boolean $assertionsDisabled -> g
    java.util.Map globalStateMap -> e
    java.util.Map interfaceStateMap -> f
    1:1:void <clinit>():97:97 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MethodNameMinifier$State):374:374 -> <init>
    2:15:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MethodNameMinifier$State):368:381 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.naming.InterfaceMethodNameMinifier):97:97 -> a
    2:4:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):410:412 -> a
    5:7:void reserveNamesInInterfaces(java.lang.Iterable):400:402 -> a
    5:7:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):413 -> a
    8:10:void com.android.tools.r8.naming.MethodNameMinifier$State.allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):112:112 -> a
    8:10:void reserveNamesInInterfaces(java.lang.Iterable):402 -> a
    8:10:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):413 -> a
    11:13:void reserveNamesInInterfaces(java.lang.Iterable):403:405 -> a
    11:13:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):413 -> a
    14:18:void patchUpChildrenInReservationStates():629:633 -> a
    14:18:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):416 -> a
    19:142:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):417:540 -> a
    143:152:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):535:544 -> a
    153:167:boolean verifyAllMethodsAreRepresentedIn(java.util.List):689:703 -> a
    153:167:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):544 -> a
    168:168:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):545:545 -> a
    169:183:boolean verifyAllCallSitesAreRepresentedIn(java.util.List):670:684 -> a
    169:183:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):545 -> a
    184:214:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):547:577 -> a
    215:219:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):708:712 -> a
    215:219:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):577 -> a
    220:220: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):713:713 -> a
    250:250:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):577 -> a
    251:251:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):713:713 -> a
    251:251:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):577 -> a
    252:252:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):713:713 -> a
    252:252:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):577 -> a
    221:224:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):713:716 -> a
    221:224:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):577 -> a
    225:231:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):584:590 -> a
    232:232:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):108:108 -> a
    232:232:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):590 -> a
    233:237:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):591:595 -> a
    238:239:void com.android.tools.r8.naming.MethodNameMinifier$State.putRenaming(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString):98:99 -> a
    238:239:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):595 -> a
    240:241:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):596:597 -> a
    242:242:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):108:108 -> a
    242:242:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):597 -> 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):598 -> 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):599 -> a
    247:249:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):602:604 -> a
    253:253:com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState lambda$assignNamesToInterfaceMethods$0(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):430:430 -> a
    254:289:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):452:487 -> a
    290:294:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):486:490 -> a
    295:307:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):489:501 -> a
    308:309:java.lang.Object com.android.tools.r8.utils.DisjointSets.findOrMakeSet(java.lang.Object):91:92 -> a
    308:309:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):501 -> a
    310:311:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):501:502 -> a
    312:313:java.lang.Object com.android.tools.r8.utils.DisjointSets.unionWithMakeSet(java.lang.Object,java.lang.Object):128:129 -> a
    312:313:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):503 -> a
    314:315:java.lang.Object com.android.tools.r8.utils.DisjointSets.findOrMakeSet(java.lang.Object):91:92 -> a
    314:315:java.lang.Object com.android.tools.r8.utils.DisjointSets.unionWithMakeSet(java.lang.Object,java.lang.Object):132 -> a
    314:315:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):503 -> a
    316:318:java.lang.Object com.android.tools.r8.utils.DisjointSets.findOrMakeSet(java.lang.Object):91:91 -> a
    316:318:java.lang.Object com.android.tools.r8.utils.DisjointSets.unionWithMakeSet(java.lang.Object,java.lang.Object):134 -> a
    316:318:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):503 -> a
    319:319:java.lang.Object com.android.tools.r8.utils.DisjointSets.findOrMakeSet(java.lang.Object):92:92 -> a
    319:319:java.lang.Object com.android.tools.r8.utils.DisjointSets.unionWithMakeSet(java.lang.Object,java.lang.Object):134 -> a
    319:319:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):503 -> a
    320:320:java.lang.Object com.android.tools.r8.utils.DisjointSets.unionWithMakeSet(java.lang.Object,java.lang.Object):134:134 -> a
    320:320:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):503 -> a
    321:324:com.android.tools.r8.graph.DexString assignNewName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):608:611 -> a
    325:325:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):108:108 -> a
    325:325:com.android.tools.r8.graph.DexString assignNewName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):611 -> a
    326:329:com.android.tools.r8.graph.DexString assignNewName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):613:616 -> a
    330:330:boolean lambda$assignNewName$3(com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexMethod):615:615 -> a
    331:331: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):625:625 -> a
    332:334:void computeReservationFrontiersForAllImplementingClasses():640:642 -> a
    335:339:void lambda$computeReservationFrontiersForAllImplementingClasses$6(com.android.tools.r8.graph.DexClass):645:649 -> a
    340:348:void lambda$computeReservationFrontiersForAllImplementingClasses$5(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,java.lang.Boolean):651:659 -> a
    349:349:com.android.tools.r8.naming.MethodReservationState com.android.tools.r8.naming.MethodNameMinifier$State.getReservationState(com.android.tools.r8.graph.DexType):104:104 -> a
    349:349:void lambda$computeReservationFrontiersForAllImplementingClasses$5(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,java.lang.Boolean):659 -> a
    350:350:void lambda$computeReservationFrontiersForAllImplementingClasses$5(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,java.lang.Boolean):660:660 -> a
    351:353:void com.android.tools.r8.naming.MethodNameMinifier$State.allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):112:112 -> a
    351:353:void lambda$computeReservationFrontiersForAllImplementingClasses$5(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,java.lang.Boolean):660 -> a
    1:1:com.android.tools.r8.naming.MethodNameMinifier$State access$100(com.android.tools.r8.naming.InterfaceMethodNameMinifier):97:97 -> b
    2:2:java.util.Comparator getDefaultInterfaceMethodOrdering():396:396 -> b
    3:3:com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState lambda$assignNamesToInterfaceMethods$1(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):491:491 -> b
    4:4:boolean lambda$newNameInGroup$4(com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexMethod):625:625 -> b
    1:1:java.util.Map access$200(com.android.tools.r8.naming.InterfaceMethodNameMinifier):97:97 -> c
    1:1:com.android.tools.r8.com.google.common.base.Equivalence access$300(com.android.tools.r8.naming.InterfaceMethodNameMinifier):97:97 -> 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):382:382 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):382:382 -> a
    2:2:boolean doEquivalent(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):385:385 -> a
    2:2:boolean doEquivalent(java.lang.Object,java.lang.Object):382 -> a
    3:3:int doHash(java.lang.Object):382:382 -> a
    4:4:int doHash(com.android.tools.r8.graph.DexEncodedMethod):390:390 -> a
    4:4:int doHash(java.lang.Object):382 -> 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):237:242 -> <init>
    1:1:java.util.Map access$400(com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):237:237 -> a
    2:2:void addState(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):245:245 -> a
    3:3:java.util.Set lambda$addState$0(com.android.tools.r8.graph.DexEncodedMethod):245:245 -> a
    4:4:void addCallSite(com.android.tools.r8.graph.DexCallSite):259:259 -> a
    5:18:com.android.tools.r8.graph.DexString getReservedName():263:276 -> a
    19:19:int lambda$getReservedName$2(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):270:270 -> a
    20:20:boolean isAvailable(com.android.tools.r8.graph.DexString):302:302 -> a
    21:23:java.lang.Object forAnyState(java.util.function.BiFunction):332:334 -> a
    21:23:boolean isAvailable(com.android.tools.r8.graph.DexString):303 -> a
    24:31:boolean isAvailable(com.android.tools.r8.graph.DexString):303:310 -> 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):305:306 -> a
    34:34:void addRenaming(com.android.tools.r8.graph.DexString,com.android.tools.r8.naming.MethodNameMinifier$State):314:314 -> 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):316:317 -> a
    37:38:void com.android.tools.r8.naming.MethodNameMinifier$State.putRenaming(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString):98:99 -> 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):317 -> a
    39:39:void forEachState(java.util.function.BiConsumer):322:322 -> a
    40:42:java.lang.Object forAnyState(java.util.function.BiFunction):332:334 -> a
    40:42:void forEachState(java.util.function.BiConsumer):322 -> 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):324:324 -> a
    44:47:boolean containsReservation(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):344:347 -> a
    1:1:java.util.List access$500(com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):237:237 -> b
    2:2:java.util.Set lambda$appendMethodGroupState$1(com.android.tools.r8.graph.DexEncodedMethod):252:252 -> b
    3:3:void reserveName(com.android.tools.r8.graph.DexString):288:288 -> 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):290:293 -> b
    8:9:void com.android.tools.r8.naming.MethodNameMinifier$State.putRenaming(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString):98:99 -> 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):293 -> 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):295:296 -> b
    12:13:void com.android.tools.r8.naming.MethodNameMinifier$State.putRenaming(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString):98:99 -> 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):296 -> b
    1:1:java.util.Set access$600(com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):237:237 -> c
    1:1:int compareTo(java.lang.Object):237:237 -> compareTo
    2:2:int compareTo(com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):358:358 -> compareTo
    2:2:int compareTo(java.lang.Object):237 -> compareTo
    1:4:void appendMethodGroupState(com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):249:252 -> 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>():99:99 -> <clinit>
    1:1:void <init>(com.android.tools.r8.naming.InterfaceMethodNameMinifier,com.android.tools.r8.graph.DexClass):108:108 -> <init>
    2:7:void <init>(com.android.tools.r8.naming.InterfaceMethodNameMinifier,com.android.tools.r8.graph.DexClass):104:109 -> <init>
    1:2:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod):115:116 -> 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):121:121 -> a
    3:3:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod):116 -> a
    4:4:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod):123:123 -> a
    5:13:java.lang.Object forAny(java.util.function.Function):187:195 -> a
    5:13:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod):124 -> a
    14:28:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod):124:138 -> a
    29:32:java.lang.Boolean lambda$getReservedName$0(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):126:129 -> a
    33:33:com.android.tools.r8.naming.MethodReservationState com.android.tools.r8.naming.MethodNameMinifier$State.getReservationState(com.android.tools.r8.graph.DexType):104:104 -> a
    33:33:java.lang.Boolean lambda$getReservedName$0(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):129 -> a
    34:37:java.lang.Boolean lambda$getReservedName$0(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):130:133 -> a
    38:38:void addReservationType(com.android.tools.r8.graph.DexType):142:142 -> a
    39:39:void addRenaming(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):172:172 -> a
    40:40:void lambda$addRenaming$5(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):174:174 -> a
    41:41:void lambda$addRenaming$4(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):175:175 -> a
    42:42:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):108:108 -> 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):175 -> a
    43:44:void com.android.tools.r8.naming.MethodNamingState.addRenaming(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):78:79 -> a
    43:44:void lambda$addRenaming$4(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):175 -> a
    45:45:void forAll(java.util.function.Consumer):179:179 -> a
    46:54:java.lang.Object forAny(java.util.function.Function):187:195 -> a
    46:54:void forAll(java.util.function.Consumer):179 -> a
    55:55:java.lang.Object lambda$forAll$6(java.util.function.Consumer,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):181:181 -> a
    56:63:java.lang.Object forChildren(java.util.function.Function):216:223 -> 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):150:150 -> b
    2:2:com.android.tools.r8.naming.MethodReservationState com.android.tools.r8.naming.MethodNameMinifier$State.getReservationState(com.android.tools.r8.graph.DexType):104:104 -> 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):150 -> 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:151 -> b
    4:7:void com.android.tools.r8.naming.MethodReservationState.reserveName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):42:45 -> b
    4:7:void lambda$reserveName$1(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):151 -> b
    8:8:boolean isAvailable(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):157:157 -> b
    9:17:java.lang.Object forAny(java.util.function.Function):187:195 -> b
    9:17:boolean isAvailable(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):158 -> b
    18:28:boolean isAvailable(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):158:168 -> b
    29:30: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):160:161 -> b
    31:31:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):108:108 -> b
    31: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 -> b
    32: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:163 -> b
    34:41:java.lang.Object forParents(java.util.function.Function):199:206 -> b
    42:42:boolean containsReservation(com.android.tools.r8.graph.DexType):233:233 -> b
    1:1:void reserveName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):146:146 -> 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):148:148 -> c
com.android.tools.r8.naming.InternalNamingState -> com.android.tools.r8.naming.w:
    int incrementNameIndex() -> a
    int getDictionaryIndex() -> b
    int incrementDictionaryIndex() -> c
com.android.tools.r8.naming.MapVersion -> com.android.tools.r8.internal.RC:
    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:3:com.android.tools.r8.naming.MapVersion fromName(java.lang.String):28:29 -> a
    4:4:java.lang.String com.android.tools.r8.naming.MapVersion.getName():24:24 -> a
    4:4:com.android.tools.r8.naming.MapVersion fromName(java.lang.String):29 -> a
    5:5:com.android.tools.r8.naming.MapVersion fromName(java.lang.String):29:29 -> a
    6:6: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>():91:91 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MemberNamingStrategy):143:143 -> <init>
    2:24:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MemberNamingStrategy):128:150 -> <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):91:91 -> a
    2:2:com.android.tools.r8.naming.MethodNamingState access$200(com.android.tools.r8.naming.MethodNameMinifier,com.android.tools.r8.graph.DexType):91:91 -> 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):91:91 -> a
    4:26:com.android.tools.r8.naming.MethodNameMinifier$MethodRenaming computeRenaming(java.lang.Iterable,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):188:210 -> a
    27:30:void assignNamesToClassesMethods():214:217 -> a
    31:31:void assignNamesToClassesMethods():216:216 -> a
    32:35:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):219:222 -> a
    36:36:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":286,"2":287,"3":288}}
    286:286:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):222:222 -> a
    287:287:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):222:222 -> a
    288:288:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):222:222 -> a
    259:269:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):223:233 -> a
    270:283:void assignNameToMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.MethodNamingState):258:271 -> a
    270:283:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):234 -> a
    284:285:void com.android.tools.r8.naming.MethodNamingState.addRenaming(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):78:79 -> a
    284:285:void assignNameToMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.MethodNamingState):271 -> a
    284:285:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):234 -> a
    289:290: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):229:230 -> a
    291:294:void lambda$renameMethodsInUnrelatedClasspathClasses$5(com.android.tools.r8.graph.DexClasspathClass):246:249 -> a
    295:299:void allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodReservationState):302:306 -> a
    300:300:java.lang.Iterable shuffleMethods(java.lang.Iterable,com.android.tools.r8.utils.InternalOptions):416:416 -> a
    300:300:void allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodReservationState):306 -> a
    301:304:void allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodReservationState):306:309 -> a
    305:308:void com.android.tools.r8.naming.MethodReservationState.reserveName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):42:45 -> a
    305:308:void allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodReservationState):309 -> a
    309:309:com.android.tools.r8.naming.MethodReservationState lambda$allocateReservationStateAndReserve$7(com.android.tools.r8.naming.MethodReservationState,com.android.tools.r8.graph.DexType):303:303 -> a
    310:320:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):316:326 -> a
    321:334:com.android.tools.r8.naming.MethodReservationState findReservationStateInHierarchy(com.android.tools.r8.graph.DexType):340:353 -> a
    321:334:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):331 -> a
    335:335:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":673,"2":674,"3":675}}
    673:673:com.android.tools.r8.naming.MethodReservationState findReservationStateInHierarchy(com.android.tools.r8.graph.DexType):353:353 -> a
    673:673:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):331 -> a
    674:674:com.android.tools.r8.naming.MethodReservationState findReservationStateInHierarchy(com.android.tools.r8.graph.DexType):353:353 -> a
    674:674:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):331 -> a
    675:675:com.android.tools.r8.naming.MethodReservationState findReservationStateInHierarchy(com.android.tools.r8.graph.DexType):353:353 -> a
    675:675:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):331 -> a
    336:336:com.android.tools.r8.naming.MethodReservationState findReservationStateInHierarchy(com.android.tools.r8.graph.DexType):354:354 -> a
    336:336:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):331 -> a
    337:337:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):332:332 -> a
    338:338:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":676,"2":677,"3":678}}
    676:676:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):332:332 -> a
    677:677:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):332:332 -> a
    678:678:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):332:332 -> a
    670:672:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):332:334 -> a
    679:686:void renameNonReboundReferences(java.util.concurrent.ExecutorService):360:367 -> a
    687:687:void lambda$renameNonReboundReferences$8(java.util.Map,com.android.tools.r8.graph.DexMethod):365:365 -> a
    688:723:void renameNonReboundMethodReference(com.android.tools.r8.graph.DexMethod,java.util.Map):372:407 -> a
    724:724:boolean lambda$renameNonReboundMethodReference$9(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):404:404 -> a
    1:1:com.android.tools.r8.com.google.common.collect.BiMap access$100(com.android.tools.r8.naming.MethodNameMinifier):91:91 -> b
    2:2:java.lang.Object lambda$getReservationKeyTransform$0(com.android.tools.r8.graph.DexMethod):157:157 -> b
    3:3:java.util.function.Function getNamingKeyTransform():165:165 -> b
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> b
    4:4:java.util.function.Function getNamingKeyTransform():165 -> b
    5:6:java.util.function.Function getNamingKeyTransform():166:167 -> b
    7:19:void lambda$reserveNamesInClasses$6(com.android.tools.r8.graph.DexClass):284:296 -> b
    20:20:void lambda$reserveNamesInClasses$6(com.android.tools.r8.graph.DexClass):293:293 -> b
    1:1:com.android.tools.r8.naming.MethodReservationState access$300(com.android.tools.r8.naming.MethodNameMinifier):91:91 -> c
    2:3:java.util.function.Function getReservationKeyTransform():154:155 -> c
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> c
    4:4:java.util.function.Function getReservationKeyTransform():155 -> c
    5:8:java.util.function.Function getReservationKeyTransform():157:160 -> c
    9:9:java.lang.Object lambda$getReservationKeyTransform$1(com.android.tools.r8.graph.DexMethod):160:160 -> c
    1:1:java.util.Map access$500(com.android.tools.r8.naming.MethodNameMinifier):91:91 -> d
    2:5:void renameMethodsInUnrelatedClasspathClasses():241:244 -> d
    1:1:com.android.tools.r8.naming.MemberNamingStrategy access$600(com.android.tools.r8.naming.MethodNameMinifier):91:91 -> e
    2:5:void reserveNamesInClasses():276:276 -> e
    9:11:void reserveNamesInClasses():280:282 -> e
    12:12:void reserveNamesInClasses():281:281 -> 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):170:170 -> <init>
    2:3:void <init>(java.util.Map):174:175 -> <init>
    1:1:com.android.tools.r8.naming.MethodNameMinifier$MethodRenaming empty():179:179 -> 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):95:95 -> <init>
    1:1:com.android.tools.r8.graph.DexType getFrontier(com.android.tools.r8.graph.DexType):117:117 -> 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:java.util.Set getUsedBy(com.android.tools.r8.graph.DexString):163:163 -> a
    2:2:com.android.tools.r8.graph.DexString getAssignedName(com.android.tools.r8.graph.DexMethod):167:167 -> a
    3:5:void addRenaming(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexMethod):171:173 -> a
    6:6:int incrementNameIndex():189:189 -> a
    7:12:boolean checkParentPublicNameCountIsLessThanOrEqual():178:183 -> a
    7:12:int incrementNameIndex():189 -> a
    13:13:int incrementNameIndex():190:190 -> a
    1:1:int getDictionaryIndex():154:154 -> b
    2:2:java.util.Set lambda$addRenaming$0(com.android.tools.r8.graph.DexString):173:173 -> b
    1:1:int incrementDictionaryIndex():159:159 -> 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():1635:1635 -> 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:44:java.util.List computeReachableInterfacesWithDeterministicOrder():93:94 -> a
    45:45:void com.android.tools.r8.shaking.AppInfoWithLiveness.forEachReachableInterface(java.util.function.Consumer):843:843 -> a
    45:45:java.util.List computeReachableInterfacesWithDeterministicOrder():94 -> a
    46:46:java.util.List computeReachableInterfacesWithDeterministicOrder():95:95 -> 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>():98:98 -> <clinit>
    1:6:void <init>(java.util.List,boolean):106:111 -> <init>
    1:15:java.lang.String nextName(char[],com.android.tools.r8.naming.InternalNamingState):116:130 -> 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):142:143 -> <init>
    3:7:void <init>(com.android.tools.r8.graph.AppView):141:145 -> <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):154:154 -> 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":182,"2":183,"3":184}}
    182:182:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):154:154 -> a
    183:183:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):154:154 -> a
    184:184:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):154:154 -> a
    157:173:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):155:171 -> a
    174:178:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):156:160 -> a
    179:179:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    179:179:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):160 -> a
    180:180:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    180:180:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    180: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):160 -> a
    181:181:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):160:160 -> a
    1:2:com.android.tools.r8.graph.DexString reservedDescriptor(com.android.tools.r8.graph.DexType):176:177 -> 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):214:215 -> <init>
    3:3:void <init>(com.android.tools.r8.graph.AppView):213:213 -> <init>
    4:4:void <init>(com.android.tools.r8.graph.AppView):190:190 -> <init>
    1:2:java.lang.String next(java.lang.String,java.util.function.Predicate):225:226 -> 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):191:194 -> <init>
    1:1:int incrementNameIndex():208:208 -> a
    1:1:int getDictionaryIndex():198:198 -> b
    1:1:int incrementDictionaryIndex():203:203 -> 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>():231:231 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView):239:242 -> <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):250:250 -> a
    2:3:boolean checkAllowMemberRenaming(com.android.tools.r8.graph.DexType):308:309 -> 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):250 -> a
    4:4:com.android.tools.r8.graph.DexString getNextName(com.android.tools.r8.naming.InternalNamingState):272:272 -> 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):253 -> 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):254:254 -> 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):263:263 -> a
    7:8:boolean checkAllowMemberRenaming(com.android.tools.r8.graph.DexType):308:309 -> 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):263 -> a
    9:9:com.android.tools.r8.graph.DexString getNextName(com.android.tools.r8.naming.InternalNamingState):272:272 -> 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):266 -> 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):267:267 -> a
    11:20:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):277:286 -> a
    21:24:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):285:288 -> a
    25:25:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):281:281 -> a
    26:26:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexClass):295:295 -> 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):295 -> a
    28:30:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexClass):295:297 -> a
    31:31:boolean allowMemberRenaming(com.android.tools.r8.graph.DexClass):304:304 -> 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:11:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexString.toArrayDescriptor(int,com.android.tools.r8.graph.DexItemFactory):536:539 -> c
    8:11:com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType):201 -> c
    12:13:com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType):203:204 -> c
    14:14: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>():74:74 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):88:88 -> <init>
    2:15:void <init>(com.android.tools.r8.graph.AppView):79:92 -> <init>
    1:2:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):96:97 -> a
    3:3:com.android.tools.r8.graph.SubtypingInfo com.android.tools.r8.shaking.AppInfoWithLiveness.computeSubtypingInfo():1635:1635 -> a
    3:3:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):97 -> a
    4:18:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):99:113 -> a
    19:33:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):105:119 -> a
    34:34:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateExtendsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):193:193 -> a
    34:34:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):119 -> a
    35:38:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):127:130 -> a
    39:48:void computeDefaultInterfaceMethodMethods():331:340 -> a
    39:48:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):131 -> a
    49:49:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    49:49:void computeDefaultInterfaceMethodMethods():341 -> a
    49:49:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):131 -> a
    50:50:void computeDefaultInterfaceMethodMethods():342:342 -> a
    50:50:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):131 -> a
    51:51:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map):356:356 -> a
    51:51:void computeDefaultInterfaceMethodMethods():342 -> a
    51:51:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):131 -> a
    52:52:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isCompanionClassType(com.android.tools.r8.graph.DexType):167:167 -> a
    52:52:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map):356 -> a
    52:52:void computeDefaultInterfaceMethodMethods():342 -> a
    52:52:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):131 -> a
    53:53:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map):359:359 -> a
    53:53:void computeDefaultInterfaceMethodMethods():342 -> a
    53:53:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):131 -> a
    54:54:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    54:54:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map):360 -> a
    54:54:void computeDefaultInterfaceMethodMethods():342 -> a
    54:54:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):131 -> a
    55:66:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map):363:374 -> a
    55:66:void computeDefaultInterfaceMethodMethods():342 -> a
    55:66:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):131 -> a
    67:71:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map):373:377 -> a
    67:71:void computeDefaultInterfaceMethodMethods():342 -> a
    67:71:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):131 -> a
    72:72:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map):376:376 -> a
    72:72:void computeDefaultInterfaceMethodMethods():342 -> a
    72:72:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):131 -> a
    73:82:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):132:141 -> a
    83:83:java.util.List com.android.tools.r8.graph.DexApplication.classesWithDeterministicOrder(java.util.Collection):121:121 -> a
    83:83:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142 -> a
    84:114:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142:172 -> a
    115:118:void lambda$run$0(java.util.Set,java.util.ArrayDeque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.graph.DexClass):107:110 -> a
    119:121:void lambda$run$1(java.util.ArrayDeque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.graph.DexType):122:124 -> a
    122:135:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):182:195 -> a
    136:143:void checkAndAddMappedNames(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,com.android.tools.r8.position.Position):317:324 -> a
    136:143:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):195 -> a
    144:144:void checkAndAddMappedNames(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,com.android.tools.r8.position.Position):323:323 -> a
    144:144:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):195 -> a
    145:149:void checkAndAddMappedNames(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,com.android.tools.r8.position.Position):322:326 -> a
    145:149:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):195 -> a
    150:158:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):196:204 -> a
    159:174:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):201:216 -> a
    175:184:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):215:224 -> a
    185:198:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):219:232 -> a
    199:224:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):231:256 -> a
    225:225:void lambda$computeMapping$3(java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.graph.DexType):253:253 -> a
    226:234:void addNonPrivateInterfaceMappings(com.android.tools.r8.graph.DexType,java.util.Map,com.android.tools.r8.graph.DexType[]):264:272 -> a
    235:235:void lambda$addNonPrivateInterfaceMappings$5(com.android.tools.r8.graph.DexType,java.util.Map,com.android.tools.r8.naming.MemberNaming):268:268 -> a
    236:241:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):282:287 -> a
    242:244:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):286:288 -> a
    245:245:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):94:94 -> a
    245:245:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):288 -> a
    246:253:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):289:296 -> a
    254:256:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):295:297 -> a
    257:257:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):94:94 -> a
    257:257:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):297 -> a
    258:260:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):298:300 -> a
    261:263:void addMemberNaming(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.MemberNaming,java.util.Map):307:307 -> a
    265:268:void addMemberNaming(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.MemberNaming,java.util.Map):309:312 -> a
    1:1:void lambda$computeMapping$2(com.android.tools.r8.graph.DexType,java.util.Map,com.android.tools.r8.naming.MemberNaming):197:197 -> b
    2:2:void lambda$computeMapping$4(java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.graph.DexType):258:258 -> 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>():382:382 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Set):391:393 -> <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):399:401 -> a
    4:7:boolean lambda$next$0(java.util.function.Predicate,java.lang.String):406:409 -> a
    8:8:boolean isRenamedByApplyMapping(com.android.tools.r8.graph.DexType):437:437 -> a
    1:15:com.android.tools.r8.graph.DexString reservedDescriptor(com.android.tools.r8.graph.DexType):418:432 -> 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>():441:441 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,java.util.Map):449:452 -> <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):460:461 -> a
    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):94:94 -> 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):461 -> 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):462:466 -> a
    9:15:void reportReservationError(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexString):539:545 -> 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):467 -> a
    16:16:void reportReservationError(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexString):542:542 -> 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):467 -> 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):471:476 -> a
    23:23:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> 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):476 -> 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):476:476 -> 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):485:489 -> a
    30:36:void reportReservationError(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexString):539:545 -> 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):490 -> a
    37:37:void reportReservationError(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexString):542:542 -> 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):490 -> 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):494:496 -> a
    41:41:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):501:501 -> a
    42:42:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexClass):506:506 -> 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):510:510 -> 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):510 -> 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):510:528 -> 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):562:565 -> <init>
    1:2:void lambda$new$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):567:568 -> a
    3:13:void checkForUseOfNotMappedReference(com.android.tools.r8.graph.DexType):580:590 -> a
    3:13:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):575 -> a
    14:14:void checkForUseOfNotMappedReference(com.android.tools.r8.graph.DexType):589:589 -> a
    14:14:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):575 -> a
    15:19:void checkForUseOfNotMappedReference(com.android.tools.r8.graph.DexType):588:592 -> a
    15:19:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):575 -> a
    20:20:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):576:576 -> 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.SM:
    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:9:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.utils.InternalOptions):64:72 -> <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):77:77 -> a
    3:5:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId com.android.tools.r8.naming.ProguardMapSupplier.computeProguardMapId():89:91 -> a
    3:5:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    6:6:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":44,"2":45,"3":46}}
    44:44:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):99:99 -> a
    44:44:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
    45:45:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):99:99 -> a
    45:45:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
    46:46:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):100:100 -> a
    46:46:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
    7:7:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):111:111 -> a
    7:7:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
    8:8:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
    58:58:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):112:112 -> a
    58:58:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
    59:59:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):112:112 -> a
    59:59:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
    60:60:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):112:112 -> a
    60:60:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
    9:11:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):112:114 -> a
    9:11:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
    12:12:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":63,"2":64,"3":65}}
    63:63:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):115:115 -> a
    63:63:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
    64:64:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):115:115 -> a
    64:64:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
    65:65:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):115:115 -> a
    65:65:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
    13:15:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):115:115 -> a
    13:15:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
    19:21:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):119:121 -> a
    19:21:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
    22:24:com.android.tools.r8.naming.MapVersion com.android.tools.r8.utils.InternalOptions.getMapFileVersion():1781:1783 -> a
    22:24:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):121 -> a
    22:24:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
    25:29:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):122:126 -> a
    25:29:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
    30:30:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":78,"2":79,"3":80}}
    78:78:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):128:128 -> a
    78:78:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
    79:79:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):128:128 -> a
    79:79:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
    80:80:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):128:128 -> a
    80:80:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
    31:41:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):128:138 -> a
    31:41:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
    42:42:void com.android.tools.r8.naming.ProguardMapSupplier.writeBody():95:95 -> a
    42:42:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():83 -> a
    43:43:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():84:84 -> 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.SM$a:
    java.lang.StringBuilder contents -> b
    com.android.tools.r8.StringConsumer inner -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():182:182 -> <clinit>
    1:1:void <init>(com.android.tools.r8.StringConsumer):187:187 -> <init>
    2:9:void <init>(com.android.tools.r8.StringConsumer):185:192 -> <init>
    10:10:void <init>(com.android.tools.r8.StringConsumer):190:190 -> <init>
    1:29:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker$VerifyMappingFileHashResult validateProguardMapHash(java.lang.String):258:286 -> a
    1:2:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):197:198 -> accept
    1:3:void finished(com.android.tools.r8.DiagnosticsHandler):203:205 -> finished
    4:6:boolean com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker.validateProguardMapParses(java.lang.String):211:213 -> finished
    4:6:void finished(com.android.tools.r8.DiagnosticsHandler):205 -> finished
    7:8:void finished(com.android.tools.r8.DiagnosticsHandler):205:206 -> finished
com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker$VerifyMappingFileHashResult -> com.android.tools.r8.internal.SM$a$a:
    boolean error -> a
    java.lang.String message -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():219:219 -> <clinit>
    1:3:void <init>(boolean,java.lang.String):235:237 -> <init>
    1:1:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker$VerifyMappingFileHashResult createOk():224:224 -> a
    2:2:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker$VerifyMappingFileHashResult createError(java.lang.String):232:232 -> a
    1:1:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker$VerifyMappingFileHashResult createInfo(java.lang.String):228:228 -> b
    2:3:java.lang.String getMessage():249:250 -> b
    1:1:boolean isError():245:245 -> c
    1:1:boolean isOk():241:241 -> d
com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId -> com.android.tools.r8.internal.TM:
    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.VM:
    com.android.tools.r8.com.google.common.hash.Hasher hasher -> a
    1:3:void <init>():141:143 -> <init>
    1:1:java.lang.String lambda$getProviderOrDefault$0(com.android.tools.r8.MapIdEnvironment):148:148 -> a
    2:2:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapIdBuilder com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapIdBuilder.accept(java.lang.String):162:162 -> a
    2:2:com.android.tools.r8.utils.ChainableStringConsumer accept(java.lang.String):141 -> a
    3:4:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId build(com.android.tools.r8.MapIdProvider):167:168 -> a
    5:5:com.android.tools.r8.MapIdEnvironment com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapIdBuilder.getEnvironment(java.lang.String):152:152 -> a
    5:5:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId build(com.android.tools.r8.MapIdProvider):168 -> a
    6:7:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId build(com.android.tools.r8.MapIdProvider):168:169 -> a
    1:1:com.android.tools.r8.MapIdProvider getProviderOrDefault(com.android.tools.r8.MapIdProvider):148:148 -> b
com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapIdBuilder$1 -> com.android.tools.r8.internal.UM:
    java.lang.String val$hash -> a
    1:1:void <init>(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapIdBuilder,java.lang.String):152:152 -> <init>
    1:1:java.lang.String getMapHash():155:155 -> getMapHash
com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapWriter -> com.android.tools.r8.internal.WM:
    com.android.tools.r8.naming.ProguardMapSupplier this$0 -> a
    1:1:void <init>(com.android.tools.r8.naming.ProguardMapSupplier):173:173 -> <init>
    1:1:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapWriter com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapWriter.accept(java.lang.String):177:177 -> a
    1:1:com.android.tools.r8.utils.ChainableStringConsumer accept(java.lang.String):173 -> a
com.android.tools.r8.naming.Range -> com.android.tools.r8.internal.ZO:
    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.NU:
    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.MU:
    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.pa:
    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.oa:
    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.wj:
    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.HF:
    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.yP:
    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: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):122:128 -> a
    17:17:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):332:332 -> a
    17:17: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
    18: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):128:133 -> a
    24:24: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
    24:24: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
    25:25: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.wP:
    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: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):84:86 -> a
    5:5:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):332:332 -> 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):86 -> a
    6:6: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
    7:7: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
    8:12: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
    8:12: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
    13:16: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.xP:
    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.G9:
    1:1:void <init>(com.android.tools.r8.graph.DexType):14:14 -> <init>
    1:1:boolean isTypeCompatInstantiatedFromUse(com.android.tools.r8.utils.InternalOptions):24:24 -> a
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():628:628 -> a
    2:2:boolean isTypeCompatInstantiatedFromUse(com.android.tools.r8.utils.InternalOptions):24 -> a
    boolean isTypeInitializedFromUse() -> d
com.android.tools.r8.naming.identifiernamestring.ClassNameComparisonIdentifierNameStringLookupResult -> com.android.tools.r8.internal.na:
    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.Hg:
    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.Mg:
    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.nn:
    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.pn:
    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.qn:
    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.NZ:
    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.sc:
    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.rc:
    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.qK:
    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.sK:
    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.ZS:
    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.US:
    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.VS:
    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.WS:
    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.XS:
    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.YS:
    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.XZ:
    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.Al:
    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
    void start() -> b
com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition -> com.android.tools.r8.internal.Al$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.Cl:
    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.Dl:
    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():659:659 -> a
    12:12:void run(java.lang.Iterable,java.util.concurrent.ExecutorService):55 -> a
    13:22:void run(java.lang.Iterable,java.util.concurrent.ExecutorService):55:64 -> a
    23:23:void run(java.lang.Iterable,java.util.concurrent.ExecutorService):61:61 -> a
    24:24:boolean lambda$run$0(java.util.function.Predicate,com.android.tools.r8.graph.DexType):57:57 -> a
    25:25:boolean lambda$run$1(java.util.function.Predicate,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):60:60 -> a
    26:26:boolean lambda$run$2(java.util.function.Predicate,com.android.tools.r8.graph.DexProgramClass):64:64 -> a
    27:31: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
    32:32: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
    33:45: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
    46:49:com.android.tools.r8.graph.GenericSignature$ClassSignature com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier.visitClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):70:73 -> a
    46:49:void lambda$run$5(java.util.function.Predicate,java.util.function.BiPredicate,java.util.function.Predicate,com.android.tools.r8.graph.DexProgramClass):80 -> a
    50:50: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
    51:51: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
    52:65: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
    66:66: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
    67:69: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
    70:70: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
    71:71: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
    72:72: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
    73:76: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
    77:77: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
    78:78: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.y9:
    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:2: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
    3:7:com.android.tools.r8.graph.GraphLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):82:86 -> a
    8:8:void com.android.tools.r8.shaking.AppInfoWithLiveness.forEachReachableInterface(java.util.function.Consumer):843:843 -> a
    8:8:com.android.tools.r8.graph.GraphLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):86 -> a
    9:12:com.android.tools.r8.graph.GraphLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):87:90 -> a
    13:13:void lambda$run$0(com.android.tools.r8.graph.DexClass):86:86 -> a
    14:18:void publicizeType(com.android.tools.r8.graph.DexType):98:102 -> a
    19:19:void publicizeClass(com.android.tools.r8.graph.DexProgramClass):106:106 -> a
    20:20:com.android.tools.r8.graph.AccessFlags com.android.tools.r8.graph.DexClass.getAccessFlags():43:43 -> a
    20:20:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94 -> a
    20:20:void publicizeClass(com.android.tools.r8.graph.DexProgramClass):107 -> a
    21:21:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94:94 -> a
    21:21:void publicizeClass(com.android.tools.r8.graph.DexProgramClass):107 -> a
    22:22:void publicizeClass(com.android.tools.r8.graph.DexProgramClass):111:111 -> a
    23:23:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    23:23:void publicizeClass(com.android.tools.r8.graph.DexProgramClass):111 -> a
    24:41:void publicizeClass(com.android.tools.r8.graph.DexProgramClass):114:131 -> a
    42:50:void com.android.tools.r8.graph.DexClass.replaceInnerClassAttributeForThisClass(com.android.tools.r8.graph.InnerClassAttribute):1060:1068 -> a
    42:50:void publicizeClass(com.android.tools.r8.graph.DexProgramClass):129 -> a
    51:52:void lambda$publicizeClass$1(java.util.Set,com.android.tools.r8.graph.ProgramMethod):117:118 -> a
    53:54:void publicizeField(com.android.tools.r8.graph.ProgramField):136:137 -> a
    55:55:boolean com.android.tools.r8.graph.DexEncodedField.isPublic():225:225 -> a
    55:55:void publicizeField(com.android.tools.r8.graph.ProgramField):137 -> a
    56:59:void publicizeField(com.android.tools.r8.graph.ProgramField):140:143 -> a
    60:60:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94:94 -> a
    60:60:void publicizeField(com.android.tools.r8.graph.ProgramField):147 -> a
    61:89:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):151:179 -> a
    90:90:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):176:176 -> a
    91:91:com.android.tools.r8.graph.AccessFlags com.android.tools.r8.graph.DexClassAndMethod.getAccessFlags():11:11 -> a
    91:91:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94 -> a
    91:91:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):184 -> a
    92:92:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94:94 -> a
    92:92:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):184 -> a
    93:95:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):188:190 -> a
    96:96:com.android.tools.r8.graph.AccessFlags com.android.tools.r8.graph.DexClassAndMethod.getAccessFlags():11:11 -> a
    96:96:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94 -> a
    96:96:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):195 -> a
    97:97:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94:94 -> a
    97:97:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):195 -> a
    98:112:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):202:216 -> a
    113:113:com.android.tools.r8.graph.AccessFlags com.android.tools.r8.graph.DexClassAndMethod.getAccessFlags():11:11 -> a
    113:113:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94 -> a
    113:113:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):217 -> a
    114:114:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94:94 -> a
    114:114:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):217 -> a
    115:115:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):219:219 -> a
    116:116:com.android.tools.r8.graph.AccessFlags com.android.tools.r8.graph.DexClassAndMethod.getAccessFlags():11:11 -> a
    116:116:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94 -> a
    116:116:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):166 -> a
    117:117:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94:94 -> a
    117:117:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):166 -> a
    118:118:java.lang.Boolean lambda$publicizeMethod$2(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClass,java.lang.Boolean):181:181 -> a
    119:119:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexClassAndMember.getContextType():36:36 -> a
    119:119:java.lang.Boolean lambda$publicizeMethod$2(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClass,java.lang.Boolean):181 -> a
    120:120:java.lang.Boolean lambda$publicizeMethod$2(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClass,java.lang.Boolean):181:181 -> a
com.android.tools.r8.optimize.FieldRebindingIdentityLens -> com.android.tools.r8.internal.Hj:
    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):332:332 -> a
    4:4:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):78 -> a
    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.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):106:108 -> 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():113:113 -> g
com.android.tools.r8.optimize.FieldRebindingIdentityLens$Builder -> com.android.tools.r8.internal.Gj:
    java.util.Map nonReboundFieldReferenceToDefinitionMap -> a
    1:1:void <init>(com.android.tools.r8.optimize.FieldRebindingIdentityLens$1):116:116 -> <init>
    2:2:void <init>():121:121 -> <init>
    3:3:void <init>():118:118 -> <init>
    1:1:void recordDefinitionForNonReboundFieldReference(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):125:125 -> a
    2:3:com.android.tools.r8.optimize.FieldRebindingIdentityLens build(com.android.tools.r8.graph.DexItemFactory):132:133 -> a
com.android.tools.r8.optimize.InvokeSingleTargetExtractor -> com.android.tools.r8.internal.ku:
    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.pD:
    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>():48:48 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.AppView):56:61 -> <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):178 -> 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):179:187 -> 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):183:190 -> a
    19:19:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.optimize.MemberRebindingAnalysis):48:48 -> 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):70:70 -> 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):70 -> 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):70:72 -> 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):72 -> 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):76 -> 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):76:83 -> 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):79:95 -> 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):95 -> 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):101:105 -> 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):104:104 -> 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):148 -> 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):102 -> 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):149:149 -> 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):102 -> 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):169:169 -> 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):150 -> 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):102 -> 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):169 -> 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):150 -> 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):102 -> 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):173:173 -> 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):151 -> 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):102 -> 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):173 -> 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):151 -> 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):102 -> 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):153:153 -> 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):102 -> 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):152:152 -> 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):102 -> 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):108:110 -> a
    70:70:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexClassAndMethod):798:798 -> a
    70:70:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeMethod(com.android.tools.r8.graph.DexClassAndMethod):790 -> 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):110 -> a
    71:71:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexMethod):794:794 -> a
    71:71:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexClassAndMethod):798 -> a
    71:71:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeMethod(com.android.tools.r8.graph.DexClassAndMethod):790 -> 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):110 -> a
    72:72:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeValuesMethod(com.android.tools.r8.graph.DexClassAndMethod):806:806 -> a
    72:72:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeMethod(com.android.tools.r8.graph.DexClassAndMethod):790 -> 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):110 -> a
    73:73:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeValuesMethod(com.android.tools.r8.graph.DexMethod):802:802 -> a
    73:73:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeValuesMethod(com.android.tools.r8.graph.DexClassAndMethod):806 -> a
    73:73:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeMethod(com.android.tools.r8.graph.DexClassAndMethod):790 -> 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):110 -> 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):113:135 -> 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):131:137 -> 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):160:160 -> a
    105:105:boolean com.android.tools.r8.graph.DexClass.isPublic():725:725 -> 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):160 -> 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):160:160 -> a
    107:107:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():440:440 -> 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):160 -> 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):163:163 -> a
    109:109:boolean lambda$isAccessibleInAllContexts$0(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod):165:165 -> a
    110:111: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):200:201 -> a
    112:117: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):239:244 -> a
    112:117: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):202 -> a
    118:140: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):210:232 -> a
    141:141:com.android.tools.r8.graph.MethodResolutionResult resolveMethod(com.android.tools.r8.graph.DexMethod):256:256 -> a
    142:153:void computeMethodRebinding(com.android.tools.r8.graph.MethodAccessInfoCollection):261:272 -> a
    154:218:void computeMethodRebinding(com.android.tools.r8.utils.BiForEachable,java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type):280:344 -> a
    219:219:java.util.List lambda$computeMethodRebinding$1(com.android.tools.r8.graph.DexProgramClass):285:285 -> a
    220:221: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):285:286 -> a
    222:236: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):290:304 -> a
    237:237: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):366:366 -> a
    237:237: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):311 -> a
    238:238:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    238:238: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):366 -> a
    238: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):311 -> a
    239:242: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):366:369 -> a
    239:242: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):311 -> a
    243:243: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):315:315 -> a
    244:248: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):386:390 -> a
    244:248: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 -> a
    249:250: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):319:320 -> a
    251:260: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):433:442 -> a
    251:260: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):322 -> a
    261:264: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):437:440 -> a
    261:264: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):322 -> a
    265:265: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:328 -> a
    266:266:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    266:266: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 -> a
    267:273: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):330:336 -> a
    274:274: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):334:334 -> a
    275:275: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):332:332 -> a
    276:276:int lambda$computeMethodRebinding$5(com.android.tools.r8.utils.Pair,com.android.tools.r8.utils.Pair):348:348 -> a
    277:288:void lambda$computeMethodRebinding$6(java.util.function.Function,com.android.tools.r8.graph.DexProgramClass,java.util.List):348:359 -> a
    289:298:com.android.tools.r8.graph.DexProgramClass findHolderForInterfaceMethodBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):394:403 -> a
    299:306:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.mayNeedBridgeForVisibility(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClassAndMethod):407:414 -> a
    299:306:boolean lambda$computeMethodRebinding$3(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):320 -> a
    307:311:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.mayNeedBridgeForVisibility(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClassAndMethod):413:417 -> a
    307:311:boolean lambda$computeMethodRebinding$3(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):320 -> a
    312:316:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.mayNeedBridgeForVisibility(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClassAndMethod):416:420 -> a
    312:316:boolean lambda$computeMethodRebinding$3(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):320 -> a
    317:339:com.android.tools.r8.graph.DexProgramClass findHolderForVisibilityBridge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,java.lang.String):447:469 -> a
    340:341:void lambda$verifyFieldAccessCollectionContainsAllNonReboundFieldReferences$8(java.util.Set,com.android.tools.r8.graph.FieldAccessInfo):497:498 -> a
    342:347:void lambda$verifyFieldAccessCollectionContainsAllNonReboundFieldReferences$7(com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexField):500:505 -> a
    348:353:void lambda$verifyFieldAccessCollectionContainsAllNonReboundFieldReferences$7(com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexField):501:506 -> a
    354:356:java.util.Set computeNonReboundFieldReferences(java.util.concurrent.ExecutorService):515:517 -> a
    357:357:java.util.Set computeNonReboundFieldReferences(java.util.concurrent.ExecutorService):516:516 -> a
    358:359:void lambda$computeNonReboundFieldReferences$9(java.util.Set,com.android.tools.r8.graph.ProgramMethod):519:520 -> a
    1:1:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethod):248:248 -> b
    2:5:void recordNonReboundFieldAccesses(java.util.concurrent.ExecutorService):476:479 -> b
    1:1:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexMethod):252:252 -> c
    2:6:com.android.tools.r8.optimize.MemberRebindingLens run(java.util.concurrent.ExecutorService):483:487 -> c
    1:18:boolean verifyFieldAccessCollectionContainsAllNonReboundFieldReferences(java.util.concurrent.ExecutorService):492:509 -> d
com.android.tools.r8.optimize.MemberRebindingAnalysis$1 -> com.android.tools.r8.internal.oD:
    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):521:521 -> <init>
    void registerInvokeDirect(com.android.tools.r8.graph.DexMethod) -> a
    1:1:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):525:525 -> 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):530:530 -> 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):535:535 -> 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):540:540 -> g
    1:5:void registerFieldReference(com.android.tools.r8.graph.DexField):544:548 -> i
com.android.tools.r8.optimize.MemberRebindingIdentityLens -> com.android.tools.r8.internal.rD:
    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):332:332 -> a
    13:13:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):107 -> a
    14:15:com.android.tools.r8.optimize.MemberRebindingIdentityLens toRewrittenMemberRebindingIdentityLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):151:152 -> 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):152 -> a
    17:36:com.android.tools.r8.optimize.MemberRebindingIdentityLens toRewrittenMemberRebindingIdentityLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):153:172 -> a
    37:37: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):155:155 -> a
    38:38:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):467:467 -> a
    38:38: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):155 -> a
    39:39: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):158:158 -> a
    40:40:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    40:40: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):158 -> a
    41: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):157:159 -> a
    44:44: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):165:165 -> a
    45:45:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):344:344 -> a
    45:45: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):165 -> a
    46:46: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):168:168 -> a
    47:47:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    47:47: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):168 -> a
    48:50: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):167:169 -> 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.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):129:131 -> 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():136:136 -> g
com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder -> com.android.tools.r8.internal.qD:
    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):175:175 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):185:185 -> <init>
    3:10:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):180:187 -> <init>
    1:1:void access$200(com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):175:175 -> a
    2:2:void com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder.recordNonReboundMethodAccess(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):203:203 -> a
    2:2:void access$200(com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):175 -> a
    3:3:void access$300(com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):175:175 -> a
    4:4:void com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder.recordNonReboundFieldAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):198:198 -> 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):175 -> a
    5:5:void recordNonReboundFieldAccesses(com.android.tools.r8.graph.FieldAccessInfo):191:191 -> a
    6:6:void lambda$recordNonReboundFieldAccesses$0(com.android.tools.r8.graph.FieldAccessInfo,com.android.tools.r8.graph.DexField):193:193 -> a
    7:7:void com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder.recordNonReboundFieldAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):198:198 -> a
    7:7:void lambda$recordNonReboundFieldAccesses$0(com.android.tools.r8.graph.FieldAccessInfo,com.android.tools.r8.graph.DexField):193 -> a
    8:17:void recordMethodAccess(com.android.tools.r8.graph.DexMethod):208:217 -> a
    18:18:void com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder.recordNonReboundMethodAccess(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):203:203 -> a
    18:18:void recordMethodAccess(com.android.tools.r8.graph.DexMethod):216 -> a
    19:22:com.android.tools.r8.optimize.MemberRebindingIdentityLens build():226:229 -> a
com.android.tools.r8.optimize.MemberRebindingIdentityLensFactory -> com.android.tools.r8.internal.tD:
    1:19:com.android.tools.r8.optimize.MemberRebindingIdentityLens create(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):47:65 -> 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):72:72 -> 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):72 -> 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):72 -> 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):73:75 -> 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):88:91 -> 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):90:90 -> 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):93:93 -> 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):100 -> a
com.android.tools.r8.optimize.MemberRebindingIdentityLensFactory$NonReboundMemberReferencesRegistry -> com.android.tools.r8.internal.sD:
    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>():104:104 -> <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):119:124 -> <init>
    1:1:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):129:129 -> a
    2:2:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):180:180 -> a
    3:9:void registerInvokeMethod(com.android.tools.r8.graph.DexMethod,java.util.Map):204:210 -> a
    10:10: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):35:35 -> a
    10:10:void registerInvokeMethod(com.android.tools.r8.graph.DexMethod,java.util.Map):210 -> a
    11:23:void registerInvokeMethod(com.android.tools.r8.graph.DexMethod,java.util.Map):214:226 -> a
    void registerInitClass(com.android.tools.r8.graph.DexType) -> b
    1:1:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):185:185 -> b
    void registerInstanceOf(com.android.tools.r8.graph.DexType) -> c
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):134:134 -> c
    void registerNewInstance(com.android.tools.r8.graph.DexType) -> d
    1:1:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):190:190 -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):139:139 -> e
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    1:1:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):195:195 -> f
    1:1:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):144:144 -> g
    2:2:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):200:200 -> g
    1:19:void registerFieldAccess(com.android.tools.r8.graph.DexField):148:166 -> i
    20:20:boolean com.android.tools.r8.graph.AbstractAccessContexts.isBottom():0:0 -> i
    20:20:void registerFieldAccess(com.android.tools.r8.graph.DexField):166 -> i
    21:23:void registerFieldAccess(com.android.tools.r8.graph.DexField):167:169 -> i
    24:24:boolean com.android.tools.r8.graph.AbstractAccessContexts.isConcrete():0:0 -> i
    24:24:void registerFieldAccess(com.android.tools.r8.graph.DexField):169 -> i
    25:31:void registerFieldAccess(com.android.tools.r8.graph.DexField):169:175 -> i
com.android.tools.r8.optimize.MemberRebindingLens -> com.android.tools.r8.internal.vD:
    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):332:332 -> a
    5:5:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):75 -> a
    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):143:143 -> 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):144 -> a
    25:35:com.android.tools.r8.optimize.FieldRebindingIdentityLens toRewrittenFieldRebindingLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):145:155 -> 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):148:148 -> a
    37:37:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):332:332 -> a
    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):148 -> 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):151:151 -> a
    39:39:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    39:39: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):151 -> a
    40:42: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):150:152 -> 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.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.uD:
    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>():158:158 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.MemberRebindingLens$1):158:158 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView):165:165 -> <init>
    3:8:void <init>(com.android.tools.r8.graph.AppView):161:166 -> <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):171:177 -> a
    8:8:java.util.Map lambda$map$0(com.android.tools.r8.ir.code.Invoke$Type):175:175 -> a
    9:10:void recordNonReboundFieldAccesses(com.android.tools.r8.graph.FieldAccessInfo):181:182 -> a
    11:11:void com.android.tools.r8.optimize.MemberRebindingLens$Builder.recordNonReboundFieldAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):189:189 -> a
    11:11:void lambda$recordNonReboundFieldAccesses$1(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):184 -> a
    12:12:com.android.tools.r8.optimize.MemberRebindingLens build():193:193 -> a
com.android.tools.r8.optimize.PublicizerLens -> com.android.tools.r8.internal.YO:
    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):429:429 -> 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
    5:10:boolean com.android.tools.r8.optimize.PublicizerLens.publicizedMethodIsPresentOnHolder(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):55:60 -> a
    5: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():440:440 -> 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() -> m
    1:1:com.android.tools.r8.optimize.PublicizerLens$PublicizedLensBuilder createBuilder():65:65 -> n
com.android.tools.r8.optimize.PublicizerLens$PublicizedLensBuilder -> com.android.tools.r8.internal.XO:
    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.F10:
    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.G2:
    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:68:void transferArgumentInformation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):133:135 -> a
    69:69:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> 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 -> 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
    70:70: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
    70:70: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
    70:70:void transferArgumentInformation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):135 -> a
    71:72:void transferArgumentInformation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):136:137 -> a
    73:90: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
    91: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,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):212:214 -> a
    91: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():506:506 -> 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,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):214 -> 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:111: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,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):214:230 -> a
    95:111: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
    112:129: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):179:196 -> a
    130:133:void lambda$tearDownCodeScanner$2(java.util.Map,java.util.Set,com.android.tools.r8.graph.DexMethodSignature):169:172 -> a
    134:134:com.android.tools.r8.utils.collections.DexMethodSignatureSet lambda$tearDownCodeScanner$1(java.util.Set):171:171 -> a
    135:140:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):244:249 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorApplicationFixer -> com.android.tools.r8.internal.I2:
    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:37:void lambda$fixupMethods$4(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):106:116 -> a
    38:38:void lambda$fixupMethods$3(com.android.tools.r8.graph.MethodAccessFlags):115:115 -> a
    39:40:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorApplicationFixer.fixupOptimizationInfos(java.util.concurrent.ExecutorService):124:125 -> a
    39:40:void lambda$fixupApplication$0(java.util.concurrent.ExecutorService):68 -> a
    41:41:com.android.tools.r8.graph.DexApplication com.android.tools.r8.graph.AppView.app():220:220 -> a
    41:41:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorApplicationFixer.fixupOptimizationInfos(java.util.concurrent.ExecutorService):125 -> a
    41:41:void lambda$fixupApplication$0(java.util.concurrent.ExecutorService):68 -> a
    42:44:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorApplicationFixer.fixupOptimizationInfos(java.util.concurrent.ExecutorService):125:127 -> a
    42: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.H2:
    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.RewrittenPrototypeDescription.createMethodOptimizationInfoFixer():677:677 -> 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.J2:
    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>():64:67 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection):93:93 -> <init>
    2:26:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection):71:95 -> <init>
    1:1:void addMonomorphicVirtualMethods(java.util.Set):99:99 -> a
    2:2:void addVirtualRootMethods(java.util.Map):103:103 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference getMethodStates():107:107 -> a
    4:4:boolean isMonomorphicVirtualMethod(com.android.tools.r8.graph.ProgramMethod):133:133 -> a
    5:5:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMonomorphicVirtualMethod(com.android.tools.r8.graph.DexMethod):139:139 -> a
    5:5:boolean isMonomorphicVirtualMethod(com.android.tools.r8.graph.ProgramMethod):133 -> a
    6:6:boolean isMonomorphicVirtualMethod(com.android.tools.r8.graph.ProgramMethod):134:134 -> a
    7:10:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):143:146 -> 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):147 -> a
    12:12:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):148:148 -> 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):552:559 -> a
    13:20:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):148 -> a
    21:21:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):151:151 -> a
    22:62:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):155:195 -> a
    63:63:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> a
    63:63:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):200 -> a
    64:64:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):201:201 -> a
    65:65:boolean com.android.tools.r8.ir.code.Instruction.isInvokeSuper():0:0 -> a
    65:65:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):207 -> a
    66:66:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):211:211 -> a
    67:67:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    67:67:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):216 -> a
    68:68:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):226:226 -> a
    69:90:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):217:238 -> a
    91:97:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):236:242 -> a
    98:104: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):251:257 -> a
    98:104: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):240 -> a
    105:106:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.shouldUsePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):545:546 -> a
    105:106: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):259 -> a
    105:106: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):240 -> a
    107:107:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMonomorphicVirtualMethod(com.android.tools.r8.graph.DexMethod):139:139 -> a
    107:107:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.shouldUsePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):546 -> a
    107:107: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):259 -> a
    107:107: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):240 -> a
    108: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):260:266 -> a
    108: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):240 -> 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):289:289 -> 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):262 -> 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):240 -> a
    116:116: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
    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):289 -> 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):262 -> 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):240 -> a
    117: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):290:292 -> a
    117: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):262 -> a
    117: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):240 -> a
    120:120: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
    120:120: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
    120:120: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):262 -> a
    120:120: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):240 -> a
    121:121: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):332:332 -> a
    121:121: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 -> a
    121:121: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):262 -> a
    121:121: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):240 -> a
    122:122:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    122:122: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):332 -> a
    122:122: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 -> a
    122:122: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):262 -> a
    122:122: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):240 -> 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.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    123:123: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):332 -> a
    123:123: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 -> a
    123:123: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):262 -> a
    123:123: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):240 -> a
    124:124: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):332:332 -> a
    124:124: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 -> a
    124:124: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):262 -> a
    124:124: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):240 -> a
    125:133: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):331:339 -> a
    125:133: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 -> a
    125:133: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):262 -> a
    125:133: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):240 -> a
    134:134:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.getVirtualRootMethod(com.android.tools.r8.graph.ProgramMethod):111:111 -> a
    134:134: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 -> a
    134:134: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 -> a
    134:134: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):262 -> a
    134:134: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):240 -> a
    135:141: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):345:351 -> a
    135:141: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 -> a
    135:141: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):262 -> a
    135:141: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):240 -> a
    142:142:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    142:142: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):351 -> a
    142:142: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 -> a
    142:142: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):262 -> a
    142:142: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):240 -> a
    143:143: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
    143:143:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    143: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):351 -> a
    143: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):294 -> a
    143: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):262 -> a
    143: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):240 -> a
    144:144: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):351:351 -> 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):294 -> 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):262 -> 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):240 -> a
    145:148: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):350:353 -> a
    145: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 -> a
    145: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):262 -> a
    145: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):240 -> 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):297:297 -> 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):262 -> 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):240 -> a
    150:150:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isPolymorphic():0:0 -> a
    150:150: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):297 -> a
    150:150: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):262 -> a
    150:150: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):240 -> a
    151:151: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):298:298 -> a
    151:151: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):262 -> a
    151:151: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):240 -> a
    152:152:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> a
    152:152: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):299 -> a
    152:152: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):262 -> a
    152:152: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):240 -> a
    153:153: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):301:301 -> a
    153:153: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):262 -> a
    153:153: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):240 -> a
    154:154:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.unknown():19:19 -> a
    154:154: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):303 -> a
    154:154: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):262 -> a
    154:154: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):240 -> a
    155:161: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:308 -> a
    155:161: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):262 -> a
    155:161: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):240 -> a
    162:162:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> a
    162:162: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):309 -> a
    162:162: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):262 -> a
    162:162: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):240 -> a
    163:163: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):318:318 -> a
    163:163: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):262 -> a
    163:163: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):240 -> a
    164:171: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):313:320 -> a
    164: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):262 -> a
    164: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):240 -> a
    172: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):268:273 -> a
    172: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):240 -> a
    178:178: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
    178:178: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):273 -> a
    178:178: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):240 -> a
    179:179: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):275:275 -> a
    179:179: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):240 -> a
    180:180: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):370:370 -> a
    180:180: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 -> a
    180:180: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):240 -> a
    181:181:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    181:181: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):371 -> a
    181:181: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 -> a
    181:181: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):240 -> a
    182:182: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):371:371 -> a
    182:182: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 -> a
    182:182: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):240 -> a
    183:183: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
    183:183: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):371 -> a
    183:183: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 -> a
    183:183: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):240 -> a
    184:184: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
    184:184: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 -> a
    184:184: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):240 -> a
    185:185: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):277:277 -> a
    185:185: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):240 -> a
    186:190: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):382:386 -> a
    191:191:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria.alwaysReprocess():34:34 -> a
    191:191: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):387 -> a
    192:200: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):390:398 -> a
    201:201: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):433:433 -> a
    201:201: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):393 -> a
    202:202:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> a
    202: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):433 -> a
    202: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):393 -> 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):434:434 -> 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):393 -> a
    204:204:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> 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):434 -> 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):393 -> a
    205:205:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> 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):435 -> 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):393 -> a
    206:206: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):440:440 -> a
    206:206: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):393 -> a
    207:207:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    207:207: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):441 -> a
    207:207: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):393 -> a
    208:210: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):444:446 -> a
    208:210: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):393 -> a
    211:211:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    211:211: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):447 -> a
    211:211: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):393 -> a
    212:212: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):448:448 -> a
    212:212: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):393 -> a
    213:213:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReceiverParameterState.<init>(com.android.tools.r8.ir.analysis.type.DynamicType):22:22 -> a
    213:213: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):448 -> a
    213:213: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):393 -> a
    214: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):392:410 -> 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):459:459 -> 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):404 -> a
    234:234:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():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):459 -> 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):404 -> a
    235:235: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):460:460 -> a
    235:235: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):404 -> a
    236:236:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    236: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):460 -> a
    236: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):404 -> a
    237:237:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> 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):461 -> 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):404 -> 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):464:464 -> 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):404 -> a
    239:239: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
    239:239: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 -> a
    239:239: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):404 -> a
    240:241: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:467 -> a
    240:241: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):404 -> a
    242:242:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    242: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):467 -> a
    242: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):404 -> a
    243:243: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
    243:243:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> 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):467 -> 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):404 -> a
    244: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):474:477 -> a
    244: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):404 -> 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):476:476 -> 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):404 -> a
    249:251:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMethodParameterAlreadyUnknown(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,com.android.tools.r8.graph.ProgramMethod):115:117 -> a
    249:251: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):478 -> a
    249:251: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):404 -> a
    252:252:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.getVirtualRootMethod(com.android.tools.r8.graph.ProgramMethod):111:111 -> a
    252:252:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMethodParameterAlreadyUnknown(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,com.android.tools.r8.graph.ProgramMethod):119 -> a
    252:252: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):478 -> a
    252:252: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):404 -> a
    253:253:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMethodParameterAlreadyUnknown(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,com.android.tools.r8.graph.ProgramMethod):118:118 -> a
    253:253: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):478 -> a
    253:253: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):404 -> a
    254:264:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMethodParameterAlreadyUnknown(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,com.android.tools.r8.graph.ProgramMethod):116:126 -> a
    254:264: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):478 -> a
    254:264: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):404 -> a
    265:265:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    265:265:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMethodParameterAlreadyUnknown(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,com.android.tools.r8.graph.ProgramMethod):126 -> a
    265: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):478 -> a
    265: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):404 -> a
    266:267:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMethodParameterAlreadyUnknown(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,com.android.tools.r8.graph.ProgramMethod):128:129 -> a
    266: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):478 -> a
    266: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):404 -> a
    268:268:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    268:268: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):479 -> a
    268:268: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):404 -> a
    269: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):481:482 -> a
    269: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):404 -> a
    271:271:com.android.tools.r8.ir.analysis.value.BottomValue com.android.tools.r8.ir.analysis.value.AbstractValue.bottom():16:16 -> a
    271:271:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState.<init>(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):25 -> a
    271:271: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 -> a
    271:271: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):404 -> a
    272:272:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState.<init>(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):25:25 -> a
    272: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):482 -> a
    272: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):404 -> a
    273: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):483:484 -> a
    273: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):404 -> a
    275:275:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteArrayTypeParameterState.<init>(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):23:23 -> a
    275:275: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):484 -> a
    275:275: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):404 -> a
    276: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):486:487 -> a
    276: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):404 -> a
    278:278:com.android.tools.r8.ir.analysis.value.BottomValue com.android.tools.r8.ir.analysis.value.AbstractValue.bottom():16:16 -> a
    278:278:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState.<init>(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):33 -> 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):487 -> 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):404 -> a
    279:279:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState.<init>(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):33:33 -> 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):487 -> 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):404 -> a
    280:282: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):492:494 -> a
    280:282: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):404 -> a
    283:283:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    283:283: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 -> a
    283:283: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):404 -> a
    284:284: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):496:496 -> a
    284:284: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):404 -> a
    285:285:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteArrayTypeParameterState.<init>(com.android.tools.r8.ir.analysis.type.Nullability):27:27 -> a
    285:285: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):496 -> a
    285:285: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):404 -> a
    286: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):499:504 -> a
    286: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):404 -> a
    292:292: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
    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):504 -> 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):404 -> a
    293: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):505:507 -> a
    293: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):404 -> 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):508 -> 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):404 -> 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):509:509 -> 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):404 -> a
    298:298: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
    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):509 -> 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):404 -> a
    299:300: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):514:515 -> a
    299:300: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):404 -> a
    301:301:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    301:301: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):516 -> a
    301:301: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):404 -> a
    302:302: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):517:517 -> a
    302:302: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):404 -> a
    303:303:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState.<init>(com.android.tools.r8.ir.analysis.value.AbstractValue):21:21 -> a
    303:303: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):517 -> a
    303:303: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):404 -> a
    304:316: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):403:415 -> a
    317:317:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.unknown():19:19 -> a
    317:317: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):416 -> a
    318:318: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):419:419 -> a
    319:323:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):521:525 -> a
    324:324:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> a
    324:324:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):525 -> a
    325:325:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):526:526 -> a
    326:326:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.getVirtualRootMethod(com.android.tools.r8.graph.ProgramMethod):111:111 -> a
    326:326:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):527 -> a
    327:327:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):530:530 -> a
    328:328:boolean com.android.tools.r8.ir.code.Instruction.isInvokeSuper():0:0 -> a
    328:328:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):530 -> a
    329:332:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):530:533 -> a
    333:333:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.getVirtualRootMethod(com.android.tools.r8.graph.ProgramMethod):111:111 -> a
    333:333:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):536 -> a
    334:336:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):537:539 -> a
    337:337:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):538:538 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer -> com.android.tools.r8.internal.M2:
    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.K2:
    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.L2:
    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.O2:
    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.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.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.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):79 -> a
    3:6:com.android.tools.r8.graph.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):83:86 -> a
    7:7:com.android.tools.r8.graph.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.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
    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 internalGetNextMethodSignature(com.android.tools.r8.graph.DexMethod):102:102 -> f
    1:1:com.android.tools.r8.graph.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.RewrittenPrototypeDescription getPrototypeChanges(com.android.tools.r8.graph.DexMethod):48 -> g
    3:4:com.android.tools.r8.graph.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() -> m
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder -> com.android.tools.r8.internal.N2:
    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.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.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.RewrittenPrototypeDescription):165:165 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorIROptimizer -> com.android.tools.r8.internal.P2:
    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.R2:
    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>():35:35 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection):42:44 -> <init>
    1:22: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):57:78 -> a
    23:25:void enqueueAffectedCallees(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder):84:86 -> a
    26:36:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):89:99 -> a
    37:37:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> a
    37:37:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):99 -> a
    38:47:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):99:108 -> a
    48:48: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:46 -> a
    48:48:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):108 -> a
    49:49:boolean com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.isConcreteCallSiteOptimizationInfo():0:0 -> a
    49:49: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
    49:49:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):108 -> a
    50:60: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
    50:60:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):108 -> a
    61:64:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):108:111 -> a
    65:65:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> a
    65:65:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):111 -> a
    66:66:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):111:111 -> a
    67:70:void enqueueAffectedCallers(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder,java.util.concurrent.ExecutorService):125:128 -> a
    71:90:void enqueueAffectedCallers(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder,java.util.concurrent.ExecutorService):127:146 -> a
    91:92:java.util.List lambda$enqueueAffectedCallers$2(com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.graph.DexProgramClass):130:131 -> a
    93:94:void lambda$enqueueAffectedCallers$1(com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,java.util.List,com.android.tools.r8.graph.ProgramMethod):134:135 -> a
    95:96:java.lang.Object com.android.tools.r8.graph.ProgramMethod.registerCodeReferencesWithResult(com.android.tools.r8.graph.UseRegistryWithResult):123:124 -> a
    95:96:void lambda$enqueueAffectedCallers$1(com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,java.util.List,com.android.tools.r8.graph.ProgramMethod):137 -> a
    97:99:void lambda$enqueueAffectedCallers$1(com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,java.util.List,com.android.tools.r8.graph.ProgramMethod):137:139 -> a
    100:100:void lambda$enqueueAffectedCallers$3(com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder,com.android.tools.r8.graph.GraphLens,java.util.List):148:148 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorMethodReprocessingEnqueuer$AffectedMethodUseRegistry -> com.android.tools.r8.internal.Q2:
    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):160:162 -> <init>
    1:1:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):171:171 -> a
    2:2:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):212:212 -> a
    void registerInitClass(com.android.tools.r8.graph.DexType) -> b
    1:1:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):176:176 -> b
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):217:217 -> c
    1:1:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):181:181 -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):222:222 -> e
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    1:1:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):186:186 -> f
    1:1:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):191:191 -> g
    2:2:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):227:227 -> g
    1:11:void registerInvokeMethod(com.android.tools.r8.graph.DexMethod):195:205 -> h
    12:12:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorMethodReprocessingEnqueuer$AffectedMethodUseRegistry.markAffected():166:166 -> h
    12:12:void registerInvokeMethod(com.android.tools.r8.graph.DexMethod):206 -> h
    1:9:void registerFieldAccess(com.android.tools.r8.graph.DexField):231:239 -> i
    10:10:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorMethodReprocessingEnqueuer$AffectedMethodUseRegistry.markAffected():166:166 -> i
    10:10:void registerFieldAccess(com.android.tools.r8.graph.DexField):240 -> i
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator -> com.android.tools.r8.internal.S2:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.function.BiConsumer interfaceDispatchOutsideProgram -> e
    java.util.List stronglyConnectedProgramComponents -> d
    boolean $assertionsDisabled -> f
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference methodStates -> b
    com.android.tools.r8.graph.ImmediateProgramSubtypingInfo immediateSubtypingInfo -> c
    1:1:void <clinit>():49:49 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference,java.util.List,java.util.function.BiConsumer):65:70 -> <init>
    1:18:void populateOptimizationInfo(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):85:102 -> a
    19:39:void processStronglyConnectedComponent(java.util.Set):117:137 -> a
    40:40:void lambda$processStronglyConnectedComponent$0(java.util.Set,com.android.tools.r8.graph.DexMethodSignature):122:122 -> a
    41:43:void setOptimizationInfo(java.util.concurrent.ExecutorService):141:141 -> a
    44:44:void setOptimizationInfo(com.android.tools.r8.graph.DexProgramClass):146:146 -> a
    45:56:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):150:161 -> a
    57:57:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.unknown():19:19 -> a
    57:57:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):162 -> a
    58:66:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):165:173 -> a
    67:67:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isPolymorphic():0:0 -> a
    67:67:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):173 -> a
    68:72:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):174:178 -> a
    73:76:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):250:253 -> a
    73:76:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):184 -> a
    77:77:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState.isClassParameter():0:0 -> a
    77:77:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):254 -> a
    77:77:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):184 -> a
    78:79:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):257:258 -> a
    78:79:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):184 -> a
    80:86:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.shouldWidenDynamicTypeToUnknown(com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):273:279 -> a
    80:86:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):259 -> a
    80:86:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):184 -> a
    87:87:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    87:87:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.shouldWidenDynamicTypeToUnknown(com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):279 -> a
    87:87:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):259 -> a
    87:87:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):184 -> a
    88:88: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
    88:88:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    88:88:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.shouldWidenDynamicTypeToUnknown(com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):279 -> a
    88:88:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):259 -> a
    88:88:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):184 -> a
    89:90:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.shouldWidenDynamicTypeToUnknown(com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):280:281 -> a
    89:90:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):259 -> a
    89:90:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):184 -> a
    91:91:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):260:260 -> a
    91:91:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):184 -> a
    92:92:com.android.tools.r8.ir.analysis.value.BottomValue com.android.tools.r8.ir.analysis.value.AbstractValue.bottom():16:16 -> a
    92:92:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):264 -> a
    92:92:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):184 -> 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):264:264 -> a
    93:93:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):184 -> a
    94:94: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
    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):264 -> a
    94:94:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):184 -> 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):266:266 -> a
    95:95:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):184 -> a
    96:96:com.android.tools.r8.utils.Action com.android.tools.r8.utils.Action.empty():13:13 -> a
    96:96: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
    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):262 -> a
    96:96:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):184 -> a
    97:97: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
    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):262 -> a
    97:97:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):184 -> a
    98:107:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):260:269 -> a
    98:107:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):184 -> a
    108:114:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):189:195 -> a
    115:123:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):192:200 -> a
    124:134:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):198:208 -> a
    135:135:com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple com.android.tools.r8.ir.optimize.info.OptimizationFeedback.getSimple():44:44 -> a
    135:135:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):209 -> a
    136:136:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):211:211 -> a
    137:137:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):210:210 -> a
    138:146:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState getMethodStateAfterUninstantiatedParameterRemoval(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):217:225 -> a
    147:147:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    147:147:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState getMethodStateAfterUninstantiatedParameterRemoval(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):226 -> a
    148:150:java.util.ArrayList com.android.tools.r8.utils.ListUtils.newInitializedArrayList(int,java.lang.Object):207:209 -> a
    148:150:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState getMethodStateAfterUninstantiatedParameterRemoval(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):226 -> a
    151:167:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState getMethodStateAfterUninstantiatedParameterRemoval(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):227:243 -> a
    168:176: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):231:239 -> a
    177:177: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
    177:177: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):239 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer -> com.android.tools.r8.internal.V2:
    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):156:156 -> <init>
    2:11:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,java.util.Map):150:159 -> <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):79:79 -> a
    2:2:com.android.tools.r8.utils.collections.DexMethodSignatureSet access$200(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer,com.android.tools.r8.graph.DexClass):79:79 -> a
    3:7:com.android.tools.r8.utils.collections.DexMethodSignatureSet com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer.getOrComputeLibraryVirtualMethods(com.android.tools.r8.graph.DexClass):195:199 -> a
    3:7:com.android.tools.r8.utils.collections.DexMethodSignatureSet access$200(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer,com.android.tools.r8.graph.DexClass):79 -> a
    8:26: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):168:186 -> a
    27:27: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
    27:27: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):186 -> a
    28:30: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):187:189 -> a
    31:35: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):174:178 -> a
    36:36: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
    37:37: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):175:175 -> a
    38:42:com.android.tools.r8.utils.collections.DexMethodSignatureSet com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer.getOrComputeLibraryVirtualMethods(com.android.tools.r8.graph.DexClass):195:199 -> 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):208 -> 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):208:208 -> a
    44:53:com.android.tools.r8.utils.collections.DexMethodSignatureSet computeLibraryVirtualMethods(com.android.tools.r8.graph.DexClass):203:212 -> a
    54:54:void lambda$computeLibraryVirtualMethods$3(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexClassAndMethod):211:211 -> a
    1:1:com.android.tools.r8.graph.ImmediateProgramSubtypingInfo access$100(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer):79:79 -> b
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges -> com.android.tools.r8.internal.T2:
    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>():81:84 -> <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):93:96 -> <init>
    1:1:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges create(com.android.tools.r8.graph.RewrittenPrototypeDescription):100:100 -> a
    2:2:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges.empty():126:126 -> a
    2:2:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges create(com.android.tools.r8.graph.RewrittenPrototypeDescription):101 -> a
    3:20:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges create(com.android.tools.r8.graph.RewrittenPrototypeDescription):104:121 -> a
    21:21: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.RewrittenPrototypeDescription$ArgumentInfo):113:113 -> a
    22:22:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> a
    22:22: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.RewrittenPrototypeDescription$ArgumentInfo):113 -> a
    23: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.RewrittenPrototypeDescription$ArgumentInfo):114:116 -> a
    26:26:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    26:26: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.RewrittenPrototypeDescription$ArgumentInfo):116 -> a
    27:29: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.RewrittenPrototypeDescription$ArgumentInfo):116:118 -> a
    30:30:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges empty():126:126 -> a
    1:7:boolean equals(java.lang.Object):136:142 -> equals
    1:1:int hashCode():131:131 -> hashCode
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer -> com.android.tools.r8.internal.U2:
    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>():216:216 -> <clinit>
    1:1:void <init>(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer,com.android.tools.r8.contexts.CompilationContext$ProcessorContext):245:245 -> <init>
    2:30:void <init>(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer,com.android.tools.r8.contexts.CompilationContext$ProcessorContext):218:246 -> <init>
    com.android.tools.r8.graph.DexType lambda$computePrototypeChangesForMethod$15(int) -> a
    1:1: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):216:216 -> a
    2:14:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder optimize(java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet,java.util.function.Consumer):267:279 -> a
    15:15: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
    15:15:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder optimize(java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet,java.util.function.Consumer):279 -> a
    16:19:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder optimize(java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet,java.util.function.Consumer):280:283 -> a
    20:24:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder optimize(java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet,java.util.function.Consumer):282:286 -> a
    25:25:boolean lambda$reservePinnedMethodSignatures$0(com.android.tools.r8.graph.DexEncodedMethod):298:298 -> a
    26:27:boolean lambda$reservePinnedMethodSignatures$2(java.util.Set,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):310:311 -> a
    28:28:void lambda$reservePinnedMethodSignatures$3(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):313:313 -> a
    29:29:void lambda$reservePinnedMethodSignatures$4(com.android.tools.r8.graph.DexMethodSignature):317:317 -> a
    30:37:void reserveMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges):326:333 -> a
    38:39:void computePrototypeChangesForVirtualMethods(java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet):342:343 -> a
    40:40:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):347:347 -> a
    41:41: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
    41:41:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):347 -> a
    42:47:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.containsImmediateInterfaceOfInstantiatedLambda(com.android.tools.r8.utils.collections.ProgramMethodSet):456:461 -> a
    42:47:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):353 -> a
    48:51:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):359:362 -> a
    52:52:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> a
    52:52: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 -> a
    53:53:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.canRemoveParameterFromVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):472:472 -> a
    53:53: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
    54:54:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.utils.collections.DexClassAndMethodSetBase.getFirst():50:50 -> a
    54:54:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.canRemoveParameterFromVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):476 -> a
    54:54: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
    55:74:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.canRemoveParameterFromVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):476:495 -> a
    55:74: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
    75:75:boolean com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.isConcreteCallSiteOptimizationInfo():0:0 -> a
    75:75:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.canRemoveParameterFromVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):495 -> a
    75:75: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
    76:80:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.canRemoveParameterFromVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):497:501 -> a
    76:80: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
    81:81:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):365:365 -> a
    82:94:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewParameterTypeForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):539:551 -> a
    82:94:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):368 -> a
    95:95:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.utils.collections.DexClassAndMethodSetBase.getFirst():50:50 -> a
    95:95:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewParameterTypeForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):552 -> a
    95:95:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):368 -> a
    96:96:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewParameterTypeForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):552:552 -> a
    96:96:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):368 -> a
    97:97:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewParameterTypeForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):551:551 -> a
    97:97:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):368 -> a
    98:98: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:370 -> a
    99:99:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexMethodSignature.getReturnType():37:37 -> a
    99:99: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):431 -> a
    99:99:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):377 -> a
    100:100:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProto.getReturnType():62:62 -> a
    100:100:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexMethodSignature.getReturnType():37 -> a
    100:100: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):431 -> a
    100:100:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):377 -> a
    101:120: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):431:450 -> a
    101:120:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):377 -> a
    121:136: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:529 -> a
    121:136: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
    137:137:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.utils.collections.DexClassAndMethodSetBase.getFirst():50:50 -> a
    137:137: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):529 -> a
    137:137: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
    138:138: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):529:529 -> a
    138:138: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
    139:157: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:399 -> a
    158:158:boolean lambda$computePrototypeChangesForVirtualMethods$5(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.ProgramMethod):349:349 -> a
    159:161:java.util.Map computeVirtualMethodsBySignature(java.util.Set):408:410 -> a
    162:162:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    162:162:java.util.Map computeVirtualMethodsBySignature(java.util.Set):410 -> a
    163:163:void lambda$computeVirtualMethodsBySignature$7(java.util.Map,com.android.tools.r8.graph.ProgramMethod):414:414 -> a
    164:166:void lambda$computeVirtualMethodsBySignature$7(java.util.Map,com.android.tools.r8.graph.ProgramMethod):413:415 -> a
    167:171:boolean isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):422:426 -> a
    172:185:boolean visitClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder):561:574 -> a
    186:186:void com.android.tools.r8.graph.DexProgramClass.forEachProgramInstanceInitializer(java.util.function.Consumer):266:266 -> a
    186:186:boolean visitClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder):574 -> a
    187:218:boolean visitClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder):584:615 -> a
    219:219:boolean lambda$visitClass$8(com.android.tools.r8.graph.DexEncodedField):563:563 -> a
    220:242:void lambda$visitClass$12(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):586:608 -> a
    243:248:void lambda$visitClass$12(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):607:612 -> a
    249:249:com.android.tools.r8.graph.RewrittenPrototypeDescription lambda$visitClass$11(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):590:590 -> a
    250:257:com.android.tools.r8.graph.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):768:775 -> a
    250:257:com.android.tools.r8.graph.RewrittenPrototypeDescription lambda$visitClass$11(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):591 -> a
    258:258:com.android.tools.r8.graph.RewrittenPrototypeDescription lambda$visitClass$11(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):595:595 -> a
    259:259:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewFieldSignature(com.android.tools.r8.graph.ProgramField):619:619 -> a
    259:259:void lambda$visitClass$9(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):565 -> a
    260:260:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo com.android.tools.r8.graph.DexClassAndField.getOptimizationInfo():41:41 -> a
    260:260:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewFieldSignature(com.android.tools.r8.graph.ProgramField):619 -> a
    260:260:void lambda$visitClass$9(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):565 -> a
    261:290:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewFieldSignature(com.android.tools.r8.graph.ProgramField):619:648 -> a
    261:290:void lambda$visitClass$9(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):565 -> a
    291:291:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    291:291:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewFieldSignature(com.android.tools.r8.graph.ProgramField):648 -> a
    291:291:void lambda$visitClass$9(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):565 -> a
    292:292: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
    292:292:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    292:292:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewFieldSignature(com.android.tools.r8.graph.ProgramField):648 -> a
    292:292:void lambda$visitClass$9(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):565 -> a
    293:325:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewFieldSignature(com.android.tools.r8.graph.ProgramField):648:680 -> a
    293:325:void lambda$visitClass$9(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):565 -> a
    326:326: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
    326:326:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewFieldSignature(com.android.tools.r8.graph.ProgramField):680 -> a
    326:326:void lambda$visitClass$9(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):565 -> a
    327:329:void lambda$visitClass$9(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):566:568 -> a
    330:340:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription):685:695 -> a
    341:341: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):62:62 -> a
    341:341:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription):695 -> a
    342:362:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription):698:718 -> a
    363:371:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription):717:725 -> a
    372:374:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription):724:726 -> a
    375:375:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    375:375:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription):728 -> a
    376:386:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription):728:738 -> a
    387:403:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription):727:743 -> a
    404:404:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription):742:742 -> a
    405:407:boolean lambda$getNewMethodSignature$13(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):732:734 -> a
    408:414: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):755:761 -> a
    408:414:boolean lambda$getNewMethodSignature$13(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):733 -> a
    415:420:com.android.tools.r8.graph.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):768:773 -> a
    415:420:void lambda$visitClass$10(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):577 -> a
    421:422:void lambda$visitClass$10(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):579:580 -> a
    423:423:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.add(com.android.tools.r8.graph.DexClassAndMethod):61:61 -> a
    423:423:void lambda$visitClass$10(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):580 -> a
    424:424:void lambda$visitClass$10(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):582:582 -> a
    425:432:com.android.tools.r8.graph.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):785:792 -> a
    433:433:com.android.tools.r8.graph.RewrittenPrototypeDescription com.android.tools.r8.graph.RewrittenPrototypeDescription.withExtraParameters(com.android.tools.r8.ir.conversion.ExtraParameter[]):856:856 -> a
    433:433:com.android.tools.r8.graph.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):793 -> a
    434:446:com.android.tools.r8.graph.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):794:806 -> a
    447:447:com.android.tools.r8.graph.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):803:803 -> a
    448:448: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):498:498 -> a
    448:448:com.android.tools.r8.graph.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):803 -> a
    449:450:com.android.tools.r8.graph.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):807:808 -> a
    451:451:com.android.tools.r8.graph.RewrittenPrototypeDescription com.android.tools.r8.graph.RewrittenPrototypeDescription.withExtraParameters(com.android.tools.r8.ir.conversion.ExtraParameter[]):856:856 -> a
    451:451:com.android.tools.r8.graph.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):809 -> a
    452:454:com.android.tools.r8.graph.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):810:812 -> a
    455:457:com.android.tools.r8.graph.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):811:813 -> a
    458:460:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod):880:882 -> a
    461:461:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewReturnType(com.android.tools.r8.graph.ProgramMethod):888:888 -> a
    461:461:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod):884 -> a
    462:462:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod):884:884 -> a
    463:463:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod):883:883 -> a
    464:476:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.value.SingleValue):892:904 -> a
    477:477:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    477:477:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.value.SingleValue):904 -> a
    478:478: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
    478:478:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    478:478:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.value.SingleValue):904 -> a
    479:480:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.value.SingleValue):904:905 -> a
    481:481:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    481:481:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.value.SingleValue):905 -> a
    482:483:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.value.SingleValue):905:906 -> a
    484:484:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    484:484:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.value.SingleValue):906 -> a
    485:485: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
    485:485:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    485:485:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.value.SingleValue):906 -> a
    486:486:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.value.SingleValue):906:906 -> a
    487:491:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.value.SingleValue):905:909 -> a
    492:492:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    492:492:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.value.SingleValue):910 -> a
    493:506:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.value.SingleValue):908:921 -> a
    507:507:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.value.SingleValue):920:920 -> a
    508:520:com.android.tools.r8.graph.DexType getNewParameterType(com.android.tools.r8.graph.ProgramMethod,int):945:957 -> a
    521:521:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    521:521:com.android.tools.r8.graph.DexType getNewParameterType(com.android.tools.r8.graph.ProgramMethod,int):957 -> a
    522:522: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
    522:522:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69 -> a
    522:522:com.android.tools.r8.graph.DexType getNewParameterType(com.android.tools.r8.graph.ProgramMethod,int):957 -> a
    523:540:com.android.tools.r8.graph.DexType getNewParameterType(com.android.tools.r8.graph.ProgramMethod,int):958:975 -> a
    541:542:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):986:987 -> a
    543:555:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):995:1007 -> a
    543:555:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):988 -> a
    556:565:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):1002:1011 -> a
    556:565:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):988 -> a
    566:566:int com.android.tools.r8.graph.DexEncodedMethod.getFirstNonReceiverArgumentIndex():204:204 -> a
    566:566:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):1011 -> a
    566:566:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):988 -> a
    567:578:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):1012:1023 -> a
    567:578:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):988 -> a
    579:595:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):1019:1035 -> a
    579:595:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):988 -> a
    596:609:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):1030:1043 -> a
    596:609:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):988 -> a
    610:610:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo$Builder com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo.builder():234:234 -> a
    610:610:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):1046 -> a
    610:610:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):988 -> a
    611:614:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):1047:1050 -> a
    611:614:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):988 -> a
    615:624:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):1044:1053 -> a
    615:624:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):988 -> a
    625:625:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):985:985 -> a
    626:629:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo computeReturnChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):1059:1062 -> a
    630:630:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo$Builder com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo.builder():234:234 -> a
    630:630:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo computeReturnChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):1063 -> a
    631:638:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo computeReturnChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):1063:1070 -> a
    639:639:void lambda$computeReturnChangesForMethod$17(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo$Builder):1066:1066 -> a
    boolean lambda$computePrototypeChangesForMethod$16(int) -> b
    1:22:void reservePinnedMethodSignatures(java.util.Set):294:315 -> b
    23:26:void lambda$reservePinnedMethodSignatures$1(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.ProgramMethod):300:303 -> b
    27:36:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):819:828 -> b
    37:44:com.android.tools.r8.graph.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):853:860 -> b
    37:44:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):828 -> b
    45:49:com.android.tools.r8.graph.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):858:862 -> b
    45:49:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):828 -> b
    50:50:com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo$Builder com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo.builder():234:234 -> b
    50:50:com.android.tools.r8.graph.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):865 -> b
    50:50:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):828 -> b
    51:54:com.android.tools.r8.graph.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):866:869 -> b
    51:54:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):828 -> b
    55:67:com.android.tools.r8.graph.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):863:875 -> b
    55:67:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):828 -> b
    68:68:com.android.tools.r8.graph.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):872:872 -> b
    68:68:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):828 -> b
    69:76:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):835:842 -> b
    77:77:com.android.tools.r8.graph.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):841:841 -> b
    78:78:com.android.tools.r8.graph.DexType lambda$computePrototypeChangesForMethod$14(com.android.tools.r8.graph.ProgramMethod,int):881:881 -> b
    1:13:com.android.tools.r8.ir.analysis.value.SingleValue getReturnValue(com.android.tools.r8.graph.ProgramMethod):928:940 -> c
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods -> com.android.tools.r8.internal.X2:
    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>():20:20 -> <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):31:34 -> <init>
    1:18:void initializeUnoptimizableMethodStates(java.util.Collection):41:58 -> a
    19:19:void disableArgumentPropagationForMethod(com.android.tools.r8.graph.ProgramMethod):62:62 -> a
    1:3:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):66:66 -> b
    1:3:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):47 -> b
    4:4:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":21,"2":22,"3":23}}
    21:21:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):66:66 -> b
    21:21:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):47 -> b
    22:22:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):66:66 -> b
    22:22:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):47 -> b
    23:23:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):66:66 -> b
    23:23:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):47 -> b
    5:10:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):69:74 -> b
    5:10:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):47 -> b
    11:11:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.ProgramMethod):105:105 -> b
    11:11:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):74 -> b
    11:11:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):47 -> b
    12:12:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):74:74 -> b
    12:12:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):47 -> b
    13:13:boolean com.android.tools.r8.shaking.KeepMethodInfo.isArgumentPropagationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):50:50 -> b
    13:13:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):74 -> b
    13:13:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):47 -> b
    14:15:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):48:49 -> b
    16:16:boolean com.android.tools.r8.graph.DexClass.isFinal():656:656 -> b
    16:16:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):49 -> b
    17:20:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):50:53 -> b
com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomArrayTypeParameterState -> com.android.tools.r8.internal.z5:
    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.A5:
    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.C5:
    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() -> g
    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.D5:
    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.H5:
    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.I5:
    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.yc:
    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
    10: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):103:105 -> a
    13:13:boolean com.android.tools.r8.ir.analysis.type.Nullability.isUnknown():53:53 -> 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):105 -> a
    14:14:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    14:14: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
    15: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):108:109 -> a
    17:17:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> 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):110 -> 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.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.Bc:
    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
    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.Dc:
    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() -> e
    boolean isConcrete() -> f
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState -> com.android.tools.r8.internal.Ec:
    java.util.List parameterStates -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():16:16 -> <clinit>
    1:3:void <init>(java.util.List):21:23 -> <init>
    4:7:void <init>(java.util.List):22:25 -> <init>
    1:1:boolean lambda$new$0(com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):23:23 -> 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):23 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState getParameterState(int):29:29 -> a
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():42:42 -> a
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableCopy():16 -> a
    5:5:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():107:107 -> a
    5:5:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():42 -> a
    5:5:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableCopy():16 -> a
    6:6:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():42:42 -> a
    6:6:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableCopy():16 -> a
    7:7:java.util.List com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.getParameterStates():33:33 -> a
    7:7:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():43 -> a
    7:7:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableCopy():16 -> a
    8:11:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():43:46 -> a
    8:11:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableCopy():16 -> a
    12:12:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():42:42 -> a
    12:12:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():16 -> a
    13:13:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():107:107 -> a
    13:13:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():42 -> a
    13:13:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():16 -> a
    14:14:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():42:42 -> a
    14:14:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():16 -> a
    15:15:java.util.List com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.getParameterStates():33:33 -> a
    15:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():43 -> a
    15:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():16 -> a
    16:19:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():43:46 -> a
    16:19:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():16 -> a
    20:22:void setParameterState(int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):100:102 -> a
    23:23:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState.isReceiverParameter():0:0 -> a
    23:23:void setParameterState(int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):102 -> a
    24:27:void setParameterState(int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):100:103 -> a
    28:28:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():107:107 -> a
    28:28: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):54 -> a
    29:29: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):54:54 -> a
    30:30:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():107:107 -> a
    30:30: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):54 -> a
    31:31: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):55:55 -> a
    32:32:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.unknown():14:14 -> 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):56 -> 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):55:55 -> a
    34:34:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():107:107 -> 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):60 -> 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):60:60 -> a
    36:36:int com.android.tools.r8.graph.DexMethodSignature.getArity():29:29 -> 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):60 -> a
    37:37:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> a
    37:37:int com.android.tools.r8.graph.DexMethodSignature.getArity():29 -> 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):60 -> 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):61:61 -> a
    39:39:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():107:107 -> 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):61 -> a
    40:40:int com.android.tools.r8.graph.DexMethodSignature.getArity():29:29 -> 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):61 -> a
    41:41:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> a
    41:41:int com.android.tools.r8.graph.DexMethodSignature.getArity():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):61 -> a
    42: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):61:66 -> a
    48:48:com.android.tools.r8.utils.Action com.android.tools.r8.utils.Action.empty():13:13 -> a
    48:48: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
    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):66 -> a
    49:49: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
    49:49: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):66 -> a
    50:50: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):65:65 -> a
    51:51:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():107:107 -> a
    51:51: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):70 -> a
    52:53: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):71:72 -> a
    54:54:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexMethodSignature.getParameter(int):33:33 -> a
    54: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):73 -> a
    55: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):74:76 -> a
    58:58:com.android.tools.r8.utils.Action com.android.tools.r8.utils.Action.empty():13:13 -> a
    58:58: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
    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):76 -> a
    59:59: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
    59:59: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):76 -> a
    60: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):74:78 -> a
    65:65:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState.isReceiverParameter():0:0 -> 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):78 -> a
    66:70: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:81 -> a
    71:71:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.unknown():14:14 -> a
    71: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):81 -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState asMonomorphic() -> b
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom asMonomorphicOrBottom() -> g
    1:1:java.util.List getParameterStates():33:33 -> k
    1:1:boolean isEffectivelyUnknown():37:37 -> l
    1:1:int size():107:107 -> m
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom -> com.android.tools.r8.internal.Fc:
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown -> com.android.tools.r8.internal.Gc:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableCopy() -> a
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState -> com.android.tools.r8.internal.Ic:
    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.Jc:
    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: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):165:167 -> a
    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.Kc:
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown -> com.android.tools.r8.internal.Lc:
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState -> com.android.tools.r8.internal.Nc:
    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.Oc:
    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.Qc:
    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.iE:
    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.jE:
    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.qE:
    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
    boolean isBottom() -> d
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState asConcrete() -> e
    boolean isConcrete() -> f
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom asMonomorphicOrBottom() -> g
    boolean isMonomorphic() -> 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.rE:
    1:1:void <init>():7:7 -> <init>
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState asMonomorphic() -> b
    boolean isPolymorphic() -> c
    boolean isBottom() -> d
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState asConcrete() -> e
    boolean isConcrete() -> f
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom asMonomorphicOrBottom() -> g
    boolean isMonomorphic() -> 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.OG:
    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.TK:
    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.vV:
    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.tV:
    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.uV:
    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.YZ:
    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.ZZ:
    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.C10:
    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():506:506 -> a
    9:9:void com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis.promoteToFinalIfPossible(com.android.tools.r8.graph.DexProgramClass):211 -> a
    9:9:void forEachSubClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):132 -> a
    10:14:void com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis.promoteToFinalIfPossible(com.android.tools.r8.graph.DexProgramClass):211:215 -> a
    10:14:void forEachSubClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):132 -> a
    15:15:void forEachSubClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):134:134 -> a
    16:18:void lambda$computeVirtualRootMethodsState$2(java.util.Map,com.android.tools.r8.graph.DexProgramClass):150:152 -> a
    19:21: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
    22:22:com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod lambda$computeVirtualRootMethodsState$0(com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod):155:155 -> a
    23:27:void lambda$computeVirtualRootMethodsState$3(java.util.Map,com.android.tools.r8.graph.ProgramMethod):159:163 -> a
    28:28:void com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod.<init>(com.android.tools.r8.graph.ProgramMethod):44:44 -> a
    28:28:void lambda$computeVirtualRootMethodsState$3(java.util.Map,com.android.tools.r8.graph.ProgramMethod):163 -> a
    29:29:void lambda$computeVirtualRootMethodsState$3(java.util.Map,com.android.tools.r8.graph.ProgramMethod):163:163 -> a
    30:32:void lambda$prune$6(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):177:179 -> a
    33:33:boolean com.android.tools.r8.graph.DexClassAndMethod.isStructurallyEqualTo(com.android.tools.r8.graph.DexClassAndMethod):41:41 -> a
    33:33:void lambda$prune$6(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):179 -> a
    34:53:void lambda$prune$6(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):183:202 -> a
    54:56:void lambda$prune$4(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):195:195 -> a
    57:57:void promoteToFinalIfPossible(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod):220:220 -> a
    58:58:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> a
    58:58:void promoteToFinalIfPossible(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod):220 -> a
    59:64: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
    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:java.util.Map computeVirtualRootMethodsState(com.android.tools.r8.graph.DexProgramClass):157:157 -> l
    5:5:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> l
    5:5: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.B10:
    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.eH:
    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.cH:
    1:1:void <init>():188:188 -> <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.dH:
    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:7:void insertNullCheckForInvokeReceiverIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):73:79 -> a
    8:8:boolean com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo.isRemovedArgumentInfo():0:0 -> a
    8:8: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
    9:25:void insertNullCheckForInvokeReceiverIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):80:96 -> a
    26:46:void processWorklist():101:121 -> a
    47:55:boolean com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter$NullCheckInserterImpl.isReadOfEffectivelyUnreadField(com.android.tools.r8.ir.code.Value):152:160 -> a
    47:55:void processWorklist():122 -> a
    56:63:boolean com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter$NullCheckInserterImpl.isReadOfEffectivelyUnreadField(com.android.tools.r8.ir.code.Instruction):175:182 -> a
    56:63:boolean com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter$NullCheckInserterImpl.isReadOfEffectivelyUnreadField(com.android.tools.r8.ir.code.Value):160 -> a
    56:63:void processWorklist():122 -> a
    64:67:boolean com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter$NullCheckInserterImpl.isReadOfEffectivelyUnreadField(com.android.tools.r8.ir.code.Value):167:170 -> a
    64:67:void processWorklist():122 -> a
    68:75:boolean com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter$NullCheckInserterImpl.isReadOfEffectivelyUnreadField(com.android.tools.r8.ir.code.Instruction):175:182 -> a
    68:75:boolean com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter$NullCheckInserterImpl.isReadOfEffectivelyUnreadField(com.android.tools.r8.ir.code.Value):170 -> a
    68:75:void processWorklist():122 -> a
    76:82:void processWorklist():126:132 -> a
    83:91:void processWorklist():131:139 -> a
    92:92:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlockIterator.previousUntil(java.util.function.Predicate):68:68 -> a
    92:92:void processWorklist():139 -> a
    93:99:void processWorklist():140:146 -> a
com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator -> com.android.tools.r8.internal.yo:
    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:52:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):135:139 -> a
    53:53:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> a
    53:53:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):139 -> a
    54:54:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):139:139 -> a
    55:55:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    55:55:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):142 -> a
    56:61:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):143:148 -> a
    62:62:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.unknown():19:19 -> a
    62:62:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):148 -> a
    63:63:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):148:148 -> 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.wo:
    java.util.Map nodes -> a
    com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator this$0 -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():152:152 -> <clinit>
    1:1:void <init>(com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator,java.lang.Iterable):156:156 -> <init>
    2:5:void <init>(com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator,java.lang.Iterable):154:157 -> <init>
    1:1:void forEachNeighbor(java.lang.Object,java.util.function.Consumer):152:152 -> 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):162:163 -> a
    2:3:void forEachNeighbor(java.lang.Object,java.util.function.Consumer):152 -> a
    4:4:void forEachNode(java.util.function.Consumer):168:168 -> a
    5:5:void lambda$forEachNode$0(java.util.function.Consumer,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):168:168 -> a
    6:6:void add(com.android.tools.r8.graph.DexProgramClass):172:172 -> a
    7:7:void add(com.android.tools.r8.graph.ProgramMethod):176:176 -> 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):176 -> 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):176 -> a
    10:18:void add(com.android.tools.r8.graph.ProgramMethod):179:187 -> 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):199:199 -> a
    19:19:void add(com.android.tools.r8.graph.ProgramMethod):188 -> 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):199 -> a
    20:20:void add(com.android.tools.r8.graph.ProgramMethod):188 -> 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):203:212 -> a
    21:30:void add(com.android.tools.r8.graph.ProgramMethod):188 -> 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):269:271 -> 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):213 -> a
    31:33:void add(com.android.tools.r8.graph.ProgramMethod):188 -> 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):270:270 -> 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):213 -> a
    34:34:void add(com.android.tools.r8.graph.ProgramMethod):188 -> 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):218:220 -> a
    35:37:void add(com.android.tools.r8.graph.ProgramMethod):188 -> 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):280:280 -> 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):224 -> a
    38:38:void add(com.android.tools.r8.graph.ProgramMethod):188 -> 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):280 -> 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):224 -> a
    39:39:void add(com.android.tools.r8.graph.ProgramMethod):188 -> 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):280 -> 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):224 -> a
    40:40:void add(com.android.tools.r8.graph.ProgramMethod):188 -> 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):225:233 -> a
    41:49:void add(com.android.tools.r8.graph.ProgramMethod):188 -> 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):234 -> a
    50:50:void add(com.android.tools.r8.graph.ProgramMethod):188 -> 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):234:239 -> a
    51:56:void add(com.android.tools.r8.graph.ProgramMethod):188 -> 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):239 -> a
    57:57:void add(com.android.tools.r8.graph.ProgramMethod):188 -> 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):239:245 -> a
    58:64:void add(com.android.tools.r8.graph.ProgramMethod):188 -> 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):242:249 -> a
    65:72:void add(com.android.tools.r8.graph.ProgramMethod):188 -> 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):249 -> a
    73:73:void add(com.android.tools.r8.graph.ProgramMethod):188 -> 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):250:251 -> a
    74:75:void add(com.android.tools.r8.graph.ProgramMethod):188 -> 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):257:260 -> 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):259:259 -> 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):264:265 -> a
com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode -> com.android.tools.r8.internal.xo:
    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>():284:284 -> <clinit>
    1:1:void <init>(com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,int,com.android.tools.r8.graph.DexType):296:296 -> <init>
    2:11:void <init>(com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,int,com.android.tools.r8.graph.DexType):290:299 -> <init>
    1:2:void addPredecessor(com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode):303:304 -> a
    3:6:void clearPredecessors():308:311 -> 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):338:344 -> 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):340:348 -> a
    23:23:void setState(com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):359:359 -> a
    1:1:java.util.Set getPredecessors():315:315 -> b
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState getState():319:319 -> c
    1:1:java.util.Set getSuccessors():323:323 -> d
    1:1:boolean hasSuccessors():327:327 -> e
    1:1:boolean isPending():331:331 -> f
    1:1:void setPending():354:354 -> g
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode.isPending():331:331 -> g
    2:2:void setPending():354 -> g
    3:4:void setPending():354:355 -> g
    1:2:void unsetPending():363:364 -> h
com.android.tools.r8.optimize.argumentpropagation.propagation.InterfaceMethodArgumentPropagator -> com.android.tools.r8.internal.lt:
    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):786:786 -> 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:52: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:159 -> a
    53:86: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):167:200 -> a
    87: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):176:206 -> a
    118:118:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.getKey(com.android.tools.r8.graph.ProgramMethod):30:30 -> a
    118:118:java.lang.Object com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.getKey(com.android.tools.r8.graph.ProgramMethod):14 -> 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 -> 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):206 -> a
    119:119: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
    119:119: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
    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):206 -> 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):206:206 -> a
    121:121:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isPolymorphic():0:0 -> a
    121:121: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):206 -> a
    122:124: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):208:210 -> a
    125:139: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):180:194 -> a
    140: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):193:195 -> a
    143:143: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:192 -> a
    144:144:boolean lambda$transformInterfaceMethodStateForClassMethod$5(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.lang.Boolean):189:189 -> 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):218:218 -> 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:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature computeInterfaceState(com.android.tools.r8.graph.DexProgramClass):104:104 -> l
    5:5:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> l
    5:5:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature computeInterfaceState(com.android.tools.r8.graph.DexProgramClass):104 -> l
    6:6: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.PD:
    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.m10:
    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:74: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
    73:74:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    75:75:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> a
    75:75: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
    75:75: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
    75: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):284 -> a
    75: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.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.remove(com.android.tools.r8.graph.ProgramMethod):108: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: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
    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:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.getKey(com.android.tools.r8.graph.ProgramMethod):30:30 -> a
    78:78:java.lang.Object com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.getKey(com.android.tools.r8.graph.ProgramMethod):14 -> a
    78:78: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
    78:78: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
    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 -> 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.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96: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:84: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
    80:84:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    85:85: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
    85:85: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
    85: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):297 -> a
    85: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.access$1100(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):36: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:92: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:154 -> a
    87:92: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
    87:92: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:92:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    93:93: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
    93:93: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
    93:93: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
    93:93: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
    93:93:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    94: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):156:156 -> a
    94: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
    94: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
    94: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.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.computeMethodStateForPolymorhicMethod(com.android.tools.r8.graph.ProgramMethod):155:155 -> 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: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
    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:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> 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):298 -> 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: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:299 -> a
    98:99: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 computePropagationState(com.android.tools.r8.graph.DexProgramClass):255:255 -> l
com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState -> com.android.tools.r8.internal.l10:
    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):682:682 -> 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):687:689 -> 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):682 -> 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.C1:
    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.J1:
    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.W2:
    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:12:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):63:68 -> a
    13:14: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
    13:14:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):71 -> a
    15:15:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria$Builder com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria.builder():26:26 -> a
    15:15: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
    15:15:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):71 -> a
    16: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):96:100 -> a
    16:20:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):71 -> a
    21:21:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    21:21: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
    21:21:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):71 -> a
    22:65: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
    22:65:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):71 -> a
    66:100: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
    66:100:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):71 -> a
    101:101:boolean com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria.isAlwaysReprocess():0:0 -> a
    101:101:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):72 -> a
    102:102:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):73:73 -> a
    103:115:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):70:82 -> a
    116:116: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.oE:
    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.VG:
    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
    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: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: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
    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.SK:
    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.RK:
    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.rh:
    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>():67:67 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):82:82 -> <init>
    2:12:void <init>(com.android.tools.r8.graph.AppView):73:83 -> <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):88:90 -> 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):90 -> a
    5:5:void initializeOptimizableVirtualMethods(java.util.Set):99:99 -> a
    6:6:void lambda$initializeOptimizableVirtualMethods$0(java.util.Map,com.android.tools.r8.graph.ProgramMethod):94:94 -> a
    7:9:void lambda$initializeOptimizableVirtualMethods$0(java.util.Map,com.android.tools.r8.graph.ProgramMethod):93:95 -> a
    10:10:void lambda$initializeOptimizableVirtualMethods$1(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):101:101 -> a
    11:11:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.utils.collections.DexClassAndMethodSetBase.getFirst():50:50 -> a
    11:11:void lambda$initializeOptimizableVirtualMethods$1(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):102 -> a
    12:14:void lambda$initializeOptimizableVirtualMethods$1(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):102:104 -> a
    15:37:java.util.Set computeEffectivelyUnusedConstraints(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.code.Value):133:155 -> a
    38:42:boolean com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsAnalysis.isUnoptimizable(com.android.tools.r8.graph.ProgramMethod):210:214 -> a
    38:42:java.util.Set computeEffectivelyUnusedConstraints(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.code.Value):156 -> a
    43:50:java.util.Set computeEffectivelyUnusedConstraints(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.code.Value):160:167 -> a
    51: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):166:166 -> a
    52:53:void computeEffectivelyUnusedArguments(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):178:179 -> a
    54:64:void com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph.removeUnoptimizableNodes():170:180 -> a
    54:64:void computeEffectivelyUnusedArguments(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):183 -> a
    65:65:void computeEffectivelyUnusedArguments(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):188:188 -> a
    66:66:boolean com.android.tools.r8.utils.WorkList.isEmpty():112:112 -> a
    66:66:void computeEffectivelyUnusedArguments(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):189 -> a
    67:67:boolean com.android.tools.r8.utils.WorkList.isEmpty():112:112 -> a
    67:67:void computeEffectivelyUnusedArguments(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):190 -> a
    68:82:void computeEffectivelyUnusedArguments(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):191:205 -> a
    83:87:boolean com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsAnalysis.isUnoptimizable(com.android.tools.r8.graph.ProgramMethod):210:214 -> a
    83:87:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):113 -> a
    88:98:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):116:126 -> a
    99:101:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):222:224 -> a
com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph -> com.android.tools.r8.internal.sh:
    java.util.Map nodes -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():29:29 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):35:35 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.AppView):33:36 -> <init>
    1:2:com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph create(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):43:44 -> a
    3:3:void lambda$create$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph,java.util.Map,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,java.util.Set):46:46 -> a
    4:5: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):99:100 -> a
    4:5:void lambda$create$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph,java.util.Map,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,java.util.Set):46 -> a
    6:6:void lambda$create$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph,java.util.Map,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,java.util.Set):47:47 -> a
    7:11: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,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):59:63 -> a
    7:11:void lambda$create$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph,java.util.Map,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,java.util.Set):48 -> a
    12:40: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,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):62:90 -> a
    12:40:void lambda$create$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph,java.util.Map,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,java.util.Set):48 -> a
    41:41:java.util.Collection getNodes():95:95 -> 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):105:105 -> 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):106:106 -> a
    44:54:void removeClosedCycles(java.util.function.Consumer):119:129 -> a
    55:55:boolean com.android.tools.r8.utils.dfs.DFSWorklistItem.isFullyVisited():0:0 -> a
    55:55:void removeClosedCycles(java.util.function.Consumer):130 -> a
    56:60:void removeClosedCycles(java.util.function.Consumer):133:137 -> 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):139:155 -> a
    78:78:boolean lambda$removeClosedCycles$2(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):143:143 -> a
    1:6:void remove(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):110:115 -> b
    1:3:boolean verifyContains(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):164:166 -> c
com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode -> com.android.tools.r8.internal.th:
    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>():18:18 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.ProgramMethod,int):28:28 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.ProgramMethod,int):23:30 -> <init>
    1:4:void addSuccessor(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):34:37 -> a
    5:9:void com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode.clearSuccessors():47:51 -> a
    5:9:void cleanForRemoval():42 -> a
    10:14:void com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode.clearPredecessors():55:59 -> a
    10:14:void cleanForRemoval():43 -> a
    15:30:boolean isNullable(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):79:94 -> a
    31:31:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    31:31:boolean isNullable(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):94 -> a
    32:34:boolean isNullable(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):97:99 -> a
    35:35:void lambda$setUnused$1(java.util.BitSet):130:130 -> a
    1:1:int getArgumentIndex():63:63 -> b
    2:2:boolean lambda$removeUnusedSuccessors$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):114:114 -> b
    3:4:boolean com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode.isUnused():107:108 -> b
    3:4:boolean lambda$removeUnusedSuccessors$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):114 -> b
    5:6:boolean lambda$removeUnusedSuccessors$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):115:116 -> b
    1:1:com.android.tools.r8.graph.ProgramMethod getMethod():67:67 -> c
    1:1:java.util.Set getPredecessors():71:71 -> d
    1:1:java.util.Set getSuccessors():75:75 -> e
    1:1:boolean isUnoptimizable():103:103 -> f
    1:1:void removeUnusedSuccessors():112:112 -> g
    1:1:void setUnoptimizable():124:124 -> h
    1:7:void setUnused():128:134 -> i
com.android.tools.r8.optimize.argumentpropagation.utils.BidirectedGraph -> com.android.tools.r8.internal.H4:
    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.Ve:
    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.Ue:
    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.QK:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():13:13 -> <clinit>
    1:10:boolean canRemoveUnusedParametersFrom(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):17:26 -> a
    11:22:boolean canRemoveUnusedParameter(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,int):31:42 -> a
com.android.tools.r8.optimize.argumentpropagation.utils.ProgramClassesBidirectedGraph -> com.android.tools.r8.internal.mM:
    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.optimize.argumentpropagation.utils.ProgramClassesBidirectedGraph.forEachNeighbor(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):28:28 -> a
    4:4:void forEachNeighbor(java.lang.Object,java.util.function.Consumer):13 -> a
    5:5:void forEachNode(java.util.function.Consumer):33:33 -> a
com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils -> com.android.tools.r8.internal.N10:
    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
    22:23: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
    24:24: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
    24: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):64 -> a
    25:29: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
    25:29: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
    25:29: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
    30:30:boolean com.android.tools.r8.graph.DexClass.isFinal():656:656 -> a
    30:30:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):97 -> a
    30: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
    30: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:33: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
    31:33: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:33: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
    34:34: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
    34: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
    34: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:com.android.tools.r8.ir.analysis.type.NotNullDynamicType com.android.tools.r8.ir.analysis.type.DynamicType.definitelyNotNull():87: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):65 -> a
    36:40: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
    41:45: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
    41:45: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
    46:46:boolean com.android.tools.r8.graph.DexClass.isFinal():656:656 -> a
    46:46:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):97 -> a
    46: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:49: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
    47:49: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
    50:50: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
    50: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: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.O5:
    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():1635:1635 -> 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():440:440 -> 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
    117:117:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):220 -> a
    118:130:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):226:238 -> a
    131:133: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
    131:133:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    134:155: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
    134:155: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
    134:155:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    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):172:172 -> a
    156: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):331 -> a
    156: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
    156:156:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    157: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):303:304 -> a
    157:158:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    159:163: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
    159:163: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
    159:163:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    164:164:boolean com.android.tools.r8.code.Instruction.isInvokeVirtual():0:0 -> a
    164:164: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
    164:164: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
    164:164:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    165:171: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
    165:171: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
    165:171:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    172:172:boolean com.android.tools.r8.code.Instruction.isInvokeVirtualRange():0:0 -> a
    172:172: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
    172:172: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
    172:172:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    173:192: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
    173:192: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
    173:192:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    193:208:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239:254 -> a
    209:218:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):251:260 -> a
    219:219: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
    219:219:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    220:220: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":222,"2":223,"3":224}}
    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: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
    223:223: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
    221:221: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
    221:221:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    225:225: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.P5:
    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):43:43 -> a
    2:2:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):53:53 -> a
    3:3:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):61:61 -> a
    4:4:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):332:332 -> a
    4:4:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):61 -> a
    com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult) -> b
    1:2:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):31:32 -> b
    3:3:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):48:48 -> b
    1:3:com.android.tools.r8.graph.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):68:70 -> 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():80:80 -> e
    1:1:boolean isContextFreeForMethods():75:75 -> g
com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingResult -> com.android.tools.r8.internal.Q5:
    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:7:void move(java.lang.Iterable,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):48:49 -> a
    8:8:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeKeyOrDefault(java.lang.Object,java.lang.Object):22:22 -> a
    8:8:void move(java.lang.Iterable,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):49 -> a
    9:9:void move(java.lang.Iterable,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):49:49 -> a
    10:10:java.util.LinkedHashSet com.android.tools.r8.com.google.common.collect.Sets.newLinkedHashSet():305:305 -> a
    10:10:void move(java.lang.Iterable,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):50 -> a
    11:21:void move(java.lang.Iterable,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):51:61 -> a
    22:26:void recordNonReboundMethodAccesses(com.android.tools.r8.graph.MethodAccessInfoCollection$IdentityBuilder):66:70 -> a
    27:32: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
    33:33: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
    34:34:com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingLens buildLens():86:86 -> a
    35:35:boolean com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingResult.isEmpty():44:44 -> a
    35:35:com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingLens buildLens():86 -> a
    36:37: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.org.objectweb.asm.AnnotationVisitor -> com.android.tools.r8.internal.a2:
    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.b2:
    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.R3:
    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.Q3:
    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.a6:
    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.Ea:
    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:1561: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
    1558:1561:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2710 -> a
    1558: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 com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2710:2710 -> a
    1562:1562:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1901 -> a
    1563:1563:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1902:1902 -> a
    1564:1564:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2709:2709 -> a
    1564:1564:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1903 -> a
    1565:1568: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
    1565:1568:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2710 -> a
    1565:1568:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1903 -> a
    1569:1569:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2710:2710 -> a
    1569:1569:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1903 -> a
    1570:1582:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1908:1920 -> a
    1583:1583:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2709:2709 -> a
    1583:1583:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1922 -> a
    1584:1587: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
    1584:1587:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2710 -> a
    1584:1587:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1922 -> a
    1588:1588:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2710:2710 -> a
    1588:1588:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1922 -> a
    1589:1658:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1923:1992 -> a
    1659:1666:void com.android.tools.r8.org.objectweb.asm.ClassReader.computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3198:3205 -> a
    1659:1666:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1994 -> a
    1667:1667:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    1667:1667:void com.android.tools.r8.org.objectweb.asm.ClassReader.computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3205 -> a
    1667:1667:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1994 -> a
    1668:1716:void com.android.tools.r8.org.objectweb.asm.ClassReader.computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3205:3253 -> a
    1668:1716:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1994 -> a
    1717:1735:void com.android.tools.r8.org.objectweb.asm.ClassReader.computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3231:3249 -> a
    1717:1735:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1994 -> a
    1736:1736:void com.android.tools.r8.org.objectweb.asm.ClassReader.computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3225:3225 -> a
    1736:1736:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1994 -> a
    1737:1743:void com.android.tools.r8.org.objectweb.asm.ClassReader.computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3222:3228 -> a
    1737:1743:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1994 -> a
    1744:1744:void com.android.tools.r8.org.objectweb.asm.ClassReader.computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3219:3219 -> a
    1744:1744:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1994 -> a
    1745:1816:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2004:2075 -> a
    1817:1817:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2068:2068 -> a
    1818:1893:int com.android.tools.r8.org.objectweb.asm.ClassReader.readStackMapFrame(int,boolean,boolean,com.android.tools.r8.org.objectweb.asm.Context):3279:3354 -> a
    1818:1893:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2088 -> a
    1894:1894:int com.android.tools.r8.org.objectweb.asm.ClassReader.readStackMapFrame(int,boolean,boolean,com.android.tools.r8.org.objectweb.asm.Context):3351:3351 -> a
    1894:1894:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2088 -> a
    1895:2295:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2097:2497 -> a
    2296:2296:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2344:2344 -> a
    2297:2297:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2343:2343 -> a
    2298:2309:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2322:2333 -> a
    2310:2310:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2325:2325 -> a
    2311:2311:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2290:2290 -> a
    2312:2312:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2288:2288 -> a
    2313:2313:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    2313:2313:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2493 -> a
    2314:2314:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2493:2493 -> a
    2315:2315:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2492:2492 -> a
    2316:2319:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2352:2355 -> a
    2320:2324:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2354:2358 -> a
    2325:2325:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    2325:2325:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2483 -> a
    2326:2326:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2483:2483 -> a
    2327:2342:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2459:2474 -> a
    2343:2344:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2438:2439 -> a
    2345:2345:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    2345:2345:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2440 -> a
    2346:2353:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2441:2448 -> a
    2354:2364:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2384:2394 -> a
    2365:2374:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2367:2376 -> a
    2375:2375:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2283:2283 -> a
    2376:2581:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2282:2487 -> a
    2582:2582:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2261:2261 -> a
    2583:2772:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2237:2426 -> a
    2773:2773:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2421:2421 -> a
    2774:2774:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2417:2417 -> a
    2775:2775:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2413:2413 -> a
    2776:3077:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2213:2514 -> a
    3078:3107:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2513:2542 -> a
    3108:3179:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2541:2612 -> a
    3180:3209:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2611:2640 -> a
    3210:3236:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2639:2665 -> a
    3237:3237:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1546:1546 -> a
    3238:3241: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
    3238:3241:com.android.tools.r8.org.objectweb.asm.Label createLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2695 -> a
    3242:3242:com.android.tools.r8.org.objectweb.asm.Label createLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2696:2696 -> a
    3243:3296:int[] readTypeAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2737:2790 -> a
    3297:3349:int[] readTypeAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2753:2805 -> a
    3350:3364:int[] readTypeAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2804:2818 -> a
    3365:3370:int getTypeAnnotationBytecodeOffset(int[],int):2837:2842 -> a
    3371:3429:int readTypeAnnotationTarget(com.android.tools.r8.org.objectweb.asm.Context,int):2858:2916 -> a
    3430:3477:int readTypeAnnotationTarget(com.android.tools.r8.org.objectweb.asm.Context,int):2875:2922 -> a
    3478:3495:int readElementValues(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,boolean,char[]):2986:3003 -> a
    3496:3502:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3025:3031 -> a
    3503:3656:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3029:3182 -> a
    3657:3664:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3070:3077 -> a
    3665:3688:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3074:3097 -> a
    3689:3767:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3096:3174 -> a
    3768:3768:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3173:3173 -> a
    3769:3806:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3112:3149 -> a
    3807:3827:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3136:3156 -> a
    3828:3839:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3155:3166 -> a
    3840:3844:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3165:3169 -> a
    3845:3850:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3128:3133 -> a
    3851:3856:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3104:3109 -> a
    3857:3859:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3064:3066 -> a
    3860:3860:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3062:3062 -> a
    3861:3863:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3056:3056 -> a
    3864:3864:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3052:3052 -> a
    3865:3865:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3051:3051 -> a
    3866:3868:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3043:3043 -> a
    3869:3871:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3038:3038 -> a
    3920:3920:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3087:3087 -> a
    3921:3921:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3086:3086 -> a
    3922:3954:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3379:3411 -> a
    3955:3955:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3407:3407 -> a
    3956:3956:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    3956:3956:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3403 -> a
    3957:3957:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3403:3403 -> a
    3958:3958:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3400:3400 -> a
    3959:3959:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3397:3397 -> a
    3960:3960:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3394:3394 -> a
    3961:3961:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3391:3391 -> a
    3962:3962:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3388:3388 -> a
    3963:3963:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3385:3385 -> a
    3964:3964:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3382:3382 -> a
    3965:3994:int getFirstAttributeOffset():3430:3459 -> a
    3995:4001: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
    4002:4002:int getItem(int):3562:3562 -> a
    4003:4019:java.lang.String readUtf(int,int,char[]):3691:3707 -> a
    4020:4049:java.lang.Object readConst(int,char[]):3820:3849 -> a
    4050:4066:com.android.tools.r8.org.objectweb.asm.ConstantDynamic com.android.tools.r8.org.objectweb.asm.ClassReader.readConstantDynamic(int,char[]):3785:3801 -> a
    4050:4066:java.lang.Object readConst(int,char[]):3847 -> a
    4067:4071:java.lang.Object readConst(int,char[]):3835:3839 -> a
    4072:4072:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    4072:4072:java.lang.Object readConst(int,char[]):3840 -> a
    4073:4077:java.lang.Object readConst(int,char[]):3841:3845 -> a
    4078:4078:java.lang.Object readConst(int,char[]):3833:3833 -> a
    4079:4079:java.lang.Object readConst(int,char[]):3831:3831 -> a
    4080:4080:java.lang.Object readConst(int,char[]):3829:3829 -> a
    4081:4081:java.lang.Object readConst(int,char[]):3827:3827 -> a
    4082:4082:java.lang.Object readConst(int,char[]):3825:3825 -> a
    4083:4083: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.Ja:
    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.Na:
    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.Xa:
# {"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.jd:
    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.pd:
# {"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.Jd:
    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.Nd:
    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.qh:
    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.Rj:
    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.Sj:
    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.Ik:
    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.Rl:
    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.Sl:
    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.Wz:
    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.sE:
    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.tE:
    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.uE:
    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.PE:
    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.QE:
    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.TJ:
    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.sP:
    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.tP:
    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.eX:
    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.dX:
    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.AY:
    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.zZ:
    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.AZ:
    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.Qu:
    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: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):340:345 -> c
    58:63:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    58:63:void visitEnd():155 -> c
    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":145,"2":146,"3":147,"4":148,"5":149,"6":150}}
    145:145: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
    145:145:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    145:145:void visitEnd():155 -> c
    146:146: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
    146:146:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    146:146:void visitEnd():155 -> c
    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
    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
    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):398:398 -> c
    122:122:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    122:122:void visitEnd():155 -> c
    123:123: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
    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 -> c
    123:123:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    123:123:void visitEnd():155 -> 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):400:400 -> c
    124:124:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    124:124:void visitEnd():155 -> c
    125:125: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
    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):401 -> c
    125:125:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    125:125:void visitEnd():155 -> 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):405:405 -> c
    126:126:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    126:126:void visitEnd():155 -> c
    127:135: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
    127:135:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    127:135:void visitEnd():155 -> c
    136:136: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
    136: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):411 -> c
    136:136:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    136:136:void visitEnd():155 -> 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):412:412 -> c
    137:137:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    137:137:void visitEnd():155 -> c
    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):412 -> 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):414:414 -> c
    139:139:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    139:139:void visitEnd():155 -> c
    140:142:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():315:317 -> c
    140:142:void visitEnd():155 -> c
    143:144:void visitEnd():157:158 -> c
com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation -> com.android.tools.r8.internal.Pu:
    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.OT:
    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.PT:
    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.Z1:
    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.qa:
    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.sj:
    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.Aj:
    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.Jk:
    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.wn:
    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.kp:
    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.mp:
    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 -> i
    8:8:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode get(int):94:94 -> i
    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.lp:
    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.np:
    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.Ks:
    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.bu:
    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.yv:
    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.Xz:
    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.yA:
    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.eB:
    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.VB:
    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.WB:
    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.BC:
    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.WD:
    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.aE:
    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:71:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):435:436 -> a
    72:72:int com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode.getOpcode():137:137 -> 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):436 -> a
    73:73:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode.getPrevious():154:154 -> a
    73:73:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):437 -> a
    74:80: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
    81:83: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
    84:87: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
    88:88: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
    89:92: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
    89:92: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
    93:94: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
    93: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:95: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
    95:95: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
    96:100: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
    101:103:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):660:662 -> a
    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:197:void com.android.tools.r8.org.objectweb.asm.tree.TryCatchBlockNode.updateIndex(int):89:96 -> a
    190: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:209:void com.android.tools.r8.org.objectweb.asm.tree.LocalVariableNode.accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):89:89 -> a
    207:209:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):755 -> a
    210:223: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.ZD:
    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.KE:
    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.LE:
    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.ME:
    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.NE:
    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.OE:
    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.ZE:
    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.PK:
    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.rP:
    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.wX:
    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.yY:
    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.uZ:
    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.yZ:
    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.x00:
    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.O00:
    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.L1:
    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":1021,"2":1022,"3":1023,"4":1024,"5":1025}}
    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):295:295 -> 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):295:295 -> 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):295:295 -> 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):295:295 -> a
    1025:1025: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":1026,"2":1027,"3":1028,"4":1029,"5":1030}}
    1026:1026: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
    1027:1027: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
    1028:1028: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
    1029:1029: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
    1030:1030: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:1020:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):292:300 -> a
    1031:1093:void findSubroutine(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine,java.util.List):385:447 -> a
    1094:1094:void findSubroutine(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine,java.util.List):391:391 -> a
    1095:1095:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] getFrames():498:498 -> a
    1096:1096: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
    1097:1097: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
    1097:1097: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
    1098:1116: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
    1117:1120: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
    1121:1121: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
    1121:1121: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
    1122:1133: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.M1:
    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.B4:
    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.C4:
    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.Hk:
# {"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.Nt:
    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.LW:
    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.C00:
# {"id":"sourceFile","fileName":"Value.java"}
com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter -> com.android.tools.r8.internal.h9:
    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.m9:
    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.n9:
    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.q9:
    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.o9:
    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.p9:
    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.s9:
    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.r9:
    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.v9:
    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.hM:
    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 visitAnnotableParameterCount(int,boolean) -> 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 visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String) -> a
    void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]) -> a
    void visitIincInsn(int,int) -> a
    void visitInsn(int) -> a
    void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]) -> a
    void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label) -> a
    void visitLabel(com.android.tools.r8.org.objectweb.asm.Label) -> a
    void visitLdcInsn(java.lang.Object) -> a
    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) -> 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
    void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]) -> a
    com.android.tools.r8.org.objectweb.asm.util.Printer visitMethodAnnotation(java.lang.String,boolean) -> a
    void visitMethodAttribute(com.android.tools.r8.org.objectweb.asm.Attribute) -> a
    void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean) -> a
    void visitMultiANewArrayInsn(java.lang.String,int) -> a
    com.android.tools.r8.org.objectweb.asm.util.Printer visitParameterAnnotation(int,java.lang.String,boolean) -> a
    void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]) -> 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
    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) -> a
    void visitTypeInsn(int,java.lang.String) -> 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
    void visitIntInsn(int,int) -> b
    void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label) -> b
    void visitParameter(java.lang.String,int) -> b
    void visitMaxs(int,int) -> c
    void visitVarInsn(int,int) -> d
com.android.tools.r8.org.objectweb.asm.util.Textifier -> com.android.tools.r8.internal.xX:
    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:105:com.android.tools.r8.org.objectweb.asm.util.Textifier com.android.tools.r8.org.objectweb.asm.util.Textifier.visitAnnotableParameterCount(int,boolean):795:799 -> a
    101:105:com.android.tools.r8.org.objectweb.asm.util.Printer visitAnnotableParameterCount(int,boolean):51 -> a
    106:117: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
    106:117:com.android.tools.r8.org.objectweb.asm.util.Printer visitParameterAnnotation(int,java.lang.String,boolean):51 -> a
    118:146:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):837:865 -> a
    147:148:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):861:862 -> a
    149:149:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):858:858 -> a
    150:150:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):855:855 -> a
    151:153:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):850:852 -> a
    154:179:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):843:868 -> a
    180:182:void visitInsn(int):873:875 -> a
    183:187:void visitTypeInsn(int,java.lang.String):899:903 -> a
    188:194:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):909:915 -> a
    195:204:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):925:934 -> a
    205:226:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):943:964 -> a
    227:227:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitType(com.android.tools.r8.org.objectweb.asm.Type):671:671 -> a
    227:227:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):966 -> a
    228:239:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):968:979 -> a
    240:244:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):984:988 -> a
    245:249:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):993:997 -> a
    250:260:void visitLdcInsn(java.lang.Object):1002:1012 -> a
    261:269:void visitIincInsn(int,int):1017:1025 -> a
    270:280:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):1031:1041 -> a
    281:291:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):1046:1056 -> a
    292:296:void visitMultiANewArrayInsn(java.lang.String,int):1061:1065 -> a
    297:307: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):1077:1087 -> a
    308:319: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
    320:332: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):1115:1127 -> a
    333:345:void com.android.tools.r8.org.objectweb.asm.util.Textifier.appendJavaDeclaration(java.lang.String,java.lang.String):1346:1358 -> a
    333:345: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):1128 -> a
    346:346: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):1130:1130 -> a
    347:365: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
    366:371: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
    366:371: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
    366:371:com.android.tools.r8.org.objectweb.asm.util.Printer visitMethodAnnotation(java.lang.String,boolean):51 -> a
    372:385:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):1242:1255 -> a
    372:385:void visitMethodAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):822 -> a
    386:423:void appendHandle(com.android.tools.r8.org.objectweb.asm.Handle):1385:1422 -> a
    424:440:void appendHandle(com.android.tools.r8.org.objectweb.asm.Handle):1402:1418 -> a
    441:449:void appendHandle(com.android.tools.r8.org.objectweb.asm.Handle):1406:1414 -> a
    450:450:void appendHandle(com.android.tools.r8.org.objectweb.asm.Handle):1399:1399 -> a
    451:451:void appendHandle(com.android.tools.r8.org.objectweb.asm.Handle):1396:1396 -> a
    452:452:void appendHandle(com.android.tools.r8.org.objectweb.asm.Handle):1393:1393 -> a
    453:500:void appendHandle(com.android.tools.r8.org.objectweb.asm.Handle):1390:1437 -> a
    501:513:void appendFrameTypes(int,java.lang.Object[]):1562:1574 -> a
    1:2:void visitParameter(java.lang.String,int):769:770 -> b
    3:39:void com.android.tools.r8.org.objectweb.asm.util.Textifier.appendAccess(int):1269:1305 -> b
    3:39:void visitParameter(java.lang.String,int):771 -> b
    40:41:void visitParameter(java.lang.String,int):772:773 -> b
    42:49:void visitIntInsn(int,int):880:887 -> b
    50:54:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):1165:1169 -> b
    55:66: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
    67:67:void appendDescriptor(int,java.lang.String):1335:1335 -> b
    68:68:void appendDescriptor(int,java.lang.String):1332:1332 -> b
    69:72:void appendLabel(com.android.tools.r8.org.objectweb.asm.Label):1368:1371 -> b
    73:73:void appendLabel(com.android.tools.r8.org.objectweb.asm.Label):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1450,"2":1451,"3":1452}}
    1450:1450:void appendLabel(com.android.tools.r8.org.objectweb.asm.Label):1373:1373 -> b
    1451:1451:void appendLabel(com.android.tools.r8.org.objectweb.asm.Label):1373:1373 -> b
    1452:1452:void appendLabel(com.android.tools.r8.org.objectweb.asm.Label):1373:1373 -> b
    1446:1449:void appendLabel(com.android.tools.r8.org.objectweb.asm.Label):1373:1376 -> b
    1453:1542:void appendTypeReference(int):1459:1548 -> b
    1543:1545:void appendTypeReference(int) -> b
    1546:1548:void appendTypeReference(int):1538:1540 -> b
    1549:1551:void appendTypeReference(int):1533:1535 -> b
    1552:1554:void appendTypeReference(int):1528:1530 -> b
    1555:1555:void appendTypeReference(int):1525:1525 -> b
    1556:1556:void appendTypeReference(int):1522:1522 -> b
    1557:1557:void appendTypeReference(int):1519:1519 -> b
    1558:1558:void appendTypeReference(int):1516:1516 -> b
    1559:1559:void appendTypeReference(int):1513:1513 -> b
    1560:1560:void appendTypeReference(int):1510:1510 -> b
    1561:1561:void appendTypeReference(int):1507:1507 -> b
    1562:1562:void appendTypeReference(int):1504:1504 -> b
    1563:1563:void appendTypeReference(int):1501:1501 -> b
    1564:1566:void appendTypeReference(int):1496:1498 -> b
    1567:1567:void appendTypeReference(int):1493:1493 -> b
    1568:1568:void appendTypeReference(int):1490:1490 -> b
    1569:1569:void appendTypeReference(int):1487:1487 -> b
    1570:1574:void appendTypeReference(int):1480:1484 -> b
    1575:1579:void appendTypeReference(int):1473:1477 -> b
    1580:1580:void appendTypeReference(int):1470:1470 -> b
    1581:1583:void appendTypeReference(int):1465:1467 -> b
    1584:1584:void appendTypeReference(int):1462:1462 -> b
    1585:1585:com.android.tools.r8.org.objectweb.asm.util.Textifier com.android.tools.r8.org.objectweb.asm.util.Textifier.createTextifier():1600:1600 -> b
    1585:1585:com.android.tools.r8.org.objectweb.asm.util.Textifier addNewTextifier(java.lang.String):1586 -> b
    1586:1586:com.android.tools.r8.org.objectweb.asm.util.Textifier addNewTextifier(java.lang.String):1587:1587 -> b
    1587:1587:java.util.List com.android.tools.r8.org.objectweb.asm.util.Printer.getText():1205:1205 -> b
    1587:1587:com.android.tools.r8.org.objectweb.asm.util.Textifier addNewTextifier(java.lang.String):1587 -> b
    1588:1590: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
    5:11:void visitMaxs(int,int):1174:1180 -> c
    12:12:void maybeAppendComma(int):1449:1449 -> c
    1:3:void visitVarInsn(int,int):892:894 -> d
com.android.tools.r8.org.objectweb.asm.util.TraceAnnotationVisitor -> com.android.tools.r8.internal.cY:
    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.dY:
    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:5:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):92:93 -> a
    6:7:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotationDefault():98:99 -> a
    8:9:void visitAnnotableParameterCount(int,boolean):104:105 -> a
    10:12:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int,java.lang.String,boolean):111:113 -> a
    13:14:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):129:130 -> a
    15:16:void visitInsn(int):135:136 -> a
    17:18:void visitTypeInsn(int,java.lang.String):153:154 -> a
    19:20:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):160:161 -> a
    21:29:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):173:181 -> a
    30:30:void com.android.tools.r8.org.objectweb.asm.util.Printer.visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String):965:965 -> a
    30:30:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):181 -> a
    31:42:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):175:186 -> a
    43:44:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):196:197 -> a
    45:46:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):202:203 -> a
    47:48:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):208:209 -> a
    49:50:void visitLdcInsn(java.lang.Object):214:215 -> a
    51:52:void visitIincInsn(int,int):220:221 -> a
    53:54:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):227:228 -> a
    55:56:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):233:234 -> a
    57:58:void visitMultiANewArrayInsn(java.lang.String,int):239:240 -> a
    59:59: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
    60:60: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
    60:60:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):246 -> a
    61:62: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
    63:64: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:255 -> a
    65:66: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:275 -> a
    67: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):287:290 -> a
    1:2:void visitParameter(java.lang.String,int):71:72 -> b
    3:4:void visitCode():118:119 -> b
    5:6:void visitIntInsn(int,int):141:142 -> b
    7:9: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
    10:11:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):297: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
    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:6:void visitMaxs(int,int):303:304 -> c
    7:8:void visitEnd():309:310 -> c
    1:2:void visitVarInsn(int,int):147:148 -> d
com.android.tools.r8.org.objectweb.asm.util.TraceSignatureVisitor -> com.android.tools.r8.internal.gY:
    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 -> c
    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 -> c
    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 -> c
    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.MR:
    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):738:738 -> 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():1220:1220 -> 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.GR:
    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.HR:
    1:1:void <init>(com.android.tools.r8.graph.AppView):109:109 -> <init>
    boolean isLegitimateToHaveEmptyMappings() -> m
com.android.tools.r8.repackaging.Repackaging$DefaultRepackagingConfiguration -> com.android.tools.r8.internal.IR:
    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():1228:1228 -> 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():1232:1232 -> 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():1224:1224 -> 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():1228:1228 -> 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():1232:1232 -> 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():1224:1224 -> 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.JR:
com.android.tools.r8.repackaging.Repackaging$RepackagingTreeFixer -> com.android.tools.r8.internal.KR:
    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
    3:3:void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):186:186 -> a
    4:4:void com.android.tools.r8.repackaging.RepackagingLens$Builder.recordMove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):96:96 -> a
    4:4:void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):186 -> a
    5:5:void recordClassChange(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):191:191 -> a
    6:6:void com.android.tools.r8.repackaging.RepackagingLens$Builder.recordMove(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):100:100 -> a
    6:6: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.NR:
    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
    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:107:void traceDexValue(com.android.tools.r8.graph.DexValue):86:87 -> a
    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.PR:
    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
    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:15:boolean com.android.tools.r8.graph.DexDefinition.isNotProgramDefinition(com.android.tools.r8.graph.AppView):141:145 -> b
    11: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.OR:
    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.RR:
    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.QR:
    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.SR:
    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:57:boolean com.android.tools.r8.repackaging.RepackagingUseRegistry.isOnlyAccessibleFromSamePackage(com.android.tools.r8.graph.SuccessfulMemberResolutionResult,boolean):77:84 -> a
    50:57:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):151 -> a
    58:58:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> 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:3:boolean doEquivalent(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):488:488 -> a
    4:4:boolean testNotEqualProperty(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy,java.util.function.Function,java.util.function.Function):605:605 -> a
    4:4:boolean doEquivalent(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):488 -> a
    5:5:boolean doEquivalent(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):488:488 -> a
    6:6:boolean testNotEqualProperty(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy,java.util.function.Function,java.util.function.Function):605:605 -> a
    6:6:boolean doEquivalent(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):493 -> a
    7:10:boolean doEquivalent(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):500:503 -> a
    11:11:boolean testNotEqualProperty(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy,java.util.function.Function,java.util.function.Function):605:605 -> a
    11:11:boolean doEquivalent(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):503 -> a
    12:66:boolean doEquivalent(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):511:565 -> a
    67:68:boolean compareRetracedTypeReference(com.android.tools.r8.retrace.RetracedTypeReference,com.android.tools.r8.retrace.RetracedTypeReference):591:592 -> a
    67:68:boolean doEquivalent(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):566 -> a
    69:80:boolean doEquivalent(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):570:581 -> 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):580 -> a
    83:83:java.lang.String lambda$doEquivalent$0(com.android.tools.r8.retrace.RetraceStackTraceElementProxy):492:492 -> 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.Ke:
# {"id":"sourceFile","fileName":"Definition.java"}
com.android.tools.r8.retrace.internal.DirectClassNameMapperProguardMapProducer -> com.android.tools.r8.internal.Tg:
    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.qj:
    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.oj:
    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.pj:
    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.VD:
    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.TD:
    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.UD:
    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.iS:
    1:1:void <init>():7:7 -> <init>
com.android.tools.r8.retrace.internal.RetraceClassResultImpl -> com.android.tools.r8.internal.lS:
    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.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:30 -> a
    3:3: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
    3:3: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
    4:4: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
    5:5:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl lookupField(java.lang.String):50:50 -> a
    6:6: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
    6:6:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl lookupField(java.lang.String):50 -> a
    7:7:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl lookupField(java.lang.String):50:50 -> a
    8:8:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl lookupField(com.android.tools.r8.retrace.internal.FieldDefinition):73:73 -> a
    9:10:java.util.List lambda$lookupField$0(com.android.tools.r8.naming.ClassNamingForNameMapper,java.lang.String):76:77 -> a
    11:11:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl lookupMethod(com.android.tools.r8.retrace.internal.MethodDefinition):86:86 -> a
    12:12: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
    13:18:com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.createElement():165:170 -> a
    13:18:java.util.stream.Stream com.android.tools.r8.retrace.internal.RetraceClassResultImpl.internalStream():161 -> a
    13: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:19:com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.createElement():167:167 -> a
    19:19:java.util.stream.Stream com.android.tools.r8.retrace.internal.RetraceClassResultImpl.internalStream():161 -> a
    19:19: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
    20:20:java.util.stream.Stream com.android.tools.r8.retrace.internal.RetraceClassResultImpl.internalStream():161:161 -> a
    20:20: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
    21:34: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
    35:43: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
    44:44:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):122:122 -> a
    45:45: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
    45:45:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):122 -> a
    46:46: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
    46:46:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):122 -> a
    47: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:136 -> a
    52:52:com.android.tools.r8.retrace.internal.MethodDefinition com.android.tools.r8.retrace.internal.MethodDefinition.create(com.android.tools.r8.references.MethodReference):20:20 -> a
    52:52: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
    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 lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):132 -> 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.jS:
    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.kS:
    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.nS:
    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.mS:
    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.qS:
    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.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.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):34:34 -> 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):38 -> 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):39:42 -> 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):42 -> forEachRewritten
    13:14:void forEachRewritten(java.util.function.Consumer):314 -> forEachRewritten
    15:20:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.computeRewriteFrameInformation(java.util.List):43:48 -> forEachRewritten
    15:20:void forEachRewritten(java.util.function.Consumer):314 -> forEachRewritten
    21:21:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.computeRewriteFrameInformation(java.util.List):35:35 -> forEachRewritten
    21:21:void forEachRewritten(java.util.function.Consumer):314 -> forEachRewritten
    22:26:void forEachRewritten(java.util.function.Consumer):317:321 -> forEachRewritten
    27:27:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.getTopFrame():280:280 -> forEachRewritten
    27:27:void forEachRewritten(java.util.function.Consumer):324 -> forEachRewritten
    28:28:void forEachRewritten(java.util.function.Consumer):324:324 -> forEachRewritten
    29:29:void forEachRewritten(java.util.function.Consumer):323:323 -> forEachRewritten
    30:30:void forEachRewritten(java.util.function.Consumer):322:322 -> forEachRewritten
    31:31:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.getTopFrame():280:280 -> forEachRewritten
    31:31:void forEachRewritten(java.util.function.Consumer):327 -> forEachRewritten
    32:35:void forEachRewritten(java.util.function.Consumer):328:331 -> forEachRewritten
    36:39:boolean com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.isOuterMostFrameCompilerSynthesized():252:255 -> forEachRewritten
    36:39:void forEachRewritten(java.util.function.Consumer):337 -> forEachRewritten
    40:40: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.pS:
    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 access$400(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame):389:389 -> c
    2:2:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame.getMappedRange():400:400 -> c
    2:2:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange access$400(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame):389 -> c
com.android.tools.r8.retrace.internal.RetraceMethodResultImpl -> com.android.tools.r8.internal.sS:
    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.rS:
    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.uS:
    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):17:17 -> <init>
    2:4:void <init>(com.android.tools.r8.references.ClassReference,java.util.OptionalInt):23:25 -> <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():29:29 -> c
    1:1:boolean hasRewritePosition():52:52 -> d
com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder -> com.android.tools.r8.internal.tS:
    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.wS:
    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.vS:
    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.yS:
    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.xS:
    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.AS:
    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.zS:
    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.CS:
    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.BS:
    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.DS:
    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.ES:
    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.FS:
    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.GS:
    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.JS:
    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.HS:
    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.IS:
    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.MS:
    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.KS:
    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.LS:
    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.NS:
    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.OS:
    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.PS:
    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.QS:
    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.WU:
    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.VU:
    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.UU:
    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
    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
    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 access$2500(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,java.lang.String):543:543 -> b
    4:4: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
    4:4: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
    5:5:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$2600(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,int):543:543 -> b
    6:6:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.setLineNumber(int):592:592 -> b
    6:6:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$2600(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,int):543 -> b
    7:7: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
    7:7: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
    8:8: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
    8:8: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
    9:9: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
    9:9: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
    10:10:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.joinAmbiguous(boolean):597:597 -> b
    10:10:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$200(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,boolean):543 -> b
    11:11: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
    11:11: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
    12:16:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.build():624:628 -> b
    12:16: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
com.android.tools.r8.retrace.internal.StackTraceElementStringProxy -> com.android.tools.r8.internal.bV:
    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.XU:
    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.YU:
    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.ZU:
    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.aV:
    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.pV:
    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.cV:
    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.eV:
    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.dV:
    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.fV:
    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.gV:
    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.hV:
    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.iV:
    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.jV:
    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.kV:
    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.lV:
    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.mV:
    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.nV:
    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.oV:
    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.Y1:
    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:23:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):79:80 -> a
    24:24:com.android.tools.r8.graph.DexEncodedAnnotation com.android.tools.r8.graph.DexValue$DexValueAnnotation.getValue():1703:1703 -> a
    24:24:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):80 -> a
    25:29:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):80:84 -> a
    30:30:boolean com.android.tools.r8.graph.DexValue.isDexItemBasedValueString():0:0 -> a
    30:30:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):90 -> a
    30:30:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    31:35:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):91:95 -> a
    31:35:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    36:36:boolean com.android.tools.r8.graph.DexValue.isDexValueEnum():0:0 -> a
    36:36:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):97 -> a
    36:36:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    37:38:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):98:99 -> a
    37:38:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    39:39:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):467:467 -> a
    39:39:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):99 -> a
    39:39:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    40:40:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):101:101 -> 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.isDexValueField():0:0 -> a
    41:41:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):103 -> 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.isDexValueMethod():0:0 -> a
    42:42:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):105 -> 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.isDexValueMethodHandle():0:0 -> a
    43:43:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):107 -> a
    43:43:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    44:44:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodType():0:0 -> a
    44:44:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):109 -> a
    44:44:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    45:49:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):111:115 -> a
    45:49:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    50:50:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":70,"2":71,"3":72}}
    70:70:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):115: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):397:397 -> 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
    72:72:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    72:72:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):115 -> a
    72:72:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    51:55:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):117:121 -> a
    51: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):110:110 -> 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):108:108 -> 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):106:106 -> a
    58:58:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    59:59:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):104:104 -> a
    59:59: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():652:652 -> 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
    42:42:boolean com.android.tools.r8.graph.DexAnnotation.isJavaLangRetentionAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):330:330 -> 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):124 -> 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):128:128 -> a
    44:44:boolean com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.isParameter():48:48 -> 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 -> a
    45:59: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
    60:60:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    60: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):143 -> 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):146:146 -> a
    62:62:boolean com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.isParameter():48:48 -> 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 -> a
    63:67: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
    68:68:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173:173 -> a
    69:75:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):144:150 -> a
    69:75:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    76:76:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    76:76:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):150 -> a
    76:76:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    77:80:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):150:153 -> a
    77:80:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    81:81:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    81:81:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):153 -> a
    81:81:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    82:90:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):153:161 -> a
    82:90:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    91:91:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    91:91:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):161 -> a
    91:91:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    92:92:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):161:161 -> a
    92:92:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    93:94:void run(java.util.concurrent.ExecutorService):178:179 -> a
    95:103:void run(com.android.tools.r8.graph.DexProgramClass):183:191 -> a
    104:106:void lambda$run$1(java.util.Set,com.android.tools.r8.graph.ProgramMember):193:195 -> a
    107:107:void com.android.tools.r8.graph.ProgramMember.clearKotlinInfo():31:31 -> a
    107:107:void lambda$run$1(java.util.Set,com.android.tools.r8.graph.ProgramMember):196 -> a
    108:108:void lambda$verifyNoKeptKotlinMembersForClassesWithNoKotlinInfo$2(com.android.tools.r8.graph.ProgramMember):206:206 -> a
    109:109:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):218:218 -> a
    109:109:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    110:110:com.android.tools.r8.shaking.KeepMemberInfo com.android.tools.r8.shaking.KeepInfoCollection.getMemberInfo(com.android.tools.r8.graph.ProgramMember):101:101 -> a
    110:110:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):218 -> a
    110:110:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    111:112:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):219:220 -> a
    111:112:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    113:113:void com.android.tools.r8.graph.ProgramMember.clearGenericSignature():27:27 -> a
    113:113:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):221 -> 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:114:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):223:223 -> a
    114:114:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    115:115:boolean com.android.tools.r8.shaking.KeepMemberInfo.isKotlinMetadataRemovalAllowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):30:30 -> a
    115:115:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):224 -> a
    115: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.clearKotlinInfo():31:31 -> a
    116:116:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):225 -> 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):228:228 -> 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):229 -> 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 processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):230:230 -> 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:122:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):245:247 -> a
    123:123:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":382,"2":383,"3":384}}
    382:382:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):250:250 -> a
    383:383:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    383:383:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):250 -> a
    384:384:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    384:384:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):250 -> a
    374:380:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):251:257 -> a
    381:381:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):256:256 -> a
    385:385:com.android.tools.r8.graph.DexAnnotationElement lambda$rewriteEncodedAnnotation$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationElement):253:253 -> a
    386:386:boolean lambda$rewriteAnnotationElement$4(com.android.tools.r8.graph.DexAnnotationElement,com.android.tools.r8.graph.DexEncodedMethod):273:273 -> a
    387:389:void removeAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepInfo):278:280 -> a
    390:390:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> a
    390:390:void removeAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepInfo):280 -> a
    391:404:void removeAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepInfo):281:294 -> a
    405:405: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
    406:406: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
    407:407:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):300:300 -> a
    408:408:boolean com.android.tools.r8.graph.DexAnnotation.isAnnotationDefaultAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):325:325 -> a
    408:408:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):300 -> a
    409:409:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):303:303 -> a
    410:410:boolean com.android.tools.r8.graph.DexAnnotation.isJavaLangRetentionAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):330:330 -> a
    410:410:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):303 -> a
    411:419:boolean shouldRetainRetentionAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):319:327 -> a
    411:419:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):304 -> a
    420:420:boolean com.android.tools.r8.graph.DexValue.isDexValueEnum():0:0 -> a
    420:420:boolean shouldRetainRetentionAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):327 -> a
    420:420:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):304 -> a
    421:422:boolean shouldRetainRetentionAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):328:329 -> a
    421:422:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):304 -> a
    423:423:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):306:306 -> a
    424:435:void stripAttributes(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo):340:351 -> a
    436:436:boolean lambda$stripAttributes$8(com.android.tools.r8.shaking.KeepClassInfo,com.android.tools.r8.graph.EnclosingMethodAttribute):342:342 -> a
    437:437: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):184:184 -> a
    437:437:boolean lambda$stripAttributes$8(com.android.tools.r8.shaking.KeepClassInfo,com.android.tools.r8.graph.EnclosingMethodAttribute):342 -> a
    438:438:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():628:628 -> a
    438:438: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):187 -> a
    438:438:boolean lambda$stripAttributes$8(com.android.tools.r8.shaking.KeepClassInfo,com.android.tools.r8.graph.EnclosingMethodAttribute):342 -> a
    439:439: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):190:190 -> a
    439:439:boolean lambda$stripAttributes$8(com.android.tools.r8.shaking.KeepClassInfo,com.android.tools.r8.graph.EnclosingMethodAttribute):342 -> a
    440:440:boolean lambda$stripAttributes$9(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute):348:348 -> a
    441:448:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):359:366 -> a
    449:449: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
    449:449:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):366 -> a
    450:450:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramClass():50:50 -> a
    450:450: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
    450:450:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):366 -> a
    451:451: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
    451:451:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):366 -> a
    452:453:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):366:367 -> a
    454:454:boolean com.android.tools.r8.shaking.KeepInfo.isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration,com.android.tools.r8.graph.EnclosingMethodAttribute):203:203 -> a
    454:454:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):367 -> a
    455:455:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():628:628 -> a
    455:455:boolean com.android.tools.r8.shaking.KeepInfo.isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration,com.android.tools.r8.graph.EnclosingMethodAttribute):206 -> a
    455:455:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):367 -> a
    456:456:boolean com.android.tools.r8.shaking.KeepInfo.isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration,com.android.tools.r8.graph.EnclosingMethodAttribute):211:211 -> a
    456:456:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):367 -> a
    457:461:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):368:372 -> a
    462:462: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
    462:462:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):372 -> a
    463:463:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramClass():50:50 -> a
    463:463: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
    463:463:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):372 -> a
    464:464: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
    464:464:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):372 -> a
    465:471:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):372:378 -> a
    472:472: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
    472:472:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):378 -> a
    473:473:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramClass():50:50 -> a
    473:473: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
    473:473:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):378 -> a
    474:474: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
    474:474:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):378 -> a
    475:482:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):378:385 -> a
    483:483: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
    483:483:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):385 -> a
    484:484:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramClass():50:50 -> a
    484:484: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
    484:484:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):385 -> a
    485:485: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
    485:485:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):385 -> a
    486:490:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):385:389 -> a
    491:491: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
    491:491:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):389 -> a
    492:492:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramClass():50:50 -> a
    492:492: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
    492:492:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):389 -> a
    493:493: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
    493:493:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):389 -> a
    494:495:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):389:390 -> a
    496:498: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:
    java.util.Map switchMaps -> T
    java.util.Set liveMethods -> s
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap identifierNameStrings -> R
    java.util.Map mayHaveSideEffects -> y
    java.util.Map callSites -> w
    java.util.Set neverReprocess -> H
    java.util.Set neverClassInline -> J
    java.util.Set whyAreYouNotInlining -> D
    com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl objectAllocationInfoCollection -> v
    java.util.Set keepUnusedArguments -> F
    java.util.Set failedFieldResolutionTargets -> o
    com.android.tools.r8.cf.CfVersion largestInputCfVersion -> V
    java.util.Set recordFieldValuesReferences -> P
    java.util.Set methodsTargetedByInvokeDynamic -> q
    java.util.Set deadProtoTypes -> k
    com.android.tools.r8.shaking.KeepInfoCollection keepInfo -> x
    java.util.Set noHorizontalClassMerging -> L
    java.util.Set targetedMethods -> m
    java.util.Set lockCandidates -> N
    java.util.Set prunedTypes -> S
    java.util.Map initClassReferences -> O
    com.android.tools.r8.shaking.SingleTargetLookupCache singleTargetLookupCache -> U
    java.util.Map noSideEffects -> z
    boolean $assertionsDisabled -> W
    java.util.Set alwaysInline -> B
    com.android.tools.r8.graph.FieldAccessInfoCollectionImpl fieldAccessInfoCollection -> t
    java.util.Map assumedValues -> A
    java.util.Set reprocess -> G
    com.android.tools.r8.graph.MethodAccessInfoCollection methodAccessInfoCollection -> u
    java.util.Set neverInlineDueToSingleCaller -> C
    java.util.Set keepConstantArguments -> E
    java.util.Set bootstrapMethods -> p
    java.util.Set neverPropagateValue -> Q
    java.util.Set virtualMethodsTargetedByInvokeDirect -> r
    java.util.Set noClassMerging -> K
    java.util.Set liveTypes -> l
    com.android.tools.r8.utils.PredicateSet alwaysClassInline -> I
    java.util.Set noVerticalClassMerging -> M
    java.util.Set failedMethodResolutionTargets -> n
    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,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,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):247:247 -> <init>
    2:490: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,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,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):203:691 -> <init>
    491:527: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,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,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):248:284 -> <init>
    528:531:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Map):628:631 -> <init>
    532:532:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Map):627:627 -> <init>
    533:1021:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Map):203:691 -> <init>
    1022:1059:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Map):632:669 -> <init>
    1:2:java.util.Set getPrunedTypes():1336:1337 -> A
    1:1:java.util.Set getReprocessMethods():839:839 -> B
    1:1:java.util.Set getVirtualMethodsTargetedByInvokeDirect():774:774 -> C
    1:1:boolean hasNoAlwaysInlineMethods():782:782 -> D
    1:1:boolean hasNoWhyAreYouNotInliningMethods():814:814 -> E
    1:1:com.android.tools.r8.shaking.AppInfoWithLivenessModifier modifier():673:673 -> F
    1:3:boolean verify():537:539 -> G
    4:4:boolean verify():538:538 -> G
    1:2:boolean verifyNoIteratingOverPrunedClasses():1687:1688 -> 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):404:406 -> a
    6:6:java.util.Set pruneMembers(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):405:405 -> a
    7:17:void lambda$pruneMembers$1(com.android.tools.r8.graph.PrunedItems,java.util.Set):408:418 -> a
    18:21:java.util.Set pruneItems(java.util.Set,java.util.Set,java.util.concurrent.ExecutorService,java.util.List):436:439 -> a
    22:22:java.util.Set pruneItems(java.util.Set,java.util.Set,java.util.concurrent.ExecutorService,java.util.List):438:438 -> a
    23:26:void lambda$pruneItems$2(java.util.Set,java.util.Set):441:444 -> a
    27:29:java.util.Map pruneMapFromMembers(java.util.Map,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):465:467 -> a
    30:30:java.util.Map pruneMapFromMembers(java.util.Map,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):466:466 -> a
    31:42:void lambda$pruneMapFromMembers$4(com.android.tools.r8.graph.PrunedItems,java.util.Map):469:480 -> a
    43:45:boolean lambda$pruneMapFromMembers$3(java.util.Set,java.util.Set,com.android.tools.r8.graph.DexMember):475:477 -> 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):493:495 -> 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):494:494 -> a
    50:61:void lambda$pruneMapFromMembers$6(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap):497:508 -> a
    62:64:java.util.Map pruneMap(java.util.Map,java.util.Set,java.util.concurrent.ExecutorService,java.util.List):521:523 -> a
    65:65:java.util.Map pruneMap(java.util.Map,java.util.Set,java.util.concurrent.ExecutorService,java.util.List):522:522 -> a
    66:69:void lambda$pruneMap$7(java.util.Map,java.util.Set):525:528 -> a
    70:73:com.android.tools.r8.shaking.KeepInfoCollection extendPinnedItems(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Collection):590:593 -> a
    74:74:com.android.tools.r8.shaking.KeepInfoCollection extendPinnedItems(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Collection):591:591 -> a
    75:76:void lambda$extendPinnedItems$8(java.util.Collection,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):595:596 -> a
    77:77:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    77:77:void lambda$extendPinnedItems$8(java.util.Collection,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):596 -> a
    78:97:void lambda$extendPinnedItems$8(java.util.Collection,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):598:617 -> a
    98:98:boolean canUseConstClassInstructions(com.android.tools.r8.utils.InternalOptions):694:694 -> a
    99:99:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    99:99:boolean canUseConstClassInstructions(com.android.tools.r8.utils.InternalOptions):694 -> a
    100:101:boolean canUseConstClassInstructions(com.android.tools.r8.utils.InternalOptions):697:698 -> a
    102:113:void computeLargestCfVersion():704:704 -> a
    102:113:boolean canUseConstClassInstructions(com.android.tools.r8.utils.InternalOptions):698 -> a
    123:123:void computeLargestCfVersion():714:714 -> a
    123:123:boolean canUseConstClassInstructions(com.android.tools.r8.utils.InternalOptions):698 -> a
    124:124:boolean canUseConstClassInstructions(com.android.tools.r8.utils.InternalOptions):700:700 -> a
    125:125:boolean isBootstrapMethod(com.android.tools.r8.graph.ProgramMethod):762:762 -> a
    126:126:boolean isBootstrapMethod(com.android.tools.r8.graph.DexMethod):758:758 -> a
    126:126:boolean isBootstrapMethod(com.android.tools.r8.graph.ProgramMethod):762 -> a
    127:142:void forEachReachableInterface(java.util.function.Consumer,java.lang.Iterable):848:863 -> a
    143:176:java.util.Set lookupLambdaImplementedMethods(com.android.tools.r8.graph.DexCallSite):882:915 -> a
    177:177:java.util.Set lookupLambdaImplementedMethods(com.android.tools.r8.graph.DexCallSite):885:885 -> a
    178:178:void removeFromSingleTargetLookupCache(com.android.tools.r8.graph.DexClass):964:964 -> a
    179:180:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):999:1000 -> a
    181:181:com.android.tools.r8.graph.FieldAccessInfoCollection getFieldAccessInfoCollection():941:941 -> a
    181:181:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):1001 -> a
    182:182:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):1001:1001 -> a
    183:183:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    183:183:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):1001 -> a
    184:187:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):1002:1005 -> a
    188:188:boolean isLibraryOrClasspathField(com.android.tools.r8.graph.DexEncodedField):1117:1117 -> a
    188:188:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):1009 -> a
    189:189:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    189:189:boolean isLibraryOrClasspathField(com.android.tools.r8.graph.DexEncodedField):1118 -> a
    189:189:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):1009 -> a
    190:190:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    190:190:boolean isLibraryOrClasspathField(com.android.tools.r8.graph.DexEncodedField):1118 -> a
    190:190:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):1009 -> a
    191:192:boolean isFieldOnlyWrittenInMethod(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):1031:1032 -> a
    193:193: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":1230,"2":1231,"3":1232}}
    1230:1230:boolean isFieldOnlyWrittenInMethod(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):1032:1032 -> a
    1231:1231:boolean isFieldOnlyWrittenInMethod(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):1032:1032 -> a
    1232:1232:boolean isFieldOnlyWrittenInMethod(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):1032:1032 -> a
    1225:1229:boolean isFieldOnlyWrittenInMethod(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):1032:1036 -> a
    1233:1234:boolean mayPropagateValueFor(com.android.tools.r8.graph.DexClassAndMember):1089:1090 -> a
    1235:1235:boolean isClassInliningAllowed(com.android.tools.r8.graph.DexProgramClass):1139:1139 -> a
    1236:1236:boolean isMinificationAllowed(com.android.tools.r8.graph.DexReference):1143:1143 -> a
    1237:1237:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():613:613 -> a
    1237:1237:boolean isMinificationAllowed(com.android.tools.r8.graph.DexReference):1143 -> a
    1238:1239:boolean isMinificationAllowed(com.android.tools.r8.graph.DexReference):1143:1144 -> a
    1240:1240:boolean isAccessModificationAllowed(com.android.tools.r8.graph.ProgramDefinition):1148:1148 -> a
    1241:1242:boolean isAccessModificationAllowed(com.android.tools.r8.graph.DexReference):1152:1153 -> a
    1241:1242:boolean isAccessModificationAllowed(com.android.tools.r8.graph.ProgramDefinition):1148 -> a
    1243:1253:boolean isRepackagingAllowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):1157:1167 -> a
    1254:1258:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.graph.DexProgramClass.traverseProgramMembers(java.util.function.Function):332:336 -> a
    1254:1258:boolean isRepackagingAllowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):1168 -> a
    1259:1259:boolean isRepackagingAllowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):1175:1175 -> a
    1260:1263:com.android.tools.r8.utils.TraversalContinuation lambda$isRepackagingAllowed$10(com.android.tools.r8.graph.ProgramMember):1170:1173 -> a
    1264:1265:boolean isPinned(com.android.tools.r8.graph.DexDefinition):1184:1185 -> a
    1266:1267:boolean isPinned(com.android.tools.r8.graph.DexClassAndMember):1189:1190 -> a
    1268:1268:void lambda$prunedCopyFrom$11(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder):1226:1226 -> a
    1269:1269:void lambda$prunedCopyFrom$12(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):1227:1227 -> a
    1270:1278:com.android.tools.r8.shaking.AppInfoWithLiveness rewrittenWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):1244:1252 -> a
    1279:1329:com.android.tools.r8.shaking.AppInfoWithLiveness rewrittenWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):1247:1297 -> a
    1330:1332: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):687:689 -> a
    1330:1332:com.android.tools.r8.shaking.AppInfoWithLiveness rewrittenWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):1298 -> a
    1333:1333:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.GraphLens.rewriteReference(com.android.tools.r8.graph.DexReference):635:635 -> a
    1333:1333: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):689 -> a
    1333:1333:com.android.tools.r8.shaking.AppInfoWithLiveness rewrittenWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):1298 -> a
    1334:1334: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):689:689 -> a
    1334:1334:com.android.tools.r8.shaking.AppInfoWithLiveness rewrittenWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):1298 -> a
    1335:1341:com.android.tools.r8.shaking.AppInfoWithLiveness rewrittenWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):1298:1304 -> a
    1342:1342:com.android.tools.r8.shaking.ProguardMemberRule lambda$rewrittenWithLens$14(com.android.tools.r8.graph.DexReference,java.util.List):1277:1277 -> a
    1343:1343: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):1281:1281 -> a
    1344:1344:java.util.Map rewriteInitClassReferences(com.android.tools.r8.graph.GraphLens):1308:1308 -> a
    1345:1345:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$17(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1312:1312 -> a
    1346:1346:boolean com.android.tools.r8.utils.Visibility.isPrivate():20:20 -> a
    1346:1346:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$17(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1312 -> a
    1347:1348:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$17(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1312:1313 -> a
    1349:1349:boolean com.android.tools.r8.utils.Visibility.isPrivate():20:20 -> a
    1349:1349:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$17(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1313 -> a
    1350:1351:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$17(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1313:1314 -> a
    1352:1352:boolean com.android.tools.r8.utils.Visibility.isPublic():28:28 -> a
    1352:1352:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$17(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1314 -> a
    1353:1353:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$17(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1315:1315 -> a
    1354:1354:boolean com.android.tools.r8.utils.Visibility.isProtected():24:24 -> a
    1354:1354:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$17(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1318 -> a
    1355:1355:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$17(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1322:1322 -> a
    1356:1361: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):1345:1350 -> a
    1356:1361: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):1371 -> a
    1362: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):1388:1389 -> a
    1362:1363: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):1352 -> a
    1362:1363: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):1371 -> a
    1364:1364: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):626:626 -> a
    1364:1364: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):1360 -> a
    1364:1364: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):1371 -> a
    1365:1365: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):1360:1360 -> a
    1365:1365: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):1371 -> a
    1366:1366:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexEncodedMethod.toMethodDefinitionOrNull(com.android.tools.r8.graph.DexClassAndMethod):258:258 -> a
    1366:1366: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):1360 -> a
    1366:1366: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):1371 -> a
    1367:1367: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):1358:1358 -> a
    1367:1367: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):1371 -> a
    1368:1369: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):1388:1389 -> a
    1368:1369: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):1354 -> a
    1368:1369: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):1371 -> a
    1370:1370: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):1356:1356 -> a
    1370:1370: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):1371 -> a
    1371:1371: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) -> a
    1372:1373:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean):1377:1378 -> a
    1374:1405: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):1400:1431 -> a
    1406:1406:boolean com.android.tools.r8.graph.DexClass.isFinal():656:656 -> a
    1406:1406: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):1431 -> a
    1407:1408: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):1432:1433 -> a
    1409:1412: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):1497:1500 -> a
    1409:1412: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):1438 -> a
    1413:1413:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    1413:1413: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):1502 -> a
    1413:1413: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):1438 -> a
    1414:1414:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():1207:1207 -> a
    1414:1414: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):1503 -> a
    1414:1414: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):1438 -> a
    1415:1415: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):1504:1504 -> a
    1415:1415: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):1438 -> a
    1416:1416:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.ProgramMethod):105:105 -> a
    1416:1416: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):1504 -> a
    1416:1416: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):1438 -> a
    1417:1421: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):1505:1509 -> a
    1417:1421: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):1438 -> a
    1422:1436: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):1507:1521 -> a
    1422:1436: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):1438 -> a
    1437:1449: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):1443:1455 -> a
    1450:1470: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):1454:1474 -> a
    1471:1481: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):1473:1483 -> a
    1482:1484:com.android.tools.r8.shaking.AppInfoWithLiveness withSwitchMaps(java.util.Map):1528:1530 -> a
    1485:1510:void forEachTypeInHierarchyOfLiveProgramClasses(java.util.function.Consumer,java.util.Collection,java.util.Set,com.android.tools.r8.graph.AppInfoWithClassHierarchy):1562:1587 -> a
    1511:1511:void lambda$forEachTypeInHierarchyOfLiveProgramClasses$20(java.util.Set,com.android.tools.r8.graph.DexProgramClass):1563:1563 -> a
    1512:1512:void forEachInstantiatedSubType(com.android.tools.r8.graph.DexType,java.util.function.Consumer,java.util.function.Consumer):1599:1599 -> a
    1513:1514:void forEachInstantiatedSubTypeInChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer,java.util.function.Consumer):1609:1610 -> a
    1515:1517:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):968:970 -> a
    1515:1517:boolean isInstantiatedOrPinned(com.android.tools.r8.graph.DexProgramClass):1618 -> a
    1515:1517:void forEachInstantiatedSubTypeInChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer,java.util.function.Consumer):1611 -> a
    1518:1518:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> a
    1518:1518:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):972 -> a
    1518:1518:boolean isInstantiatedOrPinned(com.android.tools.r8.graph.DexProgramClass):1618 -> a
    1518:1518:void forEachInstantiatedSubTypeInChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer,java.util.function.Consumer):1611 -> a
    1519:1519:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):972:972 -> a
    1519:1519:boolean isInstantiatedOrPinned(com.android.tools.r8.graph.DexProgramClass):1618 -> a
    1519:1519:void forEachInstantiatedSubTypeInChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer,java.util.function.Consumer):1611 -> a
    1520:1520:boolean isInstantiatedOrPinned(com.android.tools.r8.graph.DexProgramClass):1618:1618 -> a
    1520:1520:void forEachInstantiatedSubTypeInChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer,java.util.function.Consumer):1611 -> a
    1521:1521:void forEachInstantiatedSubTypeInChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer,java.util.function.Consumer):1612:1612 -> a
    1522:1529:boolean mayHaveFinalizeMethodDirectlyOrIndirectly(com.android.tools.r8.ir.analysis.type.ClassTypeElement):1640:1647 -> a
    1530:1530:boolean lambda$mayHaveFinalizeMethodDirectlyOrIndirectly$21(com.android.tools.r8.graph.DexType,java.lang.Boolean):1645:1645 -> a
    1531:1531:com.android.tools.r8.utils.TraversalContinuation lambda$mayHaveFinalizer$23(com.android.tools.r8.ir.desugar.LambdaDescriptor):1670:1670 -> 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):503:505 -> b
    6:6:boolean isKeepConstantArgumentsMethod(com.android.tools.r8.graph.ProgramMethod):818:818 -> b
    7:7:boolean isKeepConstantArgumentsMethod(com.android.tools.r8.graph.DexMethod):822:822 -> b
    7:7:boolean isKeepConstantArgumentsMethod(com.android.tools.r8.graph.ProgramMethod):818 -> b
    8:8:boolean isInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass):981:981 -> b
    9:11:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):968:970 -> b
    9:11:boolean isInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass):982 -> b
    12:12:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> b
    12:12:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):972 -> b
    12:12:boolean isInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass):982 -> b
    13:13:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):972:972 -> b
    13:13:boolean isInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass):982 -> b
    14:14:boolean isInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass):982:982 -> b
    15:17:boolean isFieldWritten(com.android.tools.r8.graph.DexEncodedField):1013:1015 -> b
    18:19:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):1041:1042 -> b
    20:20: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":1068,"2":1069,"3":1070}}
    1068:1068:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):1042:1042 -> b
    1069:1069:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):1042:1042 -> b
    1070:1070:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):1042:1042 -> b
    1062:1062:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):1042:1042 -> b
    1063:1063:com.android.tools.r8.graph.FieldAccessInfoCollection getFieldAccessInfoCollection():941:941 -> b
    1063:1063:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):1043 -> b
    1064:1064:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):1043:1043 -> b
    1065:1065:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> b
    1065:1065:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):1043 -> b
    1066:1067:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):1045:1046 -> b
    1071:1074:boolean lambda$isInstanceFieldWrittenOnlyInInstanceInitializers$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1066:1069 -> b
    1075:1075:boolean com.android.tools.r8.graph.DexEncodedMethod.isOrWillBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):472:472 -> b
    1075:1075:boolean lambda$isInstanceFieldWrittenOnlyInInstanceInitializers$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1069 -> b
    1076:1077:boolean isPinned(com.android.tools.r8.graph.DexReference):1179:1180 -> b
    1078:1078: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
    1078:1078:boolean isPinned(com.android.tools.r8.graph.DexReference):1180 -> b
    1079:1079:void lambda$prunedCopyFrom$13(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):1229:1229 -> b
    1080:1080:com.android.tools.r8.shaking.AppInfoWithLiveness rebuildWithLiveness(com.android.tools.r8.synthesis.CommittedItems):1239:1239 -> b
    1081:1085:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.synthesis.CommittedItems):290:294 -> b
    1081:1085:com.android.tools.r8.shaking.AppInfoWithLiveness rebuildWithLiveness(com.android.tools.r8.synthesis.CommittedItems):1239 -> b
    1086:1086:java.util.Collection com.android.tools.r8.utils.CollectionUtils.addAll(java.util.Collection,java.util.Collection):17:17 -> b
    1086:1086:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.synthesis.CommittedItems):294 -> b
    1086:1086:com.android.tools.r8.shaking.AppInfoWithLiveness rebuildWithLiveness(com.android.tools.r8.synthesis.CommittedItems):1239 -> b
    1087:1087:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.synthesis.CommittedItems):294:294 -> b
    1087:1087:com.android.tools.r8.shaking.AppInfoWithLiveness rebuildWithLiveness(com.android.tools.r8.synthesis.CommittedItems):1239 -> b
    1088:1088:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.synthesis.CommittedItems):288:288 -> b
    1088:1088:com.android.tools.r8.shaking.AppInfoWithLiveness rebuildWithLiveness(com.android.tools.r8.synthesis.CommittedItems):1239 -> b
    1089:1089: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):1284:1284 -> b
    1090:1090:void forEachReferencedClasspathClass(java.util.function.Consumer):1540:1540 -> b
    1091:1096:boolean isPinnedNotProgramOrLibraryOverride(com.android.tools.r8.graph.DexDefinition):1622:1627 -> b
    1097:1099:boolean com.android.tools.r8.graph.DexEncodedMethod.isProgramMethod(com.android.tools.r8.graph.DexDefinitionSupplier):367:369 -> b
    1097:1099:boolean isPinnedNotProgramOrLibraryOverride(com.android.tools.r8.graph.DexDefinition):1627 -> b
    1100:1104:boolean isPinnedNotProgramOrLibraryOverride(com.android.tools.r8.graph.DexDefinition):1627:1631 -> b
    1:3:boolean lambda$pruneMembers$0(java.util.Set,java.util.Set,com.android.tools.r8.graph.DexMember):413:415 -> c
    4:9:com.android.tools.r8.shaking.AppInfoWithLiveness rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):545:550 -> c
    10:15:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):678:683 -> c
    16:16:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isCompanionClassType(com.android.tools.r8.graph.DexType):167:167 -> c
    16:16:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):683 -> c
    17:17:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isEmulatedLibraryClassType(com.android.tools.r8.graph.DexType):171:171 -> c
    17:17:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):684 -> c
    18:18:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.isVivifiedType(com.android.tools.r8.graph.DexType):133:133 -> c
    18:18:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):686 -> c
    19:19:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):679:679 -> c
    20:20:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":700,"2":701,"3":702,"4":703,"5":704}}
    700:700:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):679:679 -> c
    701:701:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):679:679 -> c
    702:702:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):679:679 -> c
    703:703:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):679:679 -> c
    704:704:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):679:679 -> c
    699:699:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):679:679 -> c
    705:705:boolean isKeepUnusedArgumentsMethod(com.android.tools.r8.graph.ProgramMethod):826:826 -> c
    706:706:boolean isKeepUnusedArgumentsMethod(com.android.tools.r8.graph.DexMethod):830:830 -> c
    706:706:boolean isKeepUnusedArgumentsMethod(com.android.tools.r8.graph.ProgramMethod):826 -> c
    707:708:boolean isInstantiatedIndirectly(com.android.tools.r8.graph.DexProgramClass):976:977 -> c
    709:710:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):1019:1020 -> c
    711:711:com.android.tools.r8.graph.FieldAccessInfoCollection getFieldAccessInfoCollection():941:941 -> c
    711:711:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):1021 -> c
    712:712:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):1021:1021 -> c
    713:713:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> c
    713:713:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):1021 -> c
    714:714:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):1022:1022 -> c
    715:715:boolean isLibraryOrClasspathField(com.android.tools.r8.graph.DexEncodedField):1117:1117 -> c
    715:715:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):1027 -> c
    716:716:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> c
    716:716:boolean isLibraryOrClasspathField(com.android.tools.r8.graph.DexEncodedField):1118 -> c
    716:716:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):1027 -> c
    717:717:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> c
    717:717:boolean isLibraryOrClasspathField(com.android.tools.r8.graph.DexEncodedField):1118 -> c
    717:717:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):1027 -> c
    718:733:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1217:1232 -> c
    734:738:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):337:341 -> c
    734:738:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    739:739:java.util.Set pruneClasses(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):388:388 -> c
    739:739:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):342 -> c
    739:739:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    740:740:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):342:342 -> c
    740:740:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    741:741:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):431:431 -> c
    741:741:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):343 -> c
    741:741:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    742:742:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):343:343 -> c
    742:742:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    743:743:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):431:431 -> c
    743:743:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):344 -> c
    743:743:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    744:744:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):344:344 -> c
    744:744:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    745:745:java.util.Set pruneFields(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):396:396 -> c
    745:745:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):345 -> c
    745:745:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    746:746:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):345:345 -> c
    746:746:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    747:747:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):431:431 -> c
    747:747:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):346 -> c
    747:747:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    748:748:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):346:346 -> c
    748:748:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    749:749:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):431:431 -> c
    749:749:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):347 -> c
    749:749:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    750:750:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):347:347 -> c
    750:750:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    751:751:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):431:431 -> c
    751:751:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):349 -> c
    751:751:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    752:752:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):349:349 -> c
    752:752:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    753:753:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):431:431 -> c
    753:753:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):351 -> c
    753:753:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    754:762:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):351:359 -> c
    754:762:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    763:763:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):431:431 -> c
    763:763:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):360 -> c
    763:763:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    764:764:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):360:360 -> c
    764:764:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    765:765:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):431:431 -> c
    765:765:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):361 -> c
    765:765:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    766:766:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):361:361 -> c
    766:766:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    767:767:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):431:431 -> c
    767:767:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):362 -> c
    767:767:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    768:768:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):362:362 -> c
    768:768:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    769:769:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):431:431 -> c
    769:769:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):363 -> c
    769:769:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    770:770:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):363:363 -> c
    770:770:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    771:771:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):431:431 -> c
    771:771:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):364 -> c
    771:771:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    772:772:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):364:364 -> c
    772:772:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    773:773:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):431:431 -> c
    773:773:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):365 -> c
    773:773:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    774:774:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):365:365 -> c
    774:774:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    775:775:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):431:431 -> c
    775:775:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):366 -> c
    775:775:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    776:776:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):366:366 -> c
    776:776:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    777:777:java.util.Set pruneClasses(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):388:388 -> c
    777:777:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):368 -> c
    777:777:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    778:778:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):368:368 -> c
    778:778:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    779:779:java.util.Set pruneClasses(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):388:388 -> c
    779:779:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):369 -> c
    779:779:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    780:780:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):369:369 -> c
    780:780:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    781:781:java.util.Set pruneClasses(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):388:388 -> c
    781:781:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):370 -> c
    781:781:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    782:782:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):370:370 -> c
    782:782:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    783:783:java.util.Set pruneClasses(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):388:388 -> c
    783:783:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):371 -> c
    783:783:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    784:789:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):371:376 -> c
    784:789:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    790:790:java.util.Set pruneClasses(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):388:388 -> c
    790:790:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):378 -> c
    790:790:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    791:791:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):378:378 -> c
    791:791:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    792:792:java.util.Map pruneMapFromClasses(java.util.Map,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):457:457 -> c
    792:792:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):379 -> c
    792:792:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    793:793:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):379:379 -> c
    793:793:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    794:794:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):336:336 -> c
    794:794:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1232 -> c
    795:795:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1234:1234 -> c
    796:800:void forEachTypeInHierarchyOfLiveProgramClasses(java.util.function.Consumer):1549:1549 -> c
    1:1:boolean isMethodTargetedByInvokeDynamic(com.android.tools.r8.graph.ProgramMethod):770:770 -> d
    2:2:boolean isMethodTargetedByInvokeDynamic(com.android.tools.r8.graph.DexMethod):766:766 -> d
    2:2:boolean isMethodTargetedByInvokeDynamic(com.android.tools.r8.graph.ProgramMethod):770 -> d
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap getSwitchMap(com.android.tools.r8.graph.DexField):935:936 -> d
    5:5:void mutateObjectAllocationInfoCollection(java.util.function.Consumer):960:960 -> d
    6:7:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1054:1055 -> d
    8:8:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1073,"2":1074,"3":1075}}
    1073:1073:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1055:1055 -> d
    1074:1074:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1055:1055 -> d
    1075:1075:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1055:1055 -> d
    1063:1064:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1055:1056 -> d
    1065:1065:com.android.tools.r8.graph.FieldAccessInfoCollection getFieldAccessInfoCollection():941:941 -> d
    1065:1065:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1059 -> d
    1066:1066:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1059:1059 -> d
    1067:1067:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> d
    1067:1067:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1059 -> d
    1068:1072:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1060:1064 -> d
    1076:1077:boolean isInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass):1122:1123 -> d
    1:1:boolean isLiveProgramClass(com.android.tools.r8.graph.DexProgramClass):718:718 -> e
    2:2:boolean isAlwaysInlineMethod(com.android.tools.r8.graph.DexMethod):778:778 -> e
    3:3:boolean isNeverInlineDueToSingleCallerMethod(com.android.tools.r8.graph.ProgramMethod):786:786 -> e
    4:5:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):986:987 -> e
    6:6:com.android.tools.r8.graph.FieldAccessInfoCollection getFieldAccessInfoCollection():941:941 -> e
    6:6:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):988 -> e
    7:7:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):988:988 -> e
    8:8:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> e
    8:8:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):988 -> e
    9:9:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):990:990 -> e
    10:10:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():1207:1207 -> e
    10:10:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):995 -> e
    11:11:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):995:995 -> e
    12:12: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
    12:12:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):995 -> e
    13:13:com.android.tools.r8.shaking.KeepFieldInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramField():60:60 -> e
    13:13: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
    13:13:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):995 -> e
    14:15: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
    14:15:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):995 -> e
    16:16:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):995:995 -> e
    17:21:boolean mayPropagateValueFor(com.android.tools.r8.graph.DexField):1094:1098 -> e
    1:1:boolean isFailedResolutionTarget(com.android.tools.r8.graph.DexMethod):746:746 -> f
    2:3:boolean isNeverReprocessMethod(com.android.tools.r8.graph.ProgramMethod):834:835 -> f
    4:5:boolean isStaticFieldWrittenOnlyInEnclosingStaticInitializer(com.android.tools.r8.graph.DexEncodedField):1073:1074 -> f
    6:6:boolean isStaticFieldWrittenOnlyInEnclosingStaticInitializer(com.android.tools.r8.graph.DexEncodedField):0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1084,"2":1085,"3":1086}}
    1084:1084:boolean isStaticFieldWrittenOnlyInEnclosingStaticInitializer(com.android.tools.r8.graph.DexEncodedField):1074:1074 -> f
    1085:1085:boolean isStaticFieldWrittenOnlyInEnclosingStaticInitializer(com.android.tools.r8.graph.DexEncodedField):1074:1074 -> f
    1086:1086:boolean isStaticFieldWrittenOnlyInEnclosingStaticInitializer(com.android.tools.r8.graph.DexEncodedField):1074:1074 -> f
    1080:1083:boolean isStaticFieldWrittenOnlyInEnclosingStaticInitializer(com.android.tools.r8.graph.DexEncodedField):1074:1077 -> f
    1087:1097:com.android.tools.r8.utils.TraversalContinuation lambda$mayHaveFinalizer$22(com.android.tools.r8.graph.DexProgramClass):1656:1666 -> f
    1:1:boolean isLiveMethod(com.android.tools.r8.graph.DexMethod):738:738 -> g
    2:6:boolean hasPinnedInstanceInitializer(com.android.tools.r8.graph.DexType):1194:1198 -> g
    7:7:void lambda$verifyNoIteratingOverPrunedClasses$24(com.android.tools.r8.graph.DexProgramClass):1690:1690 -> g
    1:1:boolean isTargetedMethod(com.android.tools.r8.graph.DexMethod):742:742 -> h
    2:2:boolean isLockCandidate(com.android.tools.r8.graph.DexType):927:927 -> h
    1:1:boolean isWhyAreYouNotInliningMethod(com.android.tools.r8.graph.DexMethod):810:810 -> i
    2:2:boolean hasLiveness():1128:1128 -> i
    3:3:boolean isNoHorizontalClassMergingOfType(com.android.tools.r8.graph.DexType):1678:1678 -> i
    1:5:boolean mayPropagateValueFor(com.android.tools.r8.graph.DexMethod):1105:1109 -> j
    6:6:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():1207:1207 -> j
    6:6:boolean mayPropagateValueFor(com.android.tools.r8.graph.DexMethod):1110 -> j
    7:7:boolean mayPropagateValueFor(com.android.tools.r8.graph.DexMethod):1110:1110 -> 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):1110 -> 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):1110 -> 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):1110 -> j
    12:12:boolean mayPropagateValueFor(com.android.tools.r8.graph.DexMethod):1110:1110 -> j
    13:13:boolean isNoVerticalClassMergingOfType(com.android.tools.r8.graph.DexType):1683:1683 -> j
    1:8:boolean isNonProgramTypeOrLiveProgramType(com.android.tools.r8.graph.DexType):727:734 -> k
    1:1:com.android.tools.r8.graph.DexProgramClass lambda$forEachTypeInHierarchyOfLiveProgramClasses$19(com.android.tools.r8.graph.DexType):1551:1551 -> l
    boolean lambda$lookupSingleVirtualTarget$18(com.android.tools.r8.graph.DexType) -> m
    1:22:boolean mayHaveFinalizer(com.android.tools.r8.graph.DexType):1652:1673 -> n
    1:1:com.android.tools.r8.shaking.AppInfoWithLiveness withLiveness():1134:1134 -> o
    2:3:boolean wasPruned(com.android.tools.r8.graph.DexType):1331:1332 -> o
    1:1:com.android.tools.r8.graph.SubtypingInfo computeSubtypingInfo():1635:1635 -> r
    1:1:java.util.Set getDeadProtoTypes():931:931 -> s
    1:1:java.util.Set getFailedFieldResolutionTargets():754:754 -> t
    1:1:java.util.Set getFailedMethodResolutionTargets():750:750 -> u
    1:1:com.android.tools.r8.graph.FieldAccessInfoCollection getFieldAccessInfoCollection():941:941 -> v
    1:1:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():1207:1207 -> w
    1:1:com.android.tools.r8.graph.MethodAccessInfoCollection getMethodAccessInfoCollection():950:950 -> x
    1:1:com.android.tools.r8.graph.FieldAccessInfoCollectionImpl getMutableFieldAccessInfoCollection():945:945 -> y
    1:1:com.android.tools.r8.graph.ObjectAllocationInfoCollection getObjectAllocationInfoCollection():955:955 -> 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.J9:
    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
    16:16:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):54 -> a
    17:25:boolean com.android.tools.r8.shaking.ClassInitFieldSynthesizer.isMinimumRequiredVisibility(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.utils.Visibility):101:109 -> a
    17:25:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):54 -> a
    26:26:boolean com.android.tools.r8.graph.DexEncodedField.isPackagePrivate():217:217 -> a
    26:26:boolean com.android.tools.r8.shaking.ClassInitFieldSynthesizer.isMinimumRequiredVisibility(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.utils.Visibility):105 -> a
    26: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.isProtected():221:221 -> 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):103 -> a
    28:28:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):54 -> a
    29:37:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):59:67 -> a
    38:38:boolean com.android.tools.r8.graph.DexEncodedField.isPublic():225:225 -> a
    38:38:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):71 -> a
    39:49:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):77:87 -> a
    50:59: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.I9:
    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.Y9:
# {"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.Lb:
    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.ConstantArgumentRule -> com.android.tools.r8.shaking.m:
    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.ConstantArgumentRule$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.ConstantArgumentRule$Builder -> com.android.tools.r8.shaking.l:
    1:1:void <init>(com.android.tools.r8.shaking.ConstantArgumentRule$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.DefaultEnqueuerUseRegistry -> com.android.tools.r8.shaking.n:
    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):232:232 -> 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.Je:
    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.o:
    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.Me:
    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
    15:15:void lambda$merge$4(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.MinimumKeepInfoCollection):94:94 -> a
    16:16:void pruneDeadItems(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer):98:98 -> a
    17:24: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
    25:25:boolean com.android.tools.r8.shaking.EnqueuerEvent.isUnconditionalKeepInfoEvent():0:0 -> a
    25: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):109 -> a
    26:35: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
    36:36: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
    37:37:com.android.tools.r8.shaking.KeepClassInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexType):127:127 -> a
    38:38:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.get(com.android.tools.r8.shaking.EnqueuerEvent):59:59 -> a
    38:38: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
    38:38:com.android.tools.r8.shaking.KeepClassInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexType):127 -> a
    39:41: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
    39:41:com.android.tools.r8.shaking.KeepClassInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexType):127 -> a
    42:42:com.android.tools.r8.shaking.KeepClassInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexType):127:127 -> a
    43:43: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
    44:44:com.android.tools.r8.shaking.KeepFieldInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexField):131:131 -> a
    45:45:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.get(com.android.tools.r8.shaking.EnqueuerEvent):59:59 -> a
    45:45: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
    45:45:com.android.tools.r8.shaking.KeepFieldInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexField):131 -> a
    46:48: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
    46:48:com.android.tools.r8.shaking.KeepFieldInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexField):131 -> a
    49:49:com.android.tools.r8.shaking.KeepFieldInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexField):131:131 -> a
    50:50: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
    51:51:com.android.tools.r8.shaking.KeepMethodInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexMethod):135:135 -> a
    52:52:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.get(com.android.tools.r8.shaking.EnqueuerEvent):59:59 -> a
    52:52: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
    52:52:com.android.tools.r8.shaking.KeepMethodInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexMethod):135 -> a
    53:55: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
    53:55:com.android.tools.r8.shaking.KeepMethodInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexMethod):135 -> a
    56:56:com.android.tools.r8.shaking.KeepMethodInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexMethod):135:135 -> a
    57:59:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection rewrittenWithLens(com.android.tools.r8.graph.GraphLens):152:154 -> a
    60:60:void com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.forEach(java.util.function.BiConsumer):38:38 -> a
    60:60:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection rewrittenWithLens(com.android.tools.r8.graph.GraphLens):154 -> a
    61:62:void lambda$rewrittenWithLens$9(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.MinimumKeepInfoCollection):157:158 -> 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.p:
    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.Wg:
    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:3:com.android.tools.r8.shaking.DiscardedChecker createForMainDex(com.android.tools.r8.graph.AppView):38: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
    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.Vg:
    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.u:
    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 noClassMerging -> 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 deadProtoTypeCandidates -> F
    com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder objectAllocationInfoCollection -> t
    com.android.tools.r8.utils.collections.ProgramMethodSet pendingReflectiveUses -> V
    java.util.Map activeIfRules -> e0
    com.android.tools.r8.shaking.RootSetUtils$RootSet rootSet -> n
    java.util.Set failedFieldResolutionTargets -> N
    com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection keepInfo -> X
    java.util.Map reachableVirtualTargets -> W
    java.util.Map reachableInstanceFields -> x
    java.util.Set checkCastAnalyses -> h
    java.util.Set fieldAccessAnalyses -> d
    com.android.tools.r8.shaking.Enqueuer$LiveMethodsSet targetedMethods -> L
    java.util.Set bootstrapMethods -> O
    java.util.Map unusedInterfaceTypes -> K
    boolean $assertionsDisabled -> n0
    boolean forceProguardCompatibility -> a
    com.android.tools.r8.shaking.Enqueuer$SetWithReportedReason initializedClasses -> B
    java.util.Map synthesizingContexts -> y
    com.android.tools.r8.shaking.MissingClasses$Builder missingClassesBuilder -> G
    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.Set initialDeadProtoTypes -> H
    java.util.concurrent.ExecutorService executorService -> k
    java.util.Set invokeAnalyses -> e
    java.util.Set methodsTargetedByInvokeDynamic -> P
    java.util.Set recordFieldValuesReferences -> b0
    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 initialPrunedTypes -> 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
    java.util.Set failedMethodResolutionTargets -> M
    com.android.tools.r8.shaking.Enqueuer$LiveMethodsSet liveMethods -> R
    1:1:void <clinit>():190:190 -> <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):463:463 -> <init>
    2:3912: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):240:4150 -> <init>
    3913:3959: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):464:510 -> <init>
    1:1:boolean com.android.tools.r8.shaking.EnqueuerEvent.isUnconditionalKeepInfoEvent():0:0 -> a
    1:1:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2906 -> a
    2:4:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2909:2911 -> a
    5:5:boolean com.android.tools.r8.shaking.EnqueuerEvent.isLiveClassEvent():0:0 -> a
    5:5:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2915 -> a
    6:6:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2916:2916 -> a
    7:7:boolean com.android.tools.r8.shaking.EnqueuerEvent.isInstantiatedClassEvent():0:0 -> a
    7:7:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2918 -> a
    8:8:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2919:2919 -> a
    9:10:boolean com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl.isInstantiatedDirectlyOrHasInstantiatedSubtype(com.android.tools.r8.graph.DexProgramClass):98:99 -> a
    9:10:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2919 -> a
    11:11:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2922:2922 -> a
    com.android.tools.r8.shaking.KeepReason lambda$keepClassAndAllMembers$44(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness) -> a
    com.android.tools.r8.graph.DexApplication lambda$postProcessingDesugaring$100(com.android.tools.r8.graph.DexApplication) -> a
    12:12:com.android.tools.r8.graph.AppInfoWithClassHierarchy access$1000(com.android.tools.r8.shaking.Enqueuer):190:190 -> a
    13:13:void access$1600(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):190:190 -> a
    14:17:void transitionUnusedInterfaceToLive(com.android.tools.r8.graph.DexProgramClass):2763:2766 -> a
    14:17:void access$1600(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):190 -> a
    18:18:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1776:1776 -> a
    18:18:void transitionUnusedInterfaceToLive(com.android.tools.r8.graph.DexProgramClass):2767 -> a
    18:18:void access$1600(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):190 -> a
    19:19:void transitionUnusedInterfaceToLive(com.android.tools.r8.graph.DexProgramClass):2771:2771 -> a
    19:19:void access$1600(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):190 -> a
    20:20:void access$1700(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDerivedContext):190:190 -> a
    21:22:void recordFieldReference(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDerivedContext):653:654 -> a
    21:22:void access$1700(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDerivedContext):190 -> a
    23:23:com.android.tools.r8.graph.DexProgramClass access$1800(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramDefinition):190:190 -> a
    24:24:com.android.tools.r8.graph.DexProgramClass getProgramHolderOrNull(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramDefinition):768:768 -> a
    24:24:com.android.tools.r8.graph.DexProgramClass access$1800(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramDefinition):190 -> a
    25:25:void access$2000(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):190:190 -> a
    26:26:void access$2200(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):190:190 -> a
    27:27:void access$2300(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDerivedContext):190:190 -> a
    28:28:void access$2400(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):190:190 -> a
    29:29:void access$2500(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):190:190 -> a
    30:30:com.android.tools.r8.graph.DexClass access$2600(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):190:190 -> a
    31:36: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):682:687 -> a
    31:36: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):674 -> a
    31:36:com.android.tools.r8.graph.DexClass access$2600(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):190 -> a
    37:37:void access$2700(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):190:190 -> a
    38:38:void ignoreMissingClass(com.android.tools.r8.graph.DexType):2362:2362 -> a
    38:38:void ignoreMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2366 -> a
    38:38:void access$2700(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):190 -> a
    39:39:void access$2800(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):190:190 -> a
    40:40:void access$900(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):190:190 -> a
    41:41:void lambda$new$0(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):490:490 -> a
    42:42:com.android.tools.r8.shaking.Enqueuer registerAnalysis(com.android.tools.r8.graph.analysis.EnqueuerAnalysis):538:538 -> a
    42:42:void lambda$new$0(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):490 -> a
    43:43:com.android.tools.r8.shaking.EnqueuerUseRegistryFactory lambda$createUseRegistryFactory$1(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker):528:528 -> a
    44:44:com.android.tools.r8.shaking.Enqueuer registerFieldAccessAnalysis(com.android.tools.r8.graph.analysis.EnqueuerFieldAccessAnalysis):543:543 -> a
    45:45:com.android.tools.r8.shaking.Enqueuer registerInvokeAnalysis(com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):548:548 -> a
    46:46:com.android.tools.r8.shaking.Enqueuer registerCheckCastAnalysis(com.android.tools.r8.graph.analysis.EnqueuerCheckCastAnalysis):558:558 -> a
    47:47:void setAnnotationRemoverBuilder(com.android.tools.r8.shaking.AnnotationRemover$Builder):568:568 -> a
    48:48:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexType):582:582 -> a
    49:49:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexProgramClass):589:589 -> a
    49:49:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexType):584 -> a
    50:50:boolean addLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):593:593 -> a
    51:54:void recordTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):626:629 -> a
    55:60: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):682:687 -> a
    55:60: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):674 -> a
    55:60:void recordTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):633 -> a
    61:61:void recordMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDerivedContext):637:637 -> a
    62:65:void recordMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):645:648 -> a
    66:66:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):666:666 -> a
    67:72: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):682:687 -> a
    67:72: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):674 -> a
    67:72:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):666 -> a
    73:73:void processNewLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.utils.WorkList,java.util.function.BiConsumer):714:714 -> a
    74:74:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    74:74:void processNewLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.utils.WorkList,java.util.function.BiConsumer):714 -> a
    75:77:void processNewLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.utils.WorkList,java.util.function.BiConsumer):716:718 -> a
    78:82:void warnIfLibraryTypeInheritsFromProgramType(com.android.tools.r8.graph.DexLibraryClass):780:784 -> a
    78:82:void processNewLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.utils.WorkList,java.util.function.BiConsumer):718 -> a
    83:83:void processNewLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.utils.WorkList,java.util.function.BiConsumer):720:720 -> a
    84:84:void com.android.tools.r8.graph.DexClass.forEachClassField(java.util.function.Consumer):144:144 -> a
    84:84:void processNewLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.utils.WorkList,java.util.function.BiConsumer):720 -> a
    85:85:void processNewLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.utils.WorkList,java.util.function.BiConsumer):727:727 -> a
    86:86:void com.android.tools.r8.graph.DexClass.forEachClassMethod(java.util.function.Consumer):154:154 -> a
    86:86:void processNewLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.utils.WorkList,java.util.function.BiConsumer):727 -> a
    87:88:void processNewLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.utils.WorkList,java.util.function.BiConsumer):736:737 -> a
    89:90:void lambda$processNewLiveNonProgramType$2(com.android.tools.r8.utils.WorkList,java.util.function.BiConsumer,com.android.tools.r8.graph.DexClassAndField):723:724 -> a
    91:91:void lambda$processNewLiveNonProgramType$2(com.android.tools.r8.utils.WorkList,java.util.function.BiConsumer,com.android.tools.r8.graph.DexClassAndField):722:722 -> a
    92:94:void lambda$processNewLiveNonProgramType$3(com.android.tools.r8.utils.WorkList,java.util.function.BiConsumer,com.android.tools.r8.graph.DexClassAndMethod):729:731 -> a
    95:98:void lambda$processNewLiveNonProgramType$3(com.android.tools.r8.utils.WorkList,java.util.function.BiConsumer,com.android.tools.r8.graph.DexClassAndMethod):730:733 -> a
    99:109:void addNonProgramClassToWorklist(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ClasspathOrLibraryDefinition,com.android.tools.r8.utils.WorkList,java.util.function.BiConsumer):747:757 -> a
    110:110:void lambda$enqueueAllIfNotShrinking$4(com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField):838:838 -> a
    111:111:void lambda$enqueueAllIfNotShrinking$5(com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod):840:840 -> a
    112:113:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):856:857 -> a
    114:114:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> a
    114:114:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):857 -> a
    115:119:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):858:862 -> a
    120:120:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():792:792 -> a
    120:120:boolean com.android.tools.r8.graph.DexClass.hasDefaultInitializer():778 -> a
    120:120:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):863 -> a
    121:125:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):864:868 -> a
    126:130:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):866:870 -> a
    131:131:boolean com.android.tools.r8.graph.DexClass.isExternalizable(com.android.tools.r8.graph.AppView):832:832 -> a
    131:131:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):870 -> a
    132:132:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isExternalizable(com.android.tools.r8.graph.DexType):442:442 -> a
    132:132:boolean com.android.tools.r8.graph.DexClass.isExternalizable(com.android.tools.r8.graph.AppView):832 -> a
    132:132:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):870 -> a
    133:133:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):871:871 -> a
    134:134:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):879:879 -> a
    135:135:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():485:485 -> a
    135:135:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):879 -> a
    136:137:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):879:880 -> a
    138:138:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():473:473 -> a
    138:138:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):880 -> a
    139:144:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):880:885 -> a
    145:145:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():473:473 -> a
    145:145:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):885 -> a
    146:146:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):885:885 -> a
    147:147:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):884:884 -> a
    148:148:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):882:882 -> a
    149:149:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):892:892 -> a
    150:150:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():485:485 -> a
    150:150:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):892 -> a
    151:152:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):892:893 -> a
    153:153:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():473:473 -> a
    153:153:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):893 -> a
    154:159:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):893:898 -> a
    160:160:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():473:473 -> a
    160:160:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):898 -> a
    161:161:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):898:898 -> a
    162:162:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):897:897 -> a
    163:163:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):895:895 -> a
    164:167:boolean registerMethodWithTargetAndContext(java.util.function.BiPredicate,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):934:937 -> a
    168:168:boolean registerFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):943:943 -> a
    168:168:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType):1462 -> a
    169:188:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType):1466:1485 -> a
    189:189:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1698,"2":1699,"3":1700}}
    1698:1698:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType):1485:1485 -> a
    1699:1699:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType):1485:1485 -> a
    1700:1700:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType):1485:1485 -> a
    1676:1687:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType):1487:1498 -> a
    1688:1688:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    1688:1688:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType):1498 -> a
    1689:1691:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType):1501:1503 -> a
    1692:1694:void markTypeAsLive(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition):1769:1771 -> a
    1692:1694:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType):1503 -> a
    1695:1695:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType):1506:1506 -> a
    1696:1696:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.fieldReferencedIn(com.android.tools.r8.graph.ProgramMethod):62:62 -> a
    1696:1696:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType):1507 -> a
    1697:1697:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType):1506:1506 -> a
    1701:1701:boolean registerFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):951:951 -> a
    1701:1701:void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1520 -> a
    1702:1721:void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1524:1543 -> a
    1722:1722:void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3286,"2":3287,"3":3288}}
    3286:3286:void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1543:1543 -> a
    3287:3287:void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1543:1543 -> a
    3288:3288:void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1543:1543 -> a
    3267:3276:void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1545:1554 -> a
    3277:3277:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    3277:3277:void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1554 -> a
    3278:3280:void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1557:1559 -> a
    3281:3283:void markTypeAsLive(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition):1769:1771 -> a
    3281:3283:void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1559 -> a
    3284:3284:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.fieldReferencedIn(com.android.tools.r8.graph.ProgramMethod):62:62 -> a
    3284:3284:void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1562 -> a
    3285:3285:void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1563:1563 -> a
    3289:3290:boolean registerReflectiveFieldAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):959:960 -> a
    3291:3322:boolean registerFieldAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,boolean):966:997 -> a
    3323:3323:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1003:1003 -> a
    3324:3324:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    3324:3324:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1003 -> a
    3325:3325:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1003:1003 -> a
    3326:3329:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):281:284 -> a
    3326:3329:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1003 -> a
    3330:3330:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):906:906 -> a
    3330:3330:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):284 -> a
    3330:3330:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1003 -> a
    3331:3332:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1004:1005 -> a
    3333:3333:com.android.tools.r8.graph.DexProgramClass getProgramHolderOrNull(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramDefinition):768:768 -> a
    3333:3333:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1005 -> a
    3334:3338:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1007:1011 -> a
    3339:3339:java.util.List com.android.tools.r8.graph.DexCallSite.getBootstrapArgs():106:106 -> a
    3339:3339:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1013 -> a
    3340:3341:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1013:1014 -> a
    3342:3342:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodHandle():0:0 -> a
    3342:3342:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1014 -> a
    3343:3344:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1015:1016 -> a
    3345:3345:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    3345:3345:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1016 -> a
    3346:3353:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1017:1024 -> a
    3354:3354:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2476:2476 -> a
    3354:3354:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1026 -> a
    3355:3358:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2483:2486 -> a
    3355:3358:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2477 -> a
    3355:3358:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1026 -> a
    3359:3359: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":3425,"2":3426,"3":3427}}
    3425:3425:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2486:2486 -> a
    3425:3425:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2477 -> a
    3425:3425:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1026 -> a
    3426:3426:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2486:2486 -> a
    3426:3426:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2477 -> a
    3426:3426:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1026 -> a
    3427:3427:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2486:2486 -> a
    3427:3427:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2477 -> a
    3427:3427:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1026 -> a
    3360:3360: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":3429,"2":3430,"3":3431,"4":3432}}
    3429:3429:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2488:2488 -> a
    3429:3429:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2477 -> a
    3429:3429:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1026 -> a
    3430:3430:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2488:2488 -> a
    3430:3430:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2477 -> a
    3430:3430:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1026 -> a
    3431:3431:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2488:2488 -> a
    3431:3431:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2477 -> a
    3431:3431:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1026 -> a
    3432:3432:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2488:2488 -> a
    3432:3432:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2477 -> a
    3432:3432:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1026 -> a
    3361:3366:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2489:2494 -> a
    3361:3366:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2477 -> a
    3361:3366:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1026 -> a
    3367:3367: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":3438,"2":3439,"3":3440}}
    3438:3438:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2494:2494 -> a
    3438:3438:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2477 -> a
    3438:3438:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1026 -> a
    3439:3439:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2494:2494 -> a
    3439:3439:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2477 -> a
    3439:3439:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1026 -> a
    3440:3440:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2494:2494 -> a
    3440:3440:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2477 -> a
    3440:3440:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1026 -> a
    3368:3368: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":3444,"2":3445,"3":3446,"4":3447}}
    3444:3444:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2498:2498 -> a
    3444:3444:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2477 -> a
    3444:3444:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1026 -> a
    3445:3445:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2498:2498 -> a
    3445:3445:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2477 -> a
    3445:3445:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1026 -> a
    3446:3446:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2498:2498 -> a
    3446:3446:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2477 -> a
    3446:3446:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1026 -> a
    3447:3447:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2498:2498 -> a
    3447:3447:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2477 -> a
    3447:3447:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1026 -> a
    3369:3370:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2500:2501 -> a
    3369:3370:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2477 -> a
    3369:3370:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1026 -> a
    3371:3371:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2478:2478 -> a
    3371:3371:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1026 -> a
    3372:3372:com.android.tools.r8.shaking.InstantiatedObject com.android.tools.r8.shaking.InstantiatedObject.of(com.android.tools.r8.ir.desugar.LambdaDescriptor):17:17 -> a
    3372:3372:void transitionMethodsForInstantiatedLambda(com.android.tools.r8.ir.desugar.LambdaDescriptor):2508 -> a
    3372:3372:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1027 -> a
    3373:3373:void transitionMethodsForInstantiatedLambda(com.android.tools.r8.ir.desugar.LambdaDescriptor):2508:2508 -> a
    3373:3373:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1027 -> a
    3374:3374:void transitionMethodsForInstantiatedLambda(com.android.tools.r8.ir.desugar.LambdaDescriptor):2507:2507 -> a
    3374:3374:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1027 -> a
    3375:3406:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1028:1059 -> a
    3407:3407:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFromLambdaCreatedIn(com.android.tools.r8.graph.ProgramMethod):58:58 -> a
    3407:3407:void traceInvokeInterfaceFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1305 -> a
    3407:3407:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1047 -> a
    3408:3408:void traceInvokeInterfaceFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1305:1305 -> a
    3408:3408:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1047 -> a
    3409:3409:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFromLambdaCreatedIn(com.android.tools.r8.graph.ProgramMethod):58:58 -> a
    3409:3409:void traceInvokeDirectFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1284 -> a
    3409:3409:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1053 -> a
    3410:3410:void traceInvokeDirectFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1284:1284 -> a
    3410:3410:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1053 -> a
    3411:3411:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1056:1056 -> a
    3412:3412:void traceNewInstanceFromLambda(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1423:1423 -> a
    3412:3412:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1056 -> a
    3413:3413:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFromLambdaCreatedIn(com.android.tools.r8.graph.ProgramMethod):58:58 -> a
    3413:3413:void traceNewInstanceFromLambda(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1424 -> a
    3413:3413:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1056 -> a
    3414:3414: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):1432:1432 -> a
    3414:3414:void traceNewInstanceFromLambda(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1423 -> a
    3414:3414:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1056 -> a
    3415:3415:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> a
    3415:3415: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):1434 -> a
    3415:3415:void traceNewInstanceFromLambda(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1423 -> a
    3415:3415:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1056 -> a
    3416:3419: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):1434:1437 -> a
    3416:3419:void traceNewInstanceFromLambda(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1423 -> a
    3416:3419:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1056 -> a
    3420:3420: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):1435:1435 -> a
    3420:3420:void traceNewInstanceFromLambda(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1423 -> a
    3420:3420:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1056 -> a
    3421:3421:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFromLambdaCreatedIn(com.android.tools.r8.graph.ProgramMethod):58:58 -> a
    3421:3421:void traceInvokeVirtualFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1381 -> a
    3421:3421:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1050 -> a
    3422:3422:void traceInvokeVirtualFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1381:1381 -> a
    3422:3422:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1050 -> a
    3423:3423:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFromLambdaCreatedIn(com.android.tools.r8.graph.ProgramMethod):58:58 -> a
    3423:3423:void traceInvokeStaticFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1326 -> a
    3423:3423:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1044 -> a
    3424:3424:void traceInvokeStaticFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1326:1326 -> a
    3424:3424:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1044 -> a
    3448:3448:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$traceCallSite$6(com.android.tools.r8.graph.DexCallSite):1028:1028 -> a
    3449:3449:void lambda$traceCallSite$7(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):1029:1029 -> a
    3450:3450:void lambda$traceCheckCast$8(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerCheckCastAnalysis):1064:1064 -> a
    3451:3455:void handleLockCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator):1088:1092 -> a
    3451:3455:void traceConstClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator,boolean):1078 -> a
    3456:3456:void traceConstClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator,boolean):1079:1079 -> a
    3457:3470:boolean isConstClassMaybeUsedAsLock(com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator):1108:1121 -> a
    3471:3471:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1584:1584 -> a
    3471:3471:boolean isConstClassMaybeUsedAsLock(com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator):1121 -> a
    3472:3479:boolean isConstClassMaybeUsedAsLock(com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator):1121:1128 -> a
    3480:3480:boolean lambda$isConstClassMaybeUsedAsLock$10(com.android.tools.r8.code.CfOrDexInstruction):1113:1113 -> a
    3481:3481:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    3481:3481:boolean lambda$isConstClassMaybeUsedAsLock$10(com.android.tools.r8.code.CfOrDexInstruction):1113 -> a
    3482:3482:boolean lambda$isConstClassMaybeUsedAsLock$10(com.android.tools.r8.code.CfOrDexInstruction):1114:1114 -> a
    3483:3483:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    3483:3483:boolean lambda$isConstClassMaybeUsedAsLock$10(com.android.tools.r8.code.CfOrDexInstruction):1114 -> a
    3484:3484:com.android.tools.r8.shaking.KeepReason lambda$internalTraceConstClassOrCheckCast$11(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):1145:1145 -> a
    3485:3485:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):1224:1224 -> a
    3486:3486:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    3486:3486:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):1224 -> a
    3487:3489:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):1224:1226 -> a
    3490:3490:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.methodHandleReferencedIn(com.android.tools.r8.graph.ProgramMethod):87:87 -> a
    3490:3490:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):1228 -> a
    3491:3491:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> a
    3491:3491:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):1229 -> a
    3492:3496:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):1230:1234 -> a
    3497:3497:void traceTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1242:1242 -> a
    3497:3497:void internalTraceConstClassOrCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,boolean):1135 -> a
    3498:3506:void internalTraceConstClassOrCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,boolean):1136:1144 -> a
    3507:3507:void lambda$traceInvokeDirect$14(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1260:1260 -> a
    3508:3510:boolean registerDeferredActionForDeadProtoBuilder(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Action):1272:1274 -> a
    3511:3511: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):1276:1276 -> a
    3512:3512:boolean lambda$registerDeferredActionForDeadProtoBuilder$15(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.Action):1277:1277 -> a
    3513:3518:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1289:1294 -> a
    3519:3519:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    3519:3519:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1294 -> a
    3520:3551:void handleInvokeOfDirectTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2236:2267 -> a
    3520:3551:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1296 -> a
    3552:3552:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1297:1297 -> a
    3553:3553:void lambda$traceInvokeDirect$17(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1297:1297 -> a
    3554:3554:void lambda$traceNewInstance$22(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1409:1409 -> a
    3555:3555:void lambda$traceInstanceFieldRead$23(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerFieldAccessAnalysis):1469:1469 -> a
    3556:3556:void lambda$traceStaticFieldRead$26(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):1592:1592 -> a
    3557:3557:java.lang.Boolean lambda$traceStaticFieldRead$27(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):1621:1621 -> a
    3558:3570:void markTypeAsLive(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):1753:1765 -> a
    3571:3575:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1790:1794 -> a
    3576:3576:boolean com.android.tools.r8.shaking.Enqueuer$Mode.isFinalMainDexTracing():221:221 -> a
    3576:3576:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1794 -> a
    3577:3580:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1794:1794 -> a
    3581:3581: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":5521,"2":5522,"3":5523}}
    5521:5521:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1794:1794 -> a
    5522:5522:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1794:1794 -> a
    5523:5523:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1794:1794 -> a
    5378:5380:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1797:1799 -> a
    5381:5381:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap.isUnboxedEnum(com.android.tools.r8.graph.DexProgramClass):28:28 -> a
    5381:5381:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1799 -> a
    5382:5392:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1799:1809 -> a
    5393:5399:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1808:1814 -> a
    5400:5436:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1813:1849 -> a
    5437:5437:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    5437:5437:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1849 -> a
    5438:5438:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1852:1852 -> a
    5439:5439:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reachableFromLiveType(com.android.tools.r8.graph.DexType):46:46 -> a
    5439:5439:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1852 -> a
    5440:5449:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1854:1863 -> a
    5450:5453:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):789:792 -> a
    5450:5453:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1867 -> a
    5454:5454: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":5524,"2":5525,"3":5526}}
    5524:5524:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):792:792 -> a
    5524:5524:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1867 -> a
    5525:5525:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):792:792 -> a
    5525:5525:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1867 -> a
    5526:5526:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):792:792 -> a
    5526:5526:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1867 -> a
    5455:5457:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):795:797 -> a
    5455:5457:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1867 -> a
    5458:5470:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):792:804 -> a
    5458:5470:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1867 -> a
    5471:5471: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":5538,"2":5539,"3":5540}}
    5538:5538:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):804:804 -> a
    5538:5538:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1867 -> a
    5539:5539:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):804:804 -> a
    5539:5539:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1867 -> a
    5540:5540:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):804:804 -> a
    5540:5540:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1867 -> a
    5472:5474:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):807:809 -> a
    5472:5474:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1867 -> a
    5475:5475:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):804:804 -> a
    5475:5475:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1867 -> a
    5476:5479:void transitionUnusedInterfaceToLive(com.android.tools.r8.graph.DexProgramClass):2763:2766 -> a
    5476:5479:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1871 -> a
    5480:5480:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1776:1776 -> a
    5480:5480:void transitionUnusedInterfaceToLive(com.android.tools.r8.graph.DexProgramClass):2767 -> a
    5480:5480:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1871 -> a
    5481:5481:void transitionUnusedInterfaceToLive(com.android.tools.r8.graph.DexProgramClass):2771:2771 -> a
    5481:5481:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1871 -> a
    5482:5484:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1888:1890 -> a
    5485:5485:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):828:828 -> a
    5485:5485:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1890 -> a
    5486:5486:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):446:446 -> a
    5486:5486:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):828 -> a
    5486:5486:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1890 -> a
    5487:5487:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):903:903 -> a
    5487:5487:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1891 -> a
    5488:5488:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):828:828 -> a
    5488:5488:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):903 -> a
    5488:5488:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1891 -> a
    5489:5489:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):446:446 -> a
    5489:5489:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):828 -> a
    5489:5489:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):903 -> a
    5489:5489:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1891 -> a
    5490:5493:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):903:906 -> a
    5490:5493:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1891 -> a
    5494:5494:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):828:828 -> a
    5494:5494:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):906 -> a
    5494:5494:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1891 -> a
    5495:5495:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):446:446 -> a
    5495:5495:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):828 -> a
    5495:5495:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):906 -> a
    5495:5495:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1891 -> a
    5496:5496:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):907:907 -> a
    5496:5496:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1891 -> a
    5497:5497:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():792:792 -> a
    5497:5497:boolean com.android.tools.r8.graph.DexClass.hasDefaultInitializer():778 -> a
    5497:5497:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):913 -> a
    5497:5497:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1891 -> a
    5498:5498:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):914:914 -> a
    5498:5498:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1891 -> a
    5499:5500:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1895:1896 -> a
    5501:5501:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2008:2008 -> a
    5501:5501:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1898 -> a
    5502:5502:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.from(com.android.tools.r8.graph.ProgramDefinition):40:40 -> a
    5502:5502:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2009 -> a
    5502:5502:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1898 -> a
    5503:5503:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2014:2014 -> a
    5503:5503:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2006 -> a
    5503:5503:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1898 -> a
    5504:5505:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation[],com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2019:2020 -> a
    5504:5505:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2014 -> a
    5504:5505:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2006 -> a
    5504:5505:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1898 -> a
    5506:5506:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> a
    5506:5506:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1901 -> a
    5507:5513:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902:1908 -> a
    5514:5514:java.util.Set com.android.tools.r8.shaking.RootSetUtils$RootSetBase.getDependentKeepClassCompatRule(com.android.tools.r8.graph.DexType):1662:1662 -> a
    5514:5514:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1908 -> a
    5515:5519:void compatEnqueueHolderIfDependentNonStaticMember(com.android.tools.r8.graph.DexProgramClass,java.util.Set):920:924 -> a
    5515:5519:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1907 -> a
    5520:5520:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1910:1910 -> a
    5541:5541:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind lambda$markTypeAsLive$32(com.android.tools.r8.graph.ProgramDefinition):1904:1904 -> a
    5542:5542:void lambda$markTypeAsLive$33(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):1910:1910 -> a
    5543:5546:void processDeferredAnnotations(com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.function.Function):1918:1921 -> a
    5547:5549:void processDeferredAnnotations(com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.function.Function):1920:1922 -> a
    5550:5550:boolean lambda$processDeferredAnnotations$34(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotation):1921:1921 -> a
    5551:5551:void lambda$processDeferredAnnotations$36(java.util.function.Function,com.android.tools.r8.graph.DexAnnotation,java.util.List):1924:1924 -> a
    5552:5552:void lambda$processDeferredAnnotations$35(com.android.tools.r8.graph.DexAnnotation,java.util.function.Function,com.android.tools.r8.graph.ProgramDefinition):1927:1927 -> a
    5553:5553:void lambda$processDeferredAnnotations$35(com.android.tools.r8.graph.DexAnnotation,java.util.function.Function,com.android.tools.r8.graph.ProgramDefinition):1926:1926 -> a
    5554:5557:void ensureMethodsContinueToWidenAccess(com.android.tools.r8.graph.ClassDefinition):1932:1935 -> a
    5558:5560:void ensureMethodsContinueToWidenAccess(com.android.tools.r8.graph.ClassDefinition):1934:1936 -> a
    5561:5561:void com.android.tools.r8.graph.MethodCollection.forEachVirtualMethod(java.util.function.Consumer):126:126 -> a
    5561:5561:void ensureMethodsContinueToWidenAccess(com.android.tools.r8.graph.ClassDefinition):1936 -> a
    5562:5562:void ensureMethodsContinueToWidenAccess(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.KeepReason):1941:1941 -> a
    5563:5565:boolean lambda$ensureMethodsContinueToWidenAccess$38(com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):1943:1945 -> a
    5566:5571:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.methodDefinedInInterfaces(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):509:514 -> a
    5566:5571:boolean lambda$ensureMethodsContinueToWidenAccess$38(com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):1945 -> a
    5572:5572:void lambda$ensureMethodsContinueToWidenAccess$39(com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.ProgramMethod):1946:1946 -> a
    5573:5607:void markInterfaceTypeAsLiveViaInheritanceClause(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1951:1985 -> a
    5608:5608:boolean com.android.tools.r8.graph.DexClass.isPublic():725:725 -> a
    5608:5608:void markInterfaceTypeAsLiveViaInheritanceClause(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1987 -> a
    5609:5609:void markInterfaceTypeAsLiveViaInheritanceClause(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1988:1988 -> a
    5610:5610:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1776:1776 -> a
    5610:5610:void markInterfaceTypeAsLiveViaInheritanceClause(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1991 -> a
    5611:5611:void markInterfaceTypeAsLiveViaInheritanceClause(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1989:1989 -> a
    5612:5612:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1776:1776 -> a
    5612:5612:void markInterfaceTypeAsLiveViaInheritanceClause(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1959 -> a
    5613:5616:void processAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2026:2029 -> a
    5617:5622:boolean shouldKeepAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind,boolean):2059:2064 -> a
    5617:5622:void processAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2030 -> a
    5623:5623:void processAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2034:2034 -> a
    5624:5624:boolean com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.isParameter():48:48 -> a
    5624:5624:void processAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2034 -> a
    5625:5642:void processAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2034:2051 -> a
    5643:5643:java.util.List lambda$processAnnotation$42(com.android.tools.r8.graph.DexAnnotation):2038:2038 -> a
    5644:5647:com.android.tools.r8.graph.FieldResolutionResult resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDefinition):2070:2073 -> a
    5648:5649:void recordFieldReference(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDerivedContext):653:654 -> a
    5648:5649:com.android.tools.r8.graph.FieldResolutionResult resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDefinition):2072 -> a
    5650:5651:com.android.tools.r8.graph.FieldResolutionResult resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDefinition):2075:2076 -> a
    5652:5653:void recordFieldReference(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDerivedContext):653:654 -> a
    5652:5653:com.android.tools.r8.graph.FieldResolutionResult resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDefinition):2077 -> a
    5654:5657: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):2099:2102 -> a
    5658:5663: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):2101:2106 -> a
    5664:5668: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):2105:2109 -> a
    5669:5700:void handleInvokeOfDirectTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2236:2267 -> a
    5669:5700:void markNonStaticDirectMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2231 -> a
    5701:5714:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2272:2285 -> a
    5715:5715:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reachableFromLiveType(com.android.tools.r8.graph.DexType):46:46 -> a
    5715:5715:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2285 -> a
    5716:5726:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2286:2296 -> a
    5727:5727:boolean com.android.tools.r8.errors.dontwarn.DontWarnConfiguration.matches(com.android.tools.r8.graph.Definition):27:27 -> a
    5727:5727:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2296 -> a
    5728:5729:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2301:2302 -> a
    5730:5730: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":8043,"2":8044,"3":8045}}
    8043:8043:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2302:2302 -> a
    8044:8044:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2302:2302 -> a
    8045:8045:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2302:2302 -> a
    8032:8042:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2302:2312 -> a
    8046:8048:void lambda$ensureFromLibraryOrThrow$43(com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):2290:2292 -> a
    8049:8051:void keepClassAndAllMembers(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2324:2326 -> a
    8052:8052:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2318:2318 -> a
    8052:8052:void keepClassAndAllMembers(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2327 -> a
    8053:8053:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():613:613 -> a
    8053:8053:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2318 -> a
    8053:8053:void keepClassAndAllMembers(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2327 -> a
    8054:8054:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2319:2319 -> a
    8054:8054:void keepClassAndAllMembers(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2327 -> a
    8055:8055:void keepClassAndAllMembers(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2328:2328 -> a
    8056:8056:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    8056:8056:void keepClassAndAllMembers(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2328 -> a
    8057:8057:void keepClassAndAllMembers(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2334:2334 -> a
    8058:8058:void lambda$keepClassAndAllMembers$45(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramField):2330:2330 -> a
    8059:8059:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2318:2318 -> a
    8059:8059:void lambda$keepClassAndAllMembers$45(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramField):2331 -> a
    8060:8060:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():613:613 -> a
    8060:8060:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2318 -> a
    8060:8060:void lambda$keepClassAndAllMembers$45(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramField):2331 -> a
    8061:8061:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2319:2319 -> a
    8061:8061:void lambda$keepClassAndAllMembers$45(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramField):2331 -> a
    8062:8062:void lambda$keepClassAndAllMembers$45(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramField):2332:2332 -> a
    8063:8063:void lambda$keepClassAndAllMembers$46(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramMethod):2336:2336 -> a
    8064:8064:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2318:2318 -> a
    8064:8064:void lambda$keepClassAndAllMembers$46(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramMethod):2337 -> a
    8065:8065:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():613:613 -> a
    8065:8065:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2318 -> a
    8065:8065:void lambda$keepClassAndAllMembers$46(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramMethod):2337 -> a
    8066:8066:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2319:2319 -> a
    8066:8066:void lambda$keepClassAndAllMembers$46(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramMethod):2337 -> a
    8067:8067:void lambda$keepClassAndAllMembers$46(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramMethod):2338:2338 -> a
    8068:8070:void recordFoundClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):2343:2345 -> a
    8071:8073:void markTypeAsLive(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition):1769:1771 -> a
    8071:8073:void recordFoundClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):2345 -> a
    8074:8074:void recordFoundClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):2348:2348 -> a
    8075:8075:void lambda$recordNonProgramClass$47(com.android.tools.r8.graph.ProgramDerivedContext,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ClasspathOrLibraryDefinition):2357:2357 -> a
    8076:8076:void ignoreMissingClass(com.android.tools.r8.graph.DexType):2362:2362 -> a
    8076:8076:void ignoreMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2366 -> a
    8077:8077:void ignoreMissingClass(com.android.tools.r8.graph.DexType):2362:2362 -> a
    8077:8077:void ignoreMissingClasspathOrLibraryClass(com.android.tools.r8.graph.DexType):2370 -> a
    8077:8077:void ignoreMissingClasspathOrLibraryClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ClasspathOrLibraryDefinition):2375 -> a
    8078:8078: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):2415:2415 -> a
    8079:8079:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> a
    8079:8079: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):2415 -> a
    8080:8086: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):2415:2421 -> a
    8087:8088: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):2450:2451 -> a
    8087:8088: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):2424 -> a
    8089:8090: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):2428:2429 -> a
    8091:8091:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    8091:8091: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):2429 -> a
    8092:8094: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):2432:2434 -> a
    8095:8095:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> a
    8095:8095:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2512 -> a
    8095:8095: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):2437 -> a
    8096:8097:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2512:2513 -> a
    8096:8097: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):2437 -> a
    8098:8098:com.android.tools.r8.shaking.InstantiatedObject com.android.tools.r8.shaking.InstantiatedObject.of(com.android.tools.r8.graph.DexProgramClass):13:13 -> a
    8098:8098:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2515 -> a
    8098:8098: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):2437 -> a
    8099:8099:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2515:2515 -> a
    8099:8099: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):2437 -> a
    8100:8100:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2514:2514 -> a
    8100:8100: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):2437 -> a
    8101:8104:void transitionFieldsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2699:2702 -> a
    8101:8104: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):2439 -> a
    8105:8105:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reachableFromLiveType(com.android.tools.r8.graph.DexType):46:46 -> a
    8105:8105:void transitionFieldsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2702 -> a
    8105:8105: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):2439 -> a
    8106:8111:void transitionFieldsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2703:2708 -> a
    8106:8111: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):2439 -> a
    8112:8112:void transitionDependentItemsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2712:2712 -> a
    8112:8112: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):2441 -> a
    8113:8113:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> a
    8113:8113:void transitionDependentItemsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2712 -> a
    8113:8113: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):2441 -> a
    8114:8116:void transitionDependentItemsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2712:2714 -> a
    8114:8116: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):2441 -> a
    8117:8117:void lambda$processNewlyInstantiatedClass$48(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):2422:2422 -> a
    8118:8118:void markAnnotationAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2456:2456 -> a
    8119:8119:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> a
    8119:8119:void markAnnotationAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2456 -> a
    8120:8124:void markAnnotationAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2456:2460 -> a
    8125:8126:void transitionDependentItemsForInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass):2718:2719 -> a
    8125:8126:void markAnnotationAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2461 -> a
    8127:8135:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2527:2535 -> a
    8136:8150:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2611:2625 -> a
    8136:8150:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2537 -> a
    8151:8151:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2622:2622 -> a
    8151:8151:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2537 -> a
    8152:8152:boolean com.android.tools.r8.shaking.InstantiatedObject.isClass():0:0 -> a
    8152:8152:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2632 -> a
    8152:8152:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2537 -> a
    8153:8155:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2632:2634 -> a
    8153:8155:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2537 -> a
    8156:8160:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2633:2637 -> a
    8156:8160:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2537 -> a
    8161:8167:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2636:2642 -> a
    8161:8167:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2537 -> a
    8168:8168:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2639:2639 -> a
    8168:8168:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2537 -> a
    8169:8172:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2539:2542 -> a
    8173:8173:void markProgramMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass):2553:2553 -> a
    8174:8174:boolean com.android.tools.r8.shaking.InstantiatedObject.isLambda():0:0 -> a
    8174:8174:void markProgramMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass):2553 -> a
    8175:8177:void markProgramMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass):2553:2553 -> a
    8178:8178:java.util.Map getReachableVirtualTargets(com.android.tools.r8.graph.DexProgramClass):2548:2548 -> a
    8178:8178:void markProgramMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass):2555 -> a
    8179:8180:void markProgramMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass):2555:2556 -> a
    8181:8195:void lambda$markProgramMethodOverridesAsLive$55(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):2558:2572 -> a
    8196:8206:void lambda$markProgramMethodOverridesAsLive$54(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):2574:2584 -> a
    8207:8207:void com.android.tools.r8.graph.LookupResult.forEach(java.util.function.Consumer):33:33 -> a
    8207:8207:void lambda$markProgramMethodOverridesAsLive$54(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):2584 -> a
    8208:8208:void lambda$markProgramMethodOverridesAsLive$54(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):2592:2592 -> a
    8209:8210:void lambda$markProgramMethodOverridesAsLive$49(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):2579:2580 -> a
    8211:8211:boolean lambda$markProgramMethodOverridesAsLive$50(com.android.tools.r8.graph.DexDefinition):2583:2583 -> a
    8212:8212: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
    8212:8212:boolean lambda$markProgramMethodOverridesAsLive$50(com.android.tools.r8.graph.DexDefinition):2583 -> a
    8213:8213:void lambda$markProgramMethodOverridesAsLive$52(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.LookupTarget):2586:2586 -> a
    8214:8216:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markProgramMethodOverridesAsLive$51(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod):2589:2589 -> a
    8217:8221:void lambda$markProgramMethodOverridesAsLive$53(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.graph.DexEncodedMethod):2595:2599 -> a
    8222:8222:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54:54 -> a
    8222:8222:void lambda$markProgramMethodOverridesAsLive$53(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.graph.DexEncodedMethod):2601 -> a
    8223:8223: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
    8223:8223:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54 -> a
    8223:8223:void lambda$markProgramMethodOverridesAsLive$53(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.graph.DexEncodedMethod):2601 -> a
    8224:8224:void lambda$markProgramMethodOverridesAsLive$53(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.graph.DexEncodedMethod):2599:2599 -> a
    8225:8225:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2651:2651 -> a
    8226:8241:boolean shouldMarkLibraryMethodOverrideAsReachable(com.android.tools.r8.graph.LookupTarget):4230:4245 -> a
    8226:8241:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2655 -> a
    8242:8250:java.util.Set getImmediateSubtypesInInstantiatedHierarchy(com.android.tools.r8.graph.DexProgramClass):4281:4289 -> a
    8242:8250:boolean shouldMarkLibraryMethodOverrideAsReachable(com.android.tools.r8.graph.LookupTarget):4251 -> a
    8242:8250:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2655 -> a
    8251:8265:boolean shouldMarkLibraryMethodOverrideAsReachable(com.android.tools.r8.graph.LookupTarget):4252:4266 -> a
    8251:8265:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2655 -> a
    8266:8274:java.util.Set getImmediateSubtypesInInstantiatedHierarchy(com.android.tools.r8.graph.DexProgramClass):4281:4289 -> a
    8266:8274:boolean shouldMarkLibraryMethodOverrideAsReachable(com.android.tools.r8.graph.LookupTarget):4270 -> a
    8266:8274:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2655 -> a
    8275:8277:boolean shouldMarkLibraryMethodOverrideAsReachable(com.android.tools.r8.graph.LookupTarget):4270:4272 -> a
    8275:8277:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2655 -> a
    8278:8278:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2658:2658 -> a
    8279:8279:boolean com.android.tools.r8.shaking.InstantiatedObject.isClass():0:0 -> a
    8279:8279:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2663 -> a
    8280:8280:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2666:2666 -> a
    8281:8281:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2665:2665 -> a
    8282:8282:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markLibraryOrClasspathOverrideLive$56(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod):2661:2661 -> a
    8283:8294:void markOverridesAsLibraryMethodOverrides(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):2672:2683 -> a
    8295:8297:void lambda$markOverridesAsLibraryMethodOverrides$57(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexType):2685:2687 -> a
    8298:8304:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2783:2789 -> a
    8305:8305:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2832:2832 -> a
    8305:8305:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2790 -> a
    8306:8306:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1776:1776 -> a
    8306:8306:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2832 -> a
    8306:8306:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2790 -> a
    8307:8307:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2833:2833 -> a
    8307:8307:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2790 -> a
    8308:8308:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2008:2008 -> a
    8308:8308:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2834 -> a
    8308:8308:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2790 -> a
    8309:8309:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.from(com.android.tools.r8.graph.ProgramDefinition):40:40 -> a
    8309:8309:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2009 -> a
    8309:8309:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2834 -> a
    8309:8309:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2790 -> a
    8310:8310:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2014:2014 -> a
    8310:8310:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2006 -> a
    8310:8310:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2834 -> a
    8310:8310:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2790 -> a
    8311:8312:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation[],com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2019:2020 -> a
    8311:8312:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2014 -> a
    8311:8312:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2006 -> a
    8311:8312:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2834 -> a
    8311:8312:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2790 -> a
    8313:8316:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2791:2794 -> a
    8317:8317:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2832:2832 -> a
    8317:8317:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2795 -> a
    8318:8318:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1776:1776 -> a
    8318:8318:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2832 -> a
    8318:8318:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2795 -> a
    8319:8319:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2833:2833 -> a
    8319:8319:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2795 -> a
    8320:8320:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2008:2008 -> a
    8320:8320:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2834 -> a
    8320:8320:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2795 -> a
    8321:8321:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.from(com.android.tools.r8.graph.ProgramDefinition):40:40 -> a
    8321:8321:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2009 -> a
    8321:8321:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2834 -> a
    8321:8321:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2795 -> a
    8322:8322:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2014:2014 -> a
    8322:8322:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2006 -> a
    8322:8322:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2834 -> a
    8322:8322:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2795 -> a
    8323:8324:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation[],com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2019:2020 -> a
    8323:8324:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2014 -> a
    8323:8324:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2006 -> a
    8323:8324:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2834 -> a
    8323:8324:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2795 -> a
    8325:8328:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2799:2802 -> a
    8329:8329:void lambda$markFieldAsLive$58(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):2802:2802 -> a
    8330:8330:void lambda$markFieldAsReachable$60(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):2828:2828 -> a
    8331:8333:void traceFieldReference(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod):2839:2841 -> a
    8334:8334:boolean isFieldLive(com.android.tools.r8.graph.DexEncodedField):2880:2880 -> a
    8335:8336:boolean isFieldWrittenInMethodSatisfying(com.android.tools.r8.graph.ProgramField,java.util.function.Predicate):2890:2891 -> a
    8337:8337:boolean isMethodLive(com.android.tools.r8.graph.DexEncodedMethod):2934:2934 -> a
    8338:8338:boolean isMethodLive(com.android.tools.r8.graph.ProgramMethod):2938:2938 -> a
    8338:8338:void lambda$desugar$89(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):3638 -> a
    8339:8339:boolean isMethodLive(com.android.tools.r8.graph.DexEncodedMethod):2934:2934 -> a
    8339:8339:boolean isMethodLive(com.android.tools.r8.graph.ProgramMethod):2938 -> a
    8339:8339:void lambda$desugar$89(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):3638 -> a
    8340:8340:void lambda$desugar$89(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):3641:3641 -> a
    8341:8342:boolean isTypeLive(com.android.tools.r8.graph.DexClass):2950:2951 -> a
    8343:8343:boolean isTypeLive(com.android.tools.r8.graph.DexProgramClass):2956:2956 -> a
    8343:8343:boolean isTypeLive(com.android.tools.r8.graph.DexClass):2951 -> a
    8344:8345:boolean isNonProgramTypeLive(com.android.tools.r8.graph.DexClass):2960:2961 -> a
    8344:8345:boolean isTypeLive(com.android.tools.r8.graph.DexClass):2952 -> a
    8346:8356:boolean isReachable(com.android.tools.r8.graph.Definition):2965:2975 -> a
    8357:8357:boolean isFieldLive(com.android.tools.r8.graph.ProgramField):2876:2876 -> a
    8357:8357:boolean isReachable(com.android.tools.r8.graph.Definition):2976 -> a
    8358:8358:boolean isFieldReferenced(com.android.tools.r8.graph.ProgramField):2872:2872 -> a
    8358:8358:boolean isReachable(com.android.tools.r8.graph.Definition):2976 -> a
    8359:8360:boolean isReachable(com.android.tools.r8.graph.Definition):2978:2979 -> a
    8361:8361:boolean isMethodLive(com.android.tools.r8.graph.ProgramMethod):2938:2938 -> a
    8361:8361:boolean isReachable(com.android.tools.r8.graph.Definition):2980 -> a
    8362:8362:boolean isMethodLive(com.android.tools.r8.graph.DexEncodedMethod):2934:2934 -> a
    8362:8362:boolean isMethodLive(com.android.tools.r8.graph.ProgramMethod):2938 -> a
    8362:8362:boolean isReachable(com.android.tools.r8.graph.Definition):2980 -> a
    8363:8363:boolean isMethodTargeted(com.android.tools.r8.graph.ProgramMethod):2946:2946 -> a
    8363:8363:boolean isReachable(com.android.tools.r8.graph.Definition):2980 -> a
    8364:8364:boolean isMethodTargeted(com.android.tools.r8.graph.DexEncodedMethod):2942:2942 -> a
    8364:8364:boolean isMethodTargeted(com.android.tools.r8.graph.ProgramMethod):2946 -> a
    8364:8364:boolean isReachable(com.android.tools.r8.graph.Definition):2980 -> a
    8365:8365:boolean isReachable(com.android.tools.r8.graph.Definition):2984:2984 -> a
    8366:8367:boolean isNonProgramTypeLive(com.android.tools.r8.graph.DexClass):2960:2961 -> a
    8366:8367:boolean isReachable(com.android.tools.r8.graph.Definition):2984 -> a
    8368:8368:void forAllLiveClasses(java.util.function.Consumer):2988:2988 -> a
    8369:8401:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2993:3025 -> a
    8402:8402:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.ProgramMethod.getContextClass():134:134 -> a
    8402:8402:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3025 -> a
    8403:8403:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3028:3028 -> a
    8404:8404:java.util.Map getReachableVirtualTargets(com.android.tools.r8.graph.DexProgramClass):2548:2548 -> a
    8404:8404:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3030 -> a
    8405:8413:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3030:3038 -> a
    8414:8414:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    8414:8414:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3038 -> a
    8415:8437:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3043:3065 -> a
    8438:8438:void com.android.tools.r8.graph.LookupResult.forEach(java.util.function.Consumer):33:33 -> a
    8438:8438:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3065 -> a
    8439:8439:void lambda$markVirtualMethodAsReachable$63(com.android.tools.r8.graph.DexType,java.util.function.Consumer,java.util.function.Consumer):3062:3062 -> a
    8440:8440:void lambda$markVirtualMethodAsReachable$66(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.LookupTarget):3067:3067 -> a
    8441:8443:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markVirtualMethodAsReachable$65(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.ProgramMethod):3070:3070 -> a
    8444:8447:void markVirtualDispatchTargetAsLive(com.android.tools.r8.graph.LookupTarget,java.util.function.Function):3076:3079 -> a
    8448:8448:void lambda$markVirtualDispatchTargetAsLive$69(com.android.tools.r8.graph.LookupTarget,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):3079:3079 -> a
    8449:8451:void markVirtualDispatchTargetAsLive(com.android.tools.r8.graph.DexClassAndMethod,java.util.function.Function):3084:3086 -> a
    8449:8451:void lambda$markVirtualDispatchTargetAsLive$67(java.util.function.Function,com.android.tools.r8.graph.DexClassAndMethod):3077 -> a
    8452:8455:void markVirtualDispatchTargetAsLive(com.android.tools.r8.graph.LookupLambdaTarget,java.util.function.Function):3092:3095 -> a
    8452:8455:void lambda$markVirtualDispatchTargetAsLive$68(java.util.function.Function,com.android.tools.r8.graph.LookupLambdaTarget):3078 -> a
    8456:8456:void markVirtualDispatchTargetAsLive(com.android.tools.r8.graph.LookupLambdaTarget,java.util.function.Function):3094:3094 -> a
    8456:8456:void lambda$markVirtualDispatchTargetAsLive$68(java.util.function.Function,com.android.tools.r8.graph.LookupLambdaTarget):3078 -> a
    8457:8458: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):3104:3105 -> a
    8459:8462:void lambda$markFailedMethodResolutionTargets$70(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.DexEncodedMethod):3107:3110 -> a
    8463:8463:void lambda$markSuperMethodAsReachable$72(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):3159:3159 -> a
    8464:8464:void lambda$traceMainDex$74(com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.DexEncodedMethod):3200:3200 -> a
    8465:8468:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3212:3215 -> a
    8469:8469:boolean com.android.tools.r8.shaking.Enqueuer$Mode.isTreeShaking():201:201 -> a
    8469:8469:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3215 -> a
    8470:8473:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3215:3218 -> a
    8474:8474:com.android.tools.r8.shaking.Enqueuer registerAnalysis(com.android.tools.r8.graph.analysis.EnqueuerAnalysis):538:538 -> a
    8474:8474:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3218 -> a
    8475:8477:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3222:3224 -> a
    8478:8478:com.android.tools.r8.shaking.Enqueuer registerAnalysis(com.android.tools.r8.graph.analysis.EnqueuerAnalysis):538:538 -> a
    8478:8478:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3224 -> a
    8479:8479:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3226:3226 -> a
    8480:8480:com.android.tools.r8.shaking.Enqueuer registerAnalysis(com.android.tools.r8.graph.analysis.EnqueuerAnalysis):538:538 -> a
    8480:8480:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3226 -> a
    8481:8503:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3229:3251 -> a
    8504:8507:void finalizeLibraryMethodOverrideInformation():3710:3713 -> a
    8504:8507:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3252 -> a
    8508:8509:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3253:3254 -> a
    8510:8512:boolean verifyKeptGraph():3720:3722 -> a
    8510:8512:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3254 -> a
    8513:8518:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3255:3260 -> a
    8519:8519:boolean com.android.tools.r8.shaking.Enqueuer$Mode.isWhyAreYouKeeping():233:233 -> a
    8519:8519:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3260 -> a
    8520:8520:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3265:3265 -> a
    8521:8521:void lambda$traceApplication$78(com.android.tools.r8.graph.analysis.EnqueuerAnalysis):3253:3253 -> a
    8522:8523:void includeMinimumKeepInfo(com.android.tools.r8.shaking.RootSetUtils$RootSetBase):3270:3271 -> a
    8524:8529:void applyMinimumKeepInfo(com.android.tools.r8.graph.DexProgramClass):3279:3284 -> a
    8530:8530:void lambda$applyMinimumKeepInfo$79(com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3283:3283 -> a
    8531:8535:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3292:3296 -> a
    8536:8536:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> a
    8536:8536:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3296 -> a
    8537:8539:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3297:3299 -> a
    8540:8545:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramField):3330:3335 -> a
    8546:8546:void lambda$applyMinimumKeepInfo$81(com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3334:3334 -> a
    8547:8551:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3341:3345 -> a
    8552:8552:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> a
    8552:8552:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3345 -> a
    8553:8555:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3346:3348 -> a
    8556:8561:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramMethod):3375:3380 -> a
    8562:8562:void lambda$applyMinimumKeepInfo$83(com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3379:3379 -> a
    8563:8567:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3388:3392 -> a
    8568:8568:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> a
    8568:8568:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3392 -> a
    8569:8569:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3393:3393 -> a
    8570:8576:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3389:3395 -> a
    8577:8580:void applyMinimumKeepInfoDependentOn(com.android.tools.r8.shaking.EnqueuerEvent):3431:3434 -> a
    8581:8581:void lambda$applyMinimumKeepInfoDependentOn$85(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3437:3437 -> a
    8582:8582:void lambda$applyMinimumKeepInfoDependentOn$86(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3439:3439 -> a
    8583:8583:void lambda$applyMinimumKeepInfoDependentOn$87(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3441:3441 -> a
    8584:8597:void desugar(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3617:3630 -> a
    8598:8598: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):72:72 -> a
    8598:8598:void desugar(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3631 -> a
    8599:8619:void desugar(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3646:3666 -> a
    8620:8620:boolean isMethodLive(com.android.tools.r8.graph.ProgramMethod):2938:2938 -> a
    8620:8620:void desugar(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3668 -> a
    8621:8621:boolean isMethodLive(com.android.tools.r8.graph.DexEncodedMethod):2934:2934 -> a
    8621:8621:boolean isMethodLive(com.android.tools.r8.graph.ProgramMethod):2938 -> a
    8621:8621:void desugar(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3668 -> a
    8622:8630:void desugar(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3669:3677 -> a
    8631:8631:void lambda$desugar$90(com.android.tools.r8.ir.desugar.ProgramAdditions,com.android.tools.r8.graph.ProgramMethod):3649:3649 -> a
    8632:8632:void lambda$desugar$91(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$R8CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):3656:3656 -> a
    8633:8635:void recordLambdaSynthesizingContext(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):3681:3683 -> a
    8636:8638:void recordConstantDynamicSynthesizingContext(com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass,com.android.tools.r8.graph.ProgramMethod):3688:3690 -> a
    8639:8657:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3730:3748 -> a
    8658:8658:boolean com.android.tools.r8.shaking.Enqueuer$Mode.isTreeShaking():201:201 -> a
    8658:8658:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3748 -> a
    8659:8673:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3748:3762 -> a
    8674:8674:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    8674:8674:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3762 -> a
    8675:8675:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3763:3763 -> a
    8676:8676:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    8676:8676:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3764 -> a
    8677:8712:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3765:3800 -> a
    8713:8715:java.util.Set toDescriptorSet(java.util.Set):3945:3947 -> a
    8713:8715:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3800 -> a
    8716:8722:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3800:3806 -> a
    8723:8725:java.util.Set toDescriptorSet(java.util.Set):3945:3947 -> a
    8723:8725:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3806 -> a
    8726:8742:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3806:3822 -> a
    8743:8748:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap joinIdentifierNameStrings(java.util.Set,java.util.Set):3954:3959 -> a
    8743:8748:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3829 -> a
    8749:8758:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3830:3839 -> a
    8759:8759:void lambda$createEnqueuerResult$92(java.util.Set,com.android.tools.r8.graph.DexProgramClass):3733:3733 -> a
    8760:8760:boolean lambda$createEnqueuerResult$93(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessInfoImpl):3739:3739 -> a
    8761:8761:void amendKeepInfoWithCompanionMethods():3849:3849 -> a
    8762:8763:void forEachCompanionMethod(java.util.function.BiConsumer):3843:3844 -> a
    8762:8763:void amendKeepInfoWithCompanionMethods():3849 -> a
    8764:8766:void lambda$amendKeepInfoWithCompanionMethods$95(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3851:3853 -> a
    8767:8767: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
    8767:8767:void lambda$amendKeepInfoWithCompanionMethods$95(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3853 -> a
    8768:8768:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramMethod():55:55 -> a
    8768:8768: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
    8768:8768:void lambda$amendKeepInfoWithCompanionMethods$95(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3853 -> a
    8769:8770: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
    8769:8770:void lambda$amendKeepInfoWithCompanionMethods$95(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3853 -> a
    8771:8774:void lambda$amendKeepInfoWithCompanionMethods$95(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3853:3856 -> a
    8775:8775:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> a
    8775:8775:void lambda$amendKeepInfoWithCompanionMethods$95(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3856 -> a
    8776:8779:void lambda$amendKeepInfoWithCompanionMethods$95(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3857:3860 -> a
    8780:8780:void lambda$amendKeepInfoWithCompanionMethods$95(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3859:3859 -> a
    8781:8791:java.util.Set amendWithCompanionMethods(java.util.Set):3865:3875 -> a
    8792:8793:void lambda$amendWithCompanionMethods$96(java.util.Set,java.util.Set,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3871:3872 -> a
    8794:8802:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3893:3901 -> a
    8803:8803: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":16618,"2":16619,"3":16620,"4":16621,"5":16622}}
    16618:16618:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3901:3901 -> a
    16619:16619:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3901:3901 -> a
    16620:16620:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3901:3901 -> a
    16621:16621:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3901:3901 -> a
    16622:16622:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3901:3901 -> a
    12704:12707:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3901:3904 -> a
    12708:12708: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":16625,"2":16626,"3":16627,"4":16628,"5":16629}}
    16625:16625:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3904:3904 -> a
    16626:16626:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3904:3904 -> a
    16627:16627:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3904:3904 -> a
    16628:16628:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3904:3904 -> a
    16629:16629:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3904:3904 -> a
    16612:16617:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3904:3909 -> a
    16630:16630:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3965:3965 -> a
    16631:16633:long getNumberOfLiveItems():4113:4115 -> a
    16631:16633:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3968 -> a
    16634:16634:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3969:3969 -> a
    16635:16635:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():318:318 -> a
    16635:16635:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3969 -> a
    16636:16636:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3970:3970 -> a
    16637:16637:com.android.tools.r8.shaking.EnqueuerWorklist$EnqueuerAction com.android.tools.r8.shaking.EnqueuerWorklist.poll():322:322 -> a
    16637:16637:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3970 -> a
    16638:16638:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3971:3971 -> a
    16639:16641:long getNumberOfLiveItems():4113:4115 -> a
    16639:16641:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3975 -> a
    16642:16650:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3979:3987 -> a
    16651:16651: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):2067:2067 -> a
    16651:16651:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3988 -> a
    16652:16661:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3989:3998 -> a
    16662:16664:long getNumberOfLiveItems():4113:4115 -> a
    16662:16664:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3998 -> a
    16665:16666:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3998:3999 -> a
    16667:16667:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():318:318 -> a
    16667:16667:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3999 -> a
    16668:16672:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4006:4010 -> a
    16673:16673:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():318:318 -> a
    16673:16673:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4010 -> a
    16674:16675:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4016:4017 -> a
    16676:16676:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():318:318 -> a
    16676:16676:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4017 -> a
    16677:16693:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4022:4038 -> a
    16694:16694:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():318:318 -> a
    16694:16694:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4038 -> a
    16695:16710:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4046:4061 -> a
    16711:16711:java.util.Set lambda$trace$97(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):3984:3984 -> a
    16712:16712:void lambda$trace$98(com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):4016:4016 -> a
    16713:16717:void lambda$postProcessingDesugaring$99(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):4076:4080 -> a
    16718:16718:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
    16718:16718:void lambda$postProcessingDesugaring$99(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):4080 -> a
    16719:16722:void lambda$postProcessingDesugaring$99(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):4080:4083 -> a
    16723:16723:void lambda$postProcessingDesugaring$99(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):4076:4076 -> a
    16724:16724: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
    16724:16724:void lambda$postProcessingDesugaring$99(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):4076 -> a
    16725:16731:void addConsequentRootSet(com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet):4123:4129 -> a
    16732:16734:void lambda$addConsequentRootSet$101(com.android.tools.r8.graph.DexType,java.util.Set):4131:4133 -> a
    16735:16739:void compatEnqueueHolderIfDependentNonStaticMember(com.android.tools.r8.graph.DexProgramClass,java.util.Set):920:924 -> a
    16735:16739:void lambda$addConsequentRootSet$101(com.android.tools.r8.graph.DexType,java.util.Set):4134 -> a
    16740:16747:void identifySyntheticInterfaceMethodBridges(com.android.tools.r8.shaking.DelayedRootSetActionItem$InterfaceMethodSyntheticBridgeAction):4155:4162 -> a
    16748:16751:void identifySyntheticInterfaceMethodBridges(com.android.tools.r8.shaking.DelayedRootSetActionItem$InterfaceMethodSyntheticBridgeAction):4161:4164 -> a
    16752:16752:void identifySyntheticInterfaceMethodBridges(com.android.tools.r8.shaking.DelayedRootSetActionItem$InterfaceMethodSyntheticBridgeAction):4163:4163 -> a
    16753:16760:void retainAnnotationForFinalTreeShaking(java.util.List):4183:4190 -> a
    16761:16761:void retainAnnotationForFinalTreeShaking(java.util.List):4187:4187 -> a
    16762:16765:void markFieldAsKept(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):4222:4225 -> a
    16766:16772:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4297:4303 -> a
    16773:16773:com.android.tools.r8.shaking.Enqueuer$Mode getMode():518:518 -> a
    16773:16773:void traceNonDesugaredCode(com.android.tools.r8.graph.ProgramMethod):4357 -> a
    16773:16773:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4306 -> a
    16774:16774:void traceNonDesugaredCode(com.android.tools.r8.graph.ProgramMethod):4357:4357 -> a
    16774:16774:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4306 -> a
    16775:16775:boolean addToPendingDesugaring(com.android.tools.r8.graph.ProgramMethod):3592:3592 -> a
    16775:16775:void traceNonDesugaredCode(com.android.tools.r8.graph.ProgramMethod):4358 -> a
    16775:16775:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4306 -> a
    16776:16778:boolean mustMoveToInterfaceCompanionMethod(com.android.tools.r8.graph.ProgramMethod):3586:3588 -> a
    16776:16778:boolean addToPendingDesugaring(com.android.tools.r8.graph.ProgramMethod):3593 -> a
    16776:16778:void traceNonDesugaredCode(com.android.tools.r8.graph.ProgramMethod):4358 -> a
    16776:16778:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4306 -> a
    16779:16794:boolean addToPendingDesugaring(com.android.tools.r8.graph.ProgramMethod):3595:3610 -> a
    16779:16794:void traceNonDesugaredCode(com.android.tools.r8.graph.ProgramMethod):4358 -> a
    16779:16794:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4306 -> a
    16795:16795:void traceNonDesugaredCode(com.android.tools.r8.graph.ProgramMethod):4363:4363 -> a
    16795:16795:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4306 -> a
    16796:16800:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4308:4312 -> a
    16801:16801:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    16801:16801:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4312 -> a
    16802:16802:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedViaSuperFrom(com.android.tools.r8.graph.ProgramMethod):42:42 -> a
    16802:16802:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4314 -> a
    16803:16803:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4314:4314 -> a
    16804:16804:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedViaSuperFrom(com.android.tools.r8.graph.ProgramMethod):42:42 -> a
    16804:16804:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4315 -> a
    16805:16810:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4315:4320 -> a
    16811:16811:void lambda$markMethodAsLive$102(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):4320:4320 -> a
    16812:16812:void lambda$markMethodAsTargeted$103(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):4340:4340 -> a
    16813:16813:void lambda$traceMethodDefinitionExcludingCode$104(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexAnnotation):4350:4350 -> a
    16814:16814:void lambda$traceCode$105(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):4371:4371 -> a
    16815:16815:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4397:4397 -> a
    16816:16831:boolean addCompatInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):4421:4436 -> a
    16816:16831:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4399 -> a
    16832:16833:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4403:4404 -> a
    16834:16834:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> a
    16834:16834:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4404 -> a
    16835:16839:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4405:4409 -> a
    16840:16840:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():792:792 -> a
    16840:16840:boolean com.android.tools.r8.graph.DexClass.hasDefaultInitializer():778 -> a
    16840:16840:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4410 -> a
    16841:16845:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4411:4415 -> a
    16846:16846:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4412:4412 -> a
    16847:16853:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4454:4460 -> a
    16854:16861:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4563:4570 -> a
    16854:16861:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4461 -> a
    16862:16874:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4569:4581 -> a
    16862:16874:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4461 -> a
    16875:16875:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    16875:16875:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4583 -> a
    16875:16875:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4461 -> a
    16876:16876:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4387:4387 -> a
    16876:16876:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4584 -> a
    16876:16876:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4461 -> a
    16877:16877:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():792:792 -> a
    16877:16877:boolean com.android.tools.r8.graph.DexClass.hasDefaultInitializer():778 -> a
    16877:16877:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4388 -> a
    16877:16877:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4584 -> a
    16877:16877:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4461 -> a
    16878:16880:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4389:4391 -> a
    16878:16880:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4584 -> a
    16878:16880:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4461 -> a
    16881:16881:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4390:4390 -> a
    16881:16881:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4584 -> a
    16881:16881:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4461 -> a
    16882:16883:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4585:4586 -> a
    16882:16883:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4461 -> a
    16884:16884:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4464:4464 -> a
    16885:16906:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4593:4614 -> a
    16885:16906:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4465 -> a
    16907:16920:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4613:4626 -> a
    16907:16920:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4465 -> a
    16921:16921:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    16921:16921:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4626 -> a
    16921:16921:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4465 -> a
    16922:16970:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4631:4679 -> a
    16922:16970:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4465 -> a
    16971:16971:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    16971:16971:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4684 -> a
    16971:16971:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4465 -> a
    16972:16972:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4387:4387 -> a
    16972:16972:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4685 -> a
    16972:16972:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4465 -> a
    16973:16973:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():792:792 -> a
    16973:16973:boolean com.android.tools.r8.graph.DexClass.hasDefaultInitializer():778 -> a
    16973:16973:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4388 -> a
    16973:16973:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4685 -> a
    16973:16973:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4465 -> a
    16974:16976:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4389:4391 -> a
    16974:16976:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4685 -> a
    16974:16976:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4465 -> a
    16977:16977:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4390:4390 -> a
    16977:16977:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4685 -> a
    16977:16977:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4465 -> a
    16978:16979:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4686:4687 -> a
    16978:16979:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4465 -> a
    16980:16980:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4468:4468 -> a
    16981:16984:void handleJavaLangEnumValueOf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4764:4767 -> a
    16981:16984:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4469 -> a
    16985:16985:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54:54 -> a
    16985:16985:void handleJavaLangEnumValueOf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4768 -> a
    16985:16985:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4469 -> a
    16986:16986: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
    16986:16986:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54 -> a
    16986:16986:void handleJavaLangEnumValueOf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4768 -> a
    16986:16986:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4469 -> a
    16987:16987:void handleJavaLangEnumValueOf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4768:4768 -> a
    16987:16987:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4469 -> a
    16988:16992:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4472:4476 -> a
    16993:16993:boolean com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods.isLoadMethod(com.android.tools.r8.graph.DexMethod):2156:2156 -> a
    16993:16993:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4476 -> a
    16994:17000:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4774:4780 -> a
    16994:17000:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17001:17001:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    17001:17001:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4780 -> a
    17001:17001:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17002:17006:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4781:4785 -> a
    17002:17006:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17007:17007: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":17133,"2":17134,"3":17135}}
    17133:17133:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4785:4785 -> a
    17133:17133:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17134:17134:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4785:4785 -> a
    17134:17134:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17135:17135:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4785:4785 -> a
    17135:17135:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17008:17008: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":17138,"2":17139,"3":17140}}
    17138:17138:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4788:4788 -> a
    17138:17138:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17139:17139:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4788:4788 -> a
    17139:17139:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17140:17140:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4788:4788 -> a
    17140:17140:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17009:17011:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4790:4792 -> a
    17009:17011:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17012:17012:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4785:4785 -> a
    17012:17012:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17013:17013:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17013:17013:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4797 -> a
    17013:17013:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17014:17024:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4808:4818 -> a
    17014:17024:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4797 -> a
    17014:17024:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17025:17025:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4387:4387 -> a
    17025:17025:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4819 -> a
    17025:17025:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4797 -> a
    17025:17025:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17026:17026:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():792:792 -> a
    17026:17026:boolean com.android.tools.r8.graph.DexClass.hasDefaultInitializer():778 -> a
    17026:17026:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4388 -> a
    17026:17026:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4819 -> a
    17026:17026:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4797 -> a
    17026:17026:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17027:17029:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4389:4391 -> a
    17027:17029:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4819 -> a
    17027:17029:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4797 -> a
    17027:17029:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17030:17030:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4390:4390 -> a
    17030:17030:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4819 -> a
    17030:17030:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4797 -> a
    17030:17030:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17031:17031:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17031:17031:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4799 -> a
    17031:17031:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17032:17032:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4800:4800 -> a
    17032:17032:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17033:17043:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4808:4818 -> a
    17033:17043:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4801 -> a
    17033:17043:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17044:17044:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4387:4387 -> a
    17044:17044:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4819 -> a
    17044:17044:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4801 -> a
    17044:17044:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17045:17045:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():792:792 -> a
    17045:17045:boolean com.android.tools.r8.graph.DexClass.hasDefaultInitializer():778 -> a
    17045:17045:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4388 -> a
    17045:17045:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4819 -> a
    17045:17045:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4801 -> a
    17045:17045:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17046:17048:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4389:4391 -> a
    17046:17048:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4819 -> a
    17046:17048:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4801 -> a
    17046:17048:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17049:17049:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4390:4390 -> a
    17049:17049:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4819 -> a
    17049:17049:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4801 -> a
    17049:17049:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4477 -> a
    17050:17059:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4480:4489 -> a
    17060:17060:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    17060:17060:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4489 -> a
    17061:17065:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4490:4494 -> a
    17066:17066:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17066:17066:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4498 -> a
    17067:17067:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4498:4498 -> a
    17068:17068:boolean com.android.tools.r8.graph.DexClass.canBeInstantiatedByNewInstance():644:644 -> a
    17068:17068:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4499 -> a
    17069:17069:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> a
    17069:17069:boolean com.android.tools.r8.graph.DexClass.canBeInstantiatedByNewInstance():644 -> a
    17069:17069:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4499 -> a
    17070:17070:boolean com.android.tools.r8.graph.DexClass.canBeInstantiatedByNewInstance():644:644 -> a
    17070:17070:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4499 -> a
    17071:17101:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4499:4529 -> a
    17102:17102:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17102:17102:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4530 -> a
    17103:17108:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4529:4534 -> a
    17109:17109:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17109:17109:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4536 -> a
    17110:17124:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4536:4550 -> a
    17125:17125:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17125:17125:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4551 -> a
    17126:17130:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4552:4556 -> a
    17131:17132:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4553:4554 -> a
    17141:17141:void lambda$handleReflectiveBehavior$108(com.android.tools.r8.shaking.KeepFieldInfo$Joiner):4535:4535 -> a
    17142:17148:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4697:4703 -> a
    17149:17149:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    17149:17149:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4703 -> a
    17150:17163:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4708:4721 -> a
    17164:17164:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17164:17164:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4722 -> a
    17165:17180:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4723:4738 -> a
    17181:17181:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17181:17181:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4739 -> a
    17182:17182:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4740:4740 -> a
    17183:17183:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    17183:17183:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4740 -> a
    17184:17188:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4749:4753 -> a
    17189:17189:void lambda$handleJavaLangReflectProxyNewProxyInstance$109(com.android.tools.r8.shaking.KeepClassInfo$Joiner):4734:4734 -> a
    17190:17192:void lambda$handleJavaLangReflectProxyNewProxyInstance$111(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.ProgramMethod):4742:4744 -> a
    17193:17193:void lambda$handleJavaLangReflectProxyNewProxyInstance$110(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):4743:4743 -> a
    com.android.tools.r8.graph.DexApplication lambda$synthesize$88(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):3142 -> b
    2:10:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3143:3151 -> b
    11:34:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3149:3172 -> b
    35:35:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> b
    35:35:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3171 -> b
    36:39:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3174:3177 -> b
    40:40:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedViaSuperFrom(com.android.tools.r8.graph.ProgramMethod):42:42 -> b
    40:40:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3178 -> b
    41:42:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3178:3179 -> b
    43:43:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedViaSuperFrom(com.android.tools.r8.graph.ProgramMethod):42:42 -> b
    43:43:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3180 -> b
    44:44:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3180:3180 -> b
    45:45:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder access$1100(com.android.tools.r8.shaking.Enqueuer):190:190 -> b
    46:46:void access$700(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):190:190 -> b
    47:47:com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo():514:514 -> b
    48:48:com.android.tools.r8.shaking.Enqueuer registerAnalysis(com.android.tools.r8.graph.analysis.EnqueuerAnalysis):538:538 -> b
    49:49:com.android.tools.r8.shaking.Enqueuer registerExceptionGuardAnalysis(com.android.tools.r8.graph.analysis.EnqueuerExceptionGuardAnalysis):563:563 -> b
    50:51:void setInitialDeadProtoTypes(java.util.Set):572:573 -> b
    52:52:void recordTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):615:615 -> b
    53:53:com.android.tools.r8.shaking.KeepClassInfo getKeepInfo(com.android.tools.r8.graph.DexProgramClass):696:696 -> b
    54:55:com.android.tools.r8.graph.DexProgramClass getProgramClassOrNull(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):762:763 -> b
    56:56:boolean registerFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):943:943 -> b
    56:56:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1576 -> b
    57:80:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1580:1603 -> b
    81:81:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1718,"2":1719,"3":1720}}
    1718:1718:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1603:1603 -> b
    1719:1719:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1603:1603 -> b
    1720:1720:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1603:1603 -> b
    1686:1695:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1605:1614 -> b
    1696:1696:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> b
    1696:1696:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1614 -> b
    1697:1701:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1618:1622 -> b
    1702:1707:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1619:1624 -> b
    1708:1708:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexProgramClass):589:589 -> b
    1708:1708:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1624 -> b
    1709:1712:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1628:1631 -> b
    1713:1715:void markTypeAsLive(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition):1769:1771 -> b
    1713:1715:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1631 -> b
    1716:1716:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.fieldReferencedIn(com.android.tools.r8.graph.ProgramMethod):62:62 -> b
    1716:1716:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):2776 -> b
    1716:1716:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1634 -> b
    1717:1717:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):2776:2776 -> b
    1717:1717:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1634 -> b
    1721:1721:boolean registerReflectiveFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):947:947 -> b
    1722:1723:void traceCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,boolean):1064:1065 -> b
    1724:1724:void lambda$traceExceptionGuard$13(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerExceptionGuardAnalysis):1251:1251 -> b
    1725:1725:void traceExceptionGuard(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1251:1251 -> b
    1726:1726:void traceTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1242:1242 -> b
    1726:1726:void traceExceptionGuard(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1252 -> b
    1727:1732:void traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1310:1315 -> b
    1733:1733:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> b
    1733:1733:void traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1315 -> b
    1734:1735:void traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1317:1318 -> b
    1736:1736:void lambda$traceInvokeInterface$18(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1318:1318 -> b
    1737:1737:void lambda$traceInstanceFieldWrite$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerFieldAccessAnalysis):1527:1527 -> b
    1738:1738:java.lang.Boolean lambda$traceStaticFieldWrite$29(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):1689:1689 -> b
    1739:1739:com.android.tools.r8.shaking.ScopedDexMethodSet lambda$ensureMethodsContinueToWidenAccess$37(com.android.tools.r8.graph.DexType):1935:1935 -> b
    1740:1743: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):2085:2088 -> b
    1744:1750: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):2087:2093 -> b
    1751:1753:void recordNonProgramClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):2353:2355 -> b
    1754:1758:void addLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,java.util.function.BiConsumer):702:706 -> b
    1754:1758:void recordNonProgramClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):2354 -> b
    1759:1759:void markInterfaceAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2465:2465 -> b
    1760:1760:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> b
    1760:1760:void markInterfaceAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2465 -> b
    1761:1766:void markInterfaceAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2465:2470 -> b
    1767:1768:void transitionDependentItemsForInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass):2718:2719 -> b
    1767:1768:void markInterfaceAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2471 -> b
    1769:1771:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2811:2813 -> b
    1772:1772:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2812:2812 -> b
    1773:1774:boolean com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl.isInstantiatedDirectlyOrHasInstantiatedSubtype(com.android.tools.r8.graph.DexProgramClass):98:99 -> b
    1773:1774:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2812 -> b
    1775:1781:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2814:2820 -> b
    1782:1782:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2832:2832 -> b
    1782:1782:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2826 -> b
    1783:1783:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1776:1776 -> b
    1783:1783:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2832 -> b
    1783:1783:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2826 -> b
    1784:1784:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2833:2833 -> b
    1784:1784:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2826 -> b
    1785:1785:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2008:2008 -> b
    1785:1785:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2834 -> b
    1785:1785:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2826 -> b
    1786:1786:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.from(com.android.tools.r8.graph.ProgramDefinition):40:40 -> b
    1786:1786:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2009 -> b
    1786:1786:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2834 -> b
    1786:1786:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2826 -> b
    1787:1787:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2014:2014 -> b
    1787:1787:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2006 -> b
    1787:1787:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2834 -> b
    1787:1787:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2826 -> b
    1788:1789:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation[],com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2019:2020 -> b
    1788:1789:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2014 -> b
    1788:1789:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2006 -> b
    1788:1789:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2834 -> b
    1788:1789:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2826 -> b
    1790:1790:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2828:2828 -> b
    1791:1791:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2822:2822 -> b
    1792:1800:void markDirectStaticOrConstructorMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2845:2853 -> b
    1801:1803:boolean verifyMethodIsTargeted(com.android.tools.r8.graph.ProgramMethod):1725:1727 -> b
    1801:1803:void markDirectStaticOrConstructorMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2853 -> b
    1804:1804:void markDirectStaticOrConstructorMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2854:2854 -> b
    1805:1805:boolean isFieldReferenced(com.android.tools.r8.graph.DexEncodedField):2867:2867 -> b
    1806:1806:boolean isFieldLive(com.android.tools.r8.graph.ProgramField):2876:2876 -> b
    1807:1807:boolean isMethodTargeted(com.android.tools.r8.graph.DexEncodedMethod):2942:2942 -> b
    1808:1808:boolean lambda$markVirtualMethodAsReachable$64(com.android.tools.r8.graph.DexDefinition):3064:3064 -> b
    1809:1809: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
    1809:1809:boolean lambda$markVirtualMethodAsReachable$64(com.android.tools.r8.graph.DexDefinition):3064 -> b
    1810:1814:com.android.tools.r8.graph.DexMethod generatedEnumValuesMethod(com.android.tools.r8.graph.DexClass):3116:3120 -> b
    1810:1814:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3128 -> b
    1815:1815: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":1832,"2":1833,"3":1834}}
    1832:1832:com.android.tools.r8.graph.DexMethod generatedEnumValuesMethod(com.android.tools.r8.graph.DexClass):3120:3120 -> b
    1832:1832:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3128 -> b
    1833:1833:com.android.tools.r8.graph.DexMethod generatedEnumValuesMethod(com.android.tools.r8.graph.DexClass):3120:3120 -> b
    1833:1833:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3128 -> b
    1834:1834:com.android.tools.r8.graph.DexMethod generatedEnumValuesMethod(com.android.tools.r8.graph.DexClass):3120:3120 -> b
    1834:1834:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3128 -> b
    1816:1816:com.android.tools.r8.graph.DexMethod generatedEnumValuesMethod(com.android.tools.r8.graph.DexClass):3120:3120 -> b
    1816:1816:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3128 -> b
    1817:1822:com.android.tools.r8.graph.DexMethod generatedEnumValuesMethod(com.android.tools.r8.graph.DexClass):3119:3124 -> b
    1817:1822:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3128 -> b
    1823:1828:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3128:3133 -> b
    1829:1829:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2318:2318 -> b
    1829:1829:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3136 -> b
    1830:1830:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():613:613 -> b
    1830:1830:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2318 -> b
    1830:1830:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3136 -> b
    1831:1831:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2319:2319 -> b
    1831:1831:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3136 -> b
    1835:1835:void lambda$markEnumValuesAsReachable$71(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3135:3135 -> b
    1836:1846:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3189:3199 -> b
    1847:1847:boolean com.android.tools.r8.shaking.Enqueuer$Mode.isInitialMainDexTracing():217:217 -> b
    1847:1847:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3199 -> b
    1848:1851:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3200:3203 -> b
    1852:1852:boolean com.android.tools.r8.shaking.Enqueuer$Mode.isGenerateMainDexList():225:225 -> b
    1852:1852:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3203 -> b
    1853:1857:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3202:3206 -> b
    1858:1858:com.android.tools.r8.shaking.MainDexInfo com.android.tools.r8.shaking.MainDexInfo$Builder.build(com.android.tools.r8.shaking.MainDexInfo):406:406 -> b
    1858:1858:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3207 -> b
    1859:1859:void lambda$traceApplication$75(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3242:3242 -> b
    1860:1860:void lambda$traceApplication$76(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3244:3244 -> b
    1861:1861:void lambda$traceApplication$77(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3246:3246 -> b
    1862:1862:void lambda$applyMinimumKeepInfoWhenLive$80(com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3293:3293 -> b
    1863:1864:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3306:3307 -> b
    1865:1865:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():485:485 -> b
    1865:1865:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3307 -> b
    1866:1866:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3308:3308 -> b
    1867:1867:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():473:473 -> b
    1867:1867:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3308 -> b
    1868:1868:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3308:3308 -> b
    1869:1869:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():485:485 -> b
    1869:1869:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):848 -> b
    1869:1869:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3309 -> b
    1870:1870:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):848:848 -> b
    1870:1870:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3309 -> b
    1871:1871:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():473:473 -> b
    1871:1871:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):849 -> b
    1871:1871:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3309 -> b
    1872:1873:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):849:850 -> b
    1872:1873:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3309 -> b
    1874:1874:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():473:473 -> b
    1874:1874:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):851 -> b
    1874:1874:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3309 -> b
    1875:1875:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):851:851 -> b
    1875:1875:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3309 -> b
    1876:1876:void lambda$applyMinimumKeepInfoWhenLive$82(com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3342:3342 -> b
    1877:1878:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3353:3354 -> b
    1879:1879:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():485:485 -> b
    1879:1879:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3354 -> b
    1880:1880:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3355:3355 -> b
    1881:1881:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():473:473 -> b
    1881:1881:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3355 -> b
    1882:1883:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3355:3356 -> b
    1884:1884:void lambda$applyMinimumKeepInfoWhenLiveOrTargeted$84(com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3389:3389 -> b
    1885:1886:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3402:3403 -> b
    1887:1887:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():485:485 -> b
    1887:1887:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3403 -> b
    1888:1888:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3404:3404 -> b
    1889:1889:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():473:473 -> b
    1889:1889:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3404 -> b
    1890:1893:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3404:3407 -> b
    1894:1894:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():473:473 -> b
    1894:1894:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3408 -> b
    1895:1896:void enqueueHolderWithDependentInstanceConstructor(com.android.tools.r8.graph.ProgramMethod,java.util.Set):2001:2002 -> b
    1895:1896:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3408 -> b
    1897:1899:void recordTwrCloseResourceMethodSynthesizingContext(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):3695:3697 -> b
    1900:1904:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod):4445:4449 -> b
    1905:1905:void lambda$handleReflectiveBehavior$107(com.android.tools.r8.shaking.KeepClassInfo$Joiner):4508:4508 -> b
    1:1:com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection access$1200(com.android.tools.r8.shaking.Enqueuer):190:190 -> c
    2:2:com.android.tools.r8.shaking.Enqueuer registerInstanceOfAnalysis(com.android.tools.r8.graph.analysis.EnqueuerInstanceOfAnalysis):553:553 -> c
    3:4:void setInitialPrunedTypes(java.util.Set):577:578 -> c
    5:5:com.android.tools.r8.graph.DexProgramClass getProgramClassOrNullFromReflectiveAccess(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):774:774 -> c
    6:11: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):682:687 -> c
    6:11: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):674 -> c
    6:11:com.android.tools.r8.graph.DexProgramClass getProgramClassOrNullFromReflectiveAccess(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):775 -> c
    12:12:com.android.tools.r8.graph.DexProgramClass getProgramClassOrNullFromReflectiveAccess(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):776:776 -> c
    13:13:boolean registerFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):951:951 -> c
    13:13:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1647 -> c
    14:33:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1651:1670 -> c
    34:34:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1740,"2":1741,"3":1742}}
    1740:1740:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1670:1670 -> c
    1741:1741:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1670:1670 -> c
    1742:1742:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1670:1670 -> c
    1706:1715:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1672:1681 -> c
    1716:1716:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> c
    1716:1716:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1681 -> c
    1717:1723:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1684:1690 -> c
    1724:1729:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1687:1692 -> c
    1730:1730:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexProgramClass):589:589 -> c
    1730:1730:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1692 -> c
    1731:1734:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1697:1700 -> c
    1735:1737:void markTypeAsLive(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition):1769:1771 -> c
    1735:1737:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1700 -> c
    1738:1738:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.fieldReferencedIn(com.android.tools.r8.graph.ProgramMethod):62:62 -> c
    1738:1738:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):2776 -> c
    1738:1738:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1703 -> c
    1739:1739:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):2776:2776 -> c
    1739:1739:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1703 -> c
    1743:1743:boolean registerReflectiveFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):955:955 -> c
    1744:1755:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1159:1170 -> c
    1756:1762:com.android.tools.r8.utils.Visibility computeMinimumRequiredVisibilityForInitClassField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1207:1213 -> c
    1756:1762:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1170 -> c
    1763:1767:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1169:1173 -> c
    1768:1768:boolean com.android.tools.r8.utils.Visibility.isPublic():28:28 -> c
    1768:1768:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1177 -> c
    1769:1769:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1182:1182 -> c
    1770:1774:com.android.tools.r8.utils.Visibility computeMinimumRequiredVisibilityForInitClassField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1207:1211 -> c
    1770:1774:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1182 -> c
    1775:1775:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1185:1185 -> c
    1776:1776:boolean com.android.tools.r8.utils.Visibility.isPrivate():20:20 -> c
    1776:1776:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1185 -> c
    1777:1780:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1185:1188 -> c
    1781:1781:boolean com.android.tools.r8.utils.Visibility.isProtected():24:24 -> c
    1781:1781:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1192 -> c
    1782:1782:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1197:1197 -> c
    1783:1783:boolean com.android.tools.r8.utils.Visibility.isPackagePrivate():16:16 -> c
    1783:1783:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1201 -> c
    1784:1784:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1201:1201 -> c
    1785:1785:boolean com.android.tools.r8.utils.Visibility.isPackagePrivate():16:16 -> c
    1785:1785:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1202 -> c
    1786:1786:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1202:1202 -> c
    1787:1787:void lambda$traceInstanceOf$12(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInstanceOfAnalysis):1246:1246 -> c
    1788:1794:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1256:1262 -> c
    1795:1795:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54:54 -> c
    1795:1795:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1266 -> c
    1796:1796: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
    1796:1796:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54 -> c
    1796:1796:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1266 -> c
    1797:1797:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1266:1266 -> c
    1798:1799:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1331:1332 -> c
    1800:1800:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1576:1576 -> c
    1800:1800:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1332 -> c
    1801:1813:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1332:1344 -> c
    1814:1814:boolean com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods.isLoadMethod(com.android.tools.r8.graph.DexMethod):2156:2156 -> c
    1814:1814:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1344 -> c
    1815:1825:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1345:1355 -> c
    1826:1826:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> c
    1826:1826:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1355 -> c
    1827:1842:void handleInvokeOfStaticTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2114:2129 -> c
    1827:1842:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1357 -> c
    1843:1843:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1358:1358 -> c
    1844:1844:void lambda$traceInvokeStatic$19(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1358:1358 -> c
    1845:1845:void lambda$traceStaticFieldRead$25(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerFieldAccessAnalysis):1582:1582 -> c
    1846:1850:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):1780:1784 -> c
    1851:1853:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):1783:1785 -> c
    1854:1854:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):1781:1781 -> c
    1855:1855:com.android.tools.r8.shaking.ScopedDexMethodSet lambda$markTypeAsLive$30(com.android.tools.r8.graph.DexType):1784:1784 -> c
    1856:1862:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2379:2379 -> c
    1863:1863: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":4268,"2":4269,"3":4270}}
    4268:4268:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2379:2379 -> c
    4269:4269:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2379:2379 -> c
    4270:4270:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2379:2379 -> c
    1864:1864: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":4276,"2":4277,"3":4278,"4":4279}}
    4276:4276:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2385:2385 -> c
    4277:4277:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2385:2385 -> c
    4278:4278:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2385:2385 -> c
    4279:4279:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2385:2385 -> c
    4249:4262:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2385:2398 -> c
    4263:4263:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265:265 -> c
    4263:4263:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2398 -> c
    4264:4264:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):261:261 -> c
    4264:4264:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265 -> c
    4264:4264:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2398 -> c
    4265:4267:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2399:2401 -> c
    4280:4281:boolean isFieldRead(com.android.tools.r8.graph.ProgramField):2884:2885 -> c
    4282:4282:boolean isMethodTargeted(com.android.tools.r8.graph.ProgramMethod):2946:2946 -> c
    4283:4283:boolean isMethodTargeted(com.android.tools.r8.graph.DexEncodedMethod):2942:2942 -> c
    4283:4283:boolean isMethodTargeted(com.android.tools.r8.graph.ProgramMethod):2946 -> c
    4284:4284:boolean isTypeLive(com.android.tools.r8.graph.DexProgramClass):2956:2956 -> c
    4285:4285:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$markSuperMethodAsReachable$73(com.android.tools.r8.graph.DexEncodedMethod):3175:3175 -> c
    4286:4293:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3317:3324 -> c
    4294:4294:boolean com.android.tools.r8.shaking.EnqueuerEvent.isUnconditionalKeepInfoEvent():0:0 -> c
    4294:4294:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3324 -> c
    4295:4295:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3325:3325 -> c
    4296:4303:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3362:3369 -> c
    4304:4304:boolean com.android.tools.r8.shaking.EnqueuerEvent.isUnconditionalKeepInfoEvent():0:0 -> c
    4304:4304:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3369 -> c
    4305:4305:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3370:3370 -> c
    4306:4314:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3417:3425 -> c
    4315:4315:boolean com.android.tools.r8.shaking.EnqueuerEvent.isUnconditionalKeepInfoEvent():0:0 -> c
    4315:4315:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3425 -> c
    4316:4316:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3426:3426 -> c
    4317:4323:boolean verifyReferences(com.android.tools.r8.graph.DexApplication):3880:3886 -> c
    4324:4335:boolean verifyReferencedType(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3916:3927 -> c
    4324:4335:boolean verifyReferences(com.android.tools.r8.graph.DexApplication):3886 -> c
    4336:4336:boolean isMethodTargeted(com.android.tools.r8.graph.DexEncodedMethod):2942:2942 -> c
    4336:4336:boolean verifyReferencedType(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3927 -> c
    4336:4336:boolean verifyReferences(com.android.tools.r8.graph.DexApplication):3886 -> c
    4337:4337:boolean verifyReferencedType(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3928:3928 -> c
    4337:4337:boolean verifyReferences(com.android.tools.r8.graph.DexApplication):3886 -> c
    4338:4340:boolean verifyReferencedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3936:3938 -> c
    4338:4340:boolean verifyReferencedType(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3928 -> c
    4338:4340:boolean verifyReferences(com.android.tools.r8.graph.DexApplication):3886 -> c
    4341:4341:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet computeDelayedInterfaceMethodSyntheticBridges():4140:4140 -> c
    4342:4342: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):2009:2009 -> c
    4342:4342:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet computeDelayedInterfaceMethodSyntheticBridges():4140 -> c
    4343:4344:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet computeDelayedInterfaceMethodSyntheticBridges():4141:4142 -> c
    4345:4354:void handleInterfaceMethodSyntheticBridgeAction(com.android.tools.r8.shaking.DelayedRootSetActionItem$InterfaceMethodSyntheticBridgeAction,com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder):4170:4179 -> c
    4345:4354:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet computeDelayedInterfaceMethodSyntheticBridges():4143 -> c
    4355:4355:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet computeDelayedInterfaceMethodSyntheticBridges():4147:4147 -> c
    4356:4369:void markMethodAsKept(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4197:4210 -> c
    4370:4371:boolean com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl.isInstantiatedDirectlyOrHasInstantiatedSubtype(com.android.tools.r8.graph.DexProgramClass):98:99 -> c
    4370:4371:void markMethodAsKept(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4210 -> c
    4372:4375:void markMethodAsKept(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4213:4216 -> 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):1301 -> 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):1301 -> d
    3:3:void traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1301:1301 -> 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$106(com.android.tools.r8.graph.ProgramMethod):4501 -> d
    5:5:com.android.tools.r8.graph.FieldAccessInfoCollectionImpl access$1900(com.android.tools.r8.shaking.Enqueuer):190:190 -> d
    6:10:com.android.tools.r8.shaking.EnqueuerUseRegistryFactory createUseRegistryFactory():526:530 -> d
    11:11:boolean addTargetedMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):597:597 -> d
    11:11:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4324 -> d
    12:19:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4329:4336 -> d
    20:21:void markMethodAsLiveWithCompatRule(com.android.tools.r8.graph.ProgramMethod):4440:4441 -> d
    20:21:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4337 -> d
    22:22:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness com.android.tools.r8.shaking.GraphReporter.reportCompatKeepMethod(com.android.tools.r8.graph.ProgramMethod):189:189 -> d
    22:22:void markMethodAsLiveWithCompatRule(com.android.tools.r8.graph.ProgramMethod):4441 -> d
    22:22:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4337 -> d
    23:23:void markMethodAsLiveWithCompatRule(com.android.tools.r8.graph.ProgramMethod):4440:4440 -> d
    23:23:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4337 -> d
    24:24:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4340:4340 -> 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):1069:1069 -> d
    26:26:void traceInstanceOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1246:1246 -> d
    27:27:void traceTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1242:1242 -> d
    27:27:void traceInstanceOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1247 -> d
    28:28:void lambda$traceInvokeSuper$20(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1373:1373 -> d
    29:36:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1386:1393 -> d
    37:49:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1388:1400 -> d
    50:50:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> d
    50:50:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1400 -> d
    51:52:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1402:1403 -> d
    53:53:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1443:1443 -> d
    54:54:void lambda$traceStaticFieldWrite$28(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerFieldAccessAnalysis):1654:1654 -> d
    55:63:void markTypeAsLive(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):1737:1745 -> d
    64:64:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1776:1776 -> d
    64:64:void markTypeAsLive(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):1749 -> d
    65:65:com.android.tools.r8.shaking.ScopedDexMethodSet lambda$markTypeAsLive$31(com.android.tools.r8.graph.DexType):1861:1861 -> d
    66:70:boolean isFieldWrittenOutsideDefaultConstructor(com.android.tools.r8.graph.ProgramField):2895:2899 -> d
    71:71:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():792:792 -> d
    71:71:boolean isFieldWrittenOutsideDefaultConstructor(com.android.tools.r8.graph.ProgramField):2899 -> d
    72:73:boolean isFieldWrittenOutsideDefaultConstructor(com.android.tools.r8.graph.ProgramField):2901:2902 -> d
    74:77:java.util.Set lambda$createEnqueuerResult$94(com.android.tools.r8.graph.DexProgramClass):3783:3786 -> 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):1322 -> 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):1322 -> e
    3:3:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1322:1322 -> e
    4:4:com.android.tools.r8.utils.InternalOptions access$2100(com.android.tools.r8.shaking.Enqueuer):190:190 -> e
    5:5:void recordTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):611:611 -> e
    6:21:void enqueueAllIfNotShrinking():816:831 -> e
    22:22:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265:265 -> e
    22:22:void enqueueAllIfNotShrinking():831 -> e
    23:23:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):261:261 -> e
    23:23:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265 -> e
    23:23:void enqueueAllIfNotShrinking():831 -> e
    24:25:void enqueueAllIfNotShrinking():831:832 -> e
    26:26:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):848:848 -> e
    26:26:void enqueueAllIfNotShrinking():836 -> e
    27:27:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():485:485 -> e
    27:27:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):848 -> e
    27:27:void enqueueAllIfNotShrinking():836 -> e
    28:29:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):848:849 -> e
    28:29:void enqueueAllIfNotShrinking():836 -> e
    30:30:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():473:473 -> e
    30:30:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):849 -> e
    30:30:void enqueueAllIfNotShrinking():836 -> e
    31:33:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):849:851 -> e
    31:33:void enqueueAllIfNotShrinking():836 -> e
    34:34:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():473:473 -> e
    34:34:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):851 -> e
    34:34:void enqueueAllIfNotShrinking():836 -> e
    35:35:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):851:851 -> e
    35:35:void enqueueAllIfNotShrinking():836 -> e
    36:36:void enqueueAllIfNotShrinking():837:837 -> e
    37:37:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> e
    37:37:void enqueueAllIfNotShrinking():837 -> e
    38:38:void enqueueAllIfNotShrinking():839:839 -> e
    39:39:void lambda$traceInvokeVirtual$21(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1403:1403 -> e
    40:48:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1407:1415 -> e
    49:49:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.instantiatedIn(com.android.tools.r8.graph.ProgramMethod):34:34 -> e
    49:49:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1419 -> e
    50:50: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):1432:1432 -> e
    50:50:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1415 -> e
    51:51:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> e
    51:51: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):1434 -> e
    51:51:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1415 -> e
    52:55: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):1434:1437 -> e
    52:55:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1415 -> e
    56:56: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):1435:1435 -> e
    56:56:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1415 -> e
    57:57:void traceInstanceFieldReadFromMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1447:1447 -> e
    58:58:java.util.Map lambda$processAnnotation$41(com.android.tools.r8.graph.DexType):2036:2036 -> e
    59:59:com.android.tools.r8.utils.collections.ProgramFieldSet lambda$markFieldAsReachable$59(com.android.tools.r8.graph.DexProgramClass):2819:2819 -> e
    60:60:void lambda$markDirectStaticOrConstructorMethodAsLive$61(com.android.tools.r8.graph.ProgramMethod):2849:2849 -> e
    61:63:boolean verifyMethodIsTargeted(com.android.tools.r8.graph.ProgramMethod):1725:1727 -> e
    61:63:void lambda$markDirectStaticOrConstructorMethodAsLive$61(com.android.tools.r8.graph.ProgramMethod):2849 -> e
    64:64:void lambda$markDirectStaticOrConstructorMethodAsLive$61(com.android.tools.r8.graph.ProgramMethod):2850:2850 -> e
    65:65:boolean verifyTypeIsLive(com.android.tools.r8.graph.DexProgramClass):1732:1732 -> e
    65:65:void lambda$markDirectStaticOrConstructorMethodAsLive$61(com.android.tools.r8.graph.ProgramMethod):2850 -> e
    66:67:void markVirtualMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2860:2861 -> e
    68:68:boolean com.android.tools.r8.shaking.KeepReason.isDueToReflectiveUse():0:0 -> e
    68:68:void markVirtualMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2862 -> e
    69:72:void markVirtualMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2860:2863 -> e
    1:1:com.android.tools.r8.shaking.Enqueuer$Mode access$300(com.android.tools.r8.shaking.Enqueuer):190:190 -> f
    2:2:com.android.tools.r8.shaking.GraphReporter getGraphReporter():522:522 -> f
    3:3:void recordCompilerSynthesizedTypeReference(com.android.tools.r8.graph.DexType):601:601 -> f
    4:4:void ignoreMissingClass(com.android.tools.r8.graph.DexType):2362:2362 -> f
    4:4:void recordCompilerSynthesizedTypeReference(com.android.tools.r8.graph.DexType):603 -> f
    5:7:void recordCompilerSynthesizedTypeReference(com.android.tools.r8.graph.DexType):604:606 -> f
    8:12:void addLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,java.util.function.BiConsumer):702:706 -> f
    8:12:void recordCompilerSynthesizedTypeReference(com.android.tools.r8.graph.DexType):605 -> f
    13:14:void traceSafeCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1069:1070 -> f
    15:15:void traceInstanceFieldReadFromRecordMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1451:1451 -> f
    16:26:com.android.tools.r8.graph.DexMethod getInvokeSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1707:1717 -> f
    16:26:void traceInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1364 -> f
    27:32:void traceInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1365:1370 -> f
    33:33:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> f
    33:33:void traceInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1370 -> f
    34:35:void traceInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1372:1373 -> f
    36:36:java.util.Set lambda$markInterfaceTypeAsLiveViaInheritanceClause$40(com.android.tools.r8.graph.DexProgramClass):1982:1982 -> f
    37:37:void lambda$markDirectStaticOrConstructorMethodAsLive$62(com.android.tools.r8.graph.ProgramMethod):2854:2854 -> f
    38:38:boolean verifyTypeIsLive(com.android.tools.r8.graph.DexProgramClass):1732:1732 -> f
    38:38:void lambda$markDirectStaticOrConstructorMethodAsLive$62(com.android.tools.r8.graph.ProgramMethod):2854 -> 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):1377 -> 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):1377 -> g
    3:3:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1377:1377 -> g
    4:4:com.android.tools.r8.shaking.GraphReporter access$400(com.android.tools.r8.shaking.Enqueuer):190:190 -> g
    5:5:com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection getKeepInfo():692:692 -> g
    6:6:void traceTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1242:1242 -> g
    7:7:void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1511:1511 -> g
    8:19:void markDirectAndIndirectClassInitializersAsLive(com.android.tools.r8.graph.DexProgramClass):2134:2145 -> g
    20:26:boolean markDirectClassInitializerAsLive(com.android.tools.r8.graph.DexProgramClass):2166:2172 -> g
    20:26:void markDirectAndIndirectClassInitializersAsLive(com.android.tools.r8.graph.DexProgramClass):2149 -> g
    27:30:void markDirectAndIndirectClassInitializersAsLive(com.android.tools.r8.graph.DexProgramClass):2155:2158 -> g
    31:35:void traceCode(com.android.tools.r8.graph.ProgramMethod):4367:4371 -> g
    1:1:com.android.tools.r8.shaking.EnqueuerWorklist access$500(com.android.tools.r8.shaking.Enqueuer):190:190 -> h
    2:2:com.android.tools.r8.shaking.Enqueuer$Mode getMode():518:518 -> h
    3:3:void traceInstanceFieldWriteFromMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1515:1515 -> h
    4:19:void markInterfaceInitializedDirectly(com.android.tools.r8.graph.DexProgramClass):2182:2197 -> h
    20:20:void markReferencedTypesAsLive(com.android.tools.r8.graph.ProgramMethod):4375:4375 -> h
    20:20:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4344 -> h
    21:21:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1776:1776 -> h
    21:21:void markReferencedTypesAsLive(com.android.tools.r8.graph.ProgramMethod):4375 -> h
    21:21:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4344 -> h
    22:25:void markParameterAndReturnTypesAsLive(com.android.tools.r8.graph.ProgramMethod):4380:4383 -> h
    22:25:void markReferencedTypesAsLive(com.android.tools.r8.graph.ProgramMethod):4376 -> h
    22:25:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4344 -> h
    26:26:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2008:2008 -> h
    26:26:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4345 -> h
    27:27:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.from(com.android.tools.r8.graph.ProgramDefinition):40:40 -> h
    27:27:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2009 -> h
    27:27:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4345 -> h
    28:28:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2014:2014 -> h
    28:28:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2006 -> h
    28:28:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4345 -> h
    29:30:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation[],com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2019:2020 -> h
    29:30:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2014 -> h
    29:30:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2006 -> h
    29:30:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4345 -> h
    31:37:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4347:4353 -> h
    1:1:com.android.tools.r8.shaking.Enqueuer$LiveMethodsSet access$600(com.android.tools.r8.shaking.Enqueuer):190:190 -> i
    2:2:com.android.tools.r8.shaking.EnqueuerUseRegistryFactory getUseRegistryFactory():534:534 -> i
    3:4:void traceRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.graph.ProgramMethod):1153:1154 -> i
    5:5:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1567:1567 -> i
    6:23:boolean markInterfaceInitializedIndirectly(com.android.tools.r8.graph.DexProgramClass):2207:2224 -> i
    1:1:java.util.Set access$800(com.android.tools.r8.shaking.Enqueuer):190:190 -> j
    2:2:void traceStaticFieldReadFromMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1571:1571 -> j
    3:36:void transitionDependentItemsForInstantiatedItem(com.android.tools.r8.graph.DexProgramClass):2723:2756 -> j
    37:40:void postProcessingDesugaring():4066:4069 -> j
    41:41:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():318:318 -> j
    41:41:void postProcessingDesugaring():4069 -> j
    42:62:void postProcessingDesugaring():4069:4089 -> j
    63:66:void postProcessingDesugaring():4088:4091 -> j
    67:83:void postProcessingDesugaring():4090:4106 -> j
    84:84:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():318:318 -> j
    84:84:void postProcessingDesugaring():4106 -> j
    85:85:void postProcessingDesugaring():4107:4107 -> j
    86:86:com.android.tools.r8.shaking.EnqueuerWorklist$EnqueuerAction com.android.tools.r8.shaking.EnqueuerWorklist.poll():322:322 -> j
    86:86:void postProcessingDesugaring():4107 -> j
    87:87:void postProcessingDesugaring():4108:4108 -> j
    1:1:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1638:1638 -> k
    2:9:void synthesize():3562:3569 -> k
    10:15:void synthesizeInterfaceMethodBridges(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3701:3706 -> k
    10:15:void synthesize():3570 -> k
    16:27:void synthesize():3571:3582 -> k
    1:1:void traceStaticFieldWriteFromMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1642:1642 -> l
com.android.tools.r8.shaking.Enqueuer$AnnotationReferenceMarker -> com.android.tools.r8.shaking.q:
    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):4911:4911 -> <init>
    2:4:void <init>(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):4916:4918 -> <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:24:boolean addField(com.android.tools.r8.graph.DexField):4928:4951 -> b
    25:25:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> b
    25:25:boolean addField(com.android.tools.r8.graph.DexField):4951 -> b
    26:31:boolean addField(com.android.tools.r8.graph.DexField):4951:4956 -> b
    32:47:boolean addMethod(com.android.tools.r8.graph.DexMethod):4964:4979 -> b
    48:48:boolean addType(com.android.tools.r8.graph.DexType):5007:5007 -> b
com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier -> com.android.tools.r8.shaking.r:
    com.android.tools.r8.shaking.Enqueuer enqueuer -> a
    1:2:void <init>(com.android.tools.r8.shaking.Enqueuer):5016:5017 -> <init>
    1:1:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):5021:5021 -> 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):5022:5022 -> 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):5022:5022 -> a
com.android.tools.r8.shaking.Enqueuer$LiveFieldsSet -> com.android.tools.r8.shaking.s:
    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):4861:4861 -> <init>
    2:7:void <init>(com.android.tools.r8.shaking.Enqueuer,java.util.function.BiConsumer):4857:4862 -> <init>
    1:1:java.util.Set access$1500(com.android.tools.r8.shaking.Enqueuer$LiveFieldsSet):4855:4855 -> a
    2:5:boolean add(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):4866:4869 -> a
    6:6:boolean contains(com.android.tools.r8.graph.DexEncodedField):4873:4873 -> a
    7:7:boolean contains(com.android.tools.r8.graph.ProgramField):4877:4877 -> a
    8:8:boolean contains(com.android.tools.r8.graph.DexEncodedField):4873:4873 -> a
    8:8:boolean contains(com.android.tools.r8.graph.ProgramField):4877 -> a
com.android.tools.r8.shaking.Enqueuer$LiveMethodsSet -> com.android.tools.r8.shaking.t:
    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):4887:4887 -> <init>
    2:7:void <init>(com.android.tools.r8.shaking.Enqueuer,java.util.function.BiConsumer):4883:4888 -> <init>
    1:1:java.util.Set access$1400(com.android.tools.r8.shaking.Enqueuer$LiveMethodsSet):4881:4881 -> a
    2:5:boolean add(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4892:4895 -> a
    6:6:boolean contains(com.android.tools.r8.graph.DexEncodedMethod):4899:4899 -> a
    7:7:boolean contains(com.android.tools.r8.graph.ProgramMethod):4903:4903 -> a
    8:8:boolean contains(com.android.tools.r8.graph.DexEncodedMethod):4899:4899 -> a
    8:8:boolean contains(com.android.tools.r8.graph.ProgramMethod):4903 -> a
    9:9:java.util.Set getItems():4907:4907 -> a
com.android.tools.r8.shaking.Enqueuer$Mode -> com.android.tools.r8.shaking.u$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>():193:198 -> <clinit>
    1:1:void <init>(java.lang.String,int):192:192 -> <init>
    1:1:boolean isFinalTreeShaking():209:209 -> a
    1:1:boolean isInitialOrFinalTreeShaking():213:213 -> b
    1:1:boolean isInitialTreeShaking():205:205 -> c
    1:1:boolean isInitialMainDexTracing():217:217 -> d
    1:1:boolean isMainDexTracing():229 -> d
    2:2:boolean isFinalMainDexTracing():221:221 -> d
    2:2:boolean isMainDexTracing():229 -> d
    3:3:boolean isGenerateMainDexList():225:225 -> d
    3:3:boolean isMainDexTracing():229 -> d
com.android.tools.r8.shaking.Enqueuer$ResolutionSearchKey -> com.android.tools.r8.shaking.v:
    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):5026:5026 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexMethod,boolean):5031:5033 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod access$2900(com.android.tools.r8.shaking.Enqueuer$ResolutionSearchKey):5026:5026 -> a
    1:1:boolean access$3000(com.android.tools.r8.shaking.Enqueuer$ResolutionSearchKey):5026:5026 -> b
    1:5:boolean equals(java.lang.Object):5038:5042 -> equals
    1:1:int hashCode():5047:5047 -> hashCode
com.android.tools.r8.shaking.Enqueuer$SetWithReportedReason -> com.android.tools.r8.shaking.w:
    java.util.Map deferredActions -> b
    java.util.Set items -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():4824:4824 -> <clinit>
    1:4:void <init>():4824:4827 -> <init>
    5:5:void <init>(com.android.tools.r8.shaking.Enqueuer$1):4824:4824 -> <init>
    1:1:java.util.Set access$1300(com.android.tools.r8.shaking.Enqueuer$SetWithReportedReason):4824:4824 -> a
    2:4:boolean add(java.lang.Object,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):4830:4832 -> a
    5:5:boolean contains(java.lang.Object):4839:4839 -> a
    6:7:boolean registerDeferredAction(java.lang.Object,com.android.tools.r8.utils.Action):4843:4844 -> a
    8:8:java.util.Set getItems():4851:4851 -> a
    1:1:java.util.List lambda$registerDeferredAction$0(java.lang.Object):4844:4844 -> b
com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions -> com.android.tools.r8.shaking.x:
    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>():3446:3446 -> <clinit>
    1:1:void <init>(com.android.tools.r8.contexts.CompilationContext$ProcessorContext):3469:3469 -> <init>
    2:23:void <init>(com.android.tools.r8.contexts.CompilationContext$ProcessorContext):3449:3470 -> <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):3475:3475 -> a
    2:7:boolean isEmpty():3479:3484 -> a
    8:9:void addLiveClasspathClass(com.android.tools.r8.graph.DexClasspathClass):3489:3490 -> a
    10:12:void addLiveMethod(com.android.tools.r8.graph.ProgramMethod):3498:3500 -> a
    13:15:void injectInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass):3508:3510 -> a
    16:16:java.util.Set lambda$injectInterface$1(com.android.tools.r8.graph.DexProgramClass):3509:3509 -> a
    17:19:void addMinimumKeepInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):3526:3526 -> a
    20:23:void enqueueWorkItems(com.android.tools.r8.shaking.Enqueuer):3531:3534 -> a
    24:24:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness com.android.tools.r8.shaking.GraphReporter.fakeReportShouldNotBeUsed():71:71 -> a
    24:24:void enqueueWorkItems(com.android.tools.r8.shaking.Enqueuer):3534 -> a
    25:43:void enqueueWorkItems(com.android.tools.r8.shaking.Enqueuer):3536:3554 -> a
    44:44:void lambda$enqueueWorkItems$2(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.utils.Pair):3541:3541 -> a
    45:47:void lambda$enqueueWorkItems$3(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass,java.util.Set):3550:3550 -> 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):3557:3557 -> a
    49:49:void lambda$enqueueWorkItems$4(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3556:3556 -> a
    1:1:void addMethodWithDesugaredCodeForTracing(com.android.tools.r8.graph.ProgramMethod):3504:3504 -> b
    1:3:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext getMethodContext(com.android.tools.r8.graph.ProgramMethod):3474:3474 -> c
com.android.tools.r8.shaking.EnqueuerEvent -> com.android.tools.r8.internal.Sh:
    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.Oh:
    com.android.tools.r8.graph.DexType clazz -> a
    1:2:void <init>(com.android.tools.r8.graph.DexType):53:54 -> <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():63:63 -> a
    1:1:com.android.tools.r8.graph.DexDefinition getDefinition(com.android.tools.r8.graph.DexDefinitionSupplier):59 -> a
    2:2:com.android.tools.r8.graph.DexDefinition getDefinition(com.android.tools.r8.graph.DexDefinitionSupplier):59:59 -> a
    boolean isClassEvent() -> b
    1:1:com.android.tools.r8.graph.DexType getType():63:63 -> c
com.android.tools.r8.shaking.EnqueuerEvent$InstantiatedClassEnqueuerEvent -> com.android.tools.r8.internal.Ph:
    1:1:void <init>(com.android.tools.r8.graph.DexProgramClass):123:123 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexType):127:127 -> <init>
    1:1:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):142:142 -> 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":145,"2":146,"3":147}}
    145:145:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):142:142 -> a
    146:146:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    146:146:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):142 -> a
    147:147:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    147:147:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):142 -> a
    144:144:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):142:142 -> a
    1:3:boolean equals(java.lang.Object):150:152 -> equals
    1:1:int hashCode():159:159 -> hashCode
com.android.tools.r8.shaking.EnqueuerEvent$LiveClassEnqueuerEvent -> com.android.tools.r8.internal.Qh:
    1:1:void <init>(com.android.tools.r8.graph.DexProgramClass):80:80 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexType):84:84 -> <init>
    1:1:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):99:99 -> 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":102,"2":103,"3":104}}
    102:102:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):99:99 -> a
    103:103:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    103:103:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):99 -> a
    104:104:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    104:104:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):99 -> a
    101:101:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):99:99 -> a
    1:3:boolean equals(java.lang.Object):107:109 -> equals
    1:1:int hashCode():116:116 -> hashCode
com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent -> com.android.tools.r8.internal.Rh:
    com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent INSTANCE -> a
    1:1:void <clinit>():165:165 -> <clinit>
    1:1:void <init>():167:167 -> <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():170:170 -> c
com.android.tools.r8.shaking.EnqueuerFactory -> com.android.tools.r8.shaking.y:
    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.Uh:
    void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
com.android.tools.r8.shaking.EnqueuerResult -> com.android.tools.r8.shaking.z:
    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.Vh:
    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):312:314 -> <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):309:309 -> a
    2:2:boolean isEmpty():318:318 -> 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
com.android.tools.r8.shaking.EnqueuerWorklist$AssertAction -> com.android.tools.r8.shaking.A:
    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.Wh:
    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.B:
    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.C:
    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.D:
    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.E:
    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.F:
    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.G:
    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.H:
    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.I:
    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.J:
    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.K:
    1:1:void <init>(com.android.tools.r8.shaking.EnqueuerWorklist$PushableEnqueuerWorkList,com.android.tools.r8.shaking.EnqueuerWorklist$1):491:491 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.EnqueuerWorklist$PushableEnqueuerWorkList):494:494 -> <init>
    1:1:boolean enqueueAssertAction(com.android.tools.r8.utils.Action):508:508 -> a
    2:2:void enqueueMarkReachableDirectAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):515:515 -> a
    3:3:void enqueueMarkReachableSuperAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):521:521 -> a
    4:4:void enqueueMarkFieldAsReachableAction(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):528:528 -> 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):538:538 -> a
    6:6:void enqueueMarkAnnotationInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):544:544 -> a
    7:10:boolean enqueueMarkMethodLiveAction(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):556:559 -> a
    11:11:void enqueueMarkMethodKeptAction(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):565:565 -> a
    12:12:void enqueueMarkFieldKeptAction(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):571:571 -> a
    13:13:void enqueueTraceAnnotationAction(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):577:577 -> a
    14:14:void enqueueTraceCodeAction(com.android.tools.r8.graph.ProgramMethod):583:583 -> a
    15:15:void enqueueTraceConstClassAction(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,boolean):589:589 -> a
    16:16:void enqueueTraceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):604:604 -> 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):550:550 -> b
    2:2:void enqueueTraceInvokeDirectAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):594:594 -> b
    3:3:void enqueueTraceNewInstanceAction(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):599:599 -> b
    1:1:com.android.tools.r8.errors.Unreachable attemptToEnqueue():503:503 -> c
com.android.tools.r8.shaking.EnqueuerWorklist$PushableEnqueuerWorkList -> com.android.tools.r8.shaking.L:
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():371:371 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.Enqueuer):374:374 -> <init>
    1:2:boolean enqueueAssertAction(com.android.tools.r8.utils.Action):384:385 -> a
    3:3:void enqueueMarkReachableDirectAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):393:393 -> a
    4:4:void enqueueMarkReachableSuperAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):398:398 -> a
    5:5:void enqueueMarkFieldAsReachableAction(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):404:404 -> 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):416:416 -> a
    7:7:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> 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):416 -> a
    8:10: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):416:418 -> a
    11:11:void enqueueMarkAnnotationInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):423:423 -> a
    12:12:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> a
    12:12:void enqueueMarkAnnotationInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):423 -> a
    13:15:void enqueueMarkAnnotationInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):423:425 -> a
    16:19:boolean enqueueMarkMethodLiveAction(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):438:441 -> a
    20:20:void enqueueMarkMethodKeptAction(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):450:450 -> a
    21:21:void enqueueMarkFieldKeptAction(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):455:455 -> a
    22:22:void enqueueTraceAnnotationAction(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):461:461 -> a
    23:23:void enqueueTraceCodeAction(com.android.tools.r8.graph.ProgramMethod):466:466 -> a
    24:24:void enqueueTraceConstClassAction(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,boolean):472:472 -> a
    25:25:void enqueueTraceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):487:487 -> a
    1:1:com.android.tools.r8.shaking.EnqueuerWorklist nonPushable():379:379 -> b
    2:2:void enqueueMarkInterfaceInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):430:430 -> b
    3:3:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> b
    3:3:void enqueueMarkInterfaceInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):430 -> b
    4:6:void enqueueMarkInterfaceInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):430:432 -> b
    7:7:void enqueueTraceInvokeDirectAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):477:477 -> b
    8:8:void enqueueTraceNewInstanceAction(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):482:482 -> b
com.android.tools.r8.shaking.EnqueuerWorklist$TraceAnnotationAction -> com.android.tools.r8.shaking.M:
    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.N:
    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.O:
    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.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):249:251 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):256:256 -> 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):263:264 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):269:269 -> 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):278:280 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):285:285 -> 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):294:296 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):301:301 -> 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.Zj:
    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.Fl:
com.android.tools.r8.shaking.GraphReporter -> com.android.tools.r8.shaking.Z:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map annotationNodes -> d
    boolean $assertionsDisabled -> j
    java.util.Map reasonInfo -> i
    com.android.tools.r8.shaking.CollectingGraphConsumer verificationGraphConsumer -> c
    java.util.Map classNodes -> e
    java.util.Map methodNodes -> f
    com.android.tools.r8.experimental.graphinfo.GraphConsumer keptGraphConsumer -> b
    java.util.Map fieldNodes -> g
    java.util.Map ruleNodes -> h
    1:1:void <clinit>():45:45 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.experimental.graphinfo.GraphConsumer):59:59 -> <init>
    2:16:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.experimental.graphinfo.GraphConsumer):52:66 -> <init>
    1:21:boolean verifyRootedPath(com.android.tools.r8.graph.DexProgramClass):75:95 -> a
    22:22:boolean verifyRootedPath(com.android.tools.r8.graph.DexProgramClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":118,"2":119,"3":120}}
    118:118:boolean verifyRootedPath(com.android.tools.r8.graph.DexProgramClass):95:95 -> a
    119:119:boolean verifyRootedPath(com.android.tools.r8.graph.DexProgramClass):95:95 -> a
    120:120:boolean verifyRootedPath(com.android.tools.r8.graph.DexProgramClass):95:95 -> a
    117:117:boolean verifyRootedPath(com.android.tools.r8.graph.DexProgramClass):95:95 -> a
    121:123:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepClass(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexProgramClass) -> a
    124:127: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):111:114 -> a
    124:127:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepClass(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexProgramClass):124 -> a
    128:134:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind reportPrecondition(com.android.tools.r8.experimental.graphinfo.KeepRuleGraphNode):100:106 -> a
    128:134: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):115 -> a
    128:134:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepClass(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexProgramClass):124 -> a
    135: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:116 -> a
    135:135:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepClass(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexProgramClass):124 -> 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:127 -> a
    137:139:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepMethod(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedMethod):142:144 -> a
    140:143: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):132:135 -> a
    140:143:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepMethod(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedMethod):145 -> a
    144:150:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind reportPrecondition(com.android.tools.r8.experimental.graphinfo.KeepRuleGraphNode):100:106 -> a
    144: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):136 -> a
    144:150:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepMethod(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedMethod):145 -> a
    151:151: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:137 -> 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):145 -> a
    152:152:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepMethod(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedMethod):148:148 -> a
    153:155:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepField(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedField):163:165 -> a
    156:159: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):153:156 -> a
    156:159:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepField(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedField):166 -> a
    160:166:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind reportPrecondition(com.android.tools.r8.experimental.graphinfo.KeepRuleGraphNode):100:106 -> a
    160:166: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):157 -> a
    160:166:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepField(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedField):166 -> a
    167:167: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:158 -> a
    167:167:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepField(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedField):166 -> a
    168:168:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepField(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedField):169:169 -> a
    169:169:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):173:173 -> a
    170:170:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():792:792 -> a
    170:170:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):173 -> a
    171:171:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):174:174 -> a
    172:177:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):173:178 -> a
    178:183:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):176:181 -> a
    184:187:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):194:197 -> a
    188:193:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):195:200 -> a
    194:197:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportClassReferencedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):205:208 -> a
    198:203:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportClassReferencedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramField):235:240 -> a
    198:203:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportClassReferencedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):208 -> a
    204:205:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportClassReferencedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):210:211 -> a
    206:211:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportClassReferencedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):226:231 -> a
    206:211:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportClassReferencedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):211 -> a
    212:217:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportClassReferencedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):217:222 -> a
    218:222:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportReachableMethodAsLive(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):260:264 -> a
    223:228:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportReachableMethodAsLive(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):262:267 -> a
    229: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):275:275 -> a
    230:230:boolean com.android.tools.r8.shaking.InstantiatedObject.isClass():0:0 -> a
    230:230: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):275 -> a
    231:232: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):277:278 -> a
    233:238: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):276:281 -> a
    239:241: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):307:309 -> a
    242:243:boolean skipReporting(com.android.tools.r8.shaking.KeepReason):341:342 -> a
    244:244:com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.KeepReason):414:414 -> a
    244:244:boolean skipReporting(com.android.tools.r8.shaking.KeepReason):345 -> a
    245:245:boolean skipReporting(com.android.tools.r8.shaking.KeepReason):345:345 -> a
    246:246:boolean hasKeptGraphConsumer():337:337 -> a
    246:246:boolean skipReporting(com.android.tools.r8.shaking.KeepReason):346 -> a
    247:250:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):358:361 -> a
    251:255:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason):378:382 -> a
    256:257:boolean isNonProgramClass(com.android.tools.r8.graph.DexType):409:410 -> a
    256:257:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason):382 -> a
    258:260:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason):385:387 -> a
    261:264:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.shaking.KeepReason):391:394 -> a
    265:265:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.shaking.KeepReason):398:398 -> a
    266:266:com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.KeepReason):414:414 -> a
    266:266:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.shaking.KeepReason):399 -> a
    267:267:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.shaking.KeepReason):401:401 -> a
    268:268:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo getEdgeInfo(com.android.tools.r8.shaking.KeepReason):431:431 -> a
    268:268:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.shaking.KeepReason):402 -> a
    269:271:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.shaking.KeepReason):403:405 -> a
    272:272:com.android.tools.r8.experimental.graphinfo.GraphNode getGraphNode(com.android.tools.r8.graph.DexReference):418:418 -> a
    273:273:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    273:273:com.android.tools.r8.experimental.graphinfo.GraphNode getGraphNode(com.android.tools.r8.graph.DexReference):418 -> a
    274:282:com.android.tools.r8.experimental.graphinfo.GraphNode getGraphNode(com.android.tools.r8.graph.DexReference):419:427 -> a
    283:283:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo getEdgeInfo(com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind):435:435 -> a
    284:284:com.android.tools.r8.experimental.graphinfo.AnnotationGraphNode getAnnotationGraphNode(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):445:445 -> a
    285:289: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):450:454 -> a
    290:290:com.android.tools.r8.experimental.graphinfo.ClassGraphNode getClassGraphNode(com.android.tools.r8.graph.DexType):459:459 -> a
    291:291:com.android.tools.r8.experimental.graphinfo.MethodGraphNode getMethodGraphNode(com.android.tools.r8.graph.DexMethod):470:470 -> a
    292:292:com.android.tools.r8.experimental.graphinfo.MethodGraphNode lambda$getMethodGraphNode$2(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):473:473 -> a
    293:293:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):440:440 -> a
    293:293:com.android.tools.r8.experimental.graphinfo.MethodGraphNode lambda$getMethodGraphNode$2(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):473 -> a
    294:306:com.android.tools.r8.experimental.graphinfo.MethodGraphNode lambda$getMethodGraphNode$2(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):474:486 -> a
    307:307:com.android.tools.r8.experimental.graphinfo.MethodGraphNode lambda$getMethodGraphNode$2(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):480:480 -> a
    308:308:com.android.tools.r8.experimental.graphinfo.FieldGraphNode getFieldGraphNode(com.android.tools.r8.graph.DexField):491:491 -> a
    309:309:com.android.tools.r8.experimental.graphinfo.FieldGraphNode lambda$getFieldGraphNode$3(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):494:494 -> a
    310:310:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):440:440 -> a
    310:310:com.android.tools.r8.experimental.graphinfo.FieldGraphNode lambda$getFieldGraphNode$3(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):494 -> a
    311:316:com.android.tools.r8.experimental.graphinfo.FieldGraphNode lambda$getFieldGraphNode$3(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):495:500 -> a
    317:317: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
    318:338:com.android.tools.r8.experimental.graphinfo.KeepRuleGraphNode getKeepRuleGraphNode(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase):513:533 -> a
    339:339: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):518:518 -> a
    340:344:com.android.tools.r8.experimental.graphinfo.KeepRuleGraphNode lambda$getKeepRuleGraphNode$5(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.shaking.ProguardKeepRuleBase):526:530 -> a
    1:10:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportReachableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):246:255 -> b
    11:11:boolean hasKeptGraphConsumer():337:337 -> b
    11:11:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):366 -> b
    12:13:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):368:369 -> 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):369 -> b
    15:20:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):367:372 -> b
    21:25:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):370:374 -> b
    26:30:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):350:354 -> b
    31:31:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):440:440 -> b
    31:31:com.android.tools.r8.experimental.graphinfo.ClassGraphNode lambda$getClassGraphNode$1(com.android.tools.r8.graph.DexType):462 -> b
    32:34:com.android.tools.r8.experimental.graphinfo.ClassGraphNode lambda$getClassGraphNode$1(com.android.tools.r8.graph.DexType):463:465 -> 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>():319:319 -> <clinit>
    1:1:void <init>():321:321 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():327:327 -> a
    2:2:com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.GraphReporter):332:332 -> a
    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness access$000():317:317 -> 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):815:815 -> 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):819:820 -> 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):815:815 -> 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):819:820 -> 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:148:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):225:227 -> a
    149:149:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClass.getReference():680:680 -> a
    149:149:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):227 -> a
    150:158:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):227:235 -> a
    159:179:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):233:253 -> a
    180:219:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):251:290 -> a
    220:225:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):289:294 -> a
    226:239:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):293:306 -> a
    240:240:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClass.getReference():680:680 -> a
    240:240:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):306 -> a
    241:241:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):306:306 -> a
    242:242:boolean canRemoveSubsequentKeepRule(com.android.tools.r8.shaking.ProguardIfRule):160:160 -> a
    242:242:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):307 -> a
    243:246:boolean lambda$evaluateIfRuleMembersAndMaterialize$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):255:258 -> a
    247:247:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    247:247:boolean lambda$evaluateIfRuleMembersAndMaterialize$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):258 -> a
    248:248:boolean lambda$evaluateIfRuleMembersAndMaterialize$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):258:258 -> a
    249:249:com.android.tools.r8.graph.DexClassAndField lambda$evaluateIfRuleMembersAndMaterialize$4(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):290:290 -> a
    250:251:boolean lambda$evaluateIfRuleMembersAndMaterialize$6(java.util.Collection,java.util.Collection,com.android.tools.r8.shaking.ProguardMemberRule):302:303 -> a
    252:257:boolean isFieldInlinedByJavaC(com.android.tools.r8.graph.DexEncodedField):316:321 -> a
    252:257: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
    258:266: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
    267:306: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.Vo:
# {"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.Kp:
    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() -> k
com.android.tools.r8.shaking.KeepFieldInfo -> com.android.tools.r8.shaking.m0:
    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.k0:
    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
    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
com.android.tools.r8.shaking.KeepFieldInfo$Joiner -> com.android.tools.r8.shaking.l0:
    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() -> k
    1:1:com.android.tools.r8.shaking.KeepFieldInfo$Joiner disallowFieldTypeStrengthening():143:143 -> n
com.android.tools.r8.shaking.KeepInfo -> com.android.tools.r8.shaking.p0:
    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):33:40 -> <init>
    9:15:void <init>(com.android.tools.r8.shaking.KeepInfo$Builder):45:51 -> <init>
    16:16:void <init>(com.android.tools.r8.shaking.KeepInfo$Builder):44:44 -> <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):55:55 -> a
    2:2:com.android.tools.r8.shaking.KeepInfo$Joiner lambda$newEmptyJoinerFor$0(com.android.tools.r8.graph.DexType):56:56 -> a
    3:3:com.android.tools.r8.shaking.KeepInfo$Joiner lambda$newEmptyJoinerFor$1(com.android.tools.r8.graph.DexField):57:57 -> a
    4:4:com.android.tools.r8.shaking.KeepInfo$Joiner lambda$newEmptyJoinerFor$2(com.android.tools.r8.graph.DexMethod):58:58 -> a
    5:5:boolean isMinificationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):108:108 -> a
    6:6:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():613:613 -> a
    6:6:boolean isMinificationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):108 -> a
    7:7:boolean internalIsMinificationAllowed():112:112 -> a
    7:7:boolean isMinificationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):108 -> a
    8:8:boolean isAccessModificationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):165:165 -> a
    9:10:boolean com.android.tools.r8.utils.InternalOptions.isAccessModificationEnabled():690:691 -> a
    9:10:boolean isAccessModificationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):165 -> a
    11:11:boolean internalIsAccessModificationAllowed():170:170 -> a
    11:11:boolean isAccessModificationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):165 -> a
    12:12:boolean internalIsAccessModificationAllowed():170:170 -> a
    13:13:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):221:221 -> a
    14:14:boolean internalIsAccessModificationAllowed():170:170 -> a
    14:14:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):221 -> a
    15:16:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):221:222 -> a
    17:17:boolean internalIsAnnotationRemovalAllowed():74:74 -> a
    17:17:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):222 -> a
    18:19:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):222:223 -> a
    20:20:boolean internalIsMinificationAllowed():112:112 -> a
    20:20:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):223 -> a
    21:22:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):223:224 -> a
    23:23:boolean internalIsOptimizationAllowed():126:126 -> a
    23:23:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):224 -> a
    24:25:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):224:225 -> a
    26:26:boolean internalIsShrinkingAllowed():140:140 -> a
    26:26:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):225 -> a
    27:28:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):225:226 -> a
    29:29:boolean internalIsCheckDiscardedEnabled():82:82 -> a
    29:29:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):226 -> a
    1:1:boolean isAnnotationRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):70:70 -> b
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():628:628 -> b
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isAnnotationRemovalEnabled():603 -> b
    2:2:boolean isAnnotationRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):70 -> b
    3:3:boolean internalIsAnnotationRemovalAllowed():74:74 -> b
    3:3:boolean isAnnotationRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):70 -> b
    4:4:boolean isOptimizationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):122:122 -> b
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isOptimizationEnabled():618:618 -> b
    5:5:boolean isOptimizationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):122 -> b
    6:6:boolean internalIsOptimizationAllowed():126:126 -> b
    6:6:boolean isOptimizationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):122 -> b
    7:7:boolean internalIsAccessModificationRequiredForRepackaging():153:153 -> b
    1:1:boolean internalIsAnnotationRemovalAllowed():74:74 -> c
    2:2:boolean isPinned(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):98:98 -> c
    3:3:boolean isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):194:194 -> c
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():628:628 -> c
    4:4:boolean isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):197 -> c
    5:5:boolean isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):197:197 -> c
    1:1:boolean internalIsCheckDiscardedEnabled():82:82 -> d
    2:3:boolean isParameterRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):86:87 -> d
    4:4:boolean internalIsCheckDiscardedEnabled():82:82 -> d
    4:4:boolean isCheckDiscardedEnabled(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):78 -> d
    4:4:boolean isParameterRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):88 -> d
    5:5:boolean isShrinkingAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):136:136 -> d
    6:6:boolean com.android.tools.r8.utils.InternalOptions.isTreeShakingEnabled():608:608 -> d
    6:6:boolean isShrinkingAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):136 -> d
    7:7:boolean internalIsShrinkingAllowed():140:140 -> d
    7:7:boolean isShrinkingAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):136 -> d
    1:1:boolean internalIsMinificationAllowed():112:112 -> e
    2:2:boolean isSignatureAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):174:174 -> e
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():628:628 -> e
    3:3:boolean isSignatureAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):177 -> e
    4:4:boolean isSignatureAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):177:177 -> e
    1:1:boolean internalIsOptimizationAllowed():126:126 -> f
    1:1:boolean internalIsShrinkingAllowed():140:140 -> g
    1:1:boolean internalIsCheckDiscardedEnabled():82:82 -> h
    1:1:boolean isCheckDiscardedEnabled(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):78 -> h
com.android.tools.r8.shaking.KeepInfo$Builder -> com.android.tools.r8.shaking.n0:
    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>():251:251 -> <init>
    2:11:void <init>(com.android.tools.r8.shaking.KeepInfo):255:264 -> <init>
    1:12:com.android.tools.r8.shaking.KeepInfo build():290:301 -> a
    13:13:boolean isAccessModificationAllowed():320:320 -> a
    13:13:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):305 -> a
    14:14:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):305:305 -> a
    15:15:boolean isAnnotationRemovalAllowed():324:324 -> a
    15:15:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):306 -> a
    16:16:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):306:306 -> a
    17:17:boolean isMinificationAllowed():332:332 -> a
    17:17:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):307 -> a
    18:18:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):307:307 -> a
    19:19:boolean isOptimizationAllowed():336:336 -> a
    19:19:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):308 -> a
    20:20:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):308:308 -> a
    21:21:boolean isShrinkingAllowed():340:340 -> a
    21:21:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):309 -> a
    22:22:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):309:309 -> a
    23:23:boolean isCheckDiscardedEnabled():328:328 -> a
    23:23:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):310 -> a
    24:24:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):310:310 -> a
    25:25:boolean isAccessModificationRequiredForRepackaging():316:316 -> a
    25:25:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):311 -> a
    26:26:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):312:312 -> a
    boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo) -> b
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setAllowAccessModification(boolean):410:411 -> b
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder disallowAccessModification():419 -> b
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setAllowAnnotationRemoval(boolean):423:424 -> c
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder disallowAnnotationRemoval():432 -> c
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setAllowMinification(boolean):344:345 -> d
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder disallowMinification():353 -> d
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setAllowOptimization(boolean):357:358 -> e
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder disallowOptimization():366 -> e
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setAllowShrinking(boolean):370:371 -> f
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder disallowShrinking():379 -> 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():320:320 -> j
    1:1:boolean isAccessModificationRequiredForRepackaging():316:316 -> k
    1:1:boolean isAnnotationRemovalAllowed():324:324 -> l
    1:1:boolean isCheckDiscardedEnabled():328:328 -> m
    1:1:boolean isMinificationAllowed():332:332 -> n
    1:1:boolean isOptimizationAllowed():336:336 -> o
    1:1:boolean isShrinkingAllowed():340:340 -> p
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setAllowAccessModification(boolean):410:411 -> q
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder allowAccessModification():415 -> q
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():279 -> q
    3:4:com.android.tools.r8.shaking.KeepInfo$Builder setAllowAnnotationRemoval(boolean):423:424 -> q
    3:4:com.android.tools.r8.shaking.KeepInfo$Builder allowAnnotationRemoval():428 -> q
    3:4:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():280 -> q
    5:6:com.android.tools.r8.shaking.KeepInfo$Builder setAllowMinification(boolean):344:345 -> q
    5:6:com.android.tools.r8.shaking.KeepInfo$Builder allowMinification():349 -> q
    5:6:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():281 -> q
    7:8:com.android.tools.r8.shaking.KeepInfo$Builder setAllowOptimization(boolean):357:358 -> q
    7:8:com.android.tools.r8.shaking.KeepInfo$Builder allowOptimization():362 -> q
    7:8:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():282 -> q
    9:10:com.android.tools.r8.shaking.KeepInfo$Builder setAllowShrinking(boolean):370:371 -> q
    9:10:com.android.tools.r8.shaking.KeepInfo$Builder allowShrinking():375 -> q
    9:10:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():283 -> q
    11:12:com.android.tools.r8.shaking.KeepInfo$Builder setCheckDiscarded(boolean):383:384 -> q
    11:12:com.android.tools.r8.shaking.KeepInfo$Builder unsetCheckDiscarded():392 -> q
    11:12:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():284 -> q
    13:14:com.android.tools.r8.shaking.KeepInfo$Builder setRequireAccessModificationForRepackaging(boolean):397:398 -> q
    13:14:com.android.tools.r8.shaking.KeepInfo$Builder unsetRequireAccessModificationForRepackaging():406 -> q
    13:14:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():285 -> q
    15:15:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():286:286 -> q
    1:5:com.android.tools.r8.shaking.KeepInfo$Builder makeTop():268:272 -> r
    6:7:com.android.tools.r8.shaking.KeepInfo$Builder setCheckDiscarded(boolean):383:384 -> r
    6:7:com.android.tools.r8.shaking.KeepInfo$Builder unsetCheckDiscarded():392 -> r
    6:7:com.android.tools.r8.shaking.KeepInfo$Builder makeTop():273 -> r
    8:9:com.android.tools.r8.shaking.KeepInfo$Builder makeTop():274:275 -> r
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setRequireAccessModificationForRepackaging(boolean):397:398 -> s
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder requireAccessModificationForRepackaging():402 -> s
    com.android.tools.r8.shaking.KeepInfo$Builder self() -> t
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setCheckDiscarded(boolean):383:384 -> u
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setCheckDiscarded():388 -> u
com.android.tools.r8.shaking.KeepInfo$Joiner -> com.android.tools.r8.shaking.o0:
    java.util.Set rules -> b
    boolean $assertionsDisabled -> c
    com.android.tools.r8.shaking.KeepInfo$Builder builder -> a
    1:1:void <clinit>():437:437 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.KeepInfo$Builder):449:449 -> <init>
    2:5:void <init>(com.android.tools.r8.shaking.KeepInfo$Builder):447:450 -> <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):455:457 -> a
    4:5:com.android.tools.r8.shaking.KeepInfo$Joiner addRule(com.android.tools.r8.shaking.ProguardKeepRuleBase):498:499 -> a
    6:14:com.android.tools.r8.shaking.KeepInfo$Joiner merge(com.android.tools.r8.shaking.KeepInfo$Joiner):538:546 -> a
    15:19:com.android.tools.r8.shaking.KeepInfo$Joiner merge(com.android.tools.r8.shaking.KeepInfo$Joiner):545:549 -> 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():503:504 -> d
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner disallowAnnotationRemoval():508:509 -> e
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner disallowMinification():513:514 -> f
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner disallowOptimization():518:519 -> g
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner disallowShrinking():523:524 -> h
    1:1:boolean isCheckDiscardedEnabled():481:481 -> i
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner requireAccessModificationForRepackaging():533:534 -> j
    com.android.tools.r8.shaking.KeepInfo$Joiner self() -> k
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner setCheckDiscarded():528:529 -> l
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner top():493:494 -> m
com.android.tools.r8.shaking.KeepInfoCollection -> com.android.tools.r8.shaking.r0:
    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.q0:
    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():558:560 -> 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():558:560 -> 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):397:397 -> 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: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:290 -> a
    111:111:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):344:344 -> a
    111:111: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
    112:114: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
    117:120: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:297 -> a
    121:121:java.util.stream.Stream com.android.tools.r8.graph.DexTypeList.stream():141:141 -> a
    121:121: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):297 -> a
    122:122: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):298:298 -> a
    123:123:java.util.stream.Stream com.android.tools.r8.graph.DexTypeList.stream():141:141 -> a
    123:123: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):298 -> a
    124:124: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):298:298 -> a
    125:129: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
    130:137: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
    138:138:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    138:138: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
    139:141: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
    142:142:boolean lambda$rewrite$1(java.lang.Boolean):300:300 -> a
    143:143: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:310 -> a
    144:144:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):332:332 -> a
    144:144: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
    145:148: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
    151:152: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
    153:153: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
    154:154:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    154:154:com.android.tools.r8.graph.DexType lambda$rewrite$4(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DexType):324 -> a
    155:158: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
    159:164:java.util.Map rewriteRuleInstances(java.util.Map,java.util.function.Function,java.util.function.Supplier):342:342 -> a
    165:165: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
    166:182:void forEachRuleInstance(com.android.tools.r8.graph.AppView,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer):357:373 -> a
    183:185: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
    186:189: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
    190:193: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
    194:194:void evaluateMethodRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):403:403 -> a
    195:195:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isBottom():477:477 -> a
    195:195:void evaluateMethodRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):403 -> a
    196:199:void evaluateMethodRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):404:407 -> a
    200:200:void lambda$evaluateMethodRule$11(com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):404:404 -> a
    201:201:com.android.tools.r8.shaking.KeepClassInfo getClassInfo(com.android.tools.r8.graph.DexProgramClass):413:413 -> a
    202:202:com.android.tools.r8.shaking.KeepClassInfo getClassInfo(com.android.tools.r8.graph.DexProgramClass):413:413 -> a
    202:202:void joinClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):429 -> a
    203:208:void joinClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):430:435 -> a
    209:211:com.android.tools.r8.shaking.KeepInfo com.android.tools.r8.shaking.KeepInfo$Joiner.join():558:560 -> a
    209:211:void joinClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):436 -> a
    212:214:void joinClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):436:438 -> a
    215:216:com.android.tools.r8.shaking.KeepMethodInfo getMethodInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass):418:419 -> a
    217:218:com.android.tools.r8.shaking.KeepFieldInfo getFieldInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass):424:425 -> a
    219:219:void keepMethod(com.android.tools.r8.graph.ProgramMethod):461:461 -> a
    220:220:void keepField(com.android.tools.r8.graph.ProgramField):502:502 -> a
    221:221:com.android.tools.r8.shaking.KeepInfoCollection mutate(java.util.function.Consumer):507:507 -> a
    222:222:boolean verifyPinnedTypesAreLive(java.util.Set,com.android.tools.r8.utils.InternalOptions):513:513 -> a
    223:223: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
    224:225: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
    226:227: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
    228:228:void forEachPinnedField(java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):542:542 -> a
    229:230: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.s0:
    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.v0:
    boolean $assertionsDisabled -> o
    boolean allowInlining -> i
    boolean allowMethodStaticizing -> j
    boolean allowParameterTypeStrengthening -> k
    boolean allowReturnTypeStrengthening -> l
    boolean allowClassInlining -> h
    com.android.tools.r8.shaking.KeepMethodInfo BOTTOM -> n
    com.android.tools.r8.shaking.KeepMethodInfo TOP -> m
    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:7:void <init>(com.android.tools.r8.shaking.KeepMethodInfo$Builder):34:39 -> <init>
    1:1:boolean isClassInliningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):54:54 -> f
    2:2:boolean internalIsClassInliningAllowed():58:58 -> f
    2:2:boolean isClassInliningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):54 -> f
    1:1:boolean isInliningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):62:62 -> g
    2:2:boolean internalIsInliningAllowed():66:66 -> g
    2:2:boolean isInliningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):62 -> g
    1:3:boolean isMethodStaticizingAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):70:72 -> h
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isMethodStaticizingEnabled():696:696 -> h
    4:4:boolean isMethodStaticizingAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):72 -> h
    5:5:boolean internalIsMethodStaticizingAllowed():77:77 -> h
    5:5:boolean isMethodStaticizingAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):73 -> h
    1:1:com.android.tools.r8.shaking.KeepMethodInfo access$200():7:7 -> i
    2:3:boolean isParameterTypeStrengtheningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):81:82 -> i
    4:4:boolean internalIsParameterTypeStrengtheningAllowed():87:87 -> i
    4:4:boolean isParameterTypeStrengtheningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):83 -> i
    1:1:com.android.tools.r8.shaking.KeepMethodInfo access$300():7:7 -> j
    2:3:boolean isReturnTypeStrengtheningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):91:92 -> j
    4:4:boolean internalIsReturnTypeStrengtheningAllowed():97:97 -> j
    4:4:boolean isReturnTypeStrengtheningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):93 -> j
    1:1:com.android.tools.r8.shaking.KeepMethodInfo bottom():20:20 -> k
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder builder():46:46 -> l
    1:1:boolean internalIsClassInliningAllowed():58:58 -> m
    1:1:boolean internalIsInliningAllowed():66:66 -> n
    1:1:boolean internalIsMethodStaticizingAllowed():77:77 -> o
    1:1:boolean internalIsParameterTypeStrengtheningAllowed():87:87 -> p
    1:1:boolean internalIsReturnTypeStrengtheningAllowed():97:97 -> q
    1:1:com.android.tools.r8.shaking.KeepMethodInfo top():16:16 -> r
    1:1:boolean isTop():107 -> r
    2:2:boolean isTop():107:107 -> r
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner joiner():101:101 -> s
    2:2:com.android.tools.r8.shaking.KeepMethodInfo top():16:16 -> s
    2:2:boolean isTop():107 -> s
    2:2:com.android.tools.r8.shaking.KeepMethodInfo$Joiner joiner():101 -> s
    3:3:boolean isTop():107:107 -> s
    3:3:com.android.tools.r8.shaking.KeepMethodInfo$Joiner joiner():101 -> s
    4:5:com.android.tools.r8.shaking.KeepMethodInfo$Joiner joiner():101:102 -> s
    1:1:com.android.tools.r8.shaking.KeepMethodInfo bottom():20:20 -> t
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner newEmptyJoiner():24 -> t
    2:2:com.android.tools.r8.shaking.KeepMethodInfo$Joiner newEmptyJoiner():24:24 -> t
    1:1:com.android.tools.r8.shaking.KeepMethodInfo top():16:16 -> u
com.android.tools.r8.shaking.KeepMethodInfo$Builder -> com.android.tools.r8.shaking.t0:
    boolean allowReturnTypeStrengthening -> m
    boolean allowClassInlining -> i
    boolean allowInlining -> j
    boolean allowMethodStaticizing -> k
    boolean allowParameterTypeStrengthening -> l
    1:1:void <init>(com.android.tools.r8.shaking.KeepMethodInfo$1):115:115 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.KeepMethodInfo,com.android.tools.r8.shaking.KeepMethodInfo$1):115:115 -> <init>
    3:3:void <init>():124:124 -> <init>
    4:9:void <init>(com.android.tools.r8.shaking.KeepMethodInfo):128:133 -> <init>
    1:1:boolean isClassInliningAllowed():137:137 -> A
    1:1:boolean isInliningAllowed():154:154 -> B
    1:1:boolean isMethodStaticizingAllowed():171:171 -> C
    1:1:boolean isParameterTypeStrengtheningAllowed():188:188 -> D
    1:1:boolean isReturnTypeStrengtheningAllowed():205:205 -> E
    1:2:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():269:270 -> F
    3:3:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowClassInlining(boolean):141:141 -> F
    3:3:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowClassInlining():146 -> F
    3:3:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():270 -> F
    4:4:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowInlining(boolean):158:158 -> F
    4:4:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowInlining():163 -> F
    4:4:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():271 -> F
    5:5:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowMethodStaticizing(boolean):175:175 -> F
    5:5:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowMethodStaticizing():180 -> F
    5:5:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():272 -> F
    6:6:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowParameterTypeStrengthening(boolean):192:192 -> F
    6:6:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowParameterTypeStrengthening():197 -> F
    6:6:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():273 -> F
    7:7:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowReturnTypeStrengthening(boolean):209:209 -> F
    7:7:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowReturnTypeStrengthening():214 -> F
    7:7:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():274 -> F
    1:2:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():259:260 -> G
    3:3:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowClassInlining(boolean):141:141 -> G
    3:3:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowClassInlining():150 -> G
    3:3:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():260 -> G
    4:4:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowInlining(boolean):158:158 -> G
    4:4:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowInlining():167 -> G
    4:4:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():261 -> G
    5:5:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowMethodStaticizing(boolean):175:175 -> G
    5:5:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowMethodStaticizing():184 -> G
    5:5:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():262 -> G
    6:6:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowParameterTypeStrengthening(boolean):192:192 -> G
    6:6:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowParameterTypeStrengthening():201 -> G
    6:6:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():263 -> G
    7:7:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowReturnTypeStrengthening(boolean):209:209 -> G
    7:7:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowReturnTypeStrengthening():218 -> G
    7:7:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():264 -> G
    1:1:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):115:115 -> a
    2:2:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):243:243 -> a
    2:2:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):115 -> a
    3:3:boolean isClassInliningAllowed():137:137 -> a
    3:3:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):244 -> a
    3:3:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):115 -> a
    4:4:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):244:244 -> a
    4:4:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):115 -> a
    5:5:boolean isInliningAllowed():154:154 -> a
    5:5:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):245 -> a
    5:5:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):115 -> a
    6:6:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):245:245 -> a
    6:6:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):115 -> a
    7:7:boolean isMethodStaticizingAllowed():171:171 -> a
    7:7:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):246 -> a
    7:7:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):115 -> a
    8:8:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):246:246 -> a
    8:8:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):115 -> a
    9:9:boolean isParameterTypeStrengtheningAllowed():188:188 -> a
    9:9:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):247 -> a
    9:9:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):115 -> a
    10:10:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):248:248 -> a
    10:10:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):115 -> a
    11:11:boolean isReturnTypeStrengtheningAllowed():205:205 -> a
    11:11:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):249 -> a
    11:11:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):115 -> a
    12:12:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):249:249 -> a
    12:12:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):115 -> a
    1:1:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):115:115 -> b
    2:2:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):243:243 -> b
    2:2:boolean isEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):238 -> b
    2:2:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):115 -> b
    3:3:boolean isClassInliningAllowed():137:137 -> b
    3:3:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):244 -> b
    3:3:boolean isEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):238 -> b
    3:3:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):115 -> b
    4:4:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):244:244 -> b
    4:4:boolean isEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):238 -> b
    4:4:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):115 -> b
    5:5:boolean isInliningAllowed():154:154 -> b
    5:5:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):245 -> b
    5:5:boolean isEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):238 -> b
    5:5:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):115 -> b
    6:6:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):245:245 -> b
    6:6:boolean isEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):238 -> b
    6:6:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):115 -> b
    7:7:boolean isMethodStaticizingAllowed():171:171 -> b
    7:7:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):246 -> b
    7:7:boolean isEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):238 -> b
    7:7:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):115 -> b
    8:8:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):246:246 -> b
    8:8:boolean isEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):238 -> b
    8:8:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):115 -> b
    9:9:boolean isParameterTypeStrengtheningAllowed():188:188 -> b
    9:9:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):247 -> b
    9:9:boolean isEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):238 -> b
    9:9:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):115 -> b
    10:10:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):248:248 -> b
    10:10:boolean isEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):238 -> b
    10:10:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):115 -> b
    11:11:boolean isReturnTypeStrengtheningAllowed():205:205 -> b
    11:11:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):249 -> b
    11:11:boolean isEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):238 -> b
    11:11:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):115 -> b
    12:12:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):249:249 -> b
    12:12:boolean isEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):238 -> b
    12:12:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):115 -> b
    1:1:com.android.tools.r8.shaking.KeepMethodInfo doBuild():254:254 -> g
    1:1:com.android.tools.r8.shaking.KeepInfo doBuild():115 -> g
    1:1:com.android.tools.r8.shaking.KeepMethodInfo getBottomInfo():233:233 -> h
    1:1:com.android.tools.r8.shaking.KeepInfo getBottomInfo():115 -> h
    1:1:com.android.tools.r8.shaking.KeepMethodInfo getTopInfo():228:228 -> i
    1:1:com.android.tools.r8.shaking.KeepInfo getTopInfo():115 -> i
    1:1:com.android.tools.r8.shaking.KeepInfo$Builder makeTop():115:115 -> r
    com.android.tools.r8.shaking.KeepInfo$Builder self() -> t
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowClassInlining(boolean):141:141 -> v
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowClassInlining():150 -> v
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowInlining(boolean):158:158 -> w
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowInlining():167 -> w
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowMethodStaticizing(boolean):175:175 -> x
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowMethodStaticizing():184 -> x
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowParameterTypeStrengthening(boolean):192:192 -> y
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowParameterTypeStrengthening():201 -> y
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowReturnTypeStrengthening(boolean):209:209 -> z
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowReturnTypeStrengthening():218 -> z
com.android.tools.r8.shaking.KeepMethodInfo$Joiner -> com.android.tools.r8.shaking.u0:
    1:1:void <init>(com.android.tools.r8.shaking.KeepMethodInfo):281:281 -> <init>
    1:1:com.android.tools.r8.shaking.KeepInfo$Joiner merge(com.android.tools.r8.shaking.KeepInfo$Joiner):278:278 -> a
    2:7:com.android.tools.r8.shaking.KeepMethodInfo$Joiner merge(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):317:322 -> a
    8:12:com.android.tools.r8.shaking.KeepMethodInfo$Joiner merge(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):321:325 -> a
    13:13:com.android.tools.r8.shaking.KeepMethodInfo$Joiner merge(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):324:324 -> a
    com.android.tools.r8.shaking.KeepMethodInfo$Joiner asMethodJoiner() -> c
    com.android.tools.r8.shaking.KeepInfo$Joiner self() -> k
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowClassInlining():285:285 -> n
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowInlining():290:290 -> o
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowMethodStaticizing():295:295 -> p
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowParameterTypeStrengthening():300:300 -> q
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowReturnTypeStrengthening():305:305 -> r
com.android.tools.r8.shaking.KeepReason -> com.android.tools.r8.shaking.I0:
    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.w0:
    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.x0:
    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.y0:
    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.z0:
    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.A0:
    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.B0:
    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.C0:
    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.D0:
    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.E0:
    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.F0:
    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.G0:
    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.H0:
    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.L8TreePruner -> com.android.tools.r8.internal.Tz:
    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.PrefixRewritingMapper):37:47 -> a
    12:26:com.android.tools.r8.graph.DexApplication prune(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.ir.desugar.PrefixRewritingMapper):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.WA:
    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:28:void logResults():168:173 -> b
    29:29:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> b
    29:29:void logResults():173 -> b
    30:31:void logResults():173:174 -> b
com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis$LibraryEscapeAnalysisConfiguration -> com.android.tools.r8.internal.VA:
    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.ZA:
    boolean isModeled(com.android.tools.r8.graph.DexType) -> d
com.android.tools.r8.shaking.MainDexDirectReferenceTracer -> com.android.tools.r8.internal.IC:
    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:19:void run(java.util.Set):54:55 -> a
    20:20:void lambda$run$0(com.android.tools.r8.graph.DexEncodedField):54:54 -> a
    21:21:boolean lambda$run$1(com.android.tools.r8.graph.DexEncodedMethod):57:57 -> a
    22:25:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer.traceMethodDirectDependencies(com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):100:103 -> a
    22:25:boolean lambda$run$1(com.android.tools.r8.graph.DexEncodedMethod):57 -> a
    26:26:boolean lambda$run$1(com.android.tools.r8.graph.DexEncodedMethod):58:58 -> a
    27:27:void runOnCode(com.android.tools.r8.graph.ProgramMethod):65:65 -> a
    28:41: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
    42:46: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.GC:
    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:4:boolean addProto(com.android.tools.r8.graph.DexProto):218:220 -> a
    5:5:boolean addCallSite(com.android.tools.r8.graph.DexCallSite):233:233 -> a
    6:6:boolean addMethodHandle(com.android.tools.r8.graph.DexMethodHandle):238:238 -> a
    1:2:boolean addField(com.android.tools.r8.graph.DexField):199:200 -> b
    3:4:boolean addMethod(com.android.tools.r8.graph.DexMethod):206:207 -> b
    5:5:boolean addType(com.android.tools.r8.graph.DexType):227:227 -> b
com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector -> com.android.tools.r8.internal.HC:
    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.K0:
    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
    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$9(com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexMethod):286:286 -> a
    116:116:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):344:344 -> a
    116:116: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
    117:117: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
    118:118: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
    119:119:boolean com.android.tools.r8.graph.GraphLens.isSyntheticFinalizationGraphLens():0:0 -> a
    119:119: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
    120:123: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
    124:127: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
    128:128:com.android.tools.r8.shaking.MainDexInfo$Builder builder():304:304 -> 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.J0:
    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.JC:
    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.KC:
    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):306:312 -> c
    28:34:void traceRuntimeAnnotationsWithEnumForMainDex():86 -> c
com.android.tools.r8.shaking.MemberValuePropagationRule -> com.android.tools.r8.shaking.M0:
    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.L0:
    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.zD:
# {"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.shaking.N0:
    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):397:397 -> 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):397:397 -> 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 forEach(java.util.function.BiConsumer):50:50 -> a
    194:194:void merge(com.android.tools.r8.shaking.MinimumKeepInfoCollection):114 -> a
    195:195:void mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119:119 -> a
    196:196:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.mergeUnsafe(com.android.tools.r8.shaking.KeepInfo$Joiner):554:554 -> a
    196:196:void mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119 -> a
    197:197:void pruneDeadItems(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer):123:123 -> a
    198:198: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:126 -> a
    199:199:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isBottom():477:477 -> a
    199:199: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 -> a
    200:210: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
    211:211:com.android.tools.r8.graph.ProgramDefinition lambda$pruneDeadItems$6(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):129:129 -> a
    212:212:com.android.tools.r8.graph.ProgramDefinition lambda$pruneDeadItems$7(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField):132:132 -> a
    213:213:com.android.tools.r8.graph.ProgramField com.android.tools.r8.graph.DexField.lookupOnProgramClass(com.android.tools.r8.graph.DexProgramClass):89:89 -> a
    213:213:com.android.tools.r8.graph.ProgramDefinition lambda$pruneDeadItems$7(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField):131 -> a
    214:214:com.android.tools.r8.graph.ProgramDefinition lambda$pruneDeadItems$8(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod):135:135 -> a
    215:215:com.android.tools.r8.graph.ProgramDefinition lambda$pruneDeadItems$8(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod):134:134 -> a
    216:216:void pruneItems(com.android.tools.r8.graph.PrunedItems):141:141 -> a
    217:217:com.android.tools.r8.shaking.KeepClassInfo$Joiner remove(com.android.tools.r8.graph.DexType):145:145 -> a
    218:218:com.android.tools.r8.shaking.KeepFieldInfo$Joiner remove(com.android.tools.r8.graph.DexField):149:149 -> a
    219:219:com.android.tools.r8.shaking.KeepMethodInfo$Joiner remove(com.android.tools.r8.graph.DexMethod):153:153 -> a
    220:221:com.android.tools.r8.shaking.MinimumKeepInfoCollection rewrittenWithLens(com.android.tools.r8.graph.GraphLens):157:158 -> a
    222:222:void forEach(java.util.function.BiConsumer):50:50 -> a
    222:222:com.android.tools.r8.shaking.MinimumKeepInfoCollection rewrittenWithLens(com.android.tools.r8.graph.GraphLens):158 -> a
    223:240: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:177 -> a
    241:241:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.mergeUnsafe(com.android.tools.r8.shaking.KeepInfo$Joiner):554:554 -> a
    241:241: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
    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.zE:
    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.yE:
    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):265:265 -> 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):261:261 -> a
    60:60:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265 -> 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():502:502 -> 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():502:502 -> 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():513:513 -> 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():522:522 -> 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.P0:
    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.O0:
    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.R0:
    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.Q0:
    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.T0:
    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.S0:
    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.V0:
    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.U0:
    1:1:void <init>():18:18 -> <init>
com.android.tools.r8.shaking.NoParameterTypeStrengtheningRule -> com.android.tools.r8.shaking.X0:
    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.W0:
    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.Z0:
    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.Y0:
    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.b1:
    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.a1:
    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.d1:
    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.c1:
    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.BM:
    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.f1:
    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.e1:
    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.h1:
    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.g1:
    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.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.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.i1:
    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.l1:
    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.k1:
    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.m1:
    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.m1$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.n1:
    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.n1$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.o1:
    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.p1:
    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.n1$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.q1:
    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.q1$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.IM:
    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.CM:
    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.DM:
    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.EM:
    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.FM:
    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.GM:
    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.HM:
    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.KM:
    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):397:397 -> 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):397:397 -> 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.JM:
    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
    4:4:com.android.tools.r8.shaking.ProguardCompatibilityActions build():61:61 -> a
com.android.tools.r8.shaking.ProguardConfiguration -> com.android.tools.r8.shaking.r1:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    java.lang.String packagePrefix -> f
    boolean $assertionsDisabled -> P
    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.ProguardKeepRule keepAllRule -> O
    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 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>():21:21 -> <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.ProguardKeepRule,com.android.tools.r8.shaking.ProguardConfiguration$1):21:21 -> <init>
    2:43: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.ProguardKeepRule):502:543 -> <init>
    1:1:boolean hasDontUseMixedCaseClassnames():712:712 -> A
    1:1:boolean hasDontWarnPatterns():647:647 -> B
    1:1:boolean isAccessModificationAllowed():579:579 -> C
    1:1:boolean isConfigurationDebugging():708:708 -> D
    1:1:boolean isIgnoreWarnings():599:599 -> E
    1:1:boolean isKeepParameterNames():680:680 -> F
    1:1:boolean isObfuscating():607:607 -> G
    1:1:boolean isOptimizing():603:603 -> H
    1:1:boolean isOverloadAggressively():664:664 -> I
    1:1:boolean isPrintConfiguration():615:615 -> J
    1:1:boolean isPrintMapping():583:583 -> K
    1:1:boolean isPrintSeeds():700:700 -> L
    1:1:boolean isPrintUsage():623:623 -> M
    1:1:boolean isProtoShrinkingEnabled():716:716 -> N
    1:1:boolean isShrinking():611:611 -> O
    1:1:boolean isVerbose():631:631 -> P
    1:1:com.android.tools.r8.shaking.ProguardConfiguration$Builder builder(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):551:551 -> a
    2:2:com.android.tools.r8.shaking.ProguardClassFilter getDontWarnPatterns(com.android.tools.r8.errors.dontwarn.DontWarnConfiguration$Witness):652:652 -> a
    3:3:com.android.tools.r8.shaking.ProguardClassFilter getAdaptClassStrings():684:684 -> a
    1:1:com.android.tools.r8.shaking.ProguardPathFilter getAdaptResourceFileContents():692:692 -> b
    1:1:com.android.tools.r8.shaking.ProguardPathFilter getAdaptResourceFilenames():688:688 -> c
    1:1:java.nio.file.Path getApplyMappingFile():595:595 -> d
    1:1:java.util.List getClassObfuscationDictionary():672:672 -> e
    1:1:com.android.tools.r8.graph.DexItemFactory getDexItemFactory():559:559 -> f
    1:1:com.android.tools.r8.shaking.ProguardClassFilter getDontNotePatterns():656:656 -> g
    1:1:java.util.List getInjars():563:563 -> h
    1:1:com.android.tools.r8.shaking.ProguardKeepRule getKeepAllRule():724:724 -> i
    1:1:com.android.tools.r8.shaking.ProguardKeepAttributes getKeepAttributes():639:639 -> j
    1:1:com.android.tools.r8.shaking.ProguardPathFilter getKeepDirectories():696:696 -> k
    1:1:com.android.tools.r8.shaking.ProguardPackageNameList getKeepPackageNamesPatterns():643:643 -> l
    1:1:java.util.List getLibraryjars():567:567 -> m
    1:1:int getMaxRemovedAndroidLogLevel():720:720 -> n
    1:1:java.util.List getObfuscationDictionary():668:668 -> o
    1:1:java.util.List getPackageObfuscationDictionary():676:676 -> p
    1:1:com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode getPackageObfuscationMode():571:571 -> q
    1:1:java.lang.String getPackagePrefix():575:575 -> r
    1:1:java.lang.String getParsedConfiguration():555:555 -> s
    1:1:java.nio.file.Path getPrintConfigurationFile():619:619 -> t
    1:2:java.lang.String toString():729:730 -> toString
    3:3:boolean com.android.tools.r8.shaking.ProguardKeepAttributes.isEmpty():216:216 -> toString
    3:3:java.lang.String toString():730 -> toString
    4:11:java.lang.String toString():731:738 -> toString
    1:1:java.nio.file.Path getPrintMappingFile():587:587 -> u
    1:1:java.nio.file.Path getPrintUsageFile():627:627 -> v
    1:1:java.lang.String getRenameSourceFileAttribute():635:635 -> w
    1:1:java.util.List getRules():660:660 -> x
    1:1:java.nio.file.Path getSeedFile():704:704 -> y
    1:1:boolean hasApplyMappingFile():591:591 -> z
com.android.tools.r8.shaking.ProguardConfiguration$Builder -> com.android.tools.r8.shaking.r1$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 configurationDebugging -> 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
    boolean protoShrinking -> R
    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
    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 keepRuleSynthesisForRecompilation -> 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 $assertionsDisabled -> U
    boolean dontUseMixedCaseClassnames -> Q
    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.ProguardKeepRule keepAllRule -> T
    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
    int maxRemovedAndroidLogLevel -> S
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.shaking.ProguardConfiguration$1):23:23 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):78:78 -> <init>
    3:58:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):25:80 -> <init>
    1:1:void addParsedConfiguration(java.lang.String):84:84 -> a
    2:2:void addInjars(java.util.List):88:88 -> a
    3:3:boolean isAccessModificationEnabled():128:128 -> a
    3:3:void lambda$build$1(com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder):392 -> a
    4:4:void lambda$build$1(com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder):392:392 -> a
    5:5:boolean isObfuscating():132:132 -> a
    5:5:void lambda$build$1(com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder):393 -> a
    6:6:void lambda$build$1(com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder):393:393 -> a
    7:7:boolean isOptimizing():136:136 -> a
    7:7:void lambda$build$1(com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder):394 -> a
    8:8:void lambda$build$1(com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder):394:394 -> a
    9:9:boolean isShrinking():140:140 -> a
    9:9:void lambda$build$1(com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder):395 -> a
    10:14:void lambda$build$1(com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder):395:399 -> a
    15:15:boolean isShrinking():140:140 -> a
    15:15:void lambda$build$1(com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder):399 -> a
    16:16:void lambda$build$1(com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder):400:400 -> a
    17:17:void setApplyMappingFile(java.nio.file.Path):175:175 -> a
    18:18:com.android.tools.r8.shaking.ProguardConfiguration$Builder addKeepAttributePatterns(java.util.List):191:191 -> a
    19:19:void addRule(com.android.tools.r8.shaking.ProguardConfigurationRule):196:196 -> a
    20:20:void addKeepPackageNamesPattern(boolean,com.android.tools.r8.shaking.ProguardPackageMatcher):200:200 -> a
    21:24:void setKeepParameterNames(boolean,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):237:240 -> a
    25:25:void addAdaptClassStringsPattern(com.android.tools.r8.shaking.ProguardClassNameList):256:256 -> a
    26:26:void addAdaptResourceFileContents(com.android.tools.r8.shaking.ProguardPathList):265:265 -> a
    27:27:void setForceProguardCompatibility(boolean):277:277 -> a
    28:28:java.lang.String[] lambda$synthesizeKeepRulesForRecompilation$0(int):326:326 -> a
    29:29:com.android.tools.r8.shaking.ProguardConfiguration build():381:381 -> a
    30:30:boolean isObfuscating():132:132 -> a
    30:30:com.android.tools.r8.shaking.ProguardConfiguration build():381 -> a
    31:31:com.android.tools.r8.shaking.ProguardConfiguration build():383:383 -> a
    32:32:boolean isObfuscating():132:132 -> a
    32:32:com.android.tools.r8.shaking.ProguardConfiguration build():387 -> a
    33:33:boolean isOptimizing():136:136 -> a
    33:33:com.android.tools.r8.shaking.ProguardConfiguration build():387 -> a
    34:34:boolean isShrinking():140:140 -> a
    34:34:com.android.tools.r8.shaking.ProguardConfiguration build():387 -> a
    35:62:com.android.tools.r8.shaking.ProguardConfiguration build():388:415 -> a
    1:1:void addLibraryJars(java.util.List):92:92 -> b
    2:3:void setFlattenPackagePrefix(java.lang.String):105:106 -> b
    4:4:void setIgnoreWarnings(boolean):114:114 -> b
    5:5:void addDontNotePattern(com.android.tools.r8.shaking.ProguardClassNameList):208:208 -> b
    6:6:void setClassObfuscationDictionary(java.nio.file.Path):224:224 -> b
    7:7:com.android.tools.r8.shaking.ProguardConfiguration$Builder addAdaptResourceFilenames(com.android.tools.r8.shaking.ProguardPathList):260:260 -> b
    8:8:void setMaxRemovedAndroidLogLevel(int):309:309 -> b
    9:53:com.android.tools.r8.shaking.ProguardConfiguration buildRaw():331:375 -> b
    1:2:void setPackagePrefix(java.lang.String):100:101 -> c
    3:3:com.android.tools.r8.shaking.ProguardConfiguration$Builder disableObfuscation():123:123 -> c
    4:4:void addDontWarnPattern(com.android.tools.r8.shaking.ProguardClassNameList):204:204 -> c
    5:5:void setObfuscationDictionary(java.nio.file.Path):220:220 -> c
    6:6:void addKeepDirectories(com.android.tools.r8.shaking.ProguardPathList):273:273 -> c
    7:7:void setOverloadAggressively(boolean):281:281 -> c
    1:1:com.android.tools.r8.shaking.ProguardConfiguration$Builder disableOptimization():118:118 -> d
    2:2:void setPrintMapping(boolean):166:166 -> d
    3:3:void setRenameSourceFileAttribute(java.lang.String):187:187 -> d
    4:4:void setPackageObfuscationDictionary(java.nio.file.Path):228:228 -> d
    1:1:com.android.tools.r8.shaking.ProguardConfiguration$Builder disableShrinking():144:144 -> e
    2:3:void setPrintConfigurationFile(java.nio.file.Path):153:154 -> e
    4:4:void setPrintSeeds(boolean):216:216 -> e
    1:2:void setPrintMappingFile(java.nio.file.Path):170:171 -> f
    3:3:void enableKeepDirectories():269:269 -> f
    1:1:void setPrintUsageFile(java.nio.file.Path):162:162 -> g
    2:2:void enableKeepRuleSynthesisForRecompilation():285:285 -> g
    1:1:void setSeedFile(java.nio.file.Path):212:212 -> h
    2:2:void enableProtoShrinking():301:301 -> h
    1:1:com.android.tools.r8.origin.Origin getKeepParameterNamesOptionOrigin():248:248 -> i
    1:1:com.android.tools.r8.position.Position getKeepParameterNamesOptionPosition():252:252 -> j
    1:1:com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode getPackageObfuscationMode():96:96 -> k
    1:1:boolean hasApplyMappingFile():179:179 -> l
    1:1:boolean isConfigurationDebugging():293:293 -> m
    1:1:boolean isKeepParameterNames():244:244 -> n
    1:1:boolean isObfuscating():132:132 -> o
    1:1:void setAllowAccessModification(boolean):110:110 -> p
    1:1:void setConfigurationDebugging(boolean):289:289 -> q
    1:1:void setDontUseMixedCaseClassnames(boolean):297:297 -> r
    1:1:void setPrintConfiguration(boolean):149:149 -> s
    1:1:void setPrintUsage(boolean):158:158 -> t
    1:1:void setVerbose(boolean):183:183 -> u
    1:10:void synthesizeKeepRulesForRecompilation():317:326 -> v
    11:11:void synthesizeKeepRulesForRecompilation():323:323 -> v
    12:12:void synthesizeKeepRulesForRecompilation():322:322 -> v
com.android.tools.r8.shaking.ProguardConfigurationParser -> com.android.tools.r8.shaking.s1:
    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.s1$a:
    java.util.List wildcards -> b
    java.lang.String pattern -> a
    1:3:void <init>(java.lang.String,java.util.List):2239:2241 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards withoutWildcards(java.lang.String):2245:2245 -> a
    2:3:boolean hasBackreference():2253:2254 -> a
    1:15:boolean hasUnusualCharacters():2258:2272 -> b
com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation -> com.android.tools.r8.shaking.t1:
    com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards patternWithWildcards -> a
    boolean negated -> b
    1:3:void <init>(java.lang.String,java.util.List,boolean):2283:2285 -> <init>
com.android.tools.r8.shaking.ProguardConfigurationParser$ProguardConfigurationSourceParser -> com.android.tools.r8.shaking.u1:
    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):797:797 -> 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):797 -> a
    3:3:com.android.tools.r8.shaking.ClassInlineRule parseClassInlineRule(com.android.tools.r8.shaking.ClassInlineRule$Type,com.android.tools.r8.position.Position):797:797 -> 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):797 -> 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):797 -> 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):797 -> a
    7:9:com.android.tools.r8.shaking.ClassInlineRule parseClassInlineRule(com.android.tools.r8.shaking.ClassInlineRule$Type,com.android.tools.r8.position.Position):798:800 -> 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):801 -> 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):802 -> a
    22:22:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):851:851 -> a
    23:24:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:54 -> a
    23:24:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):851 -> a
    25:25:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):851:851 -> a
    26:27:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:59 -> a
    26:27:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):851 -> a
    28:30:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):852:854 -> 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):855 -> a
    33:33:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):856:856 -> a
    34:36:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1091:1093 -> a
    34:36:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1118 -> a
    34:36:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1006 -> a
    37:37:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2080:2080 -> a
    37:37:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2072 -> a
    37:37:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1094 -> a
    37:37:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1118 -> a
    37:37:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1006 -> a
    38:39:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2073:2074 -> a
    38:39:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1094 -> a
    38:39:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1118 -> a
    38:39:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1006 -> a
    40:48:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1095:1103 -> a
    40:48:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1118 -> a
    40:48:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1006 -> a
    49:49:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1102:1102 -> a
    49:49:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1118 -> a
    49:49:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1006 -> a
    50:50:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2082:2082 -> a
    50:50:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2072 -> a
    50:50:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1094 -> a
    50:50:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1118 -> a
    50:50:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1006 -> a
    51:53:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1120:1122 -> a
    51:53:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1006 -> a
    54:55:boolean parseNegation():1109:1110 -> a
    54:55:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1124 -> a
    54:55:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1006 -> a
    56:56:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1125:1125 -> a
    56:56:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1006 -> a
    57:57:com.android.tools.r8.shaking.ProguardAccessFlags com.android.tools.r8.shaking.ProguardClassSpecification$Builder.getNegatedClassAccessFlags():160:160 -> a
    57:57:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1125 -> a
    57:57:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1006 -> a
    58:58:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1126:1126 -> a
    58:58:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1006 -> a
    59:59:com.android.tools.r8.shaking.ProguardAccessFlags com.android.tools.r8.shaking.ProguardClassSpecification$Builder.getClassAccessFlags():151:151 -> a
    59:59:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1126 -> a
    59:59:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1006 -> a
    60:69:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1127:1136 -> a
    60:69:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1006 -> a
    70:72:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1149:1151 -> a
    70:72:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1007 -> a
    73:74:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassTypeNegated(boolean):146:147 -> a
    73:74:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1152 -> a
    73:74:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1007 -> a
    75:78:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1154:1157 -> a
    75:78:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1007 -> a
    79:80:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):137:138 -> a
    79:80:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1157 -> a
    79:80:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1007 -> a
    81:81:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1159:1159 -> a
    81:81:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1007 -> a
    82:83:com.android.tools.r8.utils.StringDiagnostic parseClassTypeUnexpected(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.TextPosition):1144:1145 -> a
    82:83:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1159 -> a
    82:83:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1007 -> a
    84:87:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1159:1162 -> a
    84:87:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1007 -> a
    88:89:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):137:138 -> a
    88:89:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1162 -> a
    88:89:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1007 -> a
    90:91:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1163:1164 -> a
    90:91:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1007 -> a
    92:93:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):137:138 -> a
    92:93:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1164 -> a
    92:93:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1007 -> a
    94:95:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1165:1166 -> a
    94:95:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1007 -> a
    96:97:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):137:138 -> a
    96:97:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1166 -> a
    96:97:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1007 -> a
    98:98:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2059:2059 -> a
    98:98:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1008 -> a
    99:99:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2080:2080 -> a
    99:99:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2051 -> a
    99:99:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2061 -> a
    99:99:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1008 -> a
    100:103:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2052:2052 -> a
    100:103:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2061 -> a
    100:103:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1008 -> a
    106:106:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2055:2055 -> a
    106:106:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2061 -> a
    106:106:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1008 -> a
    107:108:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2062:2063 -> a
    107:108:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1008 -> a
    109:109:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1008:1008 -> a
    110:111:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1175:1176 -> a
    110:111:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1009 -> a
    112:113:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setInheritanceIsExtends(boolean):96:97 -> a
    112:113:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1177 -> a
    112:113:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1009 -> a
    114:114:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1178:1178 -> a
    114:114:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1009 -> a
    115:116:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setInheritanceIsExtends(boolean):96:97 -> a
    115:116:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1179 -> a
    115:116:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1009 -> a
    117:119:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1091:1093 -> a
    117:119:java.util.List parseAnnotationList():1081 -> a
    117:119:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1183 -> a
    117:119:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1009 -> a
    120:120:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2080:2080 -> a
    120:120:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2072 -> a
    120:120:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1094 -> a
    120:120:java.util.List parseAnnotationList():1081 -> a
    120:120:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1183 -> a
    120:120:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1009 -> a
    121:122:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2073:2074 -> a
    121:122:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1094 -> a
    121:122:java.util.List parseAnnotationList():1081 -> a
    121:122:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1183 -> a
    121:122:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1009 -> a
    123:131:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1095:1103 -> a
    123:131:java.util.List parseAnnotationList():1081 -> a
    123:131:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1183 -> a
    123:131:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1009 -> a
    132:132:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1102:1102 -> a
    132:132:java.util.List parseAnnotationList():1081 -> a
    132:132:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1183 -> a
    132:132:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1009 -> a
    133:133:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2082:2082 -> a
    133:133:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2072 -> a
    133:133:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1094 -> a
    133:133:java.util.List parseAnnotationList():1081 -> a
    133:133:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1183 -> a
    133:133:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1009 -> a
    134:138:java.util.List parseAnnotationList():1083:1087 -> a
    134:138:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1183 -> a
    134:138:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1009 -> a
    139:139:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1183:1183 -> a
    139:139:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1009 -> a
    140:140:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2080:2080 -> a
    140:140:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2072 -> a
    140:140:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1184 -> a
    140:140:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1009 -> a
    141:142:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2073:2074 -> a
    141:142:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1184 -> a
    141:142:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1009 -> a
    143:145:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1184:1184 -> a
    143:145:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1009 -> a
    146:147:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setInheritanceClassName(com.android.tools.r8.shaking.ProguardTypeMatcher):109:110 -> a
    146:147:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1184 -> a
    146:147:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1009 -> a
    148:148:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2082:2082 -> a
    148:148:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2072 -> a
    148:148:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1184 -> a
    148:148:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1009 -> a
    149:150:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1194:1195 -> a
    149:150:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    151:151:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1207:1207 -> a
    151:151:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    151:151:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    152:154:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1091:1093 -> a
    152:154:java.util.List parseAnnotationList():1081 -> a
    152:154:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1208 -> a
    152:154:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    152:154:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    155:155:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2080:2080 -> a
    155:155:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2072 -> a
    155:155:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1094 -> a
    155:155:java.util.List parseAnnotationList():1081 -> a
    155:155:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1208 -> a
    155:155:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    155:155:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    156:157:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2073:2074 -> a
    156:157:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1094 -> a
    156:157:java.util.List parseAnnotationList():1081 -> a
    156:157:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1208 -> a
    156:157:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    156:157:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    158:166:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1095:1103 -> a
    158:166:java.util.List parseAnnotationList():1081 -> a
    158:166:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1208 -> a
    158:166:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    158:166:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    167:167:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1102:1102 -> a
    167:167:java.util.List parseAnnotationList():1081 -> a
    167:167:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1208 -> a
    167:167:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    167:167:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    168:168:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2082:2082 -> a
    168:168:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2072 -> a
    168:168:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1094 -> a
    168:168:java.util.List parseAnnotationList():1081 -> a
    168:168:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1208 -> a
    168:168:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    168:168:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    169:173:java.util.List parseAnnotationList():1083:1087 -> a
    169:173:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1208 -> a
    169:173:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    169:173:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    174:174:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1208:1208 -> a
    174:174:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    174:174:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    175:175:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1216:1216 -> a
    175:175:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1209 -> a
    175:175:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    175:175:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    176:177:boolean parseNegation():1109:1110 -> a
    176:177:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1218 -> a
    176:177:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1209 -> a
    176:177:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    176:177:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    178:223:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1220:1265 -> a
    178:223:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1209 -> a
    178:223:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    178:223:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    224:241:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1253:1270 -> a
    224:241:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1209 -> a
    224:241:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    224:241:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    242:247:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1244:1249 -> a
    242:247:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1209 -> a
    242:247:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    242:247:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    248:249:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1239:1240 -> a
    248:249:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1209 -> a
    248:249:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    248:249:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    250:251:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1234:1235 -> a
    250:251:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1209 -> a
    250:251:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    250:251:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    252:253:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1229:1230 -> a
    252:253:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1209 -> a
    252:253:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    252:253:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    254:310:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1224:1280 -> a
    254:310:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1209 -> a
    254:310:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    254:310:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    311:330:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1288:1307 -> a
    311:330:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    311:330:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    311:330:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    331:336:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType):1800:1805 -> a
    331:336:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1309 -> a
    331:336:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    331:336:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    331:336:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    337:342:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1311:1316 -> a
    337:342:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    337:342:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    337:342:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    343:351:void checkConstructorPattern(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.position.TextPosition):1449:1457 -> a
    343:351:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1318 -> a
    343:351:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    343:351:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    343:351:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    352:354:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1319:1321 -> a
    352:354:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    352:354:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    352:354:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    355:355:void checkConstructorPattern(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.position.TextPosition):1458:1458 -> a
    355:355:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1318 -> a
    355:355:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    355:355:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    355:355:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    356:356:void checkConstructorPattern(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.position.TextPosition):1455:1455 -> a
    356:356:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1318 -> a
    356:356:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    356:356:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    356:356:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    357:360:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1323:1326 -> a
    357:360:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    357:360:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    357:360:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    361:361:boolean com.android.tools.r8.shaking.ProguardTypeMatcher.matchesSpecificType():147:147 -> a
    361:361:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1326 -> a
    361:361:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    361:361:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    361:361:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    362:368:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1327:1333 -> a
    362:368:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    362:368:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    362:368:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    369:378:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1328:1337 -> a
    369:378:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    369:378:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    369:378:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    379:379:boolean com.android.tools.r8.shaking.ProguardTypeMatcher.matchesSpecificType():147:147 -> a
    379:379:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1337 -> a
    379:379:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    379:379:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    379:379:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    380:386:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1338:1344 -> a
    380:386:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    380:386:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    380:386:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    387:394:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1339:1346 -> a
    387:394:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    387:394:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    387:394:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    395:400:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType):1800:1805 -> a
    395:400:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1348 -> a
    395:400:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    395:400:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    395:400:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    401:405:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1350:1354 -> a
    401:405:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    401:405:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    401:405:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    406:414:void checkConstructorPattern(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.position.TextPosition):1449:1457 -> a
    406:414:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1355 -> a
    406:414:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    406:414:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    406:414:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    415:419:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1357:1361 -> a
    415:419:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    415:419:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    415:419:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    420:422:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1360:1362 -> a
    420:422:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    420:422:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    420:422:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    423:423:void checkConstructorPattern(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.position.TextPosition):1458:1458 -> a
    423:423:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1355 -> a
    423:423:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    423:423:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    423:423:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    424:424:void checkConstructorPattern(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.position.TextPosition):1455:1455 -> a
    424:424:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1355 -> a
    424:424:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    424:424:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    424:424:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    425:426:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1364:1365 -> a
    425:426:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    425:426:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    425:426:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    427:433:void warnUnusualCharacters(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2188:2188 -> a
    427:433:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1365 -> a
    427:433:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    427:433:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    427:433:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    434:435:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1367:1368 -> a
    434:435:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    434:435:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    434:435:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    436:442:void warnUnusualCharacters(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2188:2188 -> a
    436:442:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1368 -> a
    436:442:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    436:442:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    436:442:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    443:447:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1370:1374 -> a
    443:447:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    443:447:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    443:447:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    448:464:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1373:1389 -> a
    448:464:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    448:464:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    448:464:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    465:466:java.lang.String acceptFieldNameOrIntegerForReturn():1927:1928 -> a
    465:466:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1390 -> a
    465:466:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    465:466:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    465:466:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    467:467:boolean eof(int):1674:1674 -> a
    467:467:java.lang.String acceptFieldNameOrIntegerForReturn():1930 -> a
    467:467:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1390 -> a
    467:467:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    467:467:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    467:467:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    468:468:java.lang.String acceptFieldNameOrIntegerForReturn():1931:1931 -> a
    468:468:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1390 -> a
    468:468:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    468:468:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    468:468:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    469:469:boolean eof(int):1674:1674 -> a
    469:469:java.lang.String acceptFieldNameOrIntegerForReturn():1932 -> a
    469:469:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1390 -> a
    469:469:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    469:469:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    469:469:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    470:470:char peekCharAt(int):1725:1725 -> a
    470:470:java.lang.String acceptFieldNameOrIntegerForReturn():1932 -> a
    470:470:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1390 -> a
    470:470:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    470:470:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    470:470:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    471:471:boolean eof(int):1674:1674 -> a
    471:471:char peekCharAt(int):1725 -> a
    471:471:java.lang.String acceptFieldNameOrIntegerForReturn():1932 -> a
    471:471:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1390 -> a
    471:471:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    471:471:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    471:471:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    472:473:char peekCharAt(int):1725:1726 -> a
    472:473:java.lang.String acceptFieldNameOrIntegerForReturn():1932 -> a
    472:473:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1390 -> a
    472:473:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    472:473:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    472:473:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    474:486:java.lang.String acceptFieldNameOrIntegerForReturn():1936:1948 -> a
    474:486:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1390 -> a
    474:486:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    474:486:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    474:486:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    487:488:boolean isInteger(java.lang.String):1661:1662 -> a
    487:488:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1392 -> a
    487:488:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    487:488:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    487:488:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    489:503:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1393:1407 -> a
    489:503:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    489:503:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    489:503:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    504:504:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1406:1406 -> a
    504:504:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    504:504:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    504:504:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    505:517:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1404:1416 -> a
    505:517:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    505:517:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    505:517:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    518:518:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1415:1415 -> a
    518:518:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    518:518:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    518:518:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    519:524:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1414:1419 -> a
    519:524:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    519:524:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    519:524:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    525:549:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1418:1442 -> a
    525:549:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1210 -> a
    525:549:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    525:549:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    550:550:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1211:1211 -> a
    550:550:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1197 -> a
    550:550:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    551:551:java.util.List com.android.tools.r8.shaking.ProguardClassSpecification$Builder.getMemberRules():83:83 -> a
    551:551:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1198 -> a
    551:551:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    552:555:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1198:1201 -> a
    552:555:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1010 -> a
    556:556:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2082:2082 -> a
    556:556:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2051 -> a
    556:556:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2061 -> a
    556:556:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1008 -> a
    557:557:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1168:1168 -> a
    557:557:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1007 -> a
    558:559:com.android.tools.r8.utils.StringDiagnostic parseClassTypeUnexpected(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.TextPosition):1144:1145 -> a
    558:559:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1168 -> a
    558:559:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1007 -> a
    560:560:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1168:1168 -> a
    560:560:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1007 -> a
    561:582:java.nio.file.Path parseFileName(boolean):1526:1547 -> a
    583:583:java.nio.file.Path parseFileName(boolean):1545:1545 -> a
    584:604:java.lang.String replaceSystemPropertyReferences(java.lang.String):1492:1512 -> a
    584:604:java.nio.file.Path parseFileName(boolean):1550 -> a
    605:605:java.nio.file.Path parseFileName(boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":622,"2":623,"3":624,"4":625,"5":626,"6":627}}
    622:622:java.lang.String replaceSystemPropertyReferences(java.lang.String):1510:1510 -> a
    622:622:java.nio.file.Path parseFileName(boolean):1550 -> a
    623:623:java.lang.String replaceSystemPropertyReferences(java.lang.String):1510:1510 -> a
    623:623:java.nio.file.Path parseFileName(boolean):1550 -> a
    624:624:java.lang.String replaceSystemPropertyReferences(java.lang.String):1510:1510 -> a
    624:624:java.nio.file.Path parseFileName(boolean):1550 -> a
    625:625:java.lang.String replaceSystemPropertyReferences(java.lang.String):1510:1510 -> a
    625:625:java.nio.file.Path parseFileName(boolean):1550 -> a
    626:626:java.lang.String replaceSystemPropertyReferences(java.lang.String):1510:1510 -> a
    626:626:java.nio.file.Path parseFileName(boolean):1550 -> a
    627:627:java.lang.String replaceSystemPropertyReferences(java.lang.String):1510:1510 -> a
    627:627:java.nio.file.Path parseFileName(boolean):1550 -> a
    606:618:java.lang.String replaceSystemPropertyReferences(java.lang.String):1510:1522 -> a
    606:618:java.nio.file.Path parseFileName(boolean):1550 -> a
    619:619:java.nio.file.Path parseFileName(boolean):1552:1552 -> a
    620:620:java.nio.file.Path parseFileName(boolean):1541:1541 -> a
    621:621:java.nio.file.Path parseFileName(boolean):1530:1530 -> a
    628:630:boolean lambda$parseFileName$1(boolean,char,boolean,int):1536:1538 -> a
    631:632:boolean acceptChar(char):1696:1697 -> a
    633:633:int remainingChars():1734:1734 -> a
    633:633:boolean acceptString(java.lang.String):1744 -> a
    634:642:boolean acceptString(java.lang.String):1744:1752 -> a
    643:643:boolean lambda$acceptQuotedOrUnquotedString$4(char,int):1762:1762 -> a
    644:644:boolean isClassName(int):1778:1778 -> a
    645:645:java.lang.String acceptClassName():1795:1795 -> a
    646:656:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1810:1820 -> a
    657:657:boolean eof(int):1674:1674 -> a
    657:657:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1822 -> a
    658:671:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1823:1836 -> a
    672:674:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1831:1831 -> a
    682:682:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1839:1839 -> a
    683:683: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":4530,"2":4531,"3":4532}}
    4530:4530:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1839:1839 -> a
    4531:4531:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1839:1839 -> a
    4532:4532:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1839:1839 -> a
    2523:2524:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1840:1841 -> a
    2525:2537:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1839:1851 -> a
    2538:2576:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1850:1888 -> a
    2577:2577:boolean isPackageName(int):1788:1788 -> a
    2577:2577:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1893 -> a
    2578:2585:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1894:1901 -> a
    2586:2586: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":4594,"2":4595,"3":4596}}
    4594:4594:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1901:1901 -> a
    4595:4595:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1901:1901 -> a
    4596:4596:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1901:1901 -> a
    4487:4492:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1901:1901 -> a
    4493:4493:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1895:1895 -> a
    4494:4521:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1890:1917 -> a
    4522:4529:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1916:1923 -> a
    4597:4597:java.lang.String acceptString(java.util.function.IntPredicate):1994:1994 -> a
    4598:4598:boolean eof(int):1674:1674 -> a
    4598:4598:java.lang.String acceptString(java.util.function.IntPredicate):1996 -> a
    4599:4610:java.lang.String acceptString(java.util.function.IntPredicate):1997:2008 -> a
    4611:4611:boolean pathFilterMatcher(java.lang.Integer):2088:2088 -> a
    4612:4613:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String,com.android.tools.r8.position.TextPosition):2167:2168 -> a
    4614:4617:com.android.tools.r8.position.Position getPosition(com.android.tools.r8.position.TextPosition):2202:2205 -> a
    4618:4619:java.lang.String getSourceSnippet(java.lang.String,com.android.tools.r8.position.Position,com.android.tools.r8.position.Position):2218:2219 -> a
    4620:4620: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
    4620:4620:java.lang.String getSourceSnippet(java.lang.String,com.android.tools.r8.position.Position,com.android.tools.r8.position.Position):2219 -> a
    4621:4627: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):2225:2231 -> a
    4621:4627: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
    4621:4627:java.lang.String getSourceSnippet(java.lang.String,com.android.tools.r8.position.Position,com.android.tools.r8.position.Position):2219 -> a
    1:1:com.android.tools.r8.shaking.ProguardCheckDiscardRule parseCheckDiscardRule(com.android.tools.r8.position.Position):784:784 -> 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):784 -> b
    3:3:com.android.tools.r8.shaking.ProguardCheckDiscardRule parseCheckDiscardRule(com.android.tools.r8.position.Position):784:784 -> 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):785 -> 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):786 -> b
    6:8:com.android.tools.r8.shaking.ProguardCheckDiscardRule parseCheckDiscardRule(com.android.tools.r8.position.Position):787:789 -> 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):790 -> 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):791 -> b
    21:21:com.android.tools.r8.shaking.InlineRule parseInlineRule(com.android.tools.r8.shaking.InlineRule$Type,com.android.tools.r8.position.Position):873:873 -> 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):873 -> b
    23:23:com.android.tools.r8.shaking.InlineRule parseInlineRule(com.android.tools.r8.shaking.InlineRule$Type,com.android.tools.r8.position.Position):873:873 -> 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):874 -> 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):875 -> 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):876 -> b
    27:29:com.android.tools.r8.shaking.InlineRule parseInlineRule(com.android.tools.r8.shaking.InlineRule$Type,com.android.tools.r8.position.Position):877:879 -> 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):880 -> 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):881 -> b
    42:43:void expectChar(char):1738:1739 -> b
    44:48:java.lang.Integer acceptInteger():1770:1774 -> b
    49:49:boolean lambda$acceptPattern$5(int):1987:1987 -> b
    50:50:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String):2152:2152 -> b
    51:60:java.lang.String snippetForPosition():2128:2137 -> b
    51:60:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String):2152 -> b
    61:67:java.lang.String snippetForPosition():2133:2139 -> b
    61:67:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String):2152 -> b
    68:68:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String):2152:2152 -> b
    1:1:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):601:601 -> 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):601 -> c
    3:3:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):603:603 -> 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):602 -> c
    5:5:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):604:604 -> 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):604 -> c
    7:7:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):605:605 -> 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):605 -> c
    9:9:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):713:713 -> c
    9:9:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):606 -> c
    10:10:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2172:2172 -> c
    10:10:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):716 -> c
    10:10:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):606 -> 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):2172:2172 -> c
    19:19:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):716 -> c
    19:19:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):606 -> c
    20:20:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2172:2172 -> c
    20:20:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):716 -> c
    20:20:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):606 -> c
    21:21:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2172:2172 -> c
    21:21:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):716 -> c
    21:21:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):606 -> c
    22:22:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2172:2172 -> c
    22:22:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):716 -> c
    22:22:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):606 -> c
    23:23:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2172:2172 -> c
    23:23:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):716 -> c
    23:23:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):606 -> c
    12:14:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2172:2172 -> c
    12:14:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):716 -> c
    12:14:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):606 -> c
    15:18:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):718:721 -> c
    15:18:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):606 -> c
    24:26:boolean skipFlag(java.lang.String):657:659 -> c
    27:31:void expectClosingQuote(char):1709:1713 -> c
    32:32:void expectClosingQuote(char):1711:1711 -> c
    33:33:boolean lambda$acceptString$3(int):1757:1757 -> c
    34:34:java.lang.String acceptPattern():1985:1985 -> c
    1:8:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):581:588 -> d
    9:9:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):587:587 -> d
    10:10:void warnIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2177:2177 -> d
    10:10:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):595 -> 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):2177:2177 -> d
    15:15:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):595 -> d
    16:16:void warnIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2177:2177 -> d
    16:16:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):595 -> d
    17:17:void warnIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2177:2177 -> d
    17:17:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):595 -> d
    18:18:void warnIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2177:2177 -> d
    18:18:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):595 -> d
    19:19:void warnIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2177:2177 -> d
    19:19:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):595 -> d
    12:14:void warnIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2177:2177 -> d
    12:14:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):595 -> d
    20:29:boolean skipOptionWithClassSpec(java.lang.String):692:701 -> d
    30:30:boolean lambda$parseFileFilter$2(int):1595:1595 -> d
    31:34:boolean hasNextChar(char):1678:1681 -> d
    35:35:char acceptQuoteIfPresent():1705:1705 -> d
    36:39:boolean hasNextChar(java.util.function.Predicate):1685:1688 -> d
    36:39:char acceptQuoteIfPresent():1705 -> d
    40:40:char readChar():1730:1730 -> d
    40:40:char acceptQuoteIfPresent():1705 -> d
    boolean isQuote(char) -> e
    1:6:boolean skipOptionWithOptionalSingleArg(java.lang.String):678:683 -> e
    7:8:void skipSingleArgument():741:742 -> e
    7:8:boolean skipOptionWithOptionalSingleArg(java.lang.String):684 -> e
    9:9:char readChar():1730:1730 -> e
    9:9:void skipSingleArgument():743 -> e
    9:9:boolean skipOptionWithOptionalSingleArg(java.lang.String):684 -> e
    10:10:boolean lambda$skipOptimizationName$0(int):733:733 -> e
    11:12:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):749:750 -> e
    13:13:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> e
    13:13:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):750 -> e
    14:14:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> e
    14:14:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):751 -> e
    15:16:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1014:1015 -> e
    15:16:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    17:17:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    17:17:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1016 -> e
    17:17:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    18:25:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1016:1023 -> e
    18:25:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    26:26:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    26:26:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1024 -> e
    26:26:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    27:29:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1024:1026 -> e
    27:29:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    30:30:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder() -> e
    30:30:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1027 -> e
    30:30:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    31:37:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1027:1033 -> e
    31:37:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    38:41:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):564:564 -> e
    38:41:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition):559 -> e
    38:41:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1034 -> e
    38:41:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    42:49:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1037:1044 -> e
    42:49:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    50:53:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):564:564 -> e
    50:53:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition):559 -> e
    50:53:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1045 -> e
    50:53:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    54:59:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1051:1056 -> e
    54:59:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1047 -> e
    54:59:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    60:60:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    60:60:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1057 -> e
    60:60:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1047 -> e
    60:60:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    61:62:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1057:1058 -> e
    61:62:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1047 -> e
    61:62:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    63:63:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    63:63:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1059 -> e
    63:63:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1047 -> e
    63:63:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    64:65:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1059:1060 -> e
    64:65:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1047 -> e
    64:65:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    66:66:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    66:66:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    66:66:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1047 -> e
    66:66:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    67:68:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061:1062 -> e
    67:68:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1047 -> e
    67:68:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    69:69:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    69:69:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1063 -> e
    69:69:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1047 -> e
    69:69:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    70:72:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1063:1065 -> e
    70:72:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1047 -> e
    70:72:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    73:73:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    73:73:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1066 -> e
    73:73:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1047 -> e
    73:73:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    74:77:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1066:1069 -> e
    74:77:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1047 -> e
    74:77:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    78:78:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    78:78:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1070 -> e
    78:78:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1047 -> e
    78:78:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    79:80:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1070:1071 -> e
    79:80:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1047 -> e
    79:80:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    81:81:void infoIgnoringModifier(java.lang.String,com.android.tools.r8.position.TextPosition):2197:2197 -> e
    81:81:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1072 -> e
    81:81:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1047 -> e
    81:81:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    82:82:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":106,"2":107,"3":108,"4":109,"5":110}}
    106:106:void infoIgnoringModifier(java.lang.String,com.android.tools.r8.position.TextPosition):2197:2197 -> e
    106:106:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1072 -> e
    106:106:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1047 -> e
    106:106:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    107:107:void infoIgnoringModifier(java.lang.String,com.android.tools.r8.position.TextPosition):2197:2197 -> e
    107:107:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1072 -> e
    107:107:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1047 -> e
    107:107:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    108:108:void infoIgnoringModifier(java.lang.String,com.android.tools.r8.position.TextPosition):2197:2197 -> e
    108:108:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1072 -> e
    108:108:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1047 -> e
    108:108:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    109:109:void infoIgnoringModifier(java.lang.String,com.android.tools.r8.position.TextPosition):2197:2197 -> e
    109:109:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1072 -> e
    109:109:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1047 -> e
    109:109:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    110:110:void infoIgnoringModifier(java.lang.String,com.android.tools.r8.position.TextPosition):2197:2197 -> e
    110:110:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1072 -> e
    110:110:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1047 -> e
    110:110:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    83:85:void infoIgnoringModifier(java.lang.String,com.android.tools.r8.position.TextPosition):2197:2197 -> e
    83:85:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1072 -> e
    83:85:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1047 -> e
    83:85:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    86:86:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1074:1074 -> e
    86:86:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1047 -> e
    86:86:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):752 -> e
    87:87:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):753:753 -> e
    88:88:java.util.List com.android.tools.r8.shaking.ProguardClassSpecification$Builder.getMemberRules():83:83 -> e
    88:88:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):754 -> e
    89:94:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):754:759 -> e
    95:98:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):758:761 -> e
    99:99:java.util.List com.android.tools.r8.shaking.ProguardClassSpecification$Builder.getMemberRules():83:83 -> e
    99:99:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):762 -> e
    100:103:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):762:765 -> e
    104:104:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> e
    104:104:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):766 -> e
    105:105:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):767:767 -> e
    111:116:java.lang.String acceptQuotedOrUnquotedString():1761:1766 -> e
    1:3:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):570:572 -> f
    4:4:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":579,"2":580,"3":581,"4":582,"5":583}}
    579:579:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):572:572 -> f
    580:580:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):572:572 -> f
    581:581:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):572:572 -> f
    582:582:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):572:572 -> f
    583:583:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):572:572 -> f
    576:578:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):572:572 -> f
    584:586:boolean skipOptionWithSingleArg(java.lang.String):667:669 -> f
    587:588:void skipSingleArgument():741:742 -> f
    587:588:boolean skipOptionWithSingleArg(java.lang.String):671 -> f
    589:589:char readChar():1730:1730 -> f
    589:589:void skipSingleArgument():743 -> f
    589:589:boolean skipOptionWithSingleArg(java.lang.String):671 -> f
    590:590:java.lang.String acceptString():1757:1757 -> f
    1:1:boolean skipReturnValueAttribute(java.lang.String):708:708 -> g
    2:2:boolean eof():1670:1670 -> g
    3:6:java.lang.String snippetForPosition(com.android.tools.r8.position.TextPosition):2144:2147 -> g
    1:4:void unacceptString(java.lang.String):2012:2015 -> h
    5:5:com.android.tools.r8.position.TextPosition getPosition():2210:2210 -> h
    6:6:int getColumn():2214:2214 -> h
    6:6:com.android.tools.r8.position.TextPosition getPosition():2210 -> h
    7:7:com.android.tools.r8.position.TextPosition getPosition():2210:2210 -> h
    1:1:boolean isOptionalArgumentGiven():1692:1692 -> 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():1464:1475 -> k
    13:13:java.util.List parseArgumentList():1472:1472 -> k
    14:14:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2080:2080 -> k
    14:14:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2072 -> k
    14:14:java.util.List parseArgumentList():1477 -> k
    15:16:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2073:2074 -> k
    15:16:java.util.List parseArgumentList():1477 -> k
    17:19:java.util.List parseArgumentList():1480:1480 -> k
    21:21:java.util.List parseArgumentList():1482:1482 -> k
    22:22:java.util.List parseArgumentList():1479:1479 -> k
    23:23:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2080:2080 -> k
    23:23:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2072 -> k
    23:23:java.util.List parseArgumentList():1479 -> k
    24:25:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2073:2074 -> k
    24:25:java.util.List parseArgumentList():1479 -> k
    26:26:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2082:2082 -> k
    26:26:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2072 -> k
    26:26:java.util.List parseArgumentList():1479 -> k
    27:28:java.util.List parseArgumentList():1485:1486 -> k
    29:29:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2082:2082 -> k
    29:29:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2072 -> k
    29:29:java.util.List parseArgumentList():1477 -> k
    1:7:java.lang.String parseFileFilter():1591:1597 -> l
    1:1:boolean parseIgnoredReturnValueAttribute():610:610 -> 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():610 -> m
    1:3:boolean parseIgnoredReturnValueAttributes():615:617 -> n
    1:5:void parseInclude():623:627 -> o
    6:6:void parseInclude():0:0 -> o
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1279,"2":1280,"3":1281}}
    1279:1279:void parseInclude():632:632 -> o
    1280:1280:void parseInclude():632:632 -> o
    1281:1281:void parseInclude():632:632 -> o
    638:638:void parseInclude():632:632 -> o
    639:640:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.Throwable):2162:2163 -> o
    639:640:void parseInclude():632 -> o
    641:642: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
    641:642:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.Throwable):2163 -> o
    641:642:void parseInclude():632 -> o
    643:643:void parseInclude():632:632 -> o
    644:644:void parseInclude():0:0 -> o
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1279,"2":1280,"3":1281}}
    1279:1279:void parseInclude():629:629 -> o
    1280:1280:void parseInclude():629:629 -> o
    1281:1281:void parseInclude():629:629 -> o
    1273:1273:void parseInclude():629:629 -> o
    1274:1275:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.Throwable):2162:2163 -> o
    1274:1275:void parseInclude():629 -> o
    1276:1277: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
    1276:1277:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.Throwable):2163 -> o
    1276:1277:void parseInclude():629 -> o
    1278:1278:void parseInclude():629:629 -> o
    1:1:boolean parseOption():242:242 -> p
    2:2:int remainingChars():1734:1734 -> p
    2:2:boolean acceptArobaseInclude():638 -> p
    2:2:boolean parseOption():245 -> p
    3:6:boolean acceptArobaseInclude():641:644 -> 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):1617:1617 -> 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):1617 -> 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):1617:1617 -> 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):1617 -> 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):1617 -> 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):1618:1620 -> 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):1621 -> 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):1622 -> p
    22:32:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):449 -> p
    22:32:boolean parseOption():252 -> p
    33:36:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):450:453 -> p
    33:36:boolean parseOption():252 -> p
    37:37:com.android.tools.r8.shaking.ConstantArgumentRule parseConstantArgumentRule(com.android.tools.r8.position.Position):924:924 -> p
    37:37:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):454 -> p
    37:37:boolean parseOption():252 -> p
    38:38:com.android.tools.r8.shaking.ConstantArgumentRule$Builder com.android.tools.r8.shaking.ConstantArgumentRule.builder():74:74 -> p
    38:38:com.android.tools.r8.shaking.ConstantArgumentRule parseConstantArgumentRule(com.android.tools.r8.position.Position):924 -> p
    38:38:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):454 -> p
    38:38:boolean parseOption():252 -> p
    39:39:com.android.tools.r8.shaking.ConstantArgumentRule parseConstantArgumentRule(com.android.tools.r8.position.Position):924:924 -> p
    39:39:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):454 -> p
    39:39:boolean parseOption():252 -> p
    40:40:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    40:40:com.android.tools.r8.shaking.ConstantArgumentRule parseConstantArgumentRule(com.android.tools.r8.position.Position):924 -> p
    40:40:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):454 -> p
    40:40:boolean parseOption():252 -> p
    41:41:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    41:41:com.android.tools.r8.shaking.ConstantArgumentRule parseConstantArgumentRule(com.android.tools.r8.position.Position):924 -> p
    41:41:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):454 -> p
    41:41:boolean parseOption():252 -> p
    42:44:com.android.tools.r8.shaking.ConstantArgumentRule parseConstantArgumentRule(com.android.tools.r8.position.Position):925:927 -> p
    42:44:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):454 -> p
    42:44:boolean parseOption():252 -> p
    45:45:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    45:45:com.android.tools.r8.shaking.ConstantArgumentRule parseConstantArgumentRule(com.android.tools.r8.position.Position):928 -> p
    45:45:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):454 -> p
    45:45:boolean parseOption():252 -> p
    46:56:com.android.tools.r8.shaking.ConstantArgumentRule com.android.tools.r8.shaking.ConstantArgumentRule$Builder.build():26:36 -> p
    46:56:com.android.tools.r8.shaking.ConstantArgumentRule parseConstantArgumentRule(com.android.tools.r8.position.Position):929 -> p
    46:56:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):454 -> p
    46:56:boolean parseOption():252 -> p
    57:60:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):455:458 -> p
    57:60:boolean parseOption():252 -> p
    61:61:com.android.tools.r8.shaking.UnusedArgumentRule parseUnusedArgumentRule(com.android.tools.r8.position.Position):935:935 -> p
    61:61:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):459 -> p
    61:61:boolean parseOption():252 -> p
    62:62:com.android.tools.r8.shaking.UnusedArgumentRule$Builder com.android.tools.r8.shaking.UnusedArgumentRule.builder():74:74 -> p
    62:62:com.android.tools.r8.shaking.UnusedArgumentRule parseUnusedArgumentRule(com.android.tools.r8.position.Position):935 -> p
    62:62:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):459 -> p
    62:62:boolean parseOption():252 -> p
    63:63:com.android.tools.r8.shaking.UnusedArgumentRule parseUnusedArgumentRule(com.android.tools.r8.position.Position):935:935 -> p
    63:63:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):459 -> p
    63:63:boolean parseOption():252 -> p
    64:64:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    64:64:com.android.tools.r8.shaking.UnusedArgumentRule parseUnusedArgumentRule(com.android.tools.r8.position.Position):935 -> p
    64:64:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):459 -> p
    64:64:boolean parseOption():252 -> p
    65:65:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    65:65:com.android.tools.r8.shaking.UnusedArgumentRule parseUnusedArgumentRule(com.android.tools.r8.position.Position):935 -> p
    65:65:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):459 -> p
    65:65:boolean parseOption():252 -> p
    66:68:com.android.tools.r8.shaking.UnusedArgumentRule parseUnusedArgumentRule(com.android.tools.r8.position.Position):936:938 -> p
    66:68:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):459 -> p
    66:68:boolean parseOption():252 -> p
    69:69:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    69:69:com.android.tools.r8.shaking.UnusedArgumentRule parseUnusedArgumentRule(com.android.tools.r8.position.Position):939 -> p
    69:69:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):459 -> p
    69:69:boolean parseOption():252 -> p
    70:80:com.android.tools.r8.shaking.UnusedArgumentRule com.android.tools.r8.shaking.UnusedArgumentRule$Builder.build():26:36 -> p
    70:80:com.android.tools.r8.shaking.UnusedArgumentRule parseUnusedArgumentRule(com.android.tools.r8.position.Position):940 -> p
    70:80:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):459 -> p
    70:80:boolean parseOption():252 -> p
    81:104:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):460:483 -> p
    81:104:boolean parseOption():252 -> p
    105:105:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):808:808 -> p
    105:105:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):484 -> p
    105:105:boolean parseOption():252 -> p
    106:106:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule$Builder com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule.builder():77:77 -> p
    106:106:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):808 -> p
    106:106:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):484 -> p
    106:106:boolean parseOption():252 -> p
    107:107:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):808:808 -> p
    107:107:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):484 -> 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.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):808 -> p
    108:108:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):484 -> 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.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):808 -> p
    109:109:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):484 -> p
    109:109:boolean parseOption():252 -> p
    110:112:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):809:811 -> p
    110:112:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):484 -> 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.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):812 -> p
    113:113:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):484 -> p
    113:113:boolean parseOption():252 -> p
    114:124:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule$Builder.build():29:39 -> p
    114:124:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):813 -> p
    114:124:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):484 -> p
    114:124:boolean parseOption():252 -> p
    125:128:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):485:488 -> p
    125:128:boolean parseOption():252 -> p
    129:129:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):819:819 -> p
    129:129:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):489 -> p
    129:129:boolean parseOption():252 -> p
    130:130:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule$Builder com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule.builder():76:76 -> p
    130:130:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):819 -> p
    130:130:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):489 -> p
    130:130:boolean parseOption():252 -> p
    131:131:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):819:819 -> p
    131:131:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):489 -> 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.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):819 -> p
    132:132:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):489 -> 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.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):819 -> p
    133:133:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):489 -> p
    133:133:boolean parseOption():252 -> p
    134:136:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):820:822 -> p
    134:136:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):489 -> 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.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):823 -> p
    137:137:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):489 -> p
    137:137:boolean parseOption():252 -> p
    138:148:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule$Builder.build():28:38 -> p
    138:148:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):824 -> p
    138:148:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):489 -> p
    138:148:boolean parseOption():252 -> p
    149:152:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):490:493 -> p
    149:152:boolean parseOption():252 -> p
    153:153:com.android.tools.r8.shaking.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):830:830 -> p
    153:153:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):494 -> p
    153:153:boolean parseOption():252 -> p
    154:154:com.android.tools.r8.shaking.NoVerticalClassMergingRule$Builder com.android.tools.r8.shaking.NoVerticalClassMergingRule.builder():76:76 -> p
    154:154:com.android.tools.r8.shaking.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):830 -> p
    154:154:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):494 -> p
    154:154:boolean parseOption():252 -> p
    155:155:com.android.tools.r8.shaking.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):830:830 -> p
    155:155:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):494 -> 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.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):830 -> p
    156:156:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):494 -> 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.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):830 -> p
    157:157:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):494 -> p
    157:157:boolean parseOption():252 -> p
    158:160:com.android.tools.r8.shaking.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):831:833 -> p
    158:160:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):494 -> 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.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):834 -> p
    161:161:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):494 -> p
    161:161:boolean parseOption():252 -> p
    162:172:com.android.tools.r8.shaking.NoVerticalClassMergingRule com.android.tools.r8.shaking.NoVerticalClassMergingRule$Builder.build():28:38 -> p
    162:172:com.android.tools.r8.shaking.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):835 -> p
    162:172:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):494 -> p
    162:172:boolean parseOption():252 -> p
    173:176:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):495:498 -> p
    173:176:boolean parseOption():252 -> p
    177:177:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):841:841 -> p
    177:177:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):499 -> p
    177:177:boolean parseOption():252 -> p
    178:178:com.android.tools.r8.shaking.NoHorizontalClassMergingRule$Builder com.android.tools.r8.shaking.NoHorizontalClassMergingRule.builder():77:77 -> p
    178:178:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):841 -> p
    178:178:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):499 -> p
    178:178:boolean parseOption():252 -> p
    179:179:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):841:841 -> p
    179:179:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):499 -> p
    179:179:boolean parseOption():252 -> p
    180:180:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    180:180:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):841 -> p
    180:180:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):499 -> p
    180:180:boolean parseOption():252 -> p
    181:181:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    181:181:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):841 -> p
    181:181:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):499 -> p
    181:181:boolean parseOption():252 -> p
    182:184:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):842:844 -> p
    182:184:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):499 -> p
    182:184:boolean parseOption():252 -> p
    185:185:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    185:185:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):845 -> p
    185:185:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):499 -> p
    185:185:boolean parseOption():252 -> p
    186:196:com.android.tools.r8.shaking.NoHorizontalClassMergingRule com.android.tools.r8.shaking.NoHorizontalClassMergingRule$Builder.build():29:39 -> p
    186:196:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):846 -> p
    186:196:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):499 -> p
    186:196:boolean parseOption():252 -> p
    197:202:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):500:505 -> p
    197:202:boolean parseOption():252 -> p
    203:203:com.android.tools.r8.shaking.NoMethodStaticizingRule$Builder com.android.tools.r8.shaking.NoMethodStaticizingRule.builder():77:77 -> p
    203:203:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):505 -> p
    203:203:boolean parseOption():252 -> p
    204:210:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):505:511 -> p
    204:210:boolean parseOption():252 -> p
    211:211:com.android.tools.r8.shaking.NoParameterTypeStrengtheningRule$Builder com.android.tools.r8.shaking.NoParameterTypeStrengtheningRule.builder():78:78 -> p
    211:211:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):511 -> p
    211:211:boolean parseOption():252 -> p
    212:218:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):511:517 -> p
    212:218:boolean parseOption():252 -> p
    219:219:com.android.tools.r8.shaking.NoReturnTypeStrengtheningRule$Builder com.android.tools.r8.shaking.NoReturnTypeStrengtheningRule.builder():78:78 -> p
    219:219:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):517 -> p
    219:219:boolean parseOption():252 -> p
    220:224:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):517:521 -> p
    220:224:boolean parseOption():252 -> p
    225:225:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):863:863 -> p
    225:225:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):523 -> p
    225:225:boolean parseOption():252 -> p
    226:226:com.android.tools.r8.shaking.MemberValuePropagationRule$Builder com.android.tools.r8.shaking.MemberValuePropagationRule.builder():91:91 -> p
    226:226:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):863 -> p
    226:226:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):523 -> p
    226:226:boolean parseOption():252 -> p
    227:227:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):863:863 -> p
    227:227:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):523 -> p
    227:227:boolean parseOption():252 -> p
    228:228:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    228:228:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):863 -> p
    228:228:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):523 -> p
    228:228:boolean parseOption():252 -> p
    229:229:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    229:229:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):863 -> p
    229:229:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):523 -> p
    229:229:boolean parseOption():252 -> p
    230:230: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
    230:230:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):863 -> p
    230:230:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):523 -> p
    230:230:boolean parseOption():252 -> p
    231:233:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):864:866 -> p
    231:233:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):523 -> p
    231:233:boolean parseOption():252 -> p
    234:234:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    234:234:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):867 -> p
    234:234:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):523 -> p
    234:234:boolean parseOption():252 -> p
    235:245:com.android.tools.r8.shaking.MemberValuePropagationRule com.android.tools.r8.shaking.MemberValuePropagationRule$Builder.build():38:48 -> p
    235:245:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):868 -> p
    235:245:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):523 -> p
    235:245:boolean parseOption():252 -> p
    246:250:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):524:528 -> p
    246:250:boolean parseOption():252 -> p
    251:251:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):947:947 -> p
    251:251:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):529 -> p
    251:251:boolean parseOption():252 -> p
    252:252:com.android.tools.r8.shaking.ReprocessClassInitializerRule$Builder com.android.tools.r8.shaking.ReprocessClassInitializerRule.builder():92:92 -> p
    252:252:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):947 -> p
    252:252:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):529 -> p
    252:252:boolean parseOption():252 -> p
    253:253:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):947:947 -> p
    253:253:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):529 -> p
    253:253:boolean parseOption():252 -> p
    254:254:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    254:254:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):947 -> p
    254:254:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):529 -> p
    254:254:boolean parseOption():252 -> p
    255:255:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    255:255:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):947 -> p
    255:255:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):529 -> p
    255:255:boolean parseOption():252 -> p
    256:259:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):947:950 -> p
    256:259:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):529 -> p
    256:259:boolean parseOption():252 -> p
    260:260:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    260:260:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):951 -> p
    260:260:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):529 -> p
    260:260:boolean parseOption():252 -> p
    261:261:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):952:952 -> p
    261:261:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):529 -> p
    261:261:boolean parseOption():252 -> p
    262:268:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):528:534 -> p
    262:268:boolean parseOption():252 -> p
    269:269:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):958:958 -> p
    269:269:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):535 -> p
    269:269:boolean parseOption():252 -> p
    270:270:com.android.tools.r8.shaking.ReprocessMethodRule$Builder com.android.tools.r8.shaking.ReprocessMethodRule.builder():92:92 -> p
    270:270:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):958 -> p
    270:270:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):535 -> p
    270:270:boolean parseOption():252 -> p
    271:271:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):958:958 -> p
    271:271:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):535 -> p
    271:271:boolean parseOption():252 -> p
    272:272:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    272:272:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):958 -> p
    272:272:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):535 -> p
    272:272:boolean parseOption():252 -> p
    273:273:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    273:273:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):958 -> p
    273:273:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):535 -> p
    273:273:boolean parseOption():252 -> p
    274:277:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):958:961 -> p
    274:277:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):535 -> p
    274:277:boolean parseOption():252 -> p
    278:278:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    278:278:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):962 -> p
    278:278:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):535 -> p
    278:278:boolean parseOption():252 -> p
    279:279:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):963:963 -> p
    279:279:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):535 -> p
    279:279:boolean parseOption():252 -> p
    280:285:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):534:539 -> p
    280:285:boolean parseOption():252 -> p
    286:286:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):947:947 -> p
    286:286:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):540 -> p
    286:286:boolean parseOption():252 -> p
    287:287:com.android.tools.r8.shaking.ReprocessClassInitializerRule$Builder com.android.tools.r8.shaking.ReprocessClassInitializerRule.builder():92:92 -> p
    287:287:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):947 -> p
    287:287:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):540 -> p
    287:287:boolean parseOption():252 -> p
    288:288:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):947:947 -> p
    288:288:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):540 -> p
    288:288:boolean parseOption():252 -> p
    289:289:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    289:289:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):947 -> p
    289:289:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):540 -> p
    289:289:boolean parseOption():252 -> p
    290:290:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    290:290:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):947 -> p
    290:290:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):540 -> p
    290:290:boolean parseOption():252 -> p
    291:294:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):947:950 -> p
    291:294:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):540 -> p
    291:294:boolean parseOption():252 -> p
    295:295:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    295:295:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):951 -> p
    295:295:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):540 -> p
    295:295:boolean parseOption():252 -> p
    296:296:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):952:952 -> p
    296:296:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):540 -> p
    296:296:boolean parseOption():252 -> p
    297:303:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):539:545 -> p
    297:303:boolean parseOption():252 -> p
    304:304:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):958:958 -> p
    304:304:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):546 -> p
    304:304:boolean parseOption():252 -> p
    305:305:com.android.tools.r8.shaking.ReprocessMethodRule$Builder com.android.tools.r8.shaking.ReprocessMethodRule.builder():92:92 -> p
    305:305:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):958 -> p
    305:305:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):546 -> p
    305:305:boolean parseOption():252 -> p
    306:306:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):958:958 -> p
    306:306:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):546 -> p
    306:306:boolean parseOption():252 -> p
    307:307:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    307:307:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):958 -> p
    307:307:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):546 -> p
    307:307:boolean parseOption():252 -> p
    308:308:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    308:308:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):958 -> p
    308:308:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):546 -> p
    308:308:boolean parseOption():252 -> p
    309:312:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):958:961 -> p
    309:312:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):546 -> p
    309:312:boolean parseOption():252 -> p
    313:313:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    313:313:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):962 -> p
    313:313:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):546 -> p
    313:313:boolean parseOption():252 -> p
    314:314:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):963:963 -> p
    314:314:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):546 -> p
    314:314:boolean parseOption():252 -> p
    315:319:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):545:549 -> p
    315:319:boolean parseOption():252 -> p
    320:320:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):969:969 -> p
    320:320:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):550 -> p
    320:320:boolean parseOption():252 -> p
    321:321:com.android.tools.r8.shaking.WhyAreYouNotInliningRule$Builder com.android.tools.r8.shaking.WhyAreYouNotInliningRule.builder():74:74 -> p
    321:321:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):969 -> p
    321:321:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):550 -> p
    321:321:boolean parseOption():252 -> p
    322:322:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):969:969 -> p
    322:322:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):550 -> p
    322:322:boolean parseOption():252 -> p
    323:324:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:54 -> p
    323:324:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):969 -> p
    323:324:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):550 -> p
    323:324:boolean parseOption():252 -> p
    325:325:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):969:969 -> p
    325:325:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):550 -> p
    325:325:boolean parseOption():252 -> p
    326:327:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:59 -> p
    326:327:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):969 -> p
    326:327:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):550 -> p
    326:327:boolean parseOption():252 -> p
    328:331:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):969:972 -> p
    328:331:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):550 -> p
    328:331:boolean parseOption():252 -> p
    332:332:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    332:332:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):973 -> p
    332:332:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):550 -> p
    332:332:boolean parseOption():252 -> p
    333:343:com.android.tools.r8.shaking.WhyAreYouNotInliningRule com.android.tools.r8.shaking.WhyAreYouNotInliningRule$Builder.build():26:36 -> p
    333:343:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):974 -> p
    333:343:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):550 -> p
    333:343:boolean parseOption():252 -> p
    344:344:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):551:551 -> p
    344:344:boolean parseOption():252 -> p
    345:352:boolean parseOption():253:260 -> p
    353:365:boolean parseOption():256:268 -> p
    366:393:java.util.List acceptPatternList():1952:1979 -> p
    366:393:void parseKeepAttributes():649 -> p
    366:393:boolean parseOption():269 -> p
    394:397:void parseKeepAttributes():650:653 -> p
    394:397:boolean parseOption():269 -> p
    398:398:void parseKeepAttributes():651:651 -> p
    398:398:boolean parseOption():269 -> p
    399:400:boolean parseOption():270:271 -> p
    401:410:void parsePackageFilter(java.util.function.BiConsumer):2021:2030 -> p
    401:410:boolean parseOption():271 -> p
    411:414:void parsePackageFilter(java.util.function.BiConsumer):2029:2032 -> p
    411:414:boolean parseOption():271 -> p
    415:422:void parsePackageFilter(java.util.function.BiConsumer):2027:2034 -> p
    415:422:boolean parseOption():271 -> p
    423:433:boolean parseOption():272:282 -> p
    434:438:void parsePathFilter(java.util.function.Consumer):2093:2097 -> p
    434:438:boolean parseOption():282 -> p
    439:442:boolean parseOption():283:286 -> p
    443:443:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):772:772 -> p
    443:443:boolean parseOption():287 -> p
    444:444:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule$Builder com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule.builder():74:74 -> p
    444:444:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):772 -> p
    444:444:boolean parseOption():287 -> p
    445:445:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):772:772 -> p
    445:445:boolean parseOption():287 -> p
    446:446:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    446:446:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):773 -> p
    446:446:boolean parseOption():287 -> p
    447:447:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    447:447:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):774 -> p
    447:447:boolean parseOption():287 -> p
    448:450:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):775:777 -> p
    448:450:boolean parseOption():287 -> p
    451:451:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    451:451:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):778 -> p
    451:451:boolean parseOption():287 -> p
    452:462:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule$Builder.build():26:36 -> p
    452:462:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):779 -> p
    452:462:boolean parseOption():287 -> p
    463:468:boolean parseOption():288:293 -> p
    469:469:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2172:2172 -> p
    469:469:boolean parseOption():298 -> p
    470:470:boolean parseOption():0:0 -> p
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":939,"2":940,"3":941,"4":942,"5":943}}
    939:939:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2172:2172 -> p
    939:939:boolean parseOption():298 -> p
    940:940:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2172:2172 -> p
    940:940:boolean parseOption():298 -> p
    941:941:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2172:2172 -> p
    941:941:boolean parseOption():298 -> p
    942:942:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2172:2172 -> p
    942:942:boolean parseOption():298 -> p
    943:943:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2172:2172 -> p
    943:943:boolean parseOption():298 -> p
    471:473:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2172:2172 -> p
    471:473:boolean parseOption():298 -> p
    474:476:boolean parseOption():295:295 -> p
    480:497:boolean parseOption():299:316 -> p
    498:499:void parseClassFilter(java.util.function.Consumer):2040:2041 -> p
    498:499:boolean parseOption():316 -> p
    500:500:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2059:2059 -> p
    500:500:void parseClassFilter(java.util.function.Consumer):2042 -> p
    500:500:boolean parseOption():316 -> p
    501:501:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2080:2080 -> p
    501:501:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2051 -> p
    501:501:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2061 -> p
    501:501:void parseClassFilter(java.util.function.Consumer):2042 -> p
    501:501:boolean parseOption():316 -> p
    502:505:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2052:2052 -> p
    502:505:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2061 -> p
    502:505:void parseClassFilter(java.util.function.Consumer):2042 -> p
    502:505:boolean parseOption():316 -> p
    508:508:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2055:2055 -> p
    508:508:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2061 -> p
    508:508:void parseClassFilter(java.util.function.Consumer):2042 -> p
    508:508:boolean parseOption():316 -> p
    509:510:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2062:2063 -> p
    509:510:void parseClassFilter(java.util.function.Consumer):2042 -> p
    509:510:boolean parseOption():316 -> p
    511:511:void parseClassFilter(java.util.function.Consumer):2042:2042 -> p
    511:511:boolean parseOption():316 -> p
    512:512:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2082:2082 -> p
    512:512:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2051 -> p
    512:512:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2061 -> p
    512:512:void parseClassFilter(java.util.function.Consumer):2042 -> p
    512:512:boolean parseOption():316 -> p
    513:513:com.android.tools.r8.shaking.ProguardTypeMatcher com.android.tools.r8.shaking.ProguardTypeMatcher.defaultAllMatcher():129:129 -> p
    513:513:void parseClassFilter(java.util.function.Consumer):2045 -> p
    513:513:boolean parseOption():316 -> p
    514:514:void parseClassFilter(java.util.function.Consumer):2045:2045 -> p
    514:514:boolean parseOption():316 -> p
    515:515:void parseClassFilter(java.util.function.Consumer):2044:2044 -> p
    515:515:boolean parseOption():316 -> p
    516:517:boolean parseOption():317:318 -> p
    518:519:void parseClassFilter(java.util.function.Consumer):2040:2041 -> p
    518:519:boolean parseOption():318 -> p
    520:520:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2059:2059 -> p
    520:520:void parseClassFilter(java.util.function.Consumer):2042 -> p
    520:520:boolean parseOption():318 -> p
    521:521:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2080:2080 -> p
    521:521:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2051 -> p
    521:521:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2061 -> p
    521:521:void parseClassFilter(java.util.function.Consumer):2042 -> p
    521:521:boolean parseOption():318 -> p
    522:525:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2052:2052 -> p
    522:525:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2061 -> p
    522:525:void parseClassFilter(java.util.function.Consumer):2042 -> p
    522:525:boolean parseOption():318 -> p
    528:528:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2055:2055 -> p
    528:528:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2061 -> p
    528:528:void parseClassFilter(java.util.function.Consumer):2042 -> p
    528:528:boolean parseOption():318 -> p
    529:530:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2062:2063 -> p
    529:530:void parseClassFilter(java.util.function.Consumer):2042 -> p
    529:530:boolean parseOption():318 -> p
    531:531:void parseClassFilter(java.util.function.Consumer):2042:2042 -> p
    531:531:boolean parseOption():318 -> p
    532:532:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2082:2082 -> p
    532:532:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2051 -> p
    532:532:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2061 -> p
    532:532:void parseClassFilter(java.util.function.Consumer):2042 -> p
    532:532:boolean parseOption():318 -> p
    533:533:com.android.tools.r8.shaking.ProguardTypeMatcher com.android.tools.r8.shaking.ProguardTypeMatcher.defaultAllMatcher():129:129 -> p
    533:533:void parseClassFilter(java.util.function.Consumer):2045 -> p
    533:533:boolean parseOption():318 -> p
    534:534:void parseClassFilter(java.util.function.Consumer):2045:2045 -> p
    534:534:boolean parseOption():318 -> p
    535:535:void parseClassFilter(java.util.function.Consumer):2044:2044 -> p
    535:535:boolean parseOption():318 -> p
    536:537:boolean parseOption():319:320 -> p
    538:540:void warnOverridingOptions(java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2182:2182 -> p
    538:540:boolean parseOption():321 -> p
    541:544:boolean parseOption():323:326 -> p
    545:546:java.lang.String parsePackageNameOrEmptyString():2067:2068 -> p
    545:546:boolean parseOption():326 -> p
    547:553:boolean parseOption():326:332 -> p
    554:555:java.lang.String parsePackageNameOrEmptyString():2067:2068 -> p
    554:555:boolean parseOption():332 -> p
    556:560:boolean parseOption():332:336 -> p
    561:563:void warnOverridingOptions(java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2182:2182 -> p
    561:563:boolean parseOption():337 -> p
    564:565:boolean parseOption():338:339 -> p
    566:567:void skipSingleArgument():741:742 -> p
    566:567:boolean parseOption():340 -> p
    568:568:char readChar():1730:1730 -> p
    568:568:void skipSingleArgument():743 -> p
    568:568:boolean parseOption():340 -> p
    569:572:boolean parseOption():343:346 -> p
    573:574:java.lang.String parsePackageNameOrEmptyString():2067:2068 -> p
    573:574:boolean parseOption():346 -> p
    575:581:boolean parseOption():346:352 -> p
    582:583:java.lang.String parsePackageNameOrEmptyString():2067:2068 -> p
    582:583:boolean parseOption():352 -> p
    584:606:boolean parseOption():352:374 -> p
    607:607:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1604:1604 -> p
    607:607:boolean parseOption():375 -> p
    608:608:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule$Builder com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule.builder():77:77 -> p
    608:608:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1604 -> p
    608:608:boolean parseOption():375 -> p
    609:609:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1604:1604 -> p
    609:609:boolean parseOption():375 -> p
    610:611:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:54 -> p
    610:611:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1605 -> p
    610:611:boolean parseOption():375 -> p
    612:612:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1605:1605 -> p
    612:612:boolean parseOption():375 -> p
    613:614:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:59 -> p
    613:614:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1606 -> p
    613:614:boolean parseOption():375 -> p
    615:618:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1606:1609 -> p
    615:618:boolean parseOption():375 -> p
    619:619:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    619:619:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1610 -> p
    619:619:boolean parseOption():375 -> p
    620:630:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule$Builder.build():26:36 -> p
    620:630:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1611 -> p
    620:630:boolean parseOption():375 -> p
    631:632:boolean parseOption():376:377 -> p
    633:633:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1627:1627 -> p
    633:633:boolean parseOption():378 -> p
    634:634:com.android.tools.r8.shaking.ProguardAssumeValuesRule$Builder com.android.tools.r8.shaking.ProguardAssumeValuesRule.builder():77:77 -> p
    634:634:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1627 -> p
    634:634:boolean parseOption():378 -> p
    635:635:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1627:1627 -> p
    635:635:boolean parseOption():378 -> p
    636:637:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:54 -> p
    636:637:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1628 -> p
    636:637:boolean parseOption():378 -> p
    638:638:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1628:1628 -> p
    638:638:boolean parseOption():378 -> p
    639:640:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:59 -> p
    639:640:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1629 -> p
    639:640:boolean parseOption():378 -> p
    641:644:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1629:1632 -> p
    641:644:boolean parseOption():378 -> p
    645:645:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    645:645:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1633 -> p
    645:645:boolean parseOption():378 -> p
    646:656:com.android.tools.r8.shaking.ProguardAssumeValuesRule com.android.tools.r8.shaking.ProguardAssumeValuesRule$Builder.build():26:36 -> p
    646:656:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1634 -> p
    646:656:boolean parseOption():378 -> p
    657:661:boolean parseOption():379:383 -> p
    662:671:boolean parseOption():382:391 -> p
    672:675:java.util.List parseClassPath():1556:1559 -> p
    672:675:boolean parseOption():391 -> p
    676:689:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1571:1584 -> p
    676:689:java.util.List parseClassPath():1560 -> p
    676:689:boolean parseOption():391 -> p
    690:695:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1581:1586 -> p
    690:695:java.util.List parseClassPath():1560 -> p
    690:695:boolean parseOption():391 -> p
    696:698:java.util.List parseClassPath():1561:1563 -> p
    696:698:boolean parseOption():391 -> p
    699:712:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1571:1584 -> p
    699:712:java.util.List parseClassPath():1564 -> p
    699:712:boolean parseOption():391 -> p
    713:718:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1581:1586 -> p
    713:718:java.util.List parseClassPath():1564 -> p
    713:718:boolean parseOption():391 -> p
    719:719:java.util.List parseClassPath():1565:1565 -> p
    719:719:boolean parseOption():391 -> p
    720:722:boolean parseOption():391:393 -> p
    723:726:java.util.List parseClassPath():1556:1559 -> p
    723:726:boolean parseOption():393 -> p
    727:740:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1571:1584 -> p
    727:740:java.util.List parseClassPath():1560 -> p
    727:740:boolean parseOption():393 -> p
    741:746:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1581:1586 -> p
    741:746:java.util.List parseClassPath():1560 -> p
    741:746:boolean parseOption():393 -> p
    747:749:java.util.List parseClassPath():1561:1563 -> p
    747:749:boolean parseOption():393 -> p
    750:763:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1571:1584 -> p
    750:763:java.util.List parseClassPath():1564 -> p
    750:763:boolean parseOption():393 -> p
    764:769:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1581:1586 -> p
    764:769:java.util.List parseClassPath():1564 -> p
    764:769:boolean parseOption():393 -> p
    770:770:java.util.List parseClassPath():1565:1565 -> p
    770:770:boolean parseOption():393 -> p
    771:788:boolean parseOption():393:410 -> p
    789:790:void parseClassFilter(java.util.function.Consumer):2040:2041 -> p
    789:790:boolean parseOption():410 -> p
    791:791:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2059:2059 -> p
    791:791:void parseClassFilter(java.util.function.Consumer):2042 -> p
    791:791:boolean parseOption():410 -> p
    792:792:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2080:2080 -> p
    792:792:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2051 -> p
    792:792:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2061 -> p
    792:792:void parseClassFilter(java.util.function.Consumer):2042 -> p
    792:792:boolean parseOption():410 -> p
    793:796:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2052:2052 -> p
    793:796:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2061 -> p
    793:796:void parseClassFilter(java.util.function.Consumer):2042 -> p
    793:796:boolean parseOption():410 -> p
    799:799:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2055:2055 -> p
    799:799:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2061 -> p
    799:799:void parseClassFilter(java.util.function.Consumer):2042 -> p
    799:799:boolean parseOption():410 -> p
    800:801:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2062:2063 -> p
    800:801:void parseClassFilter(java.util.function.Consumer):2042 -> p
    800:801:boolean parseOption():410 -> p
    802:802:void parseClassFilter(java.util.function.Consumer):2042:2042 -> p
    802:802:boolean parseOption():410 -> p
    803:803:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2082:2082 -> p
    803:803:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2051 -> p
    803:803:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2061 -> p
    803:803:void parseClassFilter(java.util.function.Consumer):2042 -> p
    803:803:boolean parseOption():410 -> p
    804:804:com.android.tools.r8.shaking.ProguardTypeMatcher com.android.tools.r8.shaking.ProguardTypeMatcher.defaultAllMatcher():129:129 -> p
    804:804:void parseClassFilter(java.util.function.Consumer):2045 -> p
    804:804:boolean parseOption():410 -> p
    805:805:void parseClassFilter(java.util.function.Consumer):2045:2045 -> p
    805:805:boolean parseOption():410 -> p
    806:806:void parseClassFilter(java.util.function.Consumer):2044:2044 -> p
    806:806:boolean parseOption():410 -> p
    807:808:boolean parseOption():411:412 -> p
    809:813:void parsePathFilter(java.util.function.Consumer):2093:2097 -> p
    809:813:boolean parseOption():412 -> p
    814:815:boolean parseOption():413:414 -> p
    816:820:void parsePathFilter(java.util.function.Consumer):2093:2097 -> p
    816:820:boolean parseOption():414 -> p
    821:822:boolean parseOption():415:416 -> p
    823:823:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):887:887 -> p
    823:823:boolean parseOption():416 -> p
    824:824:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule$Builder com.android.tools.r8.shaking.ProguardIdentifierNameStringRule.builder():73:73 -> p
    824:824:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):887 -> p
    824:824:boolean parseOption():416 -> p
    825:825:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):887:887 -> p
    825:825:boolean parseOption():416 -> p
    826:827:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:54 -> p
    826:827:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):888 -> p
    826:827:boolean parseOption():416 -> p
    828:828:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):888:888 -> p
    828:828:boolean parseOption():416 -> p
    829:830:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:59 -> p
    829:830:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):889 -> p
    829:830:boolean parseOption():416 -> p
    831:834:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):889:892 -> p
    831:834:boolean parseOption():416 -> p
    835:835:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    835:835:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):893 -> p
    835:835:boolean parseOption():416 -> p
    836:846:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule com.android.tools.r8.shaking.ProguardIdentifierNameStringRule$Builder.build():25:35 -> p
    836:846:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):894 -> p
    836:846:boolean parseOption():416 -> p
    847:849:boolean parseOption():416:418 -> p
    850:850:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):899:899 -> p
    850:850:boolean parseOption():418 -> p
    851:851:com.android.tools.r8.shaking.ProguardIfRule$Builder com.android.tools.r8.shaking.ProguardIfRule.builder():136:136 -> p
    851:851:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):899 -> p
    851:851:boolean parseOption():418 -> p
    852:852:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):899:899 -> p
    852:852:boolean parseOption():418 -> p
    853:854:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:54 -> p
    853:854:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):900 -> p
    853:854:boolean parseOption():418 -> p
    855:855:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):900:900 -> p
    855:855:boolean parseOption():418 -> p
    856:857:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:59 -> p
    856:857:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):901 -> p
    856:857:boolean parseOption():418 -> p
    858:865:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):901:908 -> p
    858:865:boolean parseOption():418 -> p
    866:866:void com.android.tools.r8.shaking.ProguardIfRule$Builder.setSubsequentRule(com.android.tools.r8.shaking.ProguardKeepRule):74:74 -> p
    866:866:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):909 -> p
    866:866:boolean parseOption():418 -> p
    867:868:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):910:911 -> p
    867:868:boolean parseOption():418 -> p
    869:869:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    869:869:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):912 -> p
    869:869:boolean parseOption():418 -> p
    870:881:com.android.tools.r8.shaking.ProguardIfRule com.android.tools.r8.shaking.ProguardIfRule$Builder.build():79:90 -> p
    870:881:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):913 -> p
    870:881:boolean parseOption():418 -> p
    882:882:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):914:914 -> p
    882:882:boolean parseOption():418 -> p
    883:895:void verifyAndLinkBackReferences(java.lang.Iterable):978:990 -> p
    883:895:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):914 -> p
    883:895:boolean parseOption():418 -> p
    896:896:void verifyAndLinkBackReferences(java.lang.Iterable):985:985 -> p
    896:896:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):914 -> p
    896:896:boolean parseOption():418 -> p
    897:897:boolean parseOption():0:0 -> p
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":939,"2":940,"3":941}}
    939:939:void verifyAndLinkBackReferences(java.lang.Iterable):985:985 -> p
    939:939:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):914 -> p
    939:939:boolean parseOption():418 -> p
    940:940:void verifyAndLinkBackReferences(java.lang.Iterable):985:985 -> p
    940:940:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):914 -> p
    940:940:boolean parseOption():418 -> p
    941:941:void verifyAndLinkBackReferences(java.lang.Iterable):985:985 -> p
    941:941:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):914 -> p
    941:941:boolean parseOption():418 -> p
    898:902:void verifyAndLinkBackReferences(java.lang.Iterable):985:985 -> p
    898:902:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):914 -> p
    898:902:boolean parseOption():418 -> p
    909:911:void verifyAndLinkBackReferences(java.lang.Iterable):992:994 -> p
    909:911:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):914 -> p
    909:911:boolean parseOption():418 -> p
    912:912:boolean parseOption():418:418 -> p
    913:915:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):917:917 -> p
    913:915:boolean parseOption():418 -> p
    916:934:boolean parseOption():419:437 -> p
    935:938:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):564:564 -> p
    935:938:boolean parseOption():439 -> p
    1:20:com.android.tools.r8.shaking.ProguardPathList parsePathFilter():2102:2121 -> q
    21:26:com.android.tools.r8.shaking.ProguardPathList parsePathFilter():2118:2123 -> q
    27:27:com.android.tools.r8.shaking.ProguardPathList parsePathFilter():2108:2108 -> q
    1:1:char peekChar():1721:1721 -> r
    1:11:void skipOptimizationName():726:736 -> s
    1:6:void skipWhitespace():1638:1643 -> t
    7:14:void skipComment():1649:1656 -> t
    7:14:void skipWhitespace():1645 -> t
com.android.tools.r8.shaking.ProguardConfigurationRule -> com.android.tools.r8.shaking.w1:
    boolean used -> o
    boolean canReferenceDeadTypes -> p
    boolean $assertionsDisabled -> q
    1:1:void <clinit>():24:24 -> <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):45:45 -> <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):26:29 -> <init>
    1:1:void markAsUsed():66:66 -> A
    java.lang.String modifierString() -> B
    java.lang.String typeString() -> C
    1:1:boolean access$000(com.android.tools.r8.shaking.ProguardConfigurationRule):24:24 -> a
    2:21:java.lang.Iterable relevantCandidatesForRule(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):125:144 -> a
    22:22:boolean com.android.tools.r8.shaking.ProguardTypeMatcher.hasSpecificType():0:0 -> a
    22:22:java.lang.Iterable relevantCandidatesForRule(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):144 -> a
    23:31:java.lang.Iterable relevantCandidatesForRule(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):145:153 -> a
    32:32:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    32:32:java.lang.Iterable relevantCandidatesForRule(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):151 -> a
    33:33:java.lang.Iterable relevantCandidatesForRule(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):155:155 -> a
    34:34:java.util.stream.Stream lambda$getWildcards$0(java.lang.Iterable):181:181 -> a
    35:39:java.lang.StringBuilder append(java.lang.StringBuilder,boolean):215:219 -> a
    1:14:boolean equals(java.lang.Object):188:201 -> equals
    1:5:int hashCode():206:210 -> 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():118:118 -> w
    1:12:java.lang.Iterable getWildcards():172:183 -> 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():173 -> x
    boolean isProguardKeepRule() -> y
    1:1:boolean isUsed():62:62 -> z
com.android.tools.r8.shaking.ProguardConfigurationRule$1 -> com.android.tools.r8.shaking.v1:
    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):129:129 -> <init>
    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():140:140 -> a
    1:4:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):132:135 -> c
com.android.tools.r8.shaking.ProguardConfigurationSource -> com.android.tools.r8.internal.LM:
    java.nio.file.Path getBaseDirectory() -> a
com.android.tools.r8.shaking.ProguardConfigurationSourceBytes -> com.android.tools.r8.internal.MM:
    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.NM:
    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.OM:
    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.A1:
    com.android.tools.r8.origin.Origin synthesizedRecompilationOrigin -> a
    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
    111:115:void synthesizeKeepRulesForRecompilation(com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.List):187:191 -> a
    116:116:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> a
    116:116:void synthesizeKeepRulesForRecompilation(com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.List):191 -> a
    117:122:void synthesizeKeepRulesForRecompilation(com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.List):191:196 -> a
    123:123:void synthesizeKeepRulesForRecompilation(com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.List):193:193 -> a
    124:124:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):137:137 -> a
    124:124:void synthesizeKeepRulesForRecompilation(com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.List):193 -> a
    125:126:void synthesizeKeepRulesForRecompilation(com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.List):197:198 -> a
    127:127:void synthesizeKeepRulesForRecompilation(com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.List):189:189 -> a
com.android.tools.r8.shaking.ProguardConfigurationUtils$1 -> com.android.tools.r8.shaking.x1:
    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.y1:
    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.z1:
    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.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,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.B1:
    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.G1:
    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
    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.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):271:271 -> b
    32:32:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setInheritanceClassName(com.android.tools.r8.shaking.ProguardTypeMatcher):109:109 -> b
    32:32:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):271 -> b
    33:33:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):275:275 -> b
    34:34:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setInheritanceIsExtends(boolean):96:96 -> b
    34:34:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):275 -> b
    35:36:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):276:277 -> b
    37:47:com.android.tools.r8.shaking.NoHorizontalClassMergingRule com.android.tools.r8.shaking.NoHorizontalClassMergingRule$Builder.build():29:39 -> b
    37:47:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):277 -> b
    48:48: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.D1:
    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.E1:
    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.F1:
    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.PM:
    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.I1:
    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.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):141:141 -> a
    162:162:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> a
    162:162:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):141 -> a
    163:163:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):148:148 -> a
    164:164:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):137:137 -> a
    164:164:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):148 -> a
    165:165:com.android.tools.r8.shaking.ProguardTypeMatcher com.android.tools.r8.shaking.ProguardTypeMatcher.defaultAllMatcher():129:129 -> a
    165:165:void com.android.tools.r8.shaking.ProguardClassSpecification$Builder.matchAllSpecification():184 -> a
    165:165:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):149 -> a
    166:166:void com.android.tools.r8.shaking.ProguardClassSpecification$Builder.matchAllSpecification():184:184 -> a
    166:166:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):149 -> a
    167:169:com.android.tools.r8.shaking.ProguardMemberRule com.android.tools.r8.shaking.ProguardMemberRule.defaultKeepAllRule():444:446 -> a
    167:169:void com.android.tools.r8.shaking.ProguardClassSpecification$Builder.matchAllSpecification():185 -> a
    167:169:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):149 -> a
    170:170:void com.android.tools.r8.shaking.ProguardClassSpecification$Builder.matchAllSpecification():185:185 -> a
    170:170:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):149 -> a
    171:171:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):150:150 -> a
    172:172:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> a
    172:172:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):151 -> a
    173:176: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.H1:
    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.I1$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.J1:
    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.J1$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.K1:
    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.K1$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$Builder setAllowsAccessModification(boolean):19:19 -> a
    2:2:com.android.tools.r8.shaking.ProguardKeepRuleModifiers build():48:48 -> a
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder setAllowsAnnotationRemoval(boolean):24:24 -> b
    2:2:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder setAllowsObfuscation(boolean):39:39 -> b
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder setAllowsOptimization(boolean):34:34 -> c
    2:2:void setIncludeDescriptorClasses(boolean):44:44 -> c
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder setAllowsShrinking(boolean):29:29 -> d
com.android.tools.r8.shaking.ProguardKeepRuleType -> com.android.tools.r8.internal.RM:
    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.QM:
    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.M1:
    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):316:316 -> 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
    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.L1:
    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.M1$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.N1:
    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.XM:
    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.R1:
    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:2:com.android.tools.r8.shaking.ProguardNameMatcher create(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards):23:23 -> a
    3:3:boolean com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards.isMatchAllNames():2249:2249 -> a
    3:3:com.android.tools.r8.shaking.ProguardNameMatcher create(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards):23 -> a
    4:8:com.android.tools.r8.shaking.ProguardNameMatcher create(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards):24:28 -> a
    9:51:boolean matchFieldOrMethodNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int):39:81 -> a
    52:66:boolean matchFieldOrMethodNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int):56:70 -> a
    67:67:java.lang.String com.android.tools.r8.shaking.ProguardWildcard$BackReference.getCaptured():105:105 -> a
    67:67:boolean matchFieldOrMethodNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int):70 -> a
    68:74:boolean matchFieldOrMethodNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int):72:78 -> a
    75:119:boolean matchFieldOrMethodNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int):43:87 -> a
    120:120:java.lang.Iterable getWildcards():93:93 -> a
    121:121:java.lang.Iterable getWildcardsOrEmpty(com.android.tools.r8.shaking.ProguardNameMatcher):97:97 -> a
    com.android.tools.r8.shaking.ProguardNameMatcher materialize() -> b
com.android.tools.r8.shaking.ProguardNameMatcher$MatchAllNames -> com.android.tools.r8.shaking.O1:
    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.P1:
    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.Q1:
    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.YM:
    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.S1:
    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.S1$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.U1:
    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.T1:
    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.Z1:
    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.V1:
    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.W1:
    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.X1:
    boolean negated -> a
    java.lang.String pattern -> b
    1:3:void <init>(boolean,java.lang.String):52:54 -> <init>
    1:1:boolean access$300(com.android.tools.r8.shaking.ProguardPathList$FileNameMatcher,java.lang.String):48:48 -> a
    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.Y1:
    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.ZM:
    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.a2:
    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.a2$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.b2:
    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.c2:
    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.d2:
    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.e2:
    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.a2$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.f2:
    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:7:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):408:414 -> a
    8:8:java.lang.String com.android.tools.r8.shaking.ProguardWildcard$BackReference.getCaptured():105:105 -> a
    8:8:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):415 -> a
    9:17:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):414:422 -> a
    18:35:java.lang.String removeMaterializedBackReferencesFromPattern(java.lang.String,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):442:459 -> a
    18:35:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):423 -> a
    36:38:boolean com.android.tools.r8.utils.StringUtils.onlyContainsDigits(java.lang.String):312:314 -> a
    36:38:java.lang.String removeMaterializedBackReferencesFromPattern(java.lang.String,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):459 -> a
    36:38:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):423 -> a
    39:64:java.lang.String removeMaterializedBackReferencesFromPattern(java.lang.String,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):463:488 -> a
    39:64:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):423 -> a
    65:78:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):424:437 -> a
    79:170:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):499:590 -> a
    171:186:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):563:578 -> 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
    188:194:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):580:586 -> a
    195:216:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):503:524 -> a
    217:221:boolean isArrayType(java.lang.String):604:608 -> a
    217:221:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):524 -> a
    222:222:boolean containsSeparatorsStartingAt(java.lang.String,int):600:600 -> a
    222:222:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):526 -> a
    223:223:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):527:527 -> a
    224:228:boolean isArrayType(java.lang.String):604:608 -> a
    224:228:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):527 -> a
    229:258:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):531:560 -> a
    259:296: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.h2:
    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.g2:
    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.i2:
    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.i2$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.i2$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.k2:
    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.j2:
    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.m2:
    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.l2:
    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.cT:
com.android.tools.r8.shaking.RootSetUtils$1 -> com.android.tools.r8.shaking.n2:
    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>():1327 -> <clinit>
    2:2:void <clinit>():1327:1327 -> <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>():1312 -> <clinit>
    4:4:void <clinit>():1312:1312 -> <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>():1232 -> <clinit>
    8:8:void <clinit>():1232:1232 -> <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>():1191 -> <clinit>
    10:10:void <clinit>():1191:1191 -> <clinit>
    11:11:void <clinit>():212:212 -> <clinit>
com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet -> com.android.tools.r8.shaking.o2:
    1:1:void <init>(java.util.Set,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):2054:2054 -> <init>
com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSetBuilder -> com.android.tools.r8.shaking.p2:
    com.android.tools.r8.shaking.Enqueuer enqueuer -> K
    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):2020:2020 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.shaking.Enqueuer):2028:2029 -> <init>
    1:2:void handleMatchedAnnotation(com.android.tools.r8.shaking.AnnotationMatchResult):2034:2035 -> a
    3:3:boolean com.android.tools.r8.shaking.AnnotationMatchResult.isConcreteAnnotationMatchResult():0:0 -> a
    3:3:void handleMatchedAnnotation(com.android.tools.r8.shaking.AnnotationMatchResult):2035 -> a
    4:6:void handleMatchedAnnotation(com.android.tools.r8.shaking.AnnotationMatchResult):2036:2036 -> a
com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet -> com.android.tools.r8.shaking.q2:
    boolean $assertionsDisabled -> z
    1:1:void <clinit>():2097:2097 -> <clinit>
    1:23:void <init>(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.Set,java.util.List):2107:2129 -> <init>
    24:24:void <init>(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.Set,java.util.List):2104:2104 -> <init>
    void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition) -> a
    1:1:com.android.tools.r8.shaking.RootSetUtils$MainDexRootSetBuilder builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):2136:2136 -> a
    2:17:com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet rewrittenWithLens(com.android.tools.r8.graph.GraphLens):2145:2160 -> a
    18:18: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):2152:2152 -> a
    1:10:com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet withoutPrunedItems(com.android.tools.r8.graph.PrunedItems):2166:2175 -> b
com.android.tools.r8.shaking.RootSetUtils$MainDexRootSetBuilder -> com.android.tools.r8.shaking.r2:
    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):2071:2071 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):2077:2077 -> <init>
    1:1:com.android.tools.r8.shaking.RootSetUtils$RootSet build(java.util.concurrent.ExecutorService):2071:2071 -> a
    1:3:com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet build(java.util.concurrent.ExecutorService):2088:2090 -> b
com.android.tools.r8.shaking.RootSetUtils$RootSet -> com.android.tools.r8.shaking.s2:
    java.util.Set identifierNameStrings -> w
    java.util.Set ifRules -> x
    java.util.Map mayHaveSideEffects -> t
    java.util.Set neverPropagateValue -> s
    com.android.tools.r8.com.google.common.collect.ImmutableList reasonAsked -> g
    java.util.Map noSideEffects -> u
    java.util.Map assumedValues -> v
    java.util.Set alwaysInline -> h
    java.util.Set bypassClinitForInlining -> i
    java.util.Set whyAreYouNotInlining -> j
    boolean $assertionsDisabled -> y
    com.android.tools.r8.utils.PredicateSet alwaysClassInline -> o
    java.util.Set noUnusedInterfaceRemoval -> p
    java.util.Set noVerticalClassMerging -> q
    java.util.Set noHorizontalClassMerging -> r
    java.util.Set keepConstantArguments -> k
    java.util.Set keepUnusedArguments -> l
    java.util.Set reprocess -> m
    java.util.Set neverReprocess -> n
    1:1:void <clinit>():1670:1670 -> <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,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):1670:1670 -> <init>
    2:26: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,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):1717:1741 -> <init>
    1:1:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1670:1670 -> a
    1:1:void pruneDeadItems(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer):1793 -> a
    2:7:void pruneDeadItems(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer):1793:1798 -> a
    8:8:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1670:1670 -> a
    8:8:void pruneItems(com.android.tools.r8.graph.PrunedItems):1821 -> a
    9:9:void pruneItems(com.android.tools.r8.graph.PrunedItems):1821:1821 -> a
    10:10:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> a
    10:10:void pruneItems(com.android.tools.r8.graph.PrunedItems):1821 -> a
    11:12:void pruneItems(com.android.tools.r8.graph.PrunedItems):1823:1824 -> a
    13:13:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1670:1670 -> a
    13:13:void pruneItems(com.android.tools.r8.graph.PrunedItems):1825 -> a
    14:14:void pruneItems(com.android.tools.r8.graph.PrunedItems):1825:1825 -> a
    15:15:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1670:1670 -> a
    15:15:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):1831 -> a
    16:17:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):1832:1833 -> a
    18:18:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1670:1670 -> a
    18:18:boolean verifyKeptFieldsAreAccessedAndLive(com.android.tools.r8.graph.AppView):1837 -> a
    19:19:boolean verifyKeptFieldsAreAccessedAndLive(com.android.tools.r8.graph.AppView):1838:1838 -> a
    20:20:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> a
    20:20:boolean verifyKeptFieldsAreAccessedAndLive(com.android.tools.r8.graph.AppView):1838 -> a
    21:22:boolean verifyKeptFieldsAreAccessedAndLive(com.android.tools.r8.graph.AppView):1838:1839 -> a
    23:28:void checkAllRulesAreUsed(com.android.tools.r8.utils.InternalOptions):1745:1750 -> a
    29:29:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isProguardIfRule():0:0 -> a
    29:29:void checkAllRulesAreUsed(com.android.tools.r8.utils.InternalOptions):1750 -> a
    30:43:void checkAllRulesAreUsed(com.android.tools.r8.utils.InternalOptions):1751:1764 -> a
    44:51:void addConsequentRootSet(com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet):1770:1777 -> a
    52:52:java.util.Set lambda$addConsequentRootSet$0(com.android.tools.r8.graph.DexType):1775:1775 -> a
    53:54:void lambda$addConsequentRootSet$1(com.android.tools.r8.graph.DexType,java.util.Set):1775:1776 -> a
    55:55:boolean isShrinkingDisallowedUnconditionally(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.utils.InternalOptions):1782:1782 -> a
    56:56:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1670:1670 -> a
    56:56:boolean isShrinkingDisallowedUnconditionally(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.utils.InternalOptions):1785 -> a
    57:59:boolean isShrinkingDisallowedUnconditionally(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.utils.InternalOptions):1786:1788 -> a
    60:60:boolean isShrinkingDisallowedUnconditionally(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.utils.InternalOptions):1787:1787 -> a
    61:61:boolean lambda$isShrinkingDisallowedUnconditionally$2(com.android.tools.r8.shaking.KeepInfo$Joiner):1789:1789 -> a
    62:62:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():485:485 -> a
    62:62:boolean lambda$isShrinkingDisallowedUnconditionally$2(com.android.tools.r8.shaking.KeepInfo$Joiner):1789 -> a
    63:63:void pruneDeadReferences(java.util.Set,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer):1805:1805 -> a
    64:72:boolean lambda$pruneDeadReferences$5(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexReference):1807:1815 -> a
    73:73:com.android.tools.r8.graph.Definition lambda$pruneDeadReferences$3(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField):1811:1811 -> a
    74:74:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):535:535 -> a
    74:74:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexField.lookupMemberOnClass(com.android.tools.r8.graph.DexClass):84 -> a
    74:74:com.android.tools.r8.graph.Definition lambda$pruneDeadReferences$3(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField):1811 -> a
    75:75:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.toClassFieldOrNull(com.android.tools.r8.graph.DexEncodedField):539:539 -> a
    75:75:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):535 -> 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):1811 -> a
    76:76:com.android.tools.r8.graph.Definition lambda$pruneDeadReferences$4(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod):1814:1814 -> a
    77:77:com.android.tools.r8.graph.Definition lambda$pruneDeadReferences$4(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod):1813:1813 -> a
    78:78:boolean lambda$verifyKeptFieldsAreAccessedAndLive$6(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1841:1841 -> a
    79:79:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():485:485 -> a
    79:79:boolean lambda$verifyKeptFieldsAreAccessedAndLive$6(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1841 -> a
    80:82:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1843:1845 -> a
    83:83:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):94:94 -> a
    83:83:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1845 -> a
    84:84:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1845:1845 -> a
    85:85:com.android.tools.r8.graph.ProgramField com.android.tools.r8.graph.DexField.lookupOnProgramClass(com.android.tools.r8.graph.DexProgramClass):89:89 -> a
    85:85:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1846 -> a
    86:88:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1848:1850 -> a
    89:89: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":3797,"2":3798,"3":3799}}
    3797:3797:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1850:1850 -> a
    3798:3798:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1850:1850 -> a
    3799:3799:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1850:1850 -> a
    1940:1941:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1851:1852 -> a
    1942:1942: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":3801,"2":3802,"3":3803}}
    3801:3801:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1852:1852 -> a
    3802:3802:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1852:1852 -> a
    3803:3803:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1852:1852 -> a
    3796:3796:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1854:1854 -> a
    3804:3812:boolean isKeptDirectlyOrIndirectly(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1899:1907 -> a
    3813:3813:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1922:1922 -> a
    3814:3814:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    3814:3814:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1922 -> a
    3815:3815:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1923:1923 -> a
    3816:3816:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,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":9620,"2":9621,"3":9622}}
    9620:9620:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1924:1924 -> a
    9621:9621:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    9621:9621:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1924 -> a
    9622:9622:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    9622:9622:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1924 -> a
    5741:5741:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1925:1925 -> a
    5742:5742:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,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":9623,"2":9624,"3":9625}}
    9623:9623:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1925:1925 -> a
    9624:9624:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1925:1925 -> a
    9625:9625:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1925:1925 -> a
    5743:5743:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,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":9626,"2":9627,"3":9628,"4":9629}}
    9626:9626:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1926:1926 -> a
    9627:9627:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1926:1926 -> a
    9628:9628:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1926:1926 -> a
    9629:9629:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1926:1926 -> a
    7669:7674:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1926:1931 -> a
    7675:7676:com.android.tools.r8.graph.DexMember com.android.tools.r8.graph.GraphLens.getRenamedMemberSignature(com.android.tools.r8.graph.DexMember):338:339 -> a
    7675:7676:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1931 -> a
    7677:7677:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):332:332 -> a
    7677:7677:com.android.tools.r8.graph.DexMember com.android.tools.r8.graph.GraphLens.getRenamedMemberSignature(com.android.tools.r8.graph.DexMember):339 -> a
    7677:7677:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1931 -> a
    7678:7678:com.android.tools.r8.graph.DexMember com.android.tools.r8.graph.GraphLens.getRenamedMemberSignature(com.android.tools.r8.graph.DexMember):340:340 -> a
    7678:7678:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1931 -> a
    7679:7679:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):344:344 -> a
    7679:7679:com.android.tools.r8.graph.DexMember com.android.tools.r8.graph.GraphLens.getRenamedMemberSignature(com.android.tools.r8.graph.DexMember):340 -> a
    7679:7679:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1931 -> a
    7680:7680:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1932:1932 -> a
    7681:7681:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,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":9635,"2":9636,"3":9637}}
    9635:9635:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1932:1932 -> a
    9636:9636:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1932:1932 -> a
    9637:9637:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1932:1932 -> a
    9615:9619:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1934:1938 -> a
    9638:9638:com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):2016:2016 -> a
    1:2:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1868:1869 -> b
    3:3: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":3759,"2":3760,"3":3761}}
    3759:3759:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1869:1869 -> b
    3760:3760:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1869:1869 -> b
    3761:3761:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1869:1869 -> b
    1873:1875:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1870:1872 -> b
    1876:1876:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):94:94 -> b
    1876:1876:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1872 -> b
    1877:1880:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1872:1875 -> b
    1881:1881: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":3767,"2":3768,"3":3769}}
    3767:3767:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1875:1875 -> b
    3768:3768:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1875:1875 -> b
    3769:3769:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1875:1875 -> b
    3758:3758:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1877:1877 -> b
    3770:3773:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1913:1916 -> b
    3774:3774:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1670:1670 -> b
    3774:3774:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1917 -> b
    3775:3775:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1918:1918 -> b
    3776:3776:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> b
    3776:3776:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1918 -> b
    3777:3819:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1918:1960 -> b
    3820:3820:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9774,"2":9775,"3":9776}}
    9774:9774:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1960:1960 -> b
    9775:9775:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1960:1960 -> b
    9776:9776:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1960:1960 -> b
    5782:5793:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1962:1973 -> b
    5794:5794:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9789,"2":9790,"3":9791}}
    9789:9789:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1973:1973 -> b
    9790:9790:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1973:1973 -> b
    9791:9791:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1973:1973 -> b
    7769:7782:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1975:1988 -> b
    7783:7783:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9806,"2":9807,"3":9808}}
    9806:9806:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1988:1988 -> b
    9807:9807:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1988:1988 -> b
    9808:9808:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1988:1988 -> b
    7784:7784:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9809,"2":9810,"3":9811,"4":9812}}
    9809:9809:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1989:1989 -> b
    9810:9810:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1989:1989 -> b
    9811:9811:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1989:1989 -> b
    9812:9812:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1989:1989 -> b
    9773:9773:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1989:1989 -> b
    9813:9813:boolean lambda$verifyKeptItemsAreKept$12(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1920:1920 -> b
    9814:9814:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():485:485 -> b
    9814:9814:boolean lambda$verifyKeptItemsAreKept$12(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1920 -> b
    9815:9815:java.util.Set lambda$verifyKeptItemsAreKept$13(com.android.tools.r8.graph.DexType):1928:1928 -> b
    1:1:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1670:1670 -> c
    1:1:boolean verifyKeptMethodsAreTargetedAndLive(com.android.tools.r8.graph.AppView):1862 -> c
    2:2:boolean verifyKeptMethodsAreTargetedAndLive(com.android.tools.r8.graph.AppView):1863:1863 -> 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):1863 -> c
    4:5:boolean verifyKeptMethodsAreTargetedAndLive(com.android.tools.r8.graph.AppView):1863:1864 -> c
    6:6:boolean lambda$verifyKeptMethodsAreTargetedAndLive$8(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1866:1866 -> c
    7:7:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():485:485 -> c
    7:7:boolean lambda$verifyKeptMethodsAreTargetedAndLive$8(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1866 -> c
    8:9:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1891:1892 -> c
    10:11:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isLiveProgramType(com.android.tools.r8.graph.DexType):722:723 -> 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):1892 -> 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):1892:1892 -> 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):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1908,"2":1909,"3":1910}}
    1908:1908:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1892:1892 -> c
    1909:1909:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1892:1892 -> c
    1910:1910:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1892:1892 -> 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):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1911,"2":1912,"3":1913,"4":1914}}
    1911:1911:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1893:1893 -> c
    1912:1912:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1893:1893 -> c
    1913:1913:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1893:1893 -> c
    1914:1914:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1893:1893 -> c
    1907:1907:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1893:1893 -> c
    1915:1915:java.util.Set lambda$verifyKeptItemsAreKept$14(com.android.tools.r8.graph.DexType):1937:1937 -> c
    1:1:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1670:1670 -> d
    1:1:boolean verifyKeptTypesAreLive(com.android.tools.r8.graph.AppView):1885 -> d
    2:2:boolean verifyKeptTypesAreLive(com.android.tools.r8.graph.AppView):1886:1886 -> 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):1886 -> d
    4:5:boolean verifyKeptTypesAreLive(com.android.tools.r8.graph.AppView):1886:1887 -> d
    6:6:boolean lambda$verifyKeptTypesAreLive$10(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1889:1889 -> d
    7:7:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> d
    7:7:boolean lambda$verifyKeptTypesAreLive$10(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1889 -> d
    8:8:boolean lambda$verifyKeptTypesAreLive$10(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1889:1889 -> d
    9:9:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():485:485 -> d
    9:9:boolean lambda$verifyKeptTypesAreLive$10(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1889 -> d
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2007,"2":2008,"3":2009}}
    2007:2007:java.lang.String toString():1997:1997 -> toString
    2008:2008:java.lang.String toString():1997:1997 -> toString
    2009:2009:java.lang.String toString():1998:1998 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2007,"2":2008,"3":2009}}
    2007:2007:java.lang.String toString():1999:1999 -> toString
    2008:2008:java.lang.String toString():1999:1999 -> toString
    2009:2009:java.lang.String toString():1999:1999 -> toString
    2001:2006:java.lang.String toString():1999:2004 -> toString
com.android.tools.r8.shaking.RootSetUtils$RootSetBase -> com.android.tools.r8.shaking.t2:
    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):1652:1658 -> <init>
    1:1:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1666:1666 -> a
com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder -> com.android.tools.r8.shaking.w2:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set noVerticalClassMerging -> s
    boolean $assertionsDisabled -> J
    java.util.Set neverPropagateValue -> u
    com.android.tools.r8.utils.InternalOptions options -> B
    java.util.Map assumedValues -> y
    java.util.Map mayHaveSideEffects -> w
    java.util.Set alwaysInline -> g
    java.util.Set neverInlineDueToSingleCaller -> i
    java.util.Set ifRules -> D
    java.util.Set classesWithCheckDiscardedMembers -> F
    java.util.Set neverReprocess -> o
    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> b
    com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection dependentMinimumKeepInfo -> e
    java.util.Set neverClassInline -> q
    java.util.Queue delayedRootSetActionItems -> A
    com.android.tools.r8.shaking.DexStringCache dexStringCache -> C
    java.util.Set whyAreYouNotInlining -> k
    java.util.Set keepUnusedArguments -> m
    java.util.Set identifierNameStrings -> z
    java.util.Set noHorizontalClassMerging -> t
    java.lang.Iterable rules -> d
    java.util.LinkedHashMap reasonAsked -> f
    com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper interfaceDesugaringSyntheticHelper -> H
    java.util.Map dependentKeepClassCompatRule -> v
    java.util.Map noSideEffects -> x
    java.util.Set neverInline -> h
    com.android.tools.r8.utils.collections.ProgramMethodMap pendingMethodMoveInverse -> I
    java.util.Set bypassClinitforInlining -> j
    com.android.tools.r8.utils.PredicateSet alwaysClassInline -> p
    com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple feedback -> G
    com.android.tools.r8.graph.DirectMappedDexApplication application -> c
    java.util.Set noUnusedInterfaceRemoval -> r
    java.util.Map assumeNoSideEffectsWarnings -> E
    java.util.Set keepParametersWithConstantValue -> l
    java.util.Set reprocess -> 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):155:155 -> <init>
    4:58:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):110:164 -> <init>
    59:59:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):169:169 -> <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:boolean access$300(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):104:104 -> a
    3:4:boolean canInsertForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):656:657 -> a
    3:4:boolean access$300(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):104 -> a
    5:6:boolean com.android.tools.r8.utils.ArrayUtils.contains(java.lang.Object[],java.lang.Object):129:130 -> a
    5:6:boolean canInsertForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):657 -> a
    5:6:boolean access$300(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):104 -> a
    7:7:com.android.tools.r8.graph.DexProgramClass access$500(com.android.tools.r8.graph.DexDefinition,java.util.Map):104:104 -> a
    8:8: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
    9:24:void runPerRule(java.util.concurrent.ExecutorService,java.util.List,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):301:316 -> a
    25:25:void runPerRule(java.util.concurrent.ExecutorService,java.util.List,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):315:315 -> a
    26:31:void lambda$runPerRule$2(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):319:324 -> a
    32:94:com.android.tools.r8.shaking.RootSetUtils$RootSet build(java.util.concurrent.ExecutorService):331:393 -> a
    95:95:com.android.tools.r8.shaking.RootSetUtils$RootSet build(java.util.concurrent.ExecutorService):347:347 -> a
    96:96:void lambda$build$3(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker):356:356 -> a
    97:108:void propagateAssumeRules(com.android.tools.r8.graph.DexClass):398:409 -> a
    109:143:void propagateAssumeRules(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,java.util.Set,java.util.Map):419:453 -> a
    144:150:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet buildConsequentRootSet():458:464 -> a
    151:153:boolean lambda$markMatchingVisibleMethods$4(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):509:511 -> a
    154:155: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):515:516 -> a
    156:157: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):706:707 -> a
    158: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):719:722 -> a
    162:162:void com.android.tools.r8.graph.DexClass.forEachClassField(java.util.function.Consumer):144:144 -> a
    162:162: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):722 -> a
    163:163: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):728:728 -> a
    164:164: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):738:738 -> a
    165:165:void com.android.tools.r8.graph.DexClass.forEachClassField(java.util.function.Consumer):144:144 -> a
    165:165: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):738 -> a
    166:167: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):741:742 -> a
    168:230:void writeSeeds(com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,java.util.function.Predicate):749:811 -> a
    231:232:void lambda$writeSeeds$10(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexType):754:755 -> a
    233:234:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):763:764 -> a
    235:235: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":1772,"2":1773,"3":1774}}
    1772:1772:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):765:765 -> a
    1773:1773:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):765:765 -> a
    1774:1774:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):765:765 -> a
    1000:1000:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):765:765 -> a
    1001:1001: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":1776,"2":1777,"3":1778}}
    1776:1776:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):767:767 -> a
    1777:1777:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):767:767 -> a
    1778:1778:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):767:767 -> a
    1768:1770:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):767:769 -> a
    1771:1771:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):764:764 -> a
    1779:1782:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):777:780 -> a
    1783:1783:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):94:94 -> a
    1783:1783:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):780 -> a
    1784:1798:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):780:794 -> a
    1799:1799: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":2612,"2":2613,"3":2614}}
    2612:2612:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):795:795 -> a
    2613:2613:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):795:795 -> a
    2614:2614:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):795:795 -> a
    2594:2596:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):795:797 -> a
    2597:2611:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):794:808 -> a
    2615:2615:boolean satisfyClassType(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):815:815 -> a
    2615:2615:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):182 -> a
    2616:2617:boolean satisfyAccessFlag(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):819:820 -> a
    2616:2617:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):185 -> a
    2618:2618:com.android.tools.r8.shaking.AnnotationMatchResult satisfyAnnotation(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):824:824 -> a
    2618:2618:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):188 -> a
    2619:2619:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):974:974 -> a
    2619:2619:com.android.tools.r8.shaking.AnnotationMatchResult satisfyAnnotation(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):824 -> a
    2619:2619:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):188 -> a
    2620:2620:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):973:973 -> a
    2620:2620:com.android.tools.r8.shaking.AnnotationMatchResult satisfyAnnotation(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):824 -> a
    2620:2620:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):188 -> a
    2621:2675:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):192:246 -> a
    2676:2676:boolean allRulesSatisfied(java.util.Collection,com.android.tools.r8.graph.DexClass):928:928 -> a
    2676:2676:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):222 -> a
    2677:2678:boolean ruleSatisfied(com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexClass):941:942 -> a
    2677:2678:boolean allRulesSatisfied(java.util.Collection,com.android.tools.r8.graph.DexClass):929 -> a
    2677:2678:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):222 -> a
    2679:2680:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1087:1088 -> a
    2679:2680:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):227 -> a
    2681:2681:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    2681:2681:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1088 -> a
    2681:2681:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):227 -> a
    2682:2682:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1090:1090 -> a
    2682:2682:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):227 -> a
    2683:2689:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):228:234 -> a
    2690:2699:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):233:242 -> a
    2700:2737:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):215:252 -> a
    2738:2738:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isProguardCheckDiscardRule():0:0 -> a
    2738:2738:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):254 -> a
    2739:2739:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):255:255 -> a
    2740:2741:void evaluateCheckDiscardRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1350:1351 -> a
    2740:2741:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):255 -> a
    2742:2747:void evaluateCheckDiscardRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1360:1365 -> a
    2742:2747:void evaluateCheckDiscardRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1351 -> a
    2742:2747:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):255 -> a
    2748:2750:void evaluateCheckDiscardRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1353:1355 -> a
    2748:2750:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):255 -> a
    2751:2751:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
    2751:2751:void evaluateCheckDiscardRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1355 -> a
    2751:2751:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):255 -> a
    2752:2752:void evaluateCheckDiscardRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1355:1355 -> a
    2752:2752:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):255 -> a
    2753:2753:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):256:256 -> a
    2754:2755:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1087:1088 -> a
    2754:2755:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):257 -> a
    2756:2756:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    2756:2756:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1088 -> a
    2756:2756:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):257 -> a
    2757:2757:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1090:1090 -> a
    2757:2757:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):257 -> a
    2758:2792:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):258:292 -> a
    2793:2793:boolean allRulesSatisfied(java.util.Collection,com.android.tools.r8.graph.DexClass):928:928 -> a
    2793:2793:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):283 -> a
    2794:2795:boolean ruleSatisfied(com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexClass):941:942 -> a
    2794:2795:boolean allRulesSatisfied(java.util.Collection,com.android.tools.r8.graph.DexClass):929 -> a
    2794:2795:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):283 -> a
    2796:2797:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1087:1088 -> a
    2796:2797:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):284 -> a
    2798:2798:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    2798:2798:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1088 -> a
    2798:2798:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):284 -> a
    2799:2799:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1090:1090 -> a
    2799:2799:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):284 -> a
    2800:2800:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):277:277 -> a
    2801:2803:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):263:265 -> a
    2804:2806:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):264:266 -> a
    2807:2807:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):253:253 -> a
    2808:2808:com.android.tools.r8.shaking.AnnotationMatchResult satisfyAnnotation(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):824:824 -> a
    2809:2809:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):974:974 -> a
    2809:2809:com.android.tools.r8.shaking.AnnotationMatchResult satisfyAnnotation(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):824 -> a
    2810:2810:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):973:973 -> a
    2810:2810:com.android.tools.r8.shaking.AnnotationMatchResult satisfyAnnotation(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):824 -> a
    2811:2822:boolean anyImplementedInterfaceMatchesImplementsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):882:893 -> a
    2823:2823:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):974:974 -> a
    2823:2823:boolean anyImplementedInterfaceMatchesImplementsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):893 -> a
    2824:2824:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):973:973 -> a
    2824:2824:boolean anyImplementedInterfaceMatchesImplementsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):893 -> a
    2825:2841:boolean anyImplementedInterfaceMatchesImplementsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):895:911 -> a
    2842:2847:boolean anySourceMatchesInheritanceRuleDirectly(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,boolean):918:923 -> a
    2848:2848:boolean lambda$anySourceMatchesInheritanceRuleDirectly$13(boolean,com.android.tools.r8.graph.DexType):922:922 -> a
    2849:2851:boolean ruleSatisfiedByFields(com.android.tools.r8.shaking.ProguardMemberRule,java.lang.Iterable):957:959 -> a
    2852:2852:boolean sideEffectFreeIsRuleSatisfiedByField(com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexClassAndField):968:968 -> a
    2853:2854:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):986:987 -> a
    2855:2866:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):983:994 -> a
    2867:2867:com.android.tools.r8.graph.ParameterAnnotationsList com.android.tools.r8.graph.DexClassAndMethod.getParameterAnnotations():79:79 -> a
    2867:2867:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):994 -> a
    2868:2868:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):994:994 -> a
    2869:2869:com.android.tools.r8.graph.ParameterAnnotationsList com.android.tools.r8.graph.DexClassAndMethod.getParameterAnnotations():79:79 -> a
    2869:2869:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexClassAndMethod.getParameterAnnotation(int):75 -> a
    2869:2869:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):999 -> a
    2870:2870:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexClassAndMethod.getParameterAnnotation(int):75:75 -> a
    2870:2870:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):999 -> a
    2871:2871:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):999:999 -> a
    2872:2878:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):996:1002 -> a
    2879:2883: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):1015:1019 -> a
    2884:2885:com.android.tools.r8.graph.DexAnnotation getFirstAnnotationThatMatches(com.android.tools.r8.shaking.ProguardTypeMatcher,com.android.tools.r8.graph.DexAnnotationSet):1036:1037 -> a
    2884:2885: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):1021 -> a
    2886:2889: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):1025:1028 -> a
    2890:2895: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):1026:1031 -> a
    2896:2904: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:1060 -> a
    2905:2905:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    2905:2905: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):1059 -> a
    2906:2908: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):1063:1065 -> a
    2909:2912: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):1076:1079 -> a
    2913:2913:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    2913:2913: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):1079 -> a
    2914:2914: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):1081:1081 -> a
    2915:2932:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1095:1112 -> a
    2933:2933:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClass.getReference():680:680 -> a
    2933:2933:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1113 -> a
    2934:2934:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1113:1113 -> a
    2935:2936: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
    2935:2936:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1113 -> a
    2937:2942:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1114:1119 -> a
    2943:2943:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():613:613 -> a
    2943:2943:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1119 -> a
    2944:2945:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1119:1120 -> a
    2946:2946:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClass.getReference():680:680 -> a
    2946:2946:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1121 -> a
    2947:2947:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1121:1121 -> a
    2948:2949: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
    2948:2949:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1121 -> a
    2950:2950:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1122:1122 -> a
    2951:2951: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):1148:1148 -> a
    2952:2952:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isProguardKeepRule():0:0 -> a
    2952:2952: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):1148 -> a
    2953:2958: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):1149:1154 -> a
    2959: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):1153:1164 -> a
    2971:2990: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):1163:1182 -> a
    2991:2991:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isProguardCheckDiscardRule():0:0 -> a
    2991:2991: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):1184 -> a
    2992:2994: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):1185:1187 -> a
    2995:2996:void evaluateCheckDiscardMemberRule(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1378:1379 -> a
    2995:2996: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 -> a
    2997:3020: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):1188:1211 -> a
    3021:3021: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):1208:1208 -> a
    3022:3025: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):1202:1205 -> a
    3026:3029: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):1196:1199 -> a
    3030: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):1193:1220 -> a
    3058:3058: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):1217:1217 -> a
    3059:3059:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isClassInlineRule():0:0 -> a
    3059:3059: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):1221 -> a
    3060:3078: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):1222:1240 -> a
    3079:3087: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):1234:1242 -> a
    3088:3088: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):1225:1225 -> a
    3089:3089: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":4483,"2":4484,"3":4485}}
    4483:4483: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):1225:1225 -> a
    4484:4484: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):1225:1225 -> a
    4485:4485: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):1225:1225 -> a
    4316:4376: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:1287 -> a
    4377:4377:boolean com.android.tools.r8.graph.Definition.isProgramField():0:0 -> a
    4377:4377: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
    4378:4383: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
    4384:4384:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    4384:4384: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
    4385:4393: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
    4394:4394:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1560:1560 -> a
    4394:4394: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
    4395:4395:boolean isMainDexRootSetBuilder():0:0 -> a
    4395:4395:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1560 -> a
    4395: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:4408:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1560:1572 -> a
    4396:4408: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
    4409:4409:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
    4409:4409:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1572 -> a
    4409:4409: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
    4410:4410:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1573:1573 -> a
    4410:4410: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
    4411:4411: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":4486,"2":4487,"3":4488}}
    4486:4486:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1573:1573 -> a
    4486:4486: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
    4487:4487:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1573:1573 -> a
    4487:4487: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
    4488:4488:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1573:1573 -> a
    4488:4488: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
    4412:4415:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1576:1579 -> a
    4412:4415: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
    4416:4427:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1573:1584 -> a
    4416:4427: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
    4428:4444: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:1320 -> a
    4445:4453: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):1314:1322 -> a
    4454:4454:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isReprocessMethodRule():0:0 -> a
    4454:4454: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 -> a
    4455:4465: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):1325:1335 -> a
    4466:4482: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):1329:1345 -> a
    4489:4491:void evaluateCheckDiscardClassAndAllMembersRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1371:1373 -> a
    4492:4493:void setCheckDiscarded(com.android.tools.r8.graph.ProgramDefinition):1383:1384 -> a
    4494:4494:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> a
    4494:4494:void setCheckDiscarded(com.android.tools.r8.graph.ProgramDefinition):1384 -> a
    4495:4496:void setCheckDiscarded(com.android.tools.r8.graph.ProgramDefinition):1385:1386 -> a
    4497:4497:com.android.tools.r8.utils.TraversalContinuation lambda$finalizeCheckDiscardedInformation$16(com.android.tools.r8.shaking.MinimumKeepInfoCollection,com.android.tools.r8.graph.ProgramMember):1399:1399 -> a
    4498:4498:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClassAndMember.getReference():11:11 -> a
    4498:4498:com.android.tools.r8.utils.TraversalContinuation lambda$finalizeCheckDiscardedInformation$16(com.android.tools.r8.shaking.MinimumKeepInfoCollection,com.android.tools.r8.graph.ProgramMember):1399 -> a
    4499:4499:com.android.tools.r8.utils.TraversalContinuation lambda$finalizeCheckDiscardedInformation$16(com.android.tools.r8.shaking.MinimumKeepInfoCollection,com.android.tools.r8.graph.ProgramMember):1399:1399 -> a
    4500:4500:com.android.tools.r8.utils.TraversalContinuation lambda$finalizeCheckDiscardedInformation$16(com.android.tools.r8.shaking.MinimumKeepInfoCollection,com.android.tools.r8.graph.ProgramMember):1398:1398 -> a
    4501:4501:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.TraversalContinuation.continueIf(boolean):17:17 -> a
    4501:4501:com.android.tools.r8.utils.TraversalContinuation lambda$finalizeCheckDiscardedInformation$16(com.android.tools.r8.shaking.MinimumKeepInfoCollection,com.android.tools.r8.graph.ProgramMember):1397 -> a
    4502:4504: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):1412:1414 -> a
    4505:4505:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo com.android.tools.r8.graph.DexClassAndField.getOptimizationInfo():41:41 -> a
    4505:4505: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):1414 -> a
    4506:4523: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):1414:1431 -> a
    4524:4524:boolean com.android.tools.r8.graph.DexMethod.isLambdaDeserializeMethod(com.android.tools.r8.graph.DexItemFactory):291:291 -> a
    4524:4524: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):1431 -> a
    4525:4526: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):1441:1442 -> a
    4527:4527:boolean com.android.tools.r8.shaking.ProguardKeepRuleModifiers.isBottom():88:88 -> a
    4527:4527: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):1442 -> a
    4528:4546: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):1448:1466 -> a
    4547:4550: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):1465:1468 -> a
    4551:4555:boolean isInterfaceMethodNeedingDesugaring(com.android.tools.r8.graph.ProgramDefinition):1588:1592 -> a
    4551:4555: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):1471 -> a
    4556:4574: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):1472:1490 -> a
    4575:4575:boolean com.android.tools.r8.utils.InternalOptions.isOptimizationEnabled():618:618 -> a
    4575:4575: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):1490 -> a
    4576: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):1490:1492 -> a
    4579: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):69:70 -> a
    4579: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):1492 -> a
    4581:4586: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):1493:1498 -> a
    4587:4588: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
    4587: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):1498 -> a
    4589:4593: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):1499:1503 -> a
    4594:4594:boolean com.android.tools.r8.graph.DexClassAndMethod.isDefaultMethod():37:37 -> a
    4594:4594: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):1503 -> a
    4595: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):1509:1509 -> a
    4596:4597:boolean com.android.tools.r8.utils.InternalOptions.isAccessModificationEnabled():690:691 -> a
    4596: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):1509 -> a
    4598:4600: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):1509:1511 -> a
    4601:4602: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
    4601: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):1511 -> a
    4603: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):1512:1516 -> a
    4608:4608:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():628:628 -> a
    4608:4608:boolean com.android.tools.r8.utils.InternalOptions.isAnnotationRemovalEnabled():603 -> 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):1516 -> a
    4609:4611: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):1516:1518 -> a
    4612:4613: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
    4612: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):1518 -> a
    4614: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):1519:1523 -> a
    4619:4619:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():613:613 -> 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):1523 -> a
    4620:4622: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:1525 -> a
    4623:4624: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
    4623: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):1525 -> a
    4625: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):1526:1530 -> a
    4630:4630:boolean com.android.tools.r8.utils.InternalOptions.isOptimizationEnabled():618:618 -> 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):1530 -> a
    4631:4633: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:1532 -> a
    4634:4635: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
    4634: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):1532 -> a
    4636:4640: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):1533:1537 -> a
    4641:4641:boolean isMainDexRootSetBuilder():0:0 -> a
    4641: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):1537 -> a
    4642: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):1537:1541 -> a
    4647:4648: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
    4647:4648: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):1541 -> a
    4649:4658: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:1551 -> a
    4659:4669:void includeDescriptorClasses(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1128:1138 -> a
    4659:4669: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):1552 -> a
    4670:4670: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:1553 -> a
    4671:4671:java.util.Set lambda$evaluateKeepRule$17(com.android.tools.r8.graph.DexType):1454:1454 -> a
    4672:4676:void reportAssumeNoSideEffectsWarningForJavaLangClassMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule):1597:1601 -> a
    4677:4677:java.util.Set lambda$reportAssumeNoSideEffectsWarningForJavaLangClassMethod$18(com.android.tools.r8.utils.OriginWithPosition):1600:1600 -> a
    4678:4678:boolean isWaitOrNotifyMethod(com.android.tools.r8.graph.DexMethod):1605:1605 -> a
    4679:4691:void lambda$generateAssumeNoSideEffectsWarnings$19(com.android.tools.r8.utils.OriginWithPosition,java.util.Set):1620:1632 -> a
    4692:4692:void lambda$generateAssumeNoSideEffectsWarnings$19(com.android.tools.r8.utils.OriginWithPosition,java.util.Set):1627:1627 -> 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):234:234 -> b
    3:12:com.android.tools.r8.graph.DexProgramClass testAndGetPrecondition(com.android.tools.r8.graph.DexDefinition,java.util.Map):477:486 -> 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):498:528 -> 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):528 -> 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):529:529 -> 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):530 -> 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):531:533 -> 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):690:691 -> 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):703:703 -> b
    53:53:void com.android.tools.r8.graph.DexClass.forEachClassMethod(java.util.function.Consumer):154:154 -> b
    53:53: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):703 -> b
    54:55: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):725:726 -> b
    56:56:boolean satisfyExtendsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):836:836 -> b
    56:56:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):828 -> b
    57:67:boolean anySuperTypeMatchesExtendsRule(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardConfigurationRule):846:856 -> b
    57:67:boolean satisfyExtendsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):836 -> b
    57:67:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):828 -> b
    68:68:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):974:974 -> b
    68:68:boolean anySuperTypeMatchesExtendsRule(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardConfigurationRule):856 -> b
    68:68:boolean satisfyExtendsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):836 -> b
    68:68:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):828 -> b
    69:69:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):973:973 -> b
    69:69:boolean anySuperTypeMatchesExtendsRule(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardConfigurationRule):856 -> b
    69:69:boolean satisfyExtendsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):836 -> b
    69:69:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):828 -> b
    70:74:boolean anySuperTypeMatchesExtendsRule(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardConfigurationRule):858:862 -> b
    70:74:boolean satisfyExtendsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):836 -> b
    70:74:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):828 -> b
    75:75:boolean satisfyExtendsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):841:841 -> b
    75:75:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):828 -> b
    76:81:boolean satisfyImplementsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):868:873 -> b
    76:81:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):832 -> b
    82:84:boolean ruleSatisfiedByMethods(com.android.tools.r8.shaking.ProguardMemberRule,java.lang.Iterable):946:948 -> b
    85:87:void finalizeCheckDiscardedInformation():1390:1392 -> b
    88:88:void finalizeCheckDiscardedInformation():1391:1391 -> b
    89:89:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> b
    89:89:void finalizeCheckDiscardedInformation():1391 -> b
    90:92:void finalizeCheckDiscardedInformation():1393:1395 -> b
    93:97:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.graph.DexProgramClass.traverseProgramMembers(java.util.function.Function):332:336 -> b
    93:97:void finalizeCheckDiscardedInformation():1395 -> b
    98:99:void finalizeCheckDiscardedInformation():1400:1401 -> 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):668:693 -> c
    28:34:void generateAssumeNoSideEffectsWarnings():1611:1617 -> c
com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder$1 -> com.android.tools.r8.shaking.u2:
    1:1:void <init>(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder):1476:1476 -> <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.v2:
    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>():542:542 -> <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):542:542 -> <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):557:557 -> <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):549:564 -> <init>
    void handleMatchedAnnotation(com.android.tools.r8.shaking.AnnotationMatchResult) -> a
    1:1:void run():572:572 -> a
    2:16:void visitAllSuperInterfaces(com.android.tools.r8.graph.DexType):576:590 -> a
    17:23:void lambda$visitAllSuperInterfaces$0(com.android.tools.r8.graph.DexClassAndMethod):595:601 -> a
    24:51:void tryAndKeepMethodOnClass(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.shaking.ProguardMemberRule):608:635 -> 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):640:640 -> 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):641 -> 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):649:650 -> a
com.android.tools.r8.shaking.RuntimeTypeCheckInfo -> com.android.tools.r8.internal.iT:
    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.hT:
    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.x2:
    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:com.android.tools.r8.shaking.ScopedDexMethodSet$AddMethodIfMoreVisibleResult addMethodIfMoreVisible(com.android.tools.r8.graph.DexEncodedMethod):64:64 -> a
    14:20:boolean com.android.tools.r8.graph.AccessFlags.isMoreVisibleThan(com.android.tools.r8.graph.AccessFlags,java.lang.String,java.lang.String):101:107 -> a
    14:20:com.android.tools.r8.shaking.ScopedDexMethodSet$AddMethodIfMoreVisibleResult addMethodIfMoreVisible(com.android.tools.r8.graph.DexEncodedMethod):64 -> a
    21:21:com.android.tools.r8.shaking.ScopedDexMethodSet$AddMethodIfMoreVisibleResult addMethodIfMoreVisible(com.android.tools.r8.graph.DexEncodedMethod):68:68 -> a
    22:22:com.android.tools.r8.shaking.ScopedDexMethodSet getParent():75:75 -> a
    23:23: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.uU:
    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.rY:
    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.List):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():656:656 -> a
    50:50:java.util.List com.android.tools.r8.shaking.TreePruner.getNewProgramClasses(java.util.List):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.List):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.List):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.List):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.qY:
    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.sY:
    boolean isReachableOrReferencedField(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedField) -> a
com.android.tools.r8.shaking.UnusedArgumentRule -> com.android.tools.r8.shaking.z2:
    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.UnusedArgumentRule$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.UnusedArgumentRule$Builder -> com.android.tools.r8.shaking.y2:
    1:1:void <init>(com.android.tools.r8.shaking.UnusedArgumentRule$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.UnusedItemsPrinter -> com.android.tools.r8.internal.r00:
    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
    5:8:void visited():61:64 -> b
    9:9:void registerUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):68:68 -> b
    10:10:void registerUnusedField(com.android.tools.r8.graph.DexEncodedField):72:72 -> b
com.android.tools.r8.shaking.UnusedItemsPrinter$Members -> com.android.tools.r8.internal.p00:
    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.q00:
    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.f10:
    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>():118:118 -> <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):256:256 -> <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):229:271 -> <init>
    1:1:java.util.Set access$000(com.android.tools.r8.shaking.VerticalClassMerger):118:118 -> a
    2:20:void initializeMergeCandidates(java.lang.Iterable):275:293 -> a
    21:22:void extractPinnedItems(java.lang.Iterable,com.android.tools.r8.shaking.VerticalClassMerger$AbortReason):332:333 -> a
    23:23:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    23:23:void extractPinnedItems(java.lang.Iterable,com.android.tools.r8.shaking.VerticalClassMerger$AbortReason):333 -> a
    24:39:void extractPinnedItems(java.lang.Iterable,com.android.tools.r8.shaking.VerticalClassMerger$AbortReason):334:349 -> a
    40:49:void markTypeAsPinned(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.VerticalClassMerger$AbortReason):356:365 -> a
    50:61:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):373:384 -> a
    62:62:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    62:62:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):384 -> a
    63:66:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):384:384 -> a
    70:72:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):388:390 -> a
    73:73: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
    73:73: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
    73:73:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):390 -> a
    74:77:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):393:396 -> a
    78:78:boolean com.android.tools.r8.graph.DexClass.isAnnotation():652:652 -> a
    78:78:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):400 -> a
    79:79:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):403:403 -> a
    80:80:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):828:828 -> a
    80:80:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):404 -> a
    81:81:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):446:446 -> a
    81:81:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):828 -> a
    81:81:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):404 -> a
    82:83:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):404:405 -> a
    84:84:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):446:446 -> a
    84:84:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):405 -> a
    85:131:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):417:463 -> a
    132:133:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):438:439 -> a
    134:135:com.android.tools.r8.utils.TraversalContinuation lambda$isMergeCandidate$1(com.android.tools.r8.graph.ProgramMethod):458:459 -> a
    136:137:java.lang.Object com.android.tools.r8.graph.ProgramMethod.registerCodeReferencesWithResult(com.android.tools.r8.graph.UseRegistryWithResult):123:124 -> a
    136:137:com.android.tools.r8.utils.TraversalContinuation lambda$isMergeCandidate$1(com.android.tools.r8.graph.ProgramMethod):459 -> a
    138:138:com.android.tools.r8.utils.TraversalContinuation lambda$isMergeCandidate$1(com.android.tools.r8.graph.ProgramMethod):459:459 -> a
    139:139:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.TraversalContinuation.continueIf(boolean):17:17 -> a
    139:139:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.TraversalContinuation.breakIf(boolean):13 -> a
    139:139:com.android.tools.r8.utils.TraversalContinuation lambda$isMergeCandidate$1(com.android.tools.r8.graph.ProgramMethod):461 -> a
    140:165:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):474:499 -> a
    166:167:boolean com.android.tools.r8.graph.DexClass.hasStaticSynchronizedMethods():1213:1214 -> a
    166:167:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):500 -> a
    168:168:boolean com.android.tools.r8.graph.DexEncodedMethod.isSynchronized():444:444 -> a
    168:168:boolean com.android.tools.r8.graph.DexClass.hasStaticSynchronizedMethods():1214 -> a
    168:168:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):500 -> a
    169:170:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):501:502 -> a
    171:172:boolean com.android.tools.r8.graph.DexClass.hasStaticSynchronizedMethods():1213:1214 -> a
    171:172:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):503 -> a
    173:173:boolean com.android.tools.r8.graph.DexEncodedMethod.isSynchronized():444:444 -> a
    173:173:boolean com.android.tools.r8.graph.DexClass.hasStaticSynchronizedMethods():1214 -> a
    173:173:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):503 -> a
    174:189:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):505:520 -> a
    190:208:boolean com.android.tools.r8.shaking.VerticalClassMerger.fieldResolutionMayChange(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):931:949 -> a
    190:208:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):526 -> a
    209:209:boolean com.android.tools.r8.shaking.VerticalClassMerger.fieldResolutionMayChange(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):948:948 -> a
    209:209:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):526 -> a
    210:218:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):527:535 -> a
    219:219: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):38:38 -> a
    219:219:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):536 -> a
    220:220: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):37:37 -> a
    220:220:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):536 -> a
    221:225: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):46:50 -> a
    221:225: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):35 -> a
    221:225:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):536 -> a
    226:226:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):537:537 -> a
    227:227: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):38:38 -> a
    227:227:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):538 -> a
    228:228: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):37:37 -> a
    228:228:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):538 -> a
    229:233: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):46:50 -> a
    229:233: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):35 -> a
    229:233:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):538 -> a
    234:236:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):539:541 -> a
    237:238:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):513:514 -> a
    239:240:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):493:494 -> a
    241:241:boolean lambda$isStillMergeCandidate$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):489:489 -> a
    242:271:com.android.tools.r8.shaking.VerticalClassMergerGraphLens run():701:730 -> a
    272:272:void lambda$run$4(com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):726:726 -> a
    273:273:void lambda$run$4(com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):725:725 -> a
    274:279:boolean verifyGraphLens(com.android.tools.r8.shaking.VerticalClassMergerGraphLens):761:766 -> a
    280:280:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    280:280:boolean verifyGraphLens(com.android.tools.r8.shaking.VerticalClassMergerGraphLens):766 -> a
    281:281:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):344:344 -> a
    281:281:boolean verifyGraphLens(com.android.tools.r8.shaking.VerticalClassMergerGraphLens):767 -> a
    282:289:boolean verifyGraphLens(com.android.tools.r8.shaking.VerticalClassMergerGraphLens):770:777 -> a
    290:290:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    290:290:boolean verifyGraphLens(com.android.tools.r8.shaking.VerticalClassMergerGraphLens):779 -> a
    291:300:boolean verifyGraphLens(com.android.tools.r8.shaking.VerticalClassMergerGraphLens):780:789 -> a
    301:307:void lambda$methodResolutionMayChange$5(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexClassAndMethod):845:851 -> a
    308:308:void lambda$methodResolutionMayChange$6(com.android.tools.r8.graph.LookupLambdaTarget):856:856 -> a
    309:360:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):868:919 -> a
    361:371:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):915:925 -> a
    372:372:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):921:921 -> a
    373:373:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):906:906 -> a
    374:383: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):1916:1925 -> a
    374: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):421 -> a
    384:395: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):1921:1932 -> a
    384:395: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):421 -> a
    396:396: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):1931:1931 -> a
    396:396: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):421 -> a
    397:397:boolean com.android.tools.r8.graph.Code.isDefaultInstanceInitializerCode():0:0 -> a
    397:397: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):1936 -> a
    397:397: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):421 -> a
    398:403: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):424:429 -> a
    1:1:com.android.tools.r8.graph.SubtypingInfo access$100(com.android.tools.r8.shaking.VerticalClassMerger):118:118 -> b
    2:27:void initializePinnedTypes(java.lang.Iterable):303:328 -> b
    28:28:void initializePinnedTypes(java.lang.Iterable):327:327 -> b
    29:29:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):550:550 -> b
    30:30:boolean com.android.tools.r8.graph.DexClass.isPrivate():721:721 -> b
    30:30:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):554 -> b
    31:31:boolean com.android.tools.r8.graph.DexClass.isPublic():725:725 -> b
    31:31:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):554 -> b
    32:32:boolean com.android.tools.r8.graph.DexClass.isPrivate():721:721 -> b
    32:32:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):555 -> b
    33:33:boolean com.android.tools.r8.graph.DexClass.isPublic():725:725 -> b
    33:33:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):555 -> b
    34:34:boolean com.android.tools.r8.graph.DexClass.isPublic():725:725 -> b
    34:34:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):564 -> b
    35:36:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):567:568 -> b
    37:37:boolean com.android.tools.r8.graph.DexEncodedField.isPublic():225:225 -> b
    37:37:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):568 -> b
    38:43:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):568:573 -> b
    44:44:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():440:440 -> b
    44:44:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):573 -> b
    45:45:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):573:573 -> b
    46:46:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():440:440 -> b
    46:46:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):577 -> b
    47:47:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):578:578 -> b
    48:48:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():440:440 -> b
    48:48:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):579 -> b
    49:60:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):587:598 -> b
    61:62:com.android.tools.r8.utils.TraversalContinuation lambda$mergeMayLeadToIllegalAccesses$3(com.android.tools.r8.graph.ProgramMethod):590:591 -> b
    63:64:java.lang.Object com.android.tools.r8.graph.ProgramMethod.registerCodeReferencesWithResult(com.android.tools.r8.graph.UseRegistryWithResult):123:124 -> b
    63:64:com.android.tools.r8.utils.TraversalContinuation lambda$mergeMayLeadToIllegalAccesses$3(com.android.tools.r8.graph.ProgramMethod):591 -> b
    65:70:com.android.tools.r8.utils.TraversalContinuation lambda$mergeMayLeadToIllegalAccesses$3(com.android.tools.r8.graph.ProgramMethod):591:596 -> b
    1:1:com.android.tools.r8.ir.optimize.MethodPoolCollection access$1000(com.android.tools.r8.shaking.VerticalClassMerger):118:118 -> c
    2:64:boolean methodResolutionMayChange(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):796:858 -> c
    1:1:com.android.tools.r8.ir.optimize.info.OptimizationFeedback access$1300(com.android.tools.r8.shaking.VerticalClassMerger):118:118 -> d
    1:1:com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap access$1400(com.android.tools.r8.shaking.VerticalClassMerger):118:118 -> e
    1:1:com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap access$1500(com.android.tools.r8.shaking.VerticalClassMerger):118:118 -> f
    1:1:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder access$1600(com.android.tools.r8.shaking.VerticalClassMerger):118:118 -> g
    1:1:com.android.tools.r8.graph.DexApplication access$1700(com.android.tools.r8.shaking.VerticalClassMerger):118:118 -> h
    1:1:java.util.Collection access$1800(com.android.tools.r8.shaking.VerticalClassMerger):118:118 -> i
    2:5:java.util.Collection com.android.tools.r8.shaking.VerticalClassMerger.getInvokes():602:605 -> i
    2:5:java.util.Collection access$1800(com.android.tools.r8.shaking.VerticalClassMerger):118 -> i
    1:1:com.android.tools.r8.shaking.AppInfoWithLiveness access$200(com.android.tools.r8.shaking.VerticalClassMerger):118:118 -> j
    1:1:com.android.tools.r8.graph.AppView access$300(com.android.tools.r8.shaking.VerticalClassMerger):118:118 -> k
    1:1:java.util.concurrent.ExecutorService access$800(com.android.tools.r8.shaking.VerticalClassMerger):118:118 -> l
    1:1:com.android.tools.r8.utils.Timing access$900(com.android.tools.r8.shaking.VerticalClassMerger):118:118 -> m
com.android.tools.r8.shaking.VerticalClassMerger$AbortReason$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.W00:
# {"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>():120:120 -> <clinit>
    1:1:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142:142 -> a
    2:2:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):206:206 -> a
    2:2:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
    3:3:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):203:203 -> a
    3:3:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
    4:4:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):200:200 -> a
    4:4:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
    5:5:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):197:197 -> a
    5:5:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
    6:6:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):194:194 -> a
    6:6:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
    7:7:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):191:191 -> a
    7:7:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
    8:8:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):188:188 -> a
    8:8:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
    9:9:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):185:185 -> a
    9:9:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
    10:10:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):182:182 -> a
    10:10:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
    11:11:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):179:179 -> a
    11:11:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
    12:12:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):176:176 -> a
    12:12:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
    13:13:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):173:173 -> a
    13:13:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
    14:14:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):170:170 -> a
    14:14:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
    15:15:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):167:167 -> a
    15:15:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
    16:16:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):164:164 -> a
    16:16:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
    17:17:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):161:161 -> a
    17:17:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
    18:18:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):158:158 -> a
    18:18:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
    19:19:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):155:155 -> a
    19:19:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
    20:20:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):152:152 -> a
    20:20:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
    21:80:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):149:208 -> a
    21:80:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
    81:81:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142:142 -> a
    82:82:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):206:206 -> a
    82:82:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
    83:83:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):147:147 -> a
    83:83:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):142 -> a
com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger -> com.android.tools.r8.internal.X00:
    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>():960:960 -> <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):960:960 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):970:970 -> <init>
    3:11:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):964:972 -> <init>
    boolean lambda$getGenericSignatureArgumentApplier$7(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType) -> a
    boolean lambda$getGenericSignatureArgumentApplier$8(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):987:990 -> a
    5:7:boolean lambda$merge$1(java.util.function.Predicate,com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool,com.android.tools.r8.graph.DexMethod):1077:1079 -> a
    8:8:boolean lambda$merge$1(java.util.function.Predicate,com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool,com.android.tools.r8.graph.DexMethod):1078:1078 -> a
    9:9:boolean lambda$merge$2(com.android.tools.r8.graph.DexEncodedMethod):1137:1137 -> a
    10:10:boolean com.android.tools.r8.graph.Code.isDefaultInstanceInitializerCode():0:0 -> a
    10:10:boolean lambda$merge$2(com.android.tools.r8.graph.DexEncodedMethod):1137 -> a
    11:11:void lambda$merge$3(com.android.tools.r8.graph.ProgramMethod):1138:1138 -> a
    12:12:void com.android.tools.r8.graph.DefaultInstanceInitializerCode.uncanonicalizeCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):75:75 -> a
    12:12:void lambda$merge$3(com.android.tools.r8.graph.ProgramMethod):1138 -> a
    13:13:boolean lambda$merge$4(java.util.Set,com.android.tools.r8.graph.DexField):1155:1155 -> a
    14:33:void rewriteGenericSignatures(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,java.util.Collection):1240:1259 -> a
    34:37:com.android.tools.r8.graph.GenericSignature$ClassSignature com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier.visitClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):70:73 -> a
    34:37:void rewriteGenericSignatures(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,java.util.Collection):1259 -> a
    38:77:void rewriteGenericSignatures(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,java.util.Collection):1261:1300 -> a
    78:79:void com.android.tools.r8.utils.CollectionUtils.forEach(java.util.function.Consumer,java.util.Collection[]):30:31 -> a
    78:79:void rewriteGenericSignatures(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,java.util.Collection):1300 -> a
    80:80:void rewriteGenericSignatures(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,java.util.Collection):1314:1314 -> a
    81:88:void lambda$rewriteGenericSignatures$5(com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedMethod):1302:1309 -> a
    89:89:void lambda$rewriteGenericSignatures$5(com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedMethod):1306:1306 -> a
    90:94:void lambda$rewriteGenericSignatures$6(com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedField):1316:1320 -> a
    95:95:void lambda$rewriteGenericSignatures$6(com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedField):1319:1319 -> a
    96:120:com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier getGenericSignatureArgumentApplier(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):1326:1350 -> a
    121:121:com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier getGenericSignatureArgumentApplier(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):1348:1348 -> a
    122:134:boolean restoreDebuggingState(java.util.stream.Stream):1356:1368 -> a
    135:135:boolean restoreDebuggingState(java.util.stream.Stream):1367:1367 -> a
    136:136:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder getRenamings():1373:1373 -> a
    137:165:void redirectSuperCallsInTarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1382:1410 -> a
    166:166:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    166:166: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
    166:166:void redirectSuperCallsInTarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1410 -> a
    167:167: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
    167:167:void redirectSuperCallsInTarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1410 -> a
    168:206:void redirectSuperCallsInTarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1413:1451 -> a
    207:207:com.android.tools.r8.graph.GraphLens$MethodLookupResult lambda$redirectSuperCallsInTarget$12(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription):1396:1396 -> a
    208:208:com.android.tools.r8.graph.GraphLens$MethodLookupResult lambda$redirectSuperCallsInTarget$13(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.RewrittenPrototypeDescription):1419:1419 -> a
    209:212:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1580:1583 -> a
    213:224:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameFieldIfNeeded(com.android.tools.r8.graph.DexEncodedField,java.util.function.Predicate):1682:1693 -> a
    213:224:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1584 -> a
    225:231:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameFieldIfNeeded(com.android.tools.r8.graph.DexEncodedField,java.util.function.Predicate):1692:1698 -> a
    225:231:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1584 -> a
    232:232: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
    232:232:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameFieldIfNeeded(com.android.tools.r8.graph.DexEncodedField,java.util.function.Predicate):1698 -> a
    232:232:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1584 -> a
    233:234:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1585:1586 -> a
    235:235:void com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):323:323 -> a
    235:235:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1586 -> a
    236:241:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1587:1592 -> a
    242:242:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1601:1601 -> a
    243:243: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":1849,"2":1850,"3":1851,"4":1852,"5":1853}}
    1849:1849:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1603:1603 -> a
    1850:1850:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1603:1603 -> a
    1851:1851:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1603:1603 -> a
    1852:1852:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1603:1603 -> a
    1853:1853:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1603:1603 -> a
    1848:1848:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1605:1605 -> a
    1854:1882: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):1646:1674 -> a
    1883:1907: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):1653:1677 -> a
    1908:1908: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):1651:1651 -> a
    1:2:void lambda$restoreDebuggingState$10(com.android.tools.r8.graph.DexEncodedMethod):1363:1364 -> b
    3:3:java.util.List getSynthesizedBridges():1377:1377 -> b
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult lambda$redirectSuperCallsInTarget$14(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.RewrittenPrototypeDescription):1444:1444 -> b
    1:2:boolean merge():979:980 -> 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):1563:1564 -> c
    3:4:boolean merge():980 -> c
    5:17:boolean merge():982:994 -> c
    18:27:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameConstructor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate):1610:1619 -> c
    18:27:boolean merge():996 -> c
    28:35:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameConstructor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate):1618:1625 -> c
    28:35:boolean merge():996 -> c
    36:36: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
    36:36:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameConstructor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate):1625 -> c
    36:36:boolean merge():996 -> c
    37:40:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameConstructor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate):1626:1629 -> c
    37:40:boolean merge():996 -> c
    41:44:void com.android.tools.r8.shaking.VerticalClassMerger.makePrivate(com.android.tools.r8.graph.DexEncodedMethod):1712:1715 -> c
    41:44:void com.android.tools.r8.shaking.VerticalClassMerger.access$1200(com.android.tools.r8.graph.DexEncodedMethod):118 -> c
    41:44:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameConstructor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate):1630 -> c
    41:44:boolean merge():996 -> c
    45:45:boolean merge():997:997 -> c
    46:46: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):1558:1558 -> c
    46:46:boolean merge():997 -> c
    47:47:boolean merge():998:998 -> c
    48:48:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.blockRedirectionOfSuperCalls(com.android.tools.r8.graph.DexMethod):1474:1474 -> c
    48:48:boolean merge():998 -> c
    49:49:boolean merge():1004:1004 -> c
    50:50: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):1636:1636 -> c
    50:50:boolean merge():1001 -> c
    51:51:boolean merge():1005:1005 -> c
    52:52: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):1558:1558 -> c
    52:52:boolean merge():1005 -> c
    53:53:boolean merge():1006:1006 -> c
    54:54: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
    54:54:boolean merge():1006 -> c
    55:57:boolean merge():1007:1007 -> c
    59:59:boolean merge():1009:1009 -> c
    60:60:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.blockRedirectionOfSuperCalls(com.android.tools.r8.graph.DexMethod):1474:1474 -> c
    60:60:boolean merge():1009 -> c
    61:61:boolean merge():1013:1013 -> c
    62:77:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1528:1543 -> c
    62:77:boolean merge():1014 -> c
    78:78:boolean merge():0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":349,"2":350,"3":351}}
    349:349:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1544:1544 -> c
    349:349:boolean merge():1014 -> c
    350:350:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1544:1544 -> c
    350:350:boolean merge():1014 -> c
    351:351:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1544:1544 -> c
    351:351:boolean merge():1014 -> c
    79:79:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1544:1544 -> c
    79:79:boolean merge():1014 -> c
    80:80:boolean merge():0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":354,"2":355,"3":356}}
    354:354:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1547:1547 -> c
    354:354:boolean merge():1014 -> c
    355:355:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1547:1547 -> c
    355:355:boolean merge():1014 -> c
    356:356:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1547:1547 -> c
    356:356:boolean merge():1014 -> c
    81:81:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1549:1549 -> c
    81:81:boolean merge():1014 -> c
    82:82:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1544:1544 -> c
    82:82:boolean merge():1014 -> c
    83:88:boolean merge():1016:1021 -> c
    89:89: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
    89:89:boolean merge():1021 -> c
    90:90:boolean merge():1022:1022 -> c
    91:91: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
    91:91:boolean merge():1022 -> c
    92:105:boolean merge():1023:1036 -> c
    106:118:boolean merge():1035:1047 -> c
    119:119: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):1636:1636 -> c
    119:119:boolean merge():1052 -> c
    120:120:boolean merge():1054:1054 -> c
    121:124:boolean merge():1053:1056 -> c
    125:125:boolean merge():1055:1055 -> c
    126:126: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
    126:126:boolean merge():1055 -> c
    127:129:boolean merge():1057:1057 -> c
    131:131:boolean merge():1059:1059 -> c
    132:132: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):1558:1558 -> c
    132:132:boolean merge():1059 -> c
    133:149:boolean merge():1065:1081 -> c
    150:150:boolean merge():1074:1074 -> c
    151:155:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.makeStatic(com.android.tools.r8.graph.DexEncodedMethod):1702:1706 -> c
    151:155:boolean merge():1082 -> c
    156:156:boolean merge():1085:1085 -> c
    157:157: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):1636:1636 -> c
    157:157:boolean merge():1091 -> c
    158:158:boolean merge():1092:1092 -> c
    159:163:void com.android.tools.r8.shaking.VerticalClassMerger.makePublic(com.android.tools.r8.graph.DexEncodedMethod):1719:1723 -> c
    159:163:void com.android.tools.r8.shaking.VerticalClassMerger.access$1100(com.android.tools.r8.graph.DexEncodedMethod):118 -> c
    159:163:boolean merge():1093 -> c
    164:167:void com.android.tools.r8.shaking.VerticalClassMerger.makePrivate(com.android.tools.r8.graph.DexEncodedMethod):1712:1715 -> c
    164:167:void com.android.tools.r8.shaking.VerticalClassMerger.access$1200(com.android.tools.r8.graph.DexEncodedMethod):118 -> c
    164:167:boolean merge():1095 -> c
    168:170:boolean merge():1100:1102 -> c
    171:171: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):1558:1558 -> c
    171:171:boolean merge():1099 -> c
    172:173:boolean merge():1106:1107 -> c
    174:174:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.blockRedirectionOfSuperCalls(com.android.tools.r8.graph.DexMethod):1474:1474 -> c
    174:174:boolean merge():1107 -> c
    175:186: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):1479:1490 -> c
    175:186:boolean merge():1115 -> c
    187:193: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):1488:1494 -> c
    187:193:boolean merge():1115 -> c
    194:194:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> c
    194:194: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):1494 -> c
    194:194:boolean merge():1115 -> c
    195:221: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):1495:1521 -> c
    195:221:boolean merge():1115 -> c
    222:224:boolean merge():1116:1116 -> c
    226:226:boolean merge():1118:1118 -> c
    227:227: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):1558:1558 -> c
    227:227:boolean merge():1118 -> c
    228:228:boolean merge():1121:1121 -> c
    229:229: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
    229:229:boolean merge():1121 -> c
    230:235:boolean merge():1122:1127 -> c
    236:270:boolean merge():1126:1160 -> c
    271:280:boolean merge():1158:1167 -> c
    281:288:boolean merge():1165:1172 -> c
    289:291:java.util.Set com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.mergeArrays(java.lang.Object[],java.lang.Object[]):1569:1571 -> c
    289:291:boolean merge():1172 -> c
    292:328:boolean merge():1175:1211 -> c
    329:342: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
    329:342:boolean merge():1211 -> c
    343:346:boolean merge():1210:1213 -> c
    347:347:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.isValid():58:58 -> c
    347:347:boolean merge():1213 -> c
    348:348:boolean merge():1210:1210 -> c
    357:357:boolean lambda$restoreDebuggingState$11(com.android.tools.r8.graph.DexEncodedMethod):1368:1368 -> c
    1:2:void lambda$restoreDebuggingState$9(com.android.tools.r8.graph.DexEncodedMethod):1358:1359 -> d
com.android.tools.r8.shaking.VerticalClassMerger$CollisionDetector -> com.android.tools.r8.internal.Y00:
    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>():1805:1805 -> <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):1805:1805 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):1816:1816 -> <init>
    3:15:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):1810:1822 -> <init>
    1:18:void fillSeenPositions():1852:1869 -> a
    19:20:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap lambda$fillSeenPositions$0(com.android.tools.r8.graph.DexString):1859:1860 -> 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):1879:1910 -> a
    1:22:boolean mayCollide():1826:1847 -> b
com.android.tools.r8.shaking.VerticalClassMerger$IllegalAccessDetector -> com.android.tools.r8.internal.Z00:
    com.android.tools.r8.graph.AppView appView -> f
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):2056:2057 -> <init>
    1:2:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2078:2079 -> a
    3:3:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    3:3:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2079 -> a
    4:7:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2080:2083 -> 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):2083 -> a
    9:13:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2088:2092 -> a
    14:14:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():440:440 -> a
    14:14:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2092 -> a
    15:15:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2093:2093 -> a
    16:17:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):2126:2127 -> a
    18:18: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):429:429 -> a
    18:18:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):2127 -> a
    19:19:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):2128:2128 -> a
    20:20:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):2159:2159 -> a
    21:21:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):467:467 -> a
    21:21:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):2159 -> a
    22:22:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):2159:2159 -> a
    1:1:void registerInitClass(com.android.tools.r8.graph.DexType):2114:2114 -> b
    2:3:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):2140:2141 -> 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):429:429 -> b
    4:4:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):2141 -> b
    5:5:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):2142:2142 -> b
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):2154:2154 -> c
    2:2:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):467:467 -> c
    2:2:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):2154 -> c
    3:3:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):2154:2154 -> c
    4:4:void registerInstanceOf(com.android.tools.r8.graph.DexType):2184:2184 -> c
    1:2:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):2133:2134 -> 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):429:429 -> d
    3:3:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):2134 -> d
    4:4:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):2135:2135 -> d
    5:5:void registerNewInstance(com.android.tools.r8.graph.DexType):2164:2164 -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):2169:2169 -> e
    2:2:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):467:467 -> e
    2:2:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):2169 -> e
    3:3:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):2169:2169 -> e
    1:2:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):2147:2148 -> 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):429:429 -> f
    3:3:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):2148 -> f
    4:4:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):2149:2149 -> f
    5:5:void registerTypeReference(com.android.tools.r8.graph.DexType):2179:2179 -> f
    1:1:boolean checkTypeReference(com.android.tools.r8.graph.DexType):2101:2101 -> g
    2:2:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> g
    2:2:boolean checkTypeReference(com.android.tools.r8.graph.DexType):2101 -> g
    3:6:boolean checkTypeReference(com.android.tools.r8.graph.DexType):2102:2105 -> g
    7:8:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):2119:2120 -> 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):429:429 -> g
    9:9:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):2120 -> g
    10:10:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):2121:2121 -> g
    11:11:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):2174:2174 -> g
    12:12:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):467:467 -> g
    12:12:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):2174 -> g
    13:13:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):2174:2174 -> g
    1:2:boolean checkFieldReference(com.android.tools.r8.graph.DexField):2061:2062 -> i
    3:3:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> i
    3:3:boolean checkFieldReference(com.android.tools.r8.graph.DexField):2062 -> i
    4:11:boolean checkFieldReference(com.android.tools.r8.graph.DexField):2063:2070 -> i
com.android.tools.r8.shaking.VerticalClassMerger$InvokeSpecialToDefaultLibraryMethodUseRegistry -> com.android.tools.r8.internal.a10:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():2188:2188 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):2193:2194 -> <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):2199:2206 -> 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.b10:
    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):616:616 -> <init>
    2:10:void <init>(com.android.tools.r8.shaking.VerticalClassMerger):611:619 -> <init>
    1:35:java.util.Collection get():624:658 -> a
    36:36:com.android.tools.r8.graph.DexProto lambda$get$0(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexString):642:642 -> a
    37:41:boolean protoMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexProto):666:670 -> a
    42:49:boolean com.android.tools.r8.shaking.VerticalClassMerger$OverloadedMethodSignaturesRetriever.typeMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexType):686:693 -> a
    42:49:boolean protoMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexProto):670 -> a
    50:50:boolean protoMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexProto):673:673 -> a
    51:58:boolean com.android.tools.r8.shaking.VerticalClassMerger$OverloadedMethodSignaturesRetriever.typeMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexType):686:693 -> a
    51:58:boolean protoMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexProto):674 -> a
    59:59:boolean protoMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexProto):680:680 -> a
com.android.tools.r8.shaking.VerticalClassMerger$SingleTypeMapperGraphLens -> com.android.tools.r8.internal.c10:
    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>():1944:1944 -> <clinit>
    1:4:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1949:1952 -> <init>
    1:1:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):1957:1957 -> a
    2:2:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):1967:1967 -> a
    3:3:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):1972:1972 -> 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):1995:2015 -> a
    25:25:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):2022:2022 -> a
    1:1:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):1962:1962 -> b
    2:2:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):1977:1977 -> b
    3:3:com.android.tools.r8.graph.DexField lookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):2033:2033 -> b
    4:4:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):2039:2039 -> b
    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):2028:2028 -> c
    1:1:com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType):1982:1982 -> d
    1:1:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):1987:1987 -> e
    boolean isContextFreeForMethods() -> g
com.android.tools.r8.shaking.VerticalClassMerger$SynthesizedBridgeCode -> com.android.tools.r8.internal.d10:
    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>():2244:2244 -> <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):2257:2262 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod access$500(com.android.tools.r8.shaking.VerticalClassMerger$SynthesizedBridgeCode):2244:2244 -> a
    2:3:void updateMethodSignatures(java.util.function.Function):2277:2278 -> a
    4:4:java.util.function.Consumer getRegistryCallback(com.android.tools.r8.graph.DexClassAndMethod):2297:2297 -> a
    5:17:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2298:2310 -> a
    18:18:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2339,"2":2340,"3":2341}}
    2339:2339:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2310:2310 -> a
    2340:2340:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2310:2310 -> a
    2341:2341:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2310:2310 -> a
    2328:2328:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2310:2310 -> a
    2329:2329:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2304:2304 -> a
    2330:2330:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2301:2301 -> a
    1:2:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2283:2284 -> t0
    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 -> t0
    3:3:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2284 -> t0
    4:7:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2285:2288 -> t0
    8:8:boolean com.android.tools.r8.ir.code.Invoke$Type.isStatic():189:189 -> t0
    8:8:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2288 -> t0
    9:13:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2288:2292 -> t0
com.android.tools.r8.shaking.VerticalClassMerger$VerticalClassMergerTreeFixer -> com.android.tools.r8.internal.e10:
    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>():1726:1726 -> <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):1738:1743 -> <init>
    1:1:com.android.tools.r8.shaking.VerticalClassMergerGraphLens access$400(com.android.tools.r8.shaking.VerticalClassMerger$VerticalClassMergerTreeFixer):1726:1726 -> a
    2:2:void recordClassChange(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):1774:1774 -> a
    3:3:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):1779:1779 -> 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):1779 -> a
    5:5:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):1780:1780 -> a
    6:6:void com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):323:323 -> a
    6:6:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):1780 -> a
    7:8:void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):1786:1787 -> a
    9:14:com.android.tools.r8.graph.DexEncodedMethod recordMethodChange(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1794:1799 -> a
    1:3:com.android.tools.r8.shaking.VerticalClassMergerGraphLens fixupTypeReferences():1748:1750 -> 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():1750 -> b
    5:6:com.android.tools.r8.shaking.VerticalClassMergerGraphLens fixupTypeReferences():1750:1751 -> 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():1751 -> b
    8:15:com.android.tools.r8.shaking.VerticalClassMergerGraphLens fixupTypeReferences():1751:1758 -> b
    16:17:com.android.tools.r8.graph.DexType mapClassType(com.android.tools.r8.graph.DexType):1765:1766 -> b
com.android.tools.r8.shaking.VerticalClassMergerGraphLens -> com.android.tools.r8.internal.i10:
    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.g10:
    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 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:188 -> a
    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.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.h10:
    com.android.tools.r8.graph.GraphLens$MethodLookupResult get(com.android.tools.r8.graph.RewrittenPrototypeDescription) -> a
com.android.tools.r8.shaking.WhyAreYouKeepingConsumer -> com.android.tools.r8.internal.I10:
    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.G10:
    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.H10:
    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.B2:
    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.A2:
    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.DexClass definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):60:60 -> 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:196:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):239:240 -> a
    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:206:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):240:248 -> a
    207:207:com.android.tools.r8.graph.DexType com.android.tools.r8.synthesis.SyntheticClassReference.getHolder():31:31 -> a
    207:207:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):248 -> a
    208:221:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):248:261 -> a
    222:226:com.android.tools.r8.synthesis.CommittedSyntheticsCollection rewriteWithLens(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):265:269 -> a
    227: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):276:277 -> a
    229:229:java.lang.Iterable com.android.tools.r8.utils.IterableUtils.flatten(java.lang.Iterable):157:157 -> a
    229:229: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
    230:241: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
    242:244:boolean verifyTypesAreInApp(com.android.tools.r8.graph.DexApplication):292:294 -> a
    245:246:boolean verifyTypesAreInApp(com.android.tools.r8.graph.DexApplication,java.util.Collection):299:300 -> a
    247:247:boolean verifyTypesAreInApp(com.android.tools.r8.graph.DexApplication,java.util.Collection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":548,"2":549,"3":550,"4":551,"5":552}}
    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
    552:552:boolean verifyTypesAreInApp(com.android.tools.r8.graph.DexApplication,java.util.Collection):300:300 -> a
    547:547: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
    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
    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.CommittedSyntheticsCollection$Builder addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):51: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
    5:5:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):51:51 -> a
    6:9:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassReference):55:58 -> a
    10:10:com.android.tools.r8.graph.DexType com.android.tools.r8.synthesis.SyntheticClassReference.getHolder():31:31 -> a
    10:10:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassReference):59 -> a
    11:12:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassReference):59:60 -> a
    13:13:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyMethod(com.android.tools.r8.synthesis.SyntheticMethodDefinition):65:65 -> a
    14:17:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyMethod(com.android.tools.r8.synthesis.SyntheticMethodReference):69:72 -> a
    18:18:com.android.tools.r8.graph.DexType com.android.tools.r8.synthesis.SyntheticMethodReference.getHolder():33:33 -> a
    18:18:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyMethod(com.android.tools.r8.synthesis.SyntheticMethodReference):73 -> a
    19:20:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyMethod(com.android.tools.r8.synthesis.SyntheticMethodReference):73:74 -> a
    21:24:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addSyntheticInput(com.android.tools.r8.graph.DexType):79:82 -> a
    25:34: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.TS:
    com.android.tools.r8.graph.DexType getHolder() -> a
    com.android.tools.r8.synthesis.Rewritable rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens) -> a
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.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
    5:5:com.android.tools.r8.synthesis.SynthesizingContext fromNonSyntheticInputContext(com.android.tools.r8.graph.ClasspathOrLibraryClass):49 -> a
    6:6:com.android.tools.r8.synthesis.SynthesizingContext fromNonSyntheticInputContext(com.android.tools.r8.graph.ClasspathOrLibraryClass):49:49 -> a
    7:7:com.android.tools.r8.synthesis.SynthesizingContext fromType(com.android.tools.r8.graph.DexType):57:57 -> a
    8:9:com.android.tools.r8.synthesis.SynthesizingContext fromNonSyntheticInputContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.FeatureSplit):64:65 -> a
    10:11:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    10:11:com.android.tools.r8.synthesis.SynthesizingContext fromNonSyntheticInputContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.FeatureSplit):65 -> a
    12:12:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
    12:12:com.android.tools.r8.synthesis.SynthesizingContext fromNonSyntheticInputContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.FeatureSplit):65 -> a
    13:13:com.android.tools.r8.synthesis.SynthesizingContext fromNonSyntheticInputContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.FeatureSplit):65:65 -> a
    14: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):74:76 -> a
    17:17: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
    17:17: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
    18:18:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    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 -> a
    18:18: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
    19:19: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
    19:19: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
    20:20: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
    21:27:int compareTo(com.android.tools.r8.synthesis.SynthesizingContext):93:99 -> a
    28:28:com.android.tools.r8.FeatureSplit getFeatureSplit():111:111 -> a
    29:29:com.android.tools.r8.synthesis.SynthesizingContext rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):115:115 -> a
    30:30:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    30:30:com.android.tools.r8.synthesis.SynthesizingContext rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):115 -> a
    31:31:com.android.tools.r8.synthesis.SynthesizingContext rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):116:116 -> a
    32:32:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    32:32:com.android.tools.r8.synthesis.SynthesizingContext rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):116 -> a
    33:35:com.android.tools.r8.synthesis.SynthesizingContext rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):118:120 -> a
    36:36:void registerPrefixRewriting(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):128:128 -> a
    37:37:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():442:442 -> a
    37:37:void registerPrefixRewriting(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):128 -> a
    38:58:void registerPrefixRewriting(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):131:151 -> a
    59:59:boolean isDerivedFromMainDexList(com.android.tools.r8.shaking.MainDexInfo):164:164 -> 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":165,"2":166,"3":167}}
    165:165:java.lang.String toString():156:156 -> toString
    166:166:java.lang.String toString():156:156 -> toString
    167:167:java.lang.String toString():156:156 -> toString
    2:2:com.android.tools.r8.graph.DexType getSynthesizingContextType():103:103 -> toString
    2:2:java.lang.String toString():157 -> toString
    3:4:java.lang.String toString():157:158 -> toString
    5:5:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":165,"2":166,"3":167}}
    165:165:java.lang.String toString():158:158 -> toString
    166:166:java.lang.String toString():158:158 -> toString
    167:167:java.lang.String toString():158:158 -> toString
    163:163:java.lang.String toString():158:158 -> toString
    164:164:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":165,"2":166,"3":167}}
    165:165:java.lang.String toString():158:158 -> toString
    166:166:java.lang.String toString():158:158 -> toString
    167:167:java.lang.String toString():158:158 -> 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:4:com.android.tools.r8.synthesis.SyntheticClassBuilder setOriginKind(com.android.tools.r8.ProgramResource$Kind):114:115 -> a
    5:6:com.android.tools.r8.synthesis.SyntheticClassBuilder setSourceFile(com.android.tools.r8.graph.DexString):119:120 -> a
    7:8:com.android.tools.r8.synthesis.SyntheticClassBuilder setGenericSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):124:125 -> a
    9:11:com.android.tools.r8.synthesis.SyntheticClassBuilder setInstanceFields(java.util.List):135:137 -> a
    12:14:com.android.tools.r8.synthesis.SyntheticClassBuilder setDirectMethods(java.lang.Iterable):141:143 -> a
    15:17:com.android.tools.r8.synthesis.SyntheticClassBuilder setVirtualMethods(java.lang.Iterable):147:149 -> a
    18:21:com.android.tools.r8.synthesis.SyntheticClassBuilder addMethod(java.util.function.Consumer):153:156 -> a
    22:66:com.android.tools.r8.graph.DexClass build():165:209 -> a
    67:92: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:2:com.android.tools.r8.synthesis.SyntheticClassBuilder unsetFinal():98:99 -> 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() -> b
    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 -> a
    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>
    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
    com.android.tools.r8.synthesis.SyntheticClasspathDefinition asClasspathDefinition() -> b
    boolean isClasspathDefinition() -> h
    1:1:boolean isValid():43:43 -> j
    2:2:boolean com.android.tools.r8.graph.DexClass.isPublic():725:725 -> j
    2:2:boolean isValid():43 -> j
    3:3:boolean isValid():43:43 -> j
    4:4:boolean com.android.tools.r8.graph.DexClass.isFinal():656:656 -> j
    4:4:boolean isValid():43 -> j
    5:5: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):397:397 -> 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.jX:
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>
    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
    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:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):112:112 -> a
    25:29:boolean com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind.isShareable():105:109 -> a
    25:29:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):112 -> a
    30:30:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):113:113 -> a
    31:32:com.android.tools.r8.synthesis.SynthesizingContext getContext():58:58 -> a
    31:32:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):116 -> a
    33:33:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):116:116 -> a
    34:34:com.android.tools.r8.synthesis.SynthesizingContext getContext():58:58 -> 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 -> 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:121 -> a
    36:36:com.android.tools.r8.synthesis.SynthesizingContext getContext():58:58 -> a
    36:36:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):121 -> a
    37:40:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):121:124 -> a
    41:41:com.android.tools.r8.synthesis.SynthesizingContext getContext():58:58 -> 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 -> a
    42:42:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):124:124 -> a
    43:66: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.SyntheticClasspathDefinition asClasspathDefinition() -> b
    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):163:166 -> 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):165:170 -> 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):168:168 -> 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.kX:
    com.android.tools.r8.graph.DexClass 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:13:void finalize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):159:171 -> a
    14:14:void finalize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):167:167 -> a
    15:25:void finalize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):164:174 -> a
    26:41:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):213:228 -> a
    42:53: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
    42:53:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):227 -> a
    54:61: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
    54:61:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):227 -> a
    62:65:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):227:230 -> a
    66:77: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
    66:77:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):229 -> a
    78:85: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
    78:85:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):229 -> a
    86:86:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):229:229 -> a
    87:138:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):225:276 -> a
    139:139: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
    140:140: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
    141:143: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
    144:144:void lambda$computeFinalSynthetics$4(com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens,java.util.function.Consumer):258:258 -> a
    145:145:void com.android.tools.r8.synthesis.CommittedSyntheticsCollection.forEachSyntheticInput(java.util.function.Consumer):224:224 -> a
    145:145:void lambda$computeFinalSynthetics$4(com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens,java.util.function.Consumer):258 -> a
    146:146:void lambda$computeFinalSynthetics$3(java.util.function.Consumer,com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens,com.android.tools.r8.graph.DexType):261:261 -> a
    147:147:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    147:147:void lambda$computeFinalSynthetics$3(java.util.function.Consumer,com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens,com.android.tools.r8.graph.DexType):261 -> a
    148:148:void lambda$computeFinalSynthetics$3(java.util.function.Consumer,com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens,com.android.tools.r8.graph.DexType):260:260 -> a
    149:149:boolean verifyNoNestedSynthetics(com.android.tools.r8.graph.DexItemFactory):314:314 -> a
    150:150:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):316:316 -> a
    151:151:boolean com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind.allowSyntheticContext():101:101 -> a
    151:151:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):316 -> a
    152:152:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):320:320 -> a
    153:156:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):163:166 -> a
    153:156:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):320 -> a
    157:162:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):165:170 -> a
    157:162:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):320 -> a
    163:165:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):321:323 -> a
    166:166:boolean isNotSyntheticType(com.android.tools.r8.graph.DexType):309:309 -> a
    166:166:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):324 -> a
    167:167:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):324:324 -> a
    168:168:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType) -> a
    168:168:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):320 -> a
    169:179:boolean verifyOneSyntheticPerSyntheticClass():330:340 -> a
    180:181:void lambda$verifyOneSyntheticPerSyntheticClass$6(java.util.Set,com.android.tools.r8.graph.DexType,java.util.List):335:336 -> a
    182:307: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
    308:308:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    308:308: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
    309:334: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
    335:336:void lambda$buildLensAndProgram$8(java.util.Set,java.util.List,com.android.tools.r8.synthesis.SyntheticMethodDefinition):402:403 -> a
    337:340: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
    341:341:com.android.tools.r8.graph.DexClass com.android.tools.r8.synthesis.SyntheticClassDefinition.getHolder():29:29 -> a
    341:341: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
    342: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:416 -> a
    347:347:void lambda$buildLensAndProgram$10(java.util.Set,java.util.List,com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):418:418 -> a
    348:348:com.android.tools.r8.graph.DexClass com.android.tools.r8.synthesis.SyntheticClassDefinition.getHolder():29:29 -> a
    348:348:void lambda$buildLensAndProgram$10(java.util.Set,java.util.List,com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):418 -> a
    349:349:void lambda$buildLensAndProgram$10(java.util.Set,java.util.List,com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):418:418 -> a
    350:350:com.android.tools.r8.graph.DexClass com.android.tools.r8.synthesis.SyntheticClassDefinition.getHolder():29:29 -> a
    350:350:void lambda$buildLensAndProgram$10(java.util.Set,java.util.List,com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):419 -> a
    351:351:void lambda$buildLensAndProgram$10(java.util.Set,java.util.List,com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):419:419 -> 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):181:181 -> 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():477:477 -> 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
    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:852: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
    847:852:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):535 -> a
    853:858: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
    853:858: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
    853:858:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):535 -> a
    859: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):86:86 -> a
    859: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:873:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexAnnotationSet.getWithAddedOrReplaced(com.android.tools.r8.graph.DexAnnotation):183:196 -> a
    860:873: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
    860:873:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):535 -> a
    874: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):83:83 -> a
    874: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:935: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
    936:936:java.util.List lambda$computeActualEquivalences$17(java.lang.String):571:571 -> a
    937:945: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
    946:954: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
    955:955: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:702 -> a
    955: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):592 -> a
    956: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):823:824 -> a
    956: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
    956: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: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):823:824 -> a
    982: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:java.util.List groupEquivalent(com.android.tools.r8.graph.AppView,java.util.List,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap):631:631 -> a
    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:1019: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
    1019:1019:java.util.List groupEquivalent(com.android.tools.r8.graph.AppView,java.util.List,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap):631 -> a
    1019:1019: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
    1020:1043:java.util.List groupEquivalent(com.android.tools.r8.graph.AppView,java.util.List,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap):638:661 -> a
    1020:1043: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
    1044:1055: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
    1056:1059: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
    1060:1070: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
    1071: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):723:732 -> a
    1081:1081:boolean isNotSyntheticType(com.android.tools.r8.graph.DexType):309:309 -> 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):732 -> a
    1082:1082: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
    1083:1109: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
    1110:1111:void lambda$computePotentialEquivalences$25(java.util.Set,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType):764:765 -> a
    1112:1112: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
    1113:1113:java.util.List lambda$computePotentialEquivalences$27(com.android.tools.r8.com.google.common.hash.HashCode):773:773 -> a
    1114:1127: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):181:181 -> 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:51: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
    52: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):479:479 -> b
    53:53: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
    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):738:738 -> 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
    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.lX:
    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>():53:53 -> <clinit>
    1:1:void <init>(com.android.tools.r8.synthesis.CommittedItems):113:113 -> <init>
    2:2:void <init>(int,com.android.tools.r8.synthesis.CommittedSyntheticsCollection):116:116 -> <init>
    3:23:void <init>(int,com.android.tools.r8.synthesis.CommittedSyntheticsCollection):98:118 -> <init>
    1:415: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:414 -> a
    416:417:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():35:36 -> a
    416:417: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):414 -> a
    418:419:boolean com.android.tools.r8.synthesis.SyntheticMarker.isDefinitelyNotSyntheticProgramClass(com.android.tools.r8.graph.DexProgramClass):143:144 -> a
    418:419:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36 -> a
    418: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):414 -> a
    420:420:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36:36 -> a
    420:420: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):414 -> a
    421: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):415:415 -> a
    422:422:void addPendingDefinition(com.android.tools.r8.synthesis.SyntheticDefinition):773:773 -> a
    422:422: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):415 -> a
    void lambda$ensureFixedClasspathClassFromType$10(com.android.tools.r8.graph.DexClasspathClass) -> a
    423:423:com.android.tools.r8.synthesis.SyntheticItems empty():102:102 -> a
    424:428:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):123:127 -> a
    429:429:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder com.android.tools.r8.synthesis.CommittedSyntheticsCollection.builder():166:166 -> a
    429:429:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):127 -> a
    430:437:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):129:136 -> a
    438:440:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):135:137 -> a
    441:441:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
    441:441:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):139 -> a
    442:442:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):139:139 -> a
    443:443:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
    443:443:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):143 -> a
    444:444:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):143:143 -> a
    445:459:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):140:154 -> a
    460:460:com.android.tools.r8.synthesis.SyntheticProgramClassReference com.android.tools.r8.synthesis.SyntheticProgramClassDefinition.toReference():46:46 -> a
    460:460:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder.addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):51 -> a
    460:460:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):153 -> a
    461:461:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder.addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):51:51 -> a
    461:461:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):153 -> a
    462:476:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):157:171 -> a
    477:479:void lambda$collectSyntheticInputs$0(com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder,com.android.tools.r8.synthesis.SyntheticMarker,com.android.tools.r8.graph.ProgramMethod):150:150 -> a
    480:480:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder.addNonLegacyMethod(com.android.tools.r8.synthesis.SyntheticMethodDefinition):65:65 -> a
    480:480:void lambda$collectSyntheticInputs$0(com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder,com.android.tools.r8.synthesis.SyntheticMarker,com.android.tools.r8.graph.ProgramMethod):150 -> a
    481:486:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):181:186 -> a
    487:487:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    487:487:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):186 -> a
    488:492:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):186:190 -> a
    493:493:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":688,"2":689,"3":690,"4":691,"5":692}}
    688:688:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):190:190 -> a
    689:689:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):190:190 -> a
    690:690:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):190:190 -> a
    691:691:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):190:190 -> a
    692:692:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):190:190 -> a
    683:687:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):190:194 -> a
    693:693:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):234:234 -> a
    694:694:boolean isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265:265 -> a
    694:694:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):234 -> a
    695:695:boolean isSyntheticClass(com.android.tools.r8.graph.DexType):261:261 -> a
    695:695:boolean isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265 -> a
    695:695:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):234 -> a
    696:697:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):234:235 -> a
    698:698:boolean isNonLegacySynthetic(com.android.tools.r8.graph.DexProgramClass):226:226 -> a
    698:698:boolean isSyntheticLambda(com.android.tools.r8.graph.DexProgramClass):239 -> a
    698:698:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):235 -> a
    699:700:boolean isSyntheticLambda(com.android.tools.r8.graph.DexProgramClass):242:243 -> a
    699:700:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):235 -> a
    701:703:int com.android.tools.r8.com.google.common.collect.Iterables.size(java.lang.Iterable):124:126 -> a
    701:703:boolean isSyntheticLambda(com.android.tools.r8.graph.DexProgramClass):244 -> a
    701:703:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):235 -> a
    704:708:int com.android.tools.r8.com.google.common.collect.Iterators.size(java.util.Iterator):163:167 -> a
    704:708:int com.android.tools.r8.com.google.common.collect.Iterables.size(java.lang.Iterable):126 -> a
    704:708:boolean isSyntheticLambda(com.android.tools.r8.graph.DexProgramClass):244 -> a
    704:708:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):235 -> a
    709:716:boolean isSyntheticLambda(com.android.tools.r8.graph.DexProgramClass):244:251 -> a
    709:716:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):235 -> a
    717:717:boolean isSubjectToKeepRules(com.android.tools.r8.graph.DexProgramClass):256:256 -> a
    718:718:boolean isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265:265 -> a
    718:718:boolean isSubjectToKeepRules(com.android.tools.r8.graph.DexProgramClass):256 -> a
    719:719:boolean isSyntheticClass(com.android.tools.r8.graph.DexType):261:261 -> a
    719:719:boolean isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265 -> a
    719:719:boolean isSubjectToKeepRules(com.android.tools.r8.graph.DexProgramClass):256 -> a
    720:720:boolean isSubjectToKeepRules(com.android.tools.r8.graph.DexProgramClass):256:256 -> a
    721:721:boolean isSyntheticInput(com.android.tools.r8.graph.DexProgramClass):273:273 -> a
    721:721:boolean isSubjectToKeepRules(com.android.tools.r8.graph.DexProgramClass):257 -> a
    722:722:boolean com.android.tools.r8.synthesis.CommittedSyntheticsCollection.containsSyntheticInput(com.android.tools.r8.graph.DexType):206:206 -> a
    722:722:boolean isSyntheticInput(com.android.tools.r8.graph.DexProgramClass):273 -> a
    722:722:boolean isSubjectToKeepRules(com.android.tools.r8.graph.DexProgramClass):257 -> a
    723:723:boolean isSyntheticOfKind(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):269:269 -> a
    724:735:com.android.tools.r8.FeatureSplit getContextualFeatureSplit(com.android.tools.r8.graph.DexType,com.android.tools.r8.features.ClassToFeatureSplitMap):278:289 -> a
    736:739:boolean verifyAllHaveSameFeature(java.util.List,java.util.function.Function):295:298 -> a
    736:739:com.android.tools.r8.FeatureSplit getContextualFeatureSplit(com.android.tools.r8.graph.DexType,com.android.tools.r8.features.ClassToFeatureSplitMap):289 -> a
    740:740:com.android.tools.r8.FeatureSplit getContextualFeatureSplit(com.android.tools.r8.graph.DexType,com.android.tools.r8.features.ClassToFeatureSplitMap):290:290 -> a
    741:746:void forEachSynthesizingContext(com.android.tools.r8.graph.DexType,java.util.function.Consumer):304:309 -> a
    741:746:void lambda$getSynthesizingContexts$1(com.android.tools.r8.graph.DexType,java.util.function.Consumer):314 -> a
    747:748:java.util.Collection getSynthesizingContextTypes(com.android.tools.r8.graph.DexType):318:319 -> a
    749:754:void forEachSynthesizingContext(com.android.tools.r8.graph.DexType,java.util.function.Consumer):304:309 -> a
    749:754:java.util.Collection getSynthesizingContextTypes(com.android.tools.r8.graph.DexType):319 -> a
    755:755:java.util.Collection getSynthesizingContextTypes(com.android.tools.r8.graph.DexType):321:321 -> a
    756:756:void lambda$getSynthesizingContextTypes$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.synthesis.SynthesizingContext):320:320 -> a
    757:757:java.util.Set getSynthesizingContextReferences(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):327:327 -> a
    758:758:boolean isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265:265 -> a
    758:758:java.util.Set getSynthesizingContextReferences(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):327 -> a
    759:759:boolean isSyntheticClass(com.android.tools.r8.graph.DexType):261:261 -> a
    759:759:boolean isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265 -> a
    759:759:java.util.Set getSynthesizingContextReferences(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):327 -> a
    760:761:java.util.Set getSynthesizingContextReferences(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):327:328 -> a
    762:762:boolean isSyntheticMethodThatShouldNotBeDoubleProcessed(com.android.tools.r8.graph.ProgramMethod):340:340 -> a
    763:764:boolean isSyntheticMethodThatShouldNotBeDoubleProcessed(com.android.tools.r8.graph.ProgramMethod):339:340 -> a
    765:765:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableMap.getOrDefault(java.lang.Object,java.lang.Object):713:713 -> a
    765:765:boolean isSyntheticMethodThatShouldNotBeDoubleProcessed(com.android.tools.r8.graph.ProgramMethod):340 -> a
    766:774:boolean isSyntheticMethodThatShouldNotBeDoubleProcessed(com.android.tools.r8.graph.ProgramMethod):340:348 -> a
    775:778:boolean verifySyntheticLambdaProperty(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Predicate):359:362 -> a
    779:779:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    779:779:boolean verifySyntheticLambdaProperty(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Predicate):362 -> a
    780:780:boolean verifySyntheticLambdaProperty(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Predicate):364:364 -> a
    781:781: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
    781:781:boolean verifySyntheticLambdaProperty(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Predicate):364 -> a
    782:784:boolean verifySyntheticLambdaProperty(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Predicate):365:367 -> a
    785:785:boolean lambda$verifySyntheticLambdaProperty$3(com.android.tools.r8.synthesis.SyntheticReference):364:364 -> a
    786:786:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.features.ClassToFeatureSplitMap):381:381 -> a
    787:787:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    787:787:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.features.ClassToFeatureSplitMap):381 -> a
    788:796:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.features.ClassToFeatureSplitMap):382:390 -> a
    797:798:java.lang.Object com.android.tools.r8.utils.IterableUtils.min(java.lang.Iterable,java.util.Comparator):101:102 -> a
    797:798:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.features.ClassToFeatureSplitMap):390 -> a
    799:806:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.features.ClassToFeatureSplitMap):390:397 -> a
    807:807:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    807:807: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
    807:807:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.features.ClassToFeatureSplitMap):397 -> a
    808:808: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
    808:808:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.features.ClassToFeatureSplitMap):397 -> a
    809:809:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.features.ClassToFeatureSplitMap):398:398 -> a
    810:810:int lambda$getSynthesizingContext$4(com.android.tools.r8.synthesis.SyntheticReference,com.android.tools.r8.synthesis.SyntheticReference):393:393 -> a
    811:812:void lambda$internalEnsureFixedProgramClass$6(java.util.function.Consumer,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):452:453 -> a
    813:813: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):508:508 -> a
    814:814:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):375:375 -> a
    814: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):508 -> a
    815:815:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):374:374 -> a
    815:815: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):508 -> a
    816: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):509:514 -> a
    822:824:void registerSyntheticTypeRewriting(com.android.tools.r8.synthesis.SynthesizingContext,java.util.function.Function,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):485:487 -> a
    822: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):471 -> a
    822: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):513 -> a
    825:832:void registerSyntheticTypeRewriting(com.android.tools.r8.synthesis.SynthesizingContext,java.util.function.Function,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):486:493 -> a
    825:832: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):471 -> a
    825:832: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):513 -> a
    833:835: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):472:474 -> a
    833:835: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):513 -> a
    836:837:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():35:36 -> a
    836:837: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
    836:837: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):513 -> a
    838:839:boolean com.android.tools.r8.synthesis.SyntheticMarker.isDefinitelyNotSyntheticProgramClass(com.android.tools.r8.graph.DexProgramClass):143:144 -> a
    838:839:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36 -> a
    838:839: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
    838:839: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):513 -> a
    840:840:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36:36 -> a
    840:840: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
    840:840: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):513 -> a
    841:841: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:476 -> a
    841:841: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):513 -> a
    842:842:void addPendingDefinition(com.android.tools.r8.synthesis.SyntheticDefinition):773:773 -> a
    842:842: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 -> a
    842:842: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):513 -> a
    843:843: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):512:512 -> a
    844:844: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):511:511 -> a
    845:845: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):525:525 -> a
    846:846: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):532:532 -> a
    847:848:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):545:546 -> a
    847:848: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):533 -> a
    849:849:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):375:375 -> a
    849:849:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):546 -> a
    849:849: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):533 -> a
    850:850:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):374:374 -> a
    850:850:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):546 -> a
    850:850: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):533 -> a
    851:851:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):547:547 -> a
    851:851: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):533 -> a
    852:854: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):534:536 -> a
    855:855:boolean isSyntheticClass(com.android.tools.r8.graph.DexType):261:261 -> a
    855:855: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 -> a
    856:858: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
    859:860:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):545:546 -> a
    859:860: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):523 -> a
    861:861:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):375:375 -> a
    861:861:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):546 -> a
    861: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):523 -> a
    862:862:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):374:374 -> a
    862:862:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):546 -> a
    862:862: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):523 -> a
    863:863:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):547:547 -> a
    863: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):523 -> a
    864: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):524:527 -> a
    868:870:void registerSyntheticTypeRewriting(com.android.tools.r8.synthesis.SynthesizingContext,java.util.function.Function,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):485:487 -> a
    868:870: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):471 -> a
    868:870: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
    871:878:void registerSyntheticTypeRewriting(com.android.tools.r8.synthesis.SynthesizingContext,java.util.function.Function,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):486:493 -> a
    871:878: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):471 -> a
    871:878: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
    879:881: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):472:474 -> a
    879:881: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
    882:883:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():35:36 -> a
    882:883: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
    882:883: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
    884:885:boolean com.android.tools.r8.synthesis.SyntheticMarker.isDefinitelyNotSyntheticProgramClass(com.android.tools.r8.graph.DexProgramClass):143:144 -> a
    884:885:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36 -> a
    884:885: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
    884:885: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
    886:886:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36:36 -> a
    886:886: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
    886:886: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
    887:887: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:476 -> a
    887:887: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
    888:888:void addPendingDefinition(com.android.tools.r8.synthesis.SyntheticDefinition):773:773 -> a
    888:888: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 -> a
    888:888: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
    889:889: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):561:561 -> a
    890:891:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):545:546 -> a
    890:891: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):562 -> a
    892:892:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):375:375 -> a
    892:892:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):546 -> a
    892:892: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):562 -> a
    893:893:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):374:374 -> a
    893:893:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):546 -> a
    893:893: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):562 -> a
    894:894:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):547:547 -> a
    894:894: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):562 -> a
    895:895: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):563:563 -> a
    896:896: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):596:596 -> a
    897:899: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):595:597 -> a
    900:914: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):709:723 -> a
    900:914: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 -> a
    915:915: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):601:601 -> a
    916:916: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):724:724 -> a
    916:916: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 -> a
    917:917:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):606:606 -> a
    918:918:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    918:918:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):608 -> a
    919:919:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):608:608 -> a
    920:923:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):607:610 -> a
    924:924:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
    924:924:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):610 -> a
    925:925:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1537,"2":1538,"3":1539}}
    1537:1537:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):610:610 -> a
    1538:1538:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):610:610 -> a
    1539:1539:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):610:610 -> a
    1535:1536:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):610:611 -> a
    1540:1544: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):627:631 -> a
    1545:1545:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    1545:1545: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):633 -> a
    1546:1546: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:636 -> a
    1547:1547: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):634:634 -> a
    1548:1550:void registerSyntheticTypeRewriting(com.android.tools.r8.synthesis.SynthesizingContext,java.util.function.Function,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):485:487 -> a
    1548:1550: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):638 -> a
    1551:1558:void registerSyntheticTypeRewriting(com.android.tools.r8.synthesis.SynthesizingContext,java.util.function.Function,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):486:493 -> a
    1551:1558: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):638 -> a
    1559:1563: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:643 -> a
    1564:1564:void addPendingDefinition(com.android.tools.r8.synthesis.SyntheticDefinition):773:773 -> a
    1564:1564: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):643 -> a
    1565:1567: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):644:646 -> a
    1568:1569: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):654:655 -> a
    1570:1571: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):667:668 -> a
    1572:1573: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):667:668 -> a
    1572:1573:com.android.tools.r8.graph.DexClassAndMethod 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):682 -> a
    1574:1586:com.android.tools.r8.graph.DexClassAndMethod 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):685:697 -> a
    1587:1601: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):709:723 -> a
    1587:1601:com.android.tools.r8.graph.DexClassAndMethod 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):687 -> a
    1602:1602:com.android.tools.r8.graph.DexClassAndMethod 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):698:698 -> a
    1603:1603: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):724:724 -> a
    1603:1603:com.android.tools.r8.graph.DexClassAndMethod 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):687 -> a
    1604:1604:void lambda$ensureFixedClasspathClassMethod$11(java.util.function.Consumer,com.android.tools.r8.synthesis.SyntheticMethodBuilder):695:695 -> a
    1605:1606: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):735:736 -> a
    1607:1607: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):754:754 -> a
    1608:1608:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):375:375 -> a
    1608:1608: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):757 -> a
    1609:1609:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):374:374 -> a
    1609:1609: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):757 -> a
    1610:1610: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):760:760 -> a
    1611:1618: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):759:766 -> a
    1619:1620:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():35:36 -> a
    1619:1620: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):766 -> a
    1621:1622:boolean com.android.tools.r8.synthesis.SyntheticMarker.isDefinitelyNotSyntheticProgramClass(com.android.tools.r8.graph.DexProgramClass):143:144 -> a
    1621:1622:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36 -> a
    1621:1622: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):766 -> a
    1623:1623:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36:36 -> a
    1623:1623: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):766 -> a
    1624:1625: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):767:768 -> a
    1626:1626:void addPendingDefinition(com.android.tools.r8.synthesis.SyntheticDefinition):773:773 -> a
    1626:1626: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):768 -> a
    1627:1627:void lambda$createMethod$12(com.android.tools.r8.synthesis.SyntheticMethodBuilder):765:765 -> a
    1628:1628:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.DexApplication):779:779 -> a
    1629:1629:com.android.tools.r8.synthesis.CommittedItems commitPrunedItems(com.android.tools.r8.graph.PrunedItems):783:783 -> a
    1629:1629:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.DexApplication):779 -> a
    1630:1630:com.android.tools.r8.synthesis.CommittedItems commitPrunedItems(com.android.tools.r8.graph.PrunedItems):783:783 -> a
    1631:1633:com.android.tools.r8.synthesis.CommittedItems commitRewrittenWithLens(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):788:790 -> a
    1634:1634:com.android.tools.r8.synthesis.CommittedItems commitRewrittenWithLens(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):789:789 -> a
    1635:1637: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):798:800 -> a
    1638:1638:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder com.android.tools.r8.synthesis.CommittedSyntheticsCollection.builder():166:166 -> a
    1638:1638: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):800 -> a
    1639:1651: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):804:816 -> a
    1652:1657: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):815:820 -> a
    1658:1658:boolean com.android.tools.r8.graph.DexApplication$Builder.isDirect():0:0 -> a
    1658:1658: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):820 -> a
    1659:1660: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):821:822 -> a
    1661:1661:com.android.tools.r8.graph.DexClass com.android.tools.r8.synthesis.SyntheticClassDefinition.getHolder():29:29 -> a
    1661:1661:com.android.tools.r8.graph.DexClasspathClass com.android.tools.r8.synthesis.SyntheticClasspathClassDefinition.getHolder():16 -> a
    1661:1661: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):822 -> a
    1662:1662:com.android.tools.r8.graph.DexClasspathClass com.android.tools.r8.synthesis.SyntheticClasspathClassDefinition.getHolder():16:16 -> a
    1662:1662: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):822 -> a
    1663:1674: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):822:833 -> a
    1675:1675:void writeAttributeIfIntermediateSyntheticClass(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):839:839 -> a
    1676:1676:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    1676:1676:void writeAttributeIfIntermediateSyntheticClass(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):839 -> a
    1677:1684:void writeAttributeIfIntermediateSyntheticClass(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):842:849 -> a
    1685:1685: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
    1685:1685:void writeAttributeIfIntermediateSyntheticClass(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):850 -> a
    1:2:com.android.tools.r8.synthesis.CommittedItems createInitialSyntheticItems(com.android.tools.r8.graph.DexApplication):107:108 -> b
    3:3:java.util.Collection getPendingSyntheticClasses():206:206 -> b
    4:4:boolean isSyntheticInput(com.android.tools.r8.graph.DexProgramClass):273:273 -> 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):273 -> b
    6:6:java.util.List getSynthesizingContexts(com.android.tools.r8.graph.DexType):314:314 -> b
    7:24: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):428:445 -> b
    25: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):443:447 -> b
    30:30:boolean isSyntheticClass(com.android.tools.r8.graph.DexType):261:261 -> 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: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:448 -> b
    33:35:void registerSyntheticTypeRewriting(com.android.tools.r8.synthesis.SynthesizingContext,java.util.function.Function,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):485:487 -> b
    33:35: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):471 -> b
    33: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):449 -> b
    36:43:void registerSyntheticTypeRewriting(com.android.tools.r8.synthesis.SynthesizingContext,java.util.function.Function,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):486:493 -> b
    36:43: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):471 -> b
    36:43: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):449 -> b
    44: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):472:474 -> b
    44: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):449 -> b
    47:48:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():35:36 -> b
    47:48: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
    47:48: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):449 -> b
    49:50:boolean com.android.tools.r8.synthesis.SyntheticMarker.isDefinitelyNotSyntheticProgramClass(com.android.tools.r8.graph.DexProgramClass):143:144 -> b
    49:50:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36 -> b
    49:50: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
    49:50: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):449 -> b
    51:51:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36:36 -> b
    51: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):475 -> b
    51: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):449 -> b
    52:52: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:476 -> b
    52:52: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):449 -> b
    53:53:void addPendingDefinition(com.android.tools.r8.synthesis.SyntheticDefinition):773:773 -> b
    53: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):476 -> b
    53: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):449 -> b
    54: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):459:461 -> b
    57:57: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):628:628 -> b
    58:58: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):745:745 -> b
    59:61:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):857:859 -> b
    1:1:boolean hasPendingSyntheticClasses():202:202 -> c
    2:2:boolean isCommittedSynthetic(com.android.tools.r8.graph.DexType):210:210 -> 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):210 -> c
    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):429:429 -> c
    1:1:boolean isFinalized():198:198 -> d
    2:2:boolean isNonLegacyCommittedSynthetic(com.android.tools.r8.graph.DexType):214:214 -> d
    2:2:boolean isNonLegacySynthetic(com.android.tools.r8.graph.DexType):230 -> d
    3:3:boolean isNonLegacyPendingSynthetic(com.android.tools.r8.graph.DexType):222:222 -> d
    3:3:boolean isNonLegacySynthetic(com.android.tools.r8.graph.DexType):230 -> d
    1:1:boolean isPendingSynthetic(com.android.tools.r8.graph.DexType):218:218 -> 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>():61:61 -> <clinit>
    1:4:void <init>():61:64 -> <init>
    5:5:void <init>(com.android.tools.r8.synthesis.SyntheticItems$1):61:61 -> <init>
    1:1:java.util.concurrent.ConcurrentHashMap access$100(com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics):61:61 -> a
    2:2:boolean containsType(com.android.tools.r8.graph.DexType):72:72 -> a
    3:4:boolean containsTypeOfKind(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):76:77 -> a
    5:5:boolean verifyNotRewritten(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):81:81 -> a
    6:7:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.graph.GraphLens.rewriteTypes(java.util.Set):701:702 -> a
    6:7:boolean verifyNotRewritten(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):81 -> a
    8:8:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):397:397 -> a
    8:8:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.graph.GraphLens.rewriteTypes(java.util.Set):703 -> a
    8:8:boolean verifyNotRewritten(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):81 -> a
    9:11:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.graph.GraphLens.rewriteTypes(java.util.Set):703:705 -> a
    9:11:boolean verifyNotRewritten(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):81 -> a
    12:12:boolean verifyNotRewritten(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):81:81 -> a
    13:19:java.util.Collection getAllProgramClasses():86:92 -> a
    1:1:boolean isEmpty():68:68 -> b
com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle -> com.android.tools.r8.internal.oX:
    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):163:166 -> 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):165:170 -> 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):168:168 -> 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():440:440 -> 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):163:166 -> 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):165:170 -> 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):168:168 -> 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):126:127 -> 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:17:com.android.tools.r8.graph.Code getCodeObject(com.android.tools.r8.graph.DexMethod):183:183 -> a
    17:17:com.android.tools.r8.graph.DexEncodedMethod build():133 -> a
    18:31:com.android.tools.r8.graph.DexEncodedMethod build():135:148 -> a
    32:33:boolean isValidSingleSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod):167:168 -> a
    32:33:boolean isValidSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):163 -> a
    32:33:com.android.tools.r8.graph.DexEncodedMethod build():148 -> a
    34:34:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():440:440 -> a
    34:34:boolean isValidSingleSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod):169 -> a
    34:34:boolean isValidSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):163 -> a
    34:34:com.android.tools.r8.graph.DexEncodedMethod build():148 -> a
    35:36:boolean isValidSingleSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod):170:171 -> a
    35:36:boolean isValidSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):163 -> a
    35:36:com.android.tools.r8.graph.DexEncodedMethod build():148 -> a
    37:37:boolean isValidSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):163:163 -> a
    37:37:com.android.tools.r8.graph.DexEncodedMethod build():148 -> a
    38:38: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.rX:
    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:com.android.tools.r8.graph.DexProgramClass getHolder():58:58 -> a
    5:5:void internalComputeHash(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.utils.structural.RepresentativeMap):63:63 -> a
    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():440:440 -> 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:1:com.android.tools.r8.graph.DexType getHolder():33:33 -> a
    2:9:com.android.tools.r8.synthesis.SyntheticMethodDefinition lookupDefinition(java.util.function.Function):43:50 -> a
    2:9:com.android.tools.r8.synthesis.SyntheticDefinition lookupDefinition(java.util.function.Function):21 -> a
    10:10:com.android.tools.r8.synthesis.SyntheticMethodReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):57:57 -> a
    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:11:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):344:344 -> a
    11:11:com.android.tools.r8.synthesis.SyntheticMethodReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):57 -> a
    11:11:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):21 -> a
    12:16:com.android.tools.r8.synthesis.SyntheticMethodReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):60:64 -> a
    12:16:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):21 -> a
    17:17:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):222:222 -> a
    17:17:com.android.tools.r8.synthesis.SyntheticMethodReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):64 -> a
    17:17:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):21 -> a
    18:21:com.android.tools.r8.synthesis.SyntheticMethodReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):67:70 -> a
    18:21: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.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):175:176 -> 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):203:203 -> 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):176 -> a
    4:4:java.lang.String createDescriptor(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String):217:217 -> 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):203 -> 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):176 -> 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):203:203 -> 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):176 -> 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):181:185 -> 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):182:182 -> 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):203:203 -> 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):182 -> a
    13:13:java.lang.String createDescriptor(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String):217:217 -> 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):203 -> 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):182 -> 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):203:203 -> 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):182 -> 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):192:194 -> a
    18:18:java.lang.String createDescriptor(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String):217:217 -> 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):212 -> 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):193 -> 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):212:212 -> 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):193 -> a
    20:20:boolean verifyNotInternalSynthetic(com.android.tools.r8.references.ClassReference):226:226 -> a
    21:21:boolean verifyNotInternalSynthetic(java.lang.String):230:230 -> a
    22:25:java.lang.String getPhaseSeparator(com.android.tools.r8.synthesis.SyntheticNaming$Phase):242:245 -> 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):251:251 -> a
    27:27:java.lang.String createDescriptor(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String):217:217 -> 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):251 -> 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):250:250 -> 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):260:267 -> a
    37:41:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):276:280 -> 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):267 -> 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):281:281 -> 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):267 -> a
    54:54:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):281:281 -> 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):267 -> a
    55:55:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):281:281 -> 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):267 -> a
    43:44:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):281:282 -> 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):267 -> a
    45:52:boolean isInt(java.lang.String):286:293 -> a
    45:52:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):282 -> 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):267 -> 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>():237:238 -> <clinit>
    1:1:void <init>(java.lang.String,int):236:236 -> <init>
com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind -> com.android.tools.r8.synthesis.x$b:
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind BACKPORT_WITH_FORWARDING -> y
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind HORIZONTAL_INIT_TYPE_ARGUMENT_2 -> s
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind INIT_TYPE_ARGUMENT -> q
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind RECORD_HELPER -> w
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind NON_FIXED_INIT_TYPE_ARGUMENT -> u
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind EMULATED_INTERFACE_CLASS -> k
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind API_CONVERSION_PARAMETERS -> J
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind RECORD_TAG -> i
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind OUTLINE -> H
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind VIVIFIED_WRAPPER -> o
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind API_MODEL_OUTLINE -> N
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind RETARGET_INTERFACE -> m
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind CONST_DYNAMIC -> L
    boolean mayOverridesNonProgramType -> f
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind THROW_CCE_IF_NOT_NULL -> B
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind[] $VALUES -> P
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind ENUM_UNBOXING_LOCAL_UTILITY_CLASS -> g
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind TWR_CLOSE_RESOURCE -> F
    boolean isSingleSyntheticMethod -> d
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind THROW_ICCE -> D
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind STATIC_INTERFACE_CALL -> z
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind BACKPORT -> x
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind HORIZONTAL_INIT_TYPE_ARGUMENT_1 -> r
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind LAMBDA -> p
    boolean $assertionsDisabled -> Q
    int id -> c
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind ENUM_UNBOXING_CHECK_NOT_ZERO_METHOD -> v
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind HORIZONTAL_INIT_TYPE_ARGUMENT_3 -> t
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind EMULATED_INTERFACE_MARKER_CLASS -> K
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind COMPANION_CLASS -> j
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind API_CONVERSION -> I
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind ENUM_UNBOXING_SHARED_UTILITY_CLASS -> h
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind API_MODEL_STUB -> O
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind WRAPPER -> n
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind ENUM_CONVERSION -> M
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind RETARGET_CLASS -> l
    boolean isFixedSuffixSynthetic -> e
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind THROW_IAE -> C
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind TO_STRING_IF_NOT_NULL -> A
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind SERVICE_LOADER -> G
    java.lang.String descriptor -> b
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind THROW_NSME -> E
    1:3:void <clinit>():26:28 -> <clinit>
    4:4:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):84:84 -> <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):84:84 -> <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):84:84 -> <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):84:84 -> <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):84:84 -> <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):84:84 -> <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):84:84 -> <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):84:84 -> <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):76:76 -> <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,boolean):84:84 -> <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):84:84 -> <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):84:84 -> <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):84:84 -> <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):76:76 -> <clinit>
    44:44:void <clinit>():42 -> <clinit>
    45:47:void <clinit>():42:44 -> <clinit>
    48:48:void <init>(java.lang.String,int,java.lang.String,int,boolean):76:76 -> <clinit>
    48:48:void <clinit>():44 -> <clinit>
    49:50:void <clinit>():44:45 -> <clinit>
    51:51:void <init>(java.lang.String,int,java.lang.String,int,boolean):76:76 -> <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):76:76 -> <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):76:76 -> <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):76:76 -> <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):76:76 -> <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):76:76 -> <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):76:76 -> <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):76:76 -> <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):76:76 -> <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):76:76 -> <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):76:76 -> <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):76:76 -> <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):76:76 -> <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):76:76 -> <clinit>
    90:90:void <clinit>():58 -> <clinit>
    91:93:void <clinit>():58:60 -> <clinit>
    94:94:void <init>(java.lang.String,int,java.lang.String,int,boolean):76:76 -> <clinit>
    94:94:void <clinit>():60 -> <clinit>
    95:96:void <clinit>():60:61 -> <clinit>
    97:97:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):84:84 -> <clinit>
    97:97:void <clinit>():61 -> <clinit>
    98:100:void <clinit>():61:63 -> <clinit>
    101:101:void <clinit>():26:26 -> <clinit>
    102:105:boolean verifyNoOverlappingIds():135:138 -> <clinit>
    102:105:void <clinit>():66 -> <clinit>
    1:1:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):84:84 -> <init>
    2:7:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean,boolean):92:97 -> <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:com.android.tools.r8.graph.DexClass com.android.tools.r8.synthesis.SyntheticClassDefinition.getHolder():29:29 -> a
    3:3:com.android.tools.r8.graph.DexProgramClass getHolder():17 -> a
    4:4:com.android.tools.r8.graph.DexProgramClass getHolder():17:17 -> a
    5:5:void apply(java.util.function.Consumer,java.util.function.Consumer):31:31 -> a
    6:6:void internalComputeHash(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.utils.structural.RepresentativeMap):58:58 -> a
    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():725:725 -> j
    2:2:boolean isValid():51 -> j
    3:5:boolean isValid():51:53 -> j
    6:6:boolean com.android.tools.r8.graph.DexClass.isFinal():656:656 -> j
    6:6:boolean isValid():53 -> j
    7:7: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):397:397 -> 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.sX:
    void apply(java.util.function.Consumer,java.util.function.Consumer) -> a
    com.android.tools.r8.graph.DexProgramClass getHolder() -> a
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.graph.DexType getHolder() -> a
    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
    1:1:com.android.tools.r8.synthesis.SynthesizingContext getContext():40:40 -> b
    2:2:com.android.tools.r8.synthesis.SynthesizingContext getContext():40:40 -> b
    2:2:com.android.tools.r8.synthesis.SyntheticReference rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):48 -> b
    3:4: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:boolean access$500(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexType):106:106 -> a
    34:34:boolean isTargetType(com.android.tools.r8.graph.DexType):139:139 -> a
    34:34:boolean access$500(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexType):106 -> 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:106 -> a
    36:36:void addClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):173:173 -> a
    36:36:void access$900(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):106 -> a
    37:37:boolean isTargetType(com.android.tools.r8.graph.DexType):139:139 -> a
    37:37:void addClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):173 -> a
    37:37:void access$900(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):106 -> a
    38:42:void addClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):174:178 -> a
    38:42:void access$900(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):106 -> a
    43:43:void addClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):177:177 -> a
    43:43:void access$900(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):106 -> a
    44:44:com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo():131:131 -> 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):409:409 -> 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):429:429 -> 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):409 -> 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):480:480 -> a
    71:71:void handleFieldAccess(com.android.tools.r8.graph.DexField):432 -> a
    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):413:413 -> 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):429:429 -> 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):413 -> 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):397:397 -> 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):397:397 -> 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):480:480 -> c
    2:2:void handleFieldAccess(com.android.tools.r8.graph.DexField):432 -> c
    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):417:417 -> 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):429:429 -> 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):417 -> 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):480:480 -> e
    2:2:void handleFieldAccess(com.android.tools.r8.graph.DexField):432 -> e
    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):421:421 -> 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):429:429 -> 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):421 -> 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):397:397 -> 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):397:397 -> 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):425:425 -> 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):429:429 -> 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):425 -> 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):480:480 -> g
    7:7:void handleFieldAccess(com.android.tools.r8.graph.DexField):432 -> g
    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.v1:
    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.x9:
    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.ej:
    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.JD:
    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.fY:
    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.eY:
    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.hY:
    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.iY:
    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.jY:
    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.kY:
    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.w1:
    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():725:725 -> 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():725:725 -> 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.x1:
    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.Q1:
    com.android.tools.r8.utils.AndroidApiLevel L -> w
    com.android.tools.r8.utils.AndroidApiLevel K -> u
    com.android.tools.r8.utils.AndroidApiLevel M -> y
    boolean $assertionsDisabled -> L
    int level -> b
    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 E_0_1 -> h
    com.android.tools.r8.utils.AndroidApiLevel ANDROID_PLATFORM -> 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
    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[] $VALUES -> K
    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 LATEST -> 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:35:void <clinit>():12:12 -> <clinit>
    73:73:void <clinit>():50:50 -> <clinit>
    1:2:void <init>(java.lang.String,int,int):54:55 -> <init>
    1:1:com.android.tools.r8.utils.AndroidApiLevel max(com.android.tools.r8.utils.AndroidApiLevel):71:71 -> a
    2:2:java.util.List getAndroidApiLevelsSorted():79:79 -> a
    3:13:com.android.tools.r8.utils.AndroidApiLevel getMinAndroidApiLevel(com.android.tools.r8.utils.DexVersion):83:93 -> a
    14:14:com.android.tools.r8.utils.AndroidApiLevel getMinAndroidApiLevel(com.android.tools.r8.utils.DexVersion):91:91 -> a
    15:15:com.android.tools.r8.utils.AndroidApiLevel getMinAndroidApiLevel(com.android.tools.r8.utils.DexVersion):89:89 -> a
    16:16:com.android.tools.r8.utils.AndroidApiLevel getMinAndroidApiLevel(com.android.tools.r8.utils.DexVersion):87:87 -> a
    17:17:com.android.tools.r8.utils.AndroidApiLevel getMinAndroidApiLevel(com.android.tools.r8.utils.DexVersion):85:85 -> a
    1:1:com.android.tools.r8.utils.AndroidApiLevel getDefault():67:67 -> b
    1:1:com.android.tools.r8.utils.DexVersion getDexVersion():75:75 -> c
    2:74:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):98:170 -> c
    75:75:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):164:164 -> c
    76:76:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):162:162 -> c
    77:77:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):160:160 -> c
    78:78:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):158:158 -> c
    79:79:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):156:156 -> c
    80:80:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):154:154 -> c
    81:81:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):152:152 -> c
    82:82:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):150:150 -> c
    83:83:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):148:148 -> c
    84:84:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):146:146 -> c
    85:85:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):144:144 -> c
    86:86:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):142:142 -> c
    87:87:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):140:140 -> c
    88:88:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):138:138 -> c
    89:89:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):136:136 -> c
    90:90:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):134:134 -> c
    91:91:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):132:132 -> c
    92:92:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):130:130 -> c
    93:93:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):128:128 -> c
    94:94:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):126:126 -> c
    95:95:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):124:124 -> c
    96:96:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):122:122 -> c
    97:97:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):120:120 -> c
    98:98:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):118:118 -> c
    99:99:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):116:116 -> c
    100:100:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):114:114 -> c
    101:101:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):112:112 -> c
    102:102:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):110:110 -> c
    103:103:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):108:108 -> c
    104:104:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):106:106 -> c
    105:105:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):104:104 -> c
    106:170:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):102:166 -> c
    1:1:int getLevel():59:59 -> 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.P1:
    int[] $SwitchMap$com$android$tools$r8$utils$DexVersion -> a
    1:1:void <clinit>():83:83 -> <clinit>
com.android.tools.r8.utils.AndroidApiLevelUtils -> com.android.tools.r8.internal.W1:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():15:15 -> <clinit>
    1:11:boolean isApiSafeForInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.InternalOptions):19:29 -> a
    12:12:boolean isApiSafeForMemberRebinding(com.android.tools.r8.graph.LibraryMethod,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.utils.InternalOptions):63:63 -> a
    13:19:boolean isApiSafeForMemberRebinding(com.android.tools.r8.graph.LibraryMethod,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.utils.InternalOptions):62:68 -> 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.C2:
    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.B2:
    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.l3:
    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.r3:
    boolean isDeprecated(int) -> a
com.android.tools.r8.utils.AssertionConfigurationWithDefault -> com.android.tools.r8.internal.t3:
    java.util.List assertionsConfigurations -> b
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformation defautlTransformation -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():12:12 -> <clinit>
    1:4:void <init>(com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,java.util.List):19:22 -> <init>
com.android.tools.r8.utils.AssertionUtils -> com.android.tools.r8.internal.u3:
    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.D4:
com.android.tools.r8.utils.BiMapContainer -> com.android.tools.r8.internal.F4:
    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.G4:
    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.b5:
    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.c5:
    boolean isBitInMaskSet(int,int) -> a
    boolean isBitSet(int,int) -> b
com.android.tools.r8.utils.BooleanBox -> com.android.tools.r8.internal.g5:
    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.q5:
    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.x5:
    java.lang.Boolean[] VALUES -> a
    int $r8$clinit -> b
    1:1:void <clinit>():8:8 -> <clinit>
    int intValue(boolean) -> a
    1:1:java.lang.Boolean[] values():21:21 -> a
com.android.tools.r8.utils.Box -> com.android.tools.r8.internal.M5:
    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.E7:
    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.C7:
    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.D7:
    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.R8:
    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.T8:
    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.S8:
    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.ia:
    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:java.util.Map getAllClassesInMap():151:159 -> b
    39:39:java.util.Map 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.ha:
    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.Da:
    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.za:
    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.Aa:
    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.Ba:
    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.Ca:
    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.Ga:
    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.ab:
    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.Rb:
    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.bc:
    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.cc:
# {"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.Id:
    void lambda$emptyBiConsumer$4(java.lang.Object,java.lang.Object) -> a
    void lambda$emptyConsumer$3(java.lang.Object) -> a
    1:1:java.util.function.Consumer acceptIfNotSeen(java.util.function.Consumer,java.util.Set):29:29 -> a
    2:3:void lambda$acceptIfNotSeen$2(java.util.Set,java.util.function.Consumer,java.lang.Object):30:31 -> a
    4:4:java.util.function.BiConsumer emptyBiConsumer():41:41 -> a
    void lambda$emptyThrowingConsumer$5(java.lang.Object) -> b
    1:1:java.util.function.Consumer emptyConsumer():37:37 -> b
    1:1:com.android.tools.r8.utils.ThrowingConsumer emptyThrowingConsumer():45:45 -> c
com.android.tools.r8.utils.DepthFirstSearchWorkListBase -> com.android.tools.r8.internal.Te:
    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.Oe:
    java.lang.Object getNode() -> b
com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeImpl -> com.android.tools.r8.internal.Pe:
    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 -> b
    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.Qe:
    java.lang.Object getState() -> a
    void setState(java.lang.Object) -> a
    boolean hasState() -> c
com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithStateImpl -> com.android.tools.r8.internal.Re:
    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:java.lang.Object getState():91:91 -> a
    2:2:void setState(java.lang.Object):96:96 -> a
    1:1:boolean hasState():101:101 -> c
com.android.tools.r8.utils.DepthFirstSearchWorkListBase$StatefulDepthFirstSearchWorkList -> com.android.tools.r8.internal.Se:
    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.We:
    1:2:java.util.Deque newArrayDeque(java.lang.Object):13:14 -> a
com.android.tools.r8.utils.DescriptorUtils -> com.android.tools.r8.internal.Ze:
    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.Ye:
    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.Og:
    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.Qg:
    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:43:com.android.tools.r8.utils.DexVersion getDexVersion(com.android.tools.r8.utils.AndroidApiLevel):40:81 -> a
    44:44:com.android.tools.r8.utils.DexVersion getDexVersion(com.android.tools.r8.utils.AndroidApiLevel):79:79 -> a
    45:45:com.android.tools.r8.utils.DexVersion getDexVersion(com.android.tools.r8.utils.AndroidApiLevel):55:55 -> a
    46:46:com.android.tools.r8.utils.DexVersion getDexVersion(com.android.tools.r8.utils.AndroidApiLevel):52:52 -> a
    47:47:com.android.tools.r8.utils.DexVersion getDexVersion(com.android.tools.r8.utils.AndroidApiLevel):49:49 -> a
    48:48:java.util.Optional getDexVersion(char,char,char):104:104 -> a
    49:49:java.util.Optional getDexVersion(char,char,char):102:102 -> 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
    2:2:java.util.Optional getDexVersion(int):96:96 -> c
    3:3:java.util.Optional getDexVersion(int):94:94 -> c
    4:4:java.util.Optional getDexVersion(int):92:92 -> c
    5:5:java.util.Optional getDexVersion(int):90:90 -> c
    6:6:java.util.Optional getDexVersion(int):88:88 -> c
com.android.tools.r8.utils.DexVersion$1 -> com.android.tools.r8.internal.Pg:
    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.Ug:
    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.Xg:
    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.ih:
    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.fh:
    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.gh:
    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.hh:
    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.Mh:
    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.Mi:
    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.Mi$a:
com.android.tools.r8.utils.ExceptionUtils$MainAction -> com.android.tools.r8.internal.Ni:
com.android.tools.r8.utils.ExceptionUtils$OriginAttachmentException -> com.android.tools.r8.internal.Oi:
    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:6:java.lang.String featureForClass(java.lang.String):200:205 -> featureForClass
    7:12:boolean com.android.tools.r8.utils.FeatureClassMapping$FeaturePredicate.match(java.lang.String):300:305 -> featureForClass
    7:12:java.lang.String featureForClass(java.lang.String):205 -> featureForClass
    13:21: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.Ij:
    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.Mj:
    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.Tj:
    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.kk:
    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.jk:
    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.ForEachable -> com.android.tools.r8.internal.wk:
com.android.tools.r8.utils.ForEachableUtils -> com.android.tools.r8.internal.xk:
    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.kl:
    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.vm:
    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.hn:
    java.lang.Iterable order(java.lang.Iterable) -> a
com.android.tools.r8.utils.IROrdering$IdentityIROrdering -> com.android.tools.r8.internal.fn:
    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.gn:
    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.sn:
    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.xs:
    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() -> L
    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.ws:
    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.Es:
    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.Vs:
    void accept(int,java.lang.Object) -> a
com.android.tools.r8.utils.IntObjPredicate -> com.android.tools.r8.internal.Ws:
    boolean test(int,java.lang.Object) -> a
com.android.tools.r8.utils.IntObjToObjFunction -> com.android.tools.r8.internal.Xs:
    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.Gt:
    boolean printTimes -> i
    boolean ignoreMainDexMissingClasses -> b0
    com.android.tools.r8.features.FeatureSplitConfiguration featureSplitConfiguration -> f
    com.android.tools.r8.experimental.startup.StartupConfiguration startupConfiguration -> g
    boolean enableFieldBitAccessAnalysis -> q
    java.util.Map missingEnclosingMembers -> U0
    com.android.tools.r8.utils.OffOrAuto tryWithResourcesDesugaring -> t0
    boolean enableInitializedClassesAnalysis -> y
    com.android.tools.r8.cf.CfVersion SUPPORTED_CF_VERSION -> q1
    com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions apiModelTestingOptions -> N0
    boolean minimalMainDex -> R0
    java.util.List outputInspections -> h
    boolean configurationDebugging -> E0
    int callGraphLikelySpuriousCallEdgeThreshold -> L
    boolean forceAnnotateSynthetics -> I
    boolean printMemory -> j
    boolean reportMissingClassesInEnclosingMethodAttribute -> A0
    boolean enableEnumValueOptimization -> Q
    boolean enableVerticalClassMerging -> r
    boolean ignoreMissingClasses -> z0
    com.android.tools.r8.utils.AndroidApiLevel minApiLevel -> j0
    java.util.List logArgumentsFilter -> o0
    boolean lookupLibraryBeforeProgram -> v0
    com.android.tools.r8.utils.InternalOptions$DesugarSpecificOptions desugarSpecificOptions -> O0
    java.util.Set reportedMissingForDesugaring -> m1
    boolean useSmaliSyntax -> Y
    java.util.concurrent.atomic.AtomicBoolean reportedErrorReadingKotlinMetadataReflectively -> n1
    boolean enableSideEffectAnalysis -> z
    boolean enableNestReduction -> r0
    boolean cfToCfDesugar -> H
    boolean pruneNonVissibleAnnotationClasses -> n0
    com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification desugaredLibrarySpecification -> d1
    boolean enableSwitchRewriting -> N
    java.lang.String dumpInputToDirectory -> l
    boolean enableCfByteCodePassThrough -> c0
    boolean enableUninstantiatedTypeOptimizationForInterfaces -> V
    boolean enableClassInlining -> w
    com.android.tools.r8.utils.OffOrAuto interfaceMethodDesugaring -> s0
    com.android.tools.r8.utils.InternalOptions$OutlineOptions outline -> S
    com.android.tools.r8.StringConsumer usageInformationConsumer -> a1
    boolean $assertionsDisabled -> t1
    java.util.Set extensiveInterfaceMethodMinifierLoggingFilter -> h0
    boolean enableInheritanceClassInDexDistributor -> S0
    boolean enableTreeShakingOfLibraryMethodOverrides -> E
    com.android.tools.r8.ProgramConsumer programConsumer -> d
    boolean enableStringSwitchConversion -> O
    boolean skipIR -> F0
    boolean libraryInterfacesMayHaveStaticInitialization -> p
    java.lang.String dumpInputToFile -> k
    boolean reportMissingClassesInInnerClassAttributes -> B0
    boolean enableRedundantConstNumberOptimization -> W
    boolean enableClassStaticizer -> x
    com.android.tools.r8.graph.DexItemFactory itemFactory -> a
    boolean enableMainDexListCheck -> w0
    java.util.function.BiPredicate dexClassChecksumFilter -> G
    boolean encodeChecksums -> F
    boolean intermediate -> k0
    com.android.tools.r8.DataResourceConsumer dataResourceConsumer -> e
    boolean passthroughDexCode -> m
    com.android.tools.r8.experimental.graphinfo.GraphConsumer keptGraphConsumer -> g1
    boolean enableEnumUnboxing -> u
    com.android.tools.r8.utils.InternalOptions$TestingOptions testing -> P0
    com.android.tools.r8.StringConsumer mainDexListConsumer -> Y0
    boolean skipReadingDexCode -> X0
    java.util.Map warningInvalidDebugInfo -> W0
    com.android.tools.r8.utils.Reporter reporter -> c
    boolean enableInitializedClassesInInstanceMethodsAnalysis -> T
    com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions callSiteOptimizationOptions -> H0
    com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions protoShrinking -> L0
    com.android.tools.r8.StringConsumer proguardSeedsConsumer -> b1
    int SUPPORTED_DEX_VERSION -> s1
    java.util.Set extensiveLoggingFilter -> g0
    int threadCount -> X
    com.android.tools.r8.StringConsumer desugaredLibraryKeepRuleConsumer -> f1
    java.util.Set neverMergePrefixes -> o
    java.util.function.Consumer syntheticProguardRulesConsumer -> j1
    boolean enableNameReflectionOptimization -> C
    int minimumStringSwitchSize -> P
    boolean enableNeverMergePrefixes -> n
    boolean debug -> G0
    com.android.tools.r8.utils.InternalOptions$DesugarState desugarState -> q0
    boolean forceProguardCompatibility -> C0
    boolean enableRedundantFieldLoadElimination -> U
    boolean enableSimpleInliningConstraints -> v
    boolean enableTreeShaking -> x0
    boolean enableLoadStoreOptimization -> p0
    com.android.tools.r8.DesugarGraphConsumer desugarGraphConsumer -> i1
    boolean retainCompileTimeAnnotations -> l0
    java.util.List methodsFilter -> i0
    boolean enableStringConcatenationOptimization -> D
    boolean hasMarker -> e0
    com.android.tools.r8.experimental.graphinfo.GraphConsumer mainDexKeptGraphConsumer -> h1
    boolean readDebugSetFileEvent -> J
    boolean invalidDebugInfoStrict -> a0
    com.android.tools.r8.StringConsumer proguardMapConsumer -> Z0
    com.android.tools.r8.dex.Marker marker -> f0
    boolean enableEnumSwitchMapRemoval -> R
    java.util.Set invalidLibraryClasses -> o1
    boolean enableUnusedInterfaceRemoval -> s
    com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions horizontalClassMergerOptions -> K0
    java.util.Map warningInvalidParameterAnnotations -> V0
    com.android.tools.r8.StringConsumer configurationConsumer -> c1
    com.android.tools.r8.utils.AssertionConfigurationWithDefault assertionsConfiguration -> D0
    java.util.List mainDexKeepRules -> Q0
    com.android.tools.r8.cf.CfVersion EXPERIMENTAL_CF_VERSION -> r1
    com.android.tools.r8.SourceFileProvider sourceFileProvider -> l1
    boolean invalidDebugInfoFatal -> Z
    com.android.tools.r8.MapIdProvider mapIdProvider -> k1
    com.android.tools.r8.utils.Box reportedExperimentClassFileVersion -> p1
    boolean enableDeterminismAnalysis -> A
    com.android.tools.r8.DumpOptions dumpOptions -> d0
    com.android.tools.r8.utils.InternalOptions$KotlinOptimizationOptions kotlinOptimizationOptions -> M0
    boolean relocatorCompilation -> e1
    com.android.tools.r8.shaking.ProguardConfiguration proguardConfiguration -> b
    com.android.tools.r8.utils.InternalOptions$LineNumberOptimization lineNumberOptimization -> T0
    boolean disableL8AnnotationRemoval -> K
    com.android.tools.r8.utils.InternalOptions$ClassInlinerOptions classInlinerOptions -> I0
    boolean enableMinification -> y0
    boolean enableDevirtualization -> t
    boolean processCovariantReturnTypeAnnotations -> u0
    java.lang.Thread mainThread -> M
    boolean ignoreBootClasspathEnumsForMaindexTracing -> m0
    boolean enableServiceLoaderRewriting -> B
    com.android.tools.r8.utils.InternalOptions$InlinerOptions inlinerOptions -> J0
    1:32:void <clinit>():108:139 -> <clinit>
    1:1:void <init>():170:170 -> <init>
    2:931:void <init>():161:1090 -> <init>
    932:936:void <init>():171:175 -> <init>
    937:937:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):179:179 -> <init>
    938:1867:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):161:1090 -> <init>
    1868:1875:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):180:187 -> <init>
    1876:1876:void <init>(com.android.tools.r8.CompilationMode,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.Reporter):192:192 -> <init>
    1877:2806:void <init>(com.android.tools.r8.CompilationMode,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.Reporter):161:1090 -> <init>
    2807:2827:void <init>(com.android.tools.r8.CompilationMode,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.Reporter):193:213 -> <init>
    1:1:boolean canHaveThisTypeVerifierBug():2026:2026 -> A
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> A
    2:2:boolean canHaveThisTypeVerifierBug():2026 -> A
    3:3:boolean canHaveThisTypeVerifierBug():2026:2026 -> A
    1:1:boolean isKeepRuntimeInvisibleAnnotationsEnabled():652:652 -> A0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> B
    1:1:boolean canHaveTracingPastInstructionsStreamBug():2197 -> B
    2:2:boolean canHaveTracingPastInstructionsStreamBug():2197:2197 -> B
    1:1:boolean isKeepRuntimeInvisibleParameterAnnotationsEnabled():657:657 -> B0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> C
    1:1:boolean canHaveZipFileWithMissingCloseableBug():2322 -> C
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> C
    2:2:boolean canHaveZipFileWithMissingCloseableBug():2322 -> C
    3:3:boolean canHaveZipFileWithMissingCloseableBug():2322:2322 -> C
    1:1:boolean isKeepRuntimeVisibleAnnotationsEnabled():662:662 -> C0
    1:1:boolean canInitCauseAfterAssertionErrorObjectConstructor():1971:1971 -> D
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> D
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794 -> D
    2:2:boolean canInitCauseAfterAssertionErrorObjectConstructor():1971 -> D
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794:1794 -> D
    3:3:boolean canInitCauseAfterAssertionErrorObjectConstructor():1971 -> D
    1:1:boolean isKeepRuntimeVisibleParameterAnnotationsEnabled():667:667 -> D0
    1:1:boolean canLeaveStaticInterfaceMethodInvokes():1865:1865 -> E
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> E
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794 -> E
    2:2:boolean canLeaveStaticInterfaceMethodInvokes():1865 -> E
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794:1794 -> E
    3:3:boolean canLeaveStaticInterfaceMethodInvokes():1865 -> E
    1:3:boolean isMinifying():596:596 -> E0
    5:5:boolean isMinifying():598:598 -> E0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> F
    1:1:boolean canParseNumbersWithPlusPrefix():2338 -> F
    2:2:boolean canParseNumbersWithPlusPrefix():2338:2338 -> F
    1:1:boolean isOptimizing():582:582 -> F0
    1:1:boolean canUseAssertionErrorTwoArgumentConstructor():1952:1952 -> G
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> G
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794 -> G
    2:2:boolean canUseAssertionErrorTwoArgumentConstructor():1952 -> G
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794:1794 -> G
    3:3:boolean canUseAssertionErrorTwoArgumentConstructor():1952 -> G
    1:1:boolean isRelease():586:586 -> G0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> H
    1:1:boolean canUseConstantMethodHandle():1841 -> H
    2:2:boolean canUseConstantMethodHandle():1841:1841 -> H
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> H
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794 -> H
    3:3:boolean canUseConstantMethodHandle():1841 -> H
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794:1794 -> H
    4:4:boolean canUseConstantMethodHandle():1841 -> H
    1:1:boolean isRepackagingEnabled():623:623 -> H0
    2:2:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isNone():1220:1220 -> H0
    2:2:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isSome():1236 -> H0
    2:2:boolean isRepackagingEnabled():623 -> H0
    3:3:boolean isRepackagingEnabled():623:623 -> H0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> I
    1:1:boolean canUseConstantMethodType():1845 -> I
    2:2:boolean canUseConstantMethodType():1845:1845 -> I
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> I
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794 -> I
    3:3:boolean canUseConstantMethodType():1845 -> I
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794:1794 -> I
    4:4:boolean canUseConstantMethodType():1845 -> I
    1:3:boolean isShrinking():590:590 -> I0
    5:5:boolean isShrinking():592:592 -> I0
    1:1:boolean canUseDefaultAndStaticInterfaceMethods():1853:1853 -> J
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> J
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794 -> J
    2:2:boolean canUseDefaultAndStaticInterfaceMethods():1853 -> J
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794:1794 -> J
    3:3:boolean canUseDefaultAndStaticInterfaceMethods():1853 -> J
    1:1:boolean isStringSwitchConversionEnabled():1926:1926 -> J0
    1:2:boolean canUseFilledNewArrayOfObjects():1983:1984 -> K
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> K
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794 -> K
    3:3:boolean canUseFilledNewArrayOfObjects():1984 -> K
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794:1794 -> K
    4:4:boolean canUseFilledNewArrayOfObjects():1984 -> K
    1:6:void keepDebugRelatedInformation():218:223 -> K0
    1:1:boolean canUseInputStackMaps():705:705 -> L
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> L
    2:2:boolean canUseInputStackMaps():705 -> L
    1:2:boolean keepInnerClassStructure():700:701 -> L0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> M
    1:1:boolean canUseInvokeCustom():1849 -> M
    2:2:boolean canUseInvokeCustom():1849:1849 -> M
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> M
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794 -> M
    3:3:boolean canUseInvokeCustom():1849 -> M
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794:1794 -> M
    4:4:boolean canUseInvokeCustom():1849 -> M
    1:1:com.android.tools.r8.utils.InternalOptions$KotlinOptimizationOptions kotlinOptimizationOptions():772:772 -> M0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> N
    1:1:boolean canUseInvokePolymorphic():1837 -> N
    2:2:boolean canUseInvokePolymorphic():1837:1837 -> N
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> N
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794 -> N
    3:3:boolean canUseInvokePolymorphic():1837 -> N
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794:1794 -> N
    4:4:boolean canUseInvokePolymorphic():1837 -> N
    1:1:boolean parseSignatureAttribute():632:632 -> N0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> O
    1:1:boolean canUseInvokePolymorphicOnVarHandle():1833 -> O
    2:2:boolean canUseInvokePolymorphicOnVarHandle():1833:1833 -> O
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> O
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794 -> O
    3:3:boolean canUseInvokePolymorphicOnVarHandle():1833 -> O
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794:1794 -> O
    4:4:boolean canUseInvokePolymorphicOnVarHandle():1833 -> O
    1:32:boolean printWarnings():1110:1141 -> O0
    33:72:boolean printWarnings():1137:1176 -> O0
    1:1:boolean canUseJavaUtilObjects():1935:1935 -> P
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> P
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794 -> P
    2:2:boolean canUseJavaUtilObjects():1935 -> P
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794:1794 -> P
    3:3:boolean canUseJavaUtilObjects():1935 -> P
    1:1:com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions protoShrinking():768:768 -> P0
    1:1:boolean canUseJavaUtilObjectsIsNull():1939:1939 -> Q
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> Q
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794 -> Q
    2:2:boolean canUseJavaUtilObjectsIsNull():1939 -> Q
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794:1794 -> Q
    3:3:boolean canUseJavaUtilObjectsIsNull():1939 -> Q
    1:1:com.android.tools.r8.cf.CfVersion requiredCfVersionForConstClassInstructions():1828:1828 -> Q0
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> Q0
    2:2:com.android.tools.r8.cf.CfVersion requiredCfVersionForConstClassInstructions():1828 -> Q0
    3:4:com.android.tools.r8.cf.CfVersion requiredCfVersionForConstClassInstructions():1828:1829 -> Q0
    1:1:boolean canUseJavaUtilObjectsRequireNonNull():1943:1943 -> R
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> R
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794 -> R
    2:2:boolean canUseJavaUtilObjectsRequireNonNull():1943 -> R
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794:1794 -> R
    3:3:boolean canUseJavaUtilObjectsRequireNonNull():1943 -> R
    1:1:boolean com.android.tools.r8.utils.InternalOptions.hasConsumer():422:422 -> R0
    1:1:boolean shouldBackportMethods():450 -> R0
    2:2:boolean shouldBackportMethods():450:450 -> R0
    1:2:boolean canUseMultidex():1930:1931 -> S
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> S
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794 -> S
    3:3:boolean canUseMultidex():1931 -> S
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794:1794 -> S
    4:4:boolean canUseMultidex():1931 -> S
    1:1:boolean shouldDesugarRecords():523:523 -> S0
    2:2:boolean com.android.tools.r8.utils.InternalOptions.canUseRecords():1861:1861 -> S0
    2:2:boolean shouldDesugarRecords():523 -> S0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.canUseDexPc2PcAsDebugInformation():1902:1902 -> T
    1:1:boolean canUseNativeDexPcInsteadOfDebugInfo():1906 -> T
    2:2:boolean canUseNativeDexPcInsteadOfDebugInfo():1906:1906 -> T
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> T
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794 -> T
    3:3:boolean canUseNativeDexPcInsteadOfDebugInfo():1907 -> T
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794:1794 -> T
    4:4:boolean canUseNativeDexPcInsteadOfDebugInfo():1907 -> T
    5:5:boolean com.android.tools.r8.utils.InternalOptions.allowDiscardingResidualDebugInfo():1898:1898 -> T
    5:5:boolean canUseNativeDexPcInsteadOfDebugInfo():1908 -> T
    1:1:boolean shouldKeepStackMapTable():454:454 -> T0
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isRelocatorCompilation():446:446 -> T0
    2:2:boolean shouldKeepStackMapTable():454 -> T0
    3:4:boolean shouldKeepStackMapTable():454:455 -> T0
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isRelocatorCompilation():446:446 -> T0
    5:5:boolean shouldKeepStackMapTable():456 -> T0
    6:6:boolean shouldKeepStackMapTable():457:457 -> T0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> U
    1:1:boolean canUseNotInstruction():2019 -> U
    2:2:boolean canUseNotInstruction():2019:2019 -> U
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> U
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794 -> U
    3:3:boolean canUseNotInstruction():2019 -> U
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794:1794 -> U
    4:4:boolean canUseNotInstruction():2019 -> U
    1:1:boolean shouldRerunEnqueuer():461:461 -> U0
    1:1:boolean canUsePrivateInterfaceMethods():1891:1891 -> V
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> V
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794 -> V
    2:2:boolean canUsePrivateInterfaceMethods():1891 -> V
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794:1794 -> V
    3:3:boolean canUsePrivateInterfaceMethods():1891 -> V
    1:18:void signalFinishedToConsumers():497:514 -> V0
    1:1:boolean canUseSameArrayAndResultRegisterInArrayGetWide():1992:1992 -> W
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> W
    2:2:boolean canUseSameArrayAndResultRegisterInArrayGetWide():1993 -> W
    3:3:boolean canUseSameArrayAndResultRegisterInArrayGetWide():1993:1993 -> W
    1:2:void warningReadingKotlinMetadataReflective():1036:1037 -> W0
    1:1:boolean canUseSuppressedExceptions():1948:1948 -> X
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> X
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794 -> X
    2:2:boolean canUseSuppressedExceptions():1948 -> X
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794:1794 -> X
    3:3:boolean canUseSuppressedExceptions():1948 -> X
    1:1:com.android.tools.r8.utils.InternalOptions$ClassInlinerOptions classInlinerOptions():756:756 -> Y
    1:1:com.android.tools.r8.utils.InternalOptions$DesugarSpecificOptions desugarSpecificOptions():780:780 -> 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):813:814 -> a
    2:3:boolean access$000(java.lang.String):108 -> 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):108:108 -> a
    5:6:void setMarker(com.android.tools.r8.dex.Marker):366:367 -> a
    7:8:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):371:372 -> a
    9:15:com.android.tools.r8.dex.Marker com.android.tools.r8.utils.InternalOptions.createMarker(com.android.tools.r8.dex.Marker$Tool):379:385 -> a
    9:15:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):374 -> a
    16:16:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    16:16:com.android.tools.r8.dex.Marker com.android.tools.r8.utils.InternalOptions.createMarker(com.android.tools.r8.dex.Marker$Tool):386 -> a
    16:16:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):374 -> a
    17:22:com.android.tools.r8.dex.Marker com.android.tools.r8.utils.InternalOptions.createMarker(com.android.tools.r8.dex.Marker$Tool):386:391 -> a
    17:22:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):374 -> a
    23:23:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> a
    23:23:com.android.tools.r8.dex.Marker com.android.tools.r8.utils.InternalOptions.createMarker(com.android.tools.r8.dex.Marker$Tool):392 -> a
    23:23:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):374 -> a
    24:33:com.android.tools.r8.dex.Marker com.android.tools.r8.utils.InternalOptions.createMarker(com.android.tools.r8.dex.Marker$Tool):392:401 -> a
    24:33:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):374 -> a
    34:43:void setDumpInputFlags(com.android.tools.r8.utils.DumpInputFlags,boolean):408:417 -> a
    44:45:void setMinApiLevel(com.android.tools.r8.utils.AndroidApiLevel):577:578 -> a
    46:55:boolean isClassMergingExtensionRequired(com.android.tools.r8.shaking.Enqueuer$Mode):675:684 -> a
    56:58:java.lang.RuntimeException errorMissingNestMember(com.android.tools.r8.ir.desugar.nest.Nest):965:967 -> a
    59:59:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
    59:59:java.lang.RuntimeException errorMissingNestMember(com.android.tools.r8.ir.desugar.nest.Nest):967 -> a
    60:60:java.lang.RuntimeException errorMissingNestMember(com.android.tools.r8.ir.desugar.nest.Nest):967:967 -> a
    61:61:java.lang.RuntimeException errorMissingNestMember(com.android.tools.r8.ir.desugar.nest.Nest):965:965 -> a
    62:68: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):1009:1015 -> a
    69:69: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):1010:1010 -> a
    70:73:void warningMissingInterfaceForDesugar(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):1022:1025 -> a
    74:74:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
    74:74:void warningMissingInterfaceForDesugar(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):1025 -> a
    75:81:void warningMissingInterfaceForDesugar(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):1025:1031 -> a
    82:82:void warningMissingInterfaceForDesugar(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):1023:1023 -> a
    83:91: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):1051:1059 -> a
    92:92: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):1058:1058 -> a
    93:93: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):1052:1052 -> a
    94:94:com.android.tools.r8.references.MethodReference lambda$warningInvalidLibrarySuperclassForDesugar$1(com.android.tools.r8.graph.DexMethod):1059:1059 -> a
    95:98:void warningMissingEnclosingMember(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.cf.CfVersion):1064:1067 -> a
    99:103:void warningInvalidParameterAnnotations(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,int,int):1072:1076 -> a
    104:110:void warningInvalidDebugInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.errors.InvalidDebugInfoException):1081:1087 -> a
    111:111:void warningInvalidDebugInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.errors.InvalidDebugInfoException):1082:1082 -> a
    112:112:java.util.List lambda$warningInvalidDebugInfo$4(com.android.tools.r8.origin.Origin):1086:1086 -> a
    113:118:boolean methodMatchesFilter(com.android.tools.r8.graph.DexEncodedMethod):1190:1195 -> a
    119:119:boolean canUseConstClassInstructions(com.android.tools.r8.cf.CfVersion):1823:1823 -> a
    120:120:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    120:120:boolean canUseConstClassInstructions(com.android.tools.r8.cf.CfVersion):1823 -> a
    121:122:boolean canUseConstClassInstructions(com.android.tools.r8.cf.CfVersion):1823:1824 -> a
    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():146:146 -> 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):821:824 -> b
    2:5:int access$100(java.lang.String,int):108 -> b
    6:6:com.android.tools.r8.utils.Box access$300(com.android.tools.r8.utils.InternalOptions):108:108 -> b
    7:40:java.lang.String messageErrorIncompleteNest(com.android.tools.r8.ir.desugar.nest.Nest):971:1004 -> b
    41:41:java.util.List lambda$warningInvalidParameterAnnotations$3(com.android.tools.r8.origin.Origin):1075:1075 -> b
    1:3:void disableAllOptimizations():236:238 -> b0
    1:1:com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions apiModelingOptions():776:776 -> c
    2:2:java.util.List lambda$warningMissingEnclosingMember$2(com.android.tools.r8.origin.Origin):1066:1066 -> c
    1:13:void disableGlobalOptimizations():242:254 -> c0
    14:14:void com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions.disableApiCallerIdentification():1559:1559 -> c0
    14:14:void disableGlobalOptimizations():254 -> c0
    1:1:boolean assertionsEnabled():932:932 -> d
    2:11:void warningExperimentalClassFileVersion(com.android.tools.r8.origin.Origin):1093:1102 -> d
    12:18:void warningExperimentalClassFileVersion(com.android.tools.r8.origin.Origin):1098:1104 -> d
    1:1:void disableNameReflectionOptimization():1790:1790 -> d0
    1:1:com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions callSiteOptimizationOptions():752:752 -> e
    1:1:boolean enableBackportedMethodRewriting():1877:1877 -> e0
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> e0
    2:2:boolean enableBackportedMethodRewriting():1877 -> e0
    3:3:boolean enableBackportedMethodRewriting():1877:1877 -> e0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> f
    1:1:boolean canHaveArtCheckCastVerifierBug():2269 -> f
    2:2:boolean canHaveArtCheckCastVerifierBug():2269:2269 -> f
    1:6:void enableProtoShrinking():227:232 -> f0
    1:1:boolean canHaveArtInstanceOfVerifierBug():2224:2224 -> g
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> g
    2:2:boolean canHaveArtInstanceOfVerifierBug():2225 -> g
    3:3:boolean canHaveArtInstanceOfVerifierBug():2225:2225 -> g
    1:5:boolean enableTryWithResourcesDesugaring():1881:1885 -> g0
    6:6:boolean com.android.tools.r8.utils.InternalOptions.canUseTwrCloseResourceMethod():1869:1869 -> g0
    6:6:boolean enableTryWithResourcesDesugaring():1885 -> g0
    7:7:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> g0
    7:7:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794 -> g0
    7:7:boolean com.android.tools.r8.utils.InternalOptions.canUseTwrCloseResourceMethod():1869 -> g0
    7:7:boolean enableTryWithResourcesDesugaring():1885 -> g0
    8:8:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1794:1794 -> g0
    8:8:boolean com.android.tools.r8.utils.InternalOptions.canUseTwrCloseResourceMethod():1869 -> g0
    8:8:boolean enableTryWithResourcesDesugaring():1885 -> g0
    9:9:boolean enableTryWithResourcesDesugaring():1887:1887 -> g0
    1:1:boolean canHaveArtStringNewInitBug():2149:2149 -> h
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> h
    2:2:boolean canHaveArtStringNewInitBug():2149 -> h
    3:3:boolean canHaveArtStringNewInitBug():2149:2149 -> h
    1:9:java.util.Set getExtensiveInterfaceMethodMinifierLoggingFilter():801:809 -> h0
    1:1:boolean canHaveBoundsCheckEliminationBug():2010:2010 -> i
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> i
    2:2:boolean canHaveBoundsCheckEliminationBug():2010 -> i
    3:3:boolean canHaveBoundsCheckEliminationBug():2010:2010 -> i
    1:9:java.util.Set getExtensiveLoggingFilter():788:796 -> i0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> j
    1:1:boolean canHaveCmpIfFloatBug():2102 -> j
    2:2:boolean canHaveCmpIfFloatBug():2102:2102 -> j
    1:1:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():426:426 -> j0
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasConsumer():422:422 -> j0
    2:2:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():426 -> j0
    3:3:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():426:426 -> j0
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingDexIndexed():469:469 -> j0
    4:4:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():427 -> j0
    5:5:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():428:428 -> j0
    6:6:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingDexFilePerClassFile():473:473 -> j0
    6:6:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():429 -> j0
    7:7:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():430:430 -> j0
    8:8:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> j0
    8:8:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():431 -> j0
    9:11:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():432:434 -> j0
    1:1:boolean canHaveCmpLongBug():2074:2074 -> k
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> k
    2:2:boolean canHaveCmpLongBug():2074 -> k
    3:3:boolean canHaveCmpLongBug():2074:2074 -> k
    1:1:com.android.tools.r8.utils.AndroidApiLevel getMinApiLevel():573:573 -> k0
    1:1:boolean canHaveDalvikAbstractMethodOnNonAbstractClassVerificationBug():2301:2301 -> l
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> l
    2:2:boolean canHaveDalvikAbstractMethodOnNonAbstractClassVerificationBug():2301 -> l
    3:3:boolean canHaveDalvikAbstractMethodOnNonAbstractClassVerificationBug():2301:2301 -> l
    1:6:com.android.tools.r8.ir.desugar.PrefixRewritingMapper getPrefixRewritingMapper():897:902 -> l0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> m
    1:1:boolean canHaveDalvikCatchHandlerVerificationBug():2293 -> m
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> m
    2:2:boolean canHaveDalvikCatchHandlerVerificationBug():2293 -> m
    3:3:boolean canHaveDalvikCatchHandlerVerificationBug():2293:2293 -> m
    1:1:com.android.tools.r8.shaking.ProguardConfiguration getProguardConfiguration():154:154 -> m0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> n
    1:1:boolean canHaveDalvikIntUsedAsNonIntPrimitiveTypeBug():2315 -> n
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> n
    2:2:boolean canHaveDalvikIntUsedAsNonIntPrimitiveTypeBug():2315 -> n
    3:3:boolean canHaveDalvikIntUsedAsNonIntPrimitiveTypeBug():2315:2315 -> n
    1:1:boolean hasMethodsFilter():1185:1185 -> n0
    1:1:boolean canHaveDex2OatInliningIssue():2141:2141 -> o
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> o
    2:2:boolean canHaveDex2OatInliningIssue():2141 -> o
    3:3:boolean canHaveDex2OatInliningIssue():2141:2141 -> o
    1:1:boolean hasProguardConfiguration():150:150 -> o0
    1:1:boolean canHaveDex2OatLinkedListBug():2133:2133 -> p
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> p
    2:2:boolean canHaveDex2OatLinkedListBug():2133 -> p
    3:3:boolean canHaveDex2OatLinkedListBug():2133:2133 -> p
    1:1:boolean hasUsageInformationConsumer():880:880 -> p0
    1:1:boolean canHaveExceptionTargetingLoopHeaderBug():2182:2182 -> q
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> q
    2:2:boolean canHaveExceptionTargetingLoopHeaderBug():2182 -> q
    3:3:boolean canHaveExceptionTargetingLoopHeaderBug():2182:2182 -> q
    1:1:com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions horizontalClassMergerOptions():764:764 -> q0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> r
    1:1:boolean canHaveExceptionTypeBug():2261 -> r
    2:2:boolean canHaveExceptionTypeBug():2261:2261 -> r
    1:1:com.android.tools.r8.utils.InternalOptions$InlinerOptions inlinerOptions():760:760 -> r0
    1:1:boolean canHaveForwardingInitInliningBug():2170:2170 -> s
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> s
    2:2:boolean canHaveForwardingInitInliningBug():2170 -> s
    3:3:boolean canHaveForwardingInitInliningBug():2170:2170 -> s
    1:1:boolean isDesugaredLibraryCompilation():442:442 -> s0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> t
    1:1:boolean canHaveLongToIntBug():2248 -> t
    2:2:boolean canHaveLongToIntBug():2248:2248 -> t
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> t0
    1:1:boolean isDesugaring():481 -> t0
    2:2:boolean isDesugaring():481:481 -> t0
    1:1:boolean canHaveMul2AddrBug():2124:2124 -> u
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> u
    2:2:boolean canHaveMul2AddrBug():2124 -> u
    3:3:boolean canHaveMul2AddrBug():2124:2124 -> u
    1:1:boolean isGeneratingClassFiles():477:477 -> u0
    1:1:boolean canHaveNumberConversionRegisterAllocationBug():2157:2157 -> v
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> v
    2:2:boolean canHaveNumberConversionRegisterAllocationBug():2157 -> v
    3:3:boolean canHaveNumberConversionRegisterAllocationBug():2157:2157 -> v
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingDexIndexed():469:469 -> v0
    1:1:boolean isGeneratingDex():465 -> v0
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingDexFilePerClassFile():473:473 -> v0
    2:2:boolean isGeneratingDex():465 -> v0
    1:1:boolean canHaveOverlappingLongRegisterBug():2041:2041 -> w
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> w
    2:2:boolean canHaveOverlappingLongRegisterBug():2041 -> w
    3:3:boolean canHaveOverlappingLongRegisterBug():2041:2041 -> w
    1:1:boolean com.android.tools.r8.utils.InternalOptions.hasConsumer():422:422 -> w0
    1:1:boolean isInterfaceMethodDesugaringEnabled():1913 -> w0
    2:4:boolean isInterfaceMethodDesugaringEnabled():1916:1918 -> w0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> x
    1:1:boolean canHaveSuperInvokeBug():2346 -> x
    2:2:boolean canHaveSuperInvokeBug():2346:2346 -> x
    1:1:boolean isKeepAttributesSignatureEnabled():637:637 -> x0
    1:1:boolean canHaveSwitchMaxIntBug():2330:2330 -> y
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> y
    2:2:boolean canHaveSwitchMaxIntBug():2330 -> y
    3:3:boolean canHaveSwitchMaxIntBug():2330:2330 -> y
    1:1:boolean isKeepEnclosingMethodAttributeEnabled():642:642 -> y0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():573:573 -> z
    1:1:boolean canHaveThisJitCodeDebuggingBug():2035 -> z
    2:2:boolean canHaveThisJitCodeDebuggingBug():2035:2035 -> z
    1:1:boolean isKeepInnerClassesAttributeEnabled():647:647 -> z0
com.android.tools.r8.utils.InternalOptions$1 -> com.android.tools.r8.internal.Et:
    int[] $SwitchMap$com$android$tools$r8$utils$OffOrAuto -> a
    1:1:void <clinit>():1881:1881 -> <clinit>
com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions -> com.android.tools.r8.internal.Gt$a:
    java.util.Map methodApiMapping -> a
    java.util.Map fieldApiMapping -> b
    java.util.Map classApiMapping -> c
    java.util.function.BiConsumer tracedMethodApiLevelCallback -> d
    boolean enableApiCallerIdentification -> e
    boolean checkAllApiReferencesAreSet -> f
    boolean enableStubbingOfClasses -> g
    boolean enableOutliningOfMethods -> h
    1:16:void <init>():1490:1505 -> <init>
    1:11:void visitMockedApiLevelsForReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.Consumer):1509:1519 -> a
    12:12:void lambda$visitMockedApiLevelsForReferences$0(java.util.Set,com.android.tools.r8.references.MethodReference):1515:1515 -> a
    13:13:void lambda$visitMockedApiLevelsForReferences$1(java.util.Set,com.android.tools.r8.references.FieldReference):1518:1518 -> a
    14:14:void lambda$visitMockedApiLevelsForReferences$2(java.util.function.Consumer,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.references.ClassReference):1521:1521 -> a
com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions$1 -> com.android.tools.r8.internal.Ft:
    com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions this$0 -> c
    com.android.tools.r8.references.ClassReference val$classReference -> b
    com.android.tools.r8.graph.DexItemFactory val$factory -> a
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.references.ClassReference):1522:1522 -> <init>
    1:1:com.android.tools.r8.utils.AndroidApiLevel getApiLevel():1530:1530 -> a
    2:2:void visitMethodsWithApiLevels(java.util.function.BiConsumer):1536:1536 -> a
    3:4:void lambda$visitMethodsWithApiLevels$0(com.android.tools.r8.references.ClassReference,java.util.function.BiConsumer,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.references.MethodReference,com.android.tools.r8.utils.AndroidApiLevel):1538:1539 -> a
    5:6:void lambda$visitFieldsWithApiLevels$1(com.android.tools.r8.references.ClassReference,java.util.function.BiConsumer,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.references.FieldReference,com.android.tools.r8.utils.AndroidApiLevel):1549:1550 -> a
    1:1:void visitFieldsWithApiLevels(java.util.function.BiConsumer):1547:1547 -> b
    1:1:com.android.tools.r8.graph.DexType getType():1525:1525 -> getType
com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions -> com.android.tools.r8.internal.Gt$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>():1272:1272 -> <clinit>
    1:6:void <init>(com.android.tools.r8.utils.InternalOptions):1272:1277 -> <init>
    1:1:void disableOptimization():1280:1280 -> a
    2:2:com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions setEnableMethodStaticizing(boolean):1318:1318 -> a
    1:4:boolean isEnabled():1288:1291 -> b
    5:5:com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions setEnabled(boolean):1304:1304 -> b
    6:6:void com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions.disableOptimization():1280:1280 -> b
    6:6:com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions setEnabled(boolean):1306 -> b
    1:1:boolean isForceSyntheticsForInstanceInitializersEnabled():1295:1295 -> c
    2:2:com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions setForceSyntheticsForInstanceInitializers(boolean):1313:1313 -> c
    1:1:boolean isMethodStaticizingEnabled():1299:1299 -> d
com.android.tools.r8.utils.InternalOptions$ClassInlinerOptions -> com.android.tools.r8.internal.Gt$c:
    com.android.tools.r8.utils.InternalOptions this$0 -> b
    boolean $assertionsDisabled -> c
    int classInliningInstructionAllowance -> a
    1:1:void <clinit>():1323:1323 -> <clinit>
    1:3:void <init>(com.android.tools.r8.utils.InternalOptions):1323:1325 -> <init>
    1:4:int getClassInliningInstructionAllowance():1328:1331 -> a
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    5:5:int getClassInliningInstructionAllowance():1331 -> a
    6:6:int getClassInliningInstructionAllowance():1334:1334 -> a
com.android.tools.r8.utils.InternalOptions$DesugarSpecificOptions -> com.android.tools.r8.internal.Gt$d:
    boolean sortMethodsOnCfOutput -> a
    boolean allowAllDesugaredInput -> b
    boolean noCfMarkerForDesugaredCode -> c
    boolean lambdaClassFieldsFinal -> d
    1:15:void <init>():1255:1269 -> <init>
com.android.tools.r8.utils.InternalOptions$DesugarState -> com.android.tools.r8.internal.Gt$e:
    com.android.tools.r8.utils.InternalOptions$DesugarState OFF -> b
    com.android.tools.r8.utils.InternalOptions$DesugarState ON -> c
    1:2:void <clinit>():123:124 -> <clinit>
    1:1:void <init>(java.lang.String,int):122:122 -> <init>
    1:1:boolean isOff():127:127 -> a
    1:1:boolean isOn():131:131 -> b
com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions -> com.android.tools.r8.internal.Gt$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>():1388:1388 -> <clinit>
    1:14:void <init>(com.android.tools.r8.utils.InternalOptions):1388:1401 -> <init>
    1:1:void disable():1404:1404 -> a
    2:2:void enableIf(boolean):1416:1416 -> a
    3:9:boolean isEnabled(com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):1436:1442 -> a
    1:1:void disableSyntheticMerging():1408:1408 -> b
    2:8:boolean isInterfaceMergingEnabled(com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):1455:1461 -> b
    1:1:void enable():1412:1412 -> c
    int getMaxClassGroupSize() -> d
    1:1:boolean isClassInitializerDeadlockDetectionEnabled():1432:1432 -> e
    1:1:boolean isRestrictedToSynthetics():1466:1466 -> f
    1:1:boolean isSyntheticMergingEnabled():1451:1451 -> g
    1:1:void setEnableClassInitializerDeadlockDetection():1470:1470 -> h
    1:1:void setEnableInterfaceMerging():1474:1474 -> i
    1:1:void setEnableInterfaceMergingInInitial():1478:1478 -> j
    1:1:void setRestrictToSynthetics():1486:1486 -> k
com.android.tools.r8.utils.InternalOptions$InlinerOptions -> com.android.tools.r8.internal.Gt$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>():1339:1339 -> <clinit>
    1:33:void <init>(com.android.tools.r8.utils.InternalOptions):1339:1371 -> <init>
    1:5:int getSimpleInliningInstructionLimit():1375:1379 -> a
    6:6:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    6:6:int getSimpleInliningInstructionLimit():1379 -> a
    7:7:int getSimpleInliningInstructionLimit():1383:1383 -> a
com.android.tools.r8.utils.InternalOptions$InvalidParameterAnnotationInfo -> com.android.tools.r8.internal.Ht:
    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):837:840 -> <init>
com.android.tools.r8.utils.InternalOptions$KotlinOptimizationOptions -> com.android.tools.r8.internal.It:
    boolean disableKotlinSpecificOptimizations -> a
    1:3:void <init>():1248:1250 -> <init>
com.android.tools.r8.utils.InternalOptions$LineNumberOptimization -> com.android.tools.r8.internal.Gt$h:
    com.android.tools.r8.utils.InternalOptions$LineNumberOptimization OFF -> b
    com.android.tools.r8.utils.InternalOptions$LineNumberOptimization ON -> c
    1:2:void <clinit>():118:119 -> <clinit>
    1:1:void <init>(java.lang.String,int):117:117 -> <init>
com.android.tools.r8.utils.InternalOptions$OutlineOptions -> com.android.tools.r8.internal.Gt$i:
    int threshold -> d
    boolean enabled -> a
    int minSize -> b
    int maxSize -> c
    1:5:void <init>():1240:1244 -> <init>
com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode -> com.android.tools.r8.internal.Gt$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>():1210:1217 -> <clinit>
    1:1:void <init>(java.lang.String,int):1208:1208 -> <init>
com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions -> com.android.tools.r8.internal.Gt$k:
    boolean enableEnumLiteProtoShrinking -> e
    boolean enableGeneratedExtensionRegistryShrinking -> a
    boolean enableGeneratedMessageLiteShrinking -> b
    boolean enableGeneratedMessageLiteBuilderShrinking -> c
    boolean traverseOneOfAndRepeatedProtoFields -> d
    1:7:void <init>():1563:1569 -> <init>
    1:1:boolean enableRemoveProtoEnumSwitchMap():1583:1583 -> a
    1:1:boolean isEnumLiteProtoShrinkingEnabled():1594:1594 -> b
    1:1:boolean isProtoShrinkingEnabled():1587:1587 -> c
com.android.tools.r8.utils.InternalOptions$TestingOptions -> com.android.tools.r8.internal.Gt$l:
    boolean disableMarkingClassesFinal -> d0
    boolean keepMetadataInR8IfNotRewritten -> f0
    boolean enableTestAssertions -> b0
    com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData proguardIfRuleEvaluationData -> s0
    boolean allowUnusedDontWarnRules -> u
    boolean allowInvalidCfAccessFlags -> X
    boolean allowInliningOfSynthetics -> q
    java.lang.Runnable hookInIrConversion -> q0
    boolean allowStaticInterfaceMethodsForPreNApiLevel -> T
    com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification machineDesugaredLibrarySpecification -> m
    boolean enableDeadSwitchCaseElimination -> y
    boolean invertConditionals -> C
    java.util.Set allowedUnusedDontWarnPatterns -> a0
    boolean allowCheckDiscardedErrors -> n
    java.util.function.BiConsumer irModifier -> K
    java.util.function.BiConsumer enqueuerInspector -> d
    boolean forceNameReflectionOptimization -> I
    java.util.function.Function horizontalClassMergingPolicyRewriter -> h
    boolean reportUnusedProguardConfigurationRules -> v
    com.android.tools.r8.utils.IROrdering irOrdering -> c
    boolean trackDesugaredAPIConversions -> Q
    boolean allowTypeErrors -> 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 enableInvokeSuperToInvokeVirtualRewriting -> 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 allowClassInliningOfSynthetics -> 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 alwaysUseExistingAccessInfoCollectionsInMemberRebinding -> w
    boolean enumUnboxingRewriteJavaCGeneratedMethod -> R
    boolean allowInvokeErrors -> s
    byte[] forceDexVersionBytes -> b
    boolean checkForNotExpandingMainDexTracingResult -> Z
    boolean dontCreateMarkerInD8 -> E
    java.util.function.Consumer waveModifier -> l
    boolean enableSwitchToIfRewriting -> A
    com.android.tools.r8.utils.InternalOptions$TestingOptions$MinifierTestingOptions minifier -> p0
    java.util.function.BiConsumer unboxedEnumsConsumer -> j
    boolean disableRecordApplicationReaderMap -> O
    boolean allowInjectedAnnotationMethods -> p
    boolean disableMappingToOriginalProgramVerification -> W
    java.util.function.Function repackagingConfigurationFactory -> f
    boolean enableCheckCastAndInstanceOfRemoval -> x
    int limitNumberOfClassesPerDex -> o0
    boolean assertConsistentRenamingOfSignature -> S
    com.android.tools.r8.utils.TriFunction horizontalClassMergingTarget -> i
    boolean allowUnnecessaryDontWarnWildcards -> t
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer argumentPropagatorEventConsumer -> a
    boolean disableStackMapVerification -> m0
    boolean forceJumboStringProcessing -> F
    boolean forceRedundantConstNumberRemoval -> B
    boolean enableD8ResourcesPassThrough -> i0
    boolean verifyKeptGraphInfo -> k0
    1:180:void <init>():1598:1777 -> <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):1601:1601 -> a
com.android.tools.r8.utils.InternalOptions$TestingOptions$MinifierTestingOptions -> com.android.tools.r8.internal.Gt$l$a:
    java.util.Comparator interfaceMethodOrdering -> a
    1:3:void <init>():1748:1750 -> <init>
    1:2:java.util.Comparator getInterfaceMethodOrderingOrDefault(java.util.Comparator):1754:1755 -> 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):1756:1756 -> a
com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData -> com.android.tools.r8.internal.Gt$l$b:
    int numberOfProguardIfRuleMemberEvaluations -> b
    int numberOfProguardIfRuleClassEvaluations -> a
    1:4:void <init>():1766:1769 -> <init>
com.android.tools.r8.utils.InternalOptions$TypeVersionPair -> com.android.tools.r8.internal.Jt:
    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):849:851 -> <init>
com.android.tools.r8.utils.InternalOutputMode -> com.android.tools.r8.internal.Kt:
    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.uu:
    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:13:java.lang.Iterable flatten(java.lang.Iterable):157:157 -> a
    14:14:java.lang.Iterable flatMap(java.lang.Iterable,java.util.function.Function):162:162 -> a
    15:25:boolean testPairs(java.util.function.BiPredicate,java.lang.Iterable,java.lang.Iterable):183:193 -> a
    26:27:java.lang.Iterable fromMethod(java.util.function.Consumer,java.util.function.Function):197:198 -> a
    28:28:void lambda$fromMethod$2(java.util.List,java.util.function.Function,java.lang.Object):198:198 -> a
    1:2:java.lang.Object findOrDefault(java.lang.Iterable,java.util.function.Predicate,java.lang.Object):68:69 -> b
    3:4:java.util.List toNewArrayList(java.lang.Iterable):118:119 -> b
    5:5:java.lang.Iterable transform(java.lang.Iterable,java.util.function.Function):124:124 -> b
    6:6:java.lang.Iterable singleton(java.lang.Object):132:132 -> b
    1:2:int firstIndexMatching(java.lang.Iterable,java.util.function.Predicate):82:83 -> 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.Du:
    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:16:boolean allRemainingMatchDestructive(java.util.Iterator,java.util.function.Predicate):170:171 -> a
    17:29: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.Bu:
    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.Cu:
    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 -> l
    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.cv:
    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.Vz:
    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 -> e
    1:1:boolean removeEldestEntry(java.util.Map$Entry):42:42 -> removeEldestEntry
com.android.tools.r8.utils.LRUCacheTable$LRUCacheRow -> com.android.tools.r8.internal.Uz:
    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.uA:
    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.zA:
    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.LA:
    1:1:void rewriteAndApplyIfNotPrimitiveType(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexReference,java.util.function.Consumer):28:28 -> a
    2:2:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.GraphLens.rewriteReference(com.android.tools.r8.graph.DexReference):635:635 -> a
    2:2:void rewriteAndApplyIfNotPrimitiveType(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexReference,java.util.function.Consumer):28 -> a
    3:3:void rewriteAndApplyIfNotPrimitiveType(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexReference,java.util.function.Consumer):31:31 -> a
    4:4:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    4:4:void rewriteAndApplyIfNotPrimitiveType(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexReference,java.util.function.Consumer):31 -> a
    5:8: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.MA:
    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.rB:
    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():1898:1898 -> 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
    25:29: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
    30:30:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265:265 -> a
    30: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):483 -> a
    31:31:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):261:261 -> a
    31:31:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):265 -> 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:62:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):486:516 -> a
    63:63:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):515:515 -> a
    64:66: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
    64:66: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
    67: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):524:524 -> a
    68:86: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
    87:87:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):808:808 -> a
    87: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):541 -> a
    88:88:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():477:477 -> a
    88:88:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):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:104:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):808:823 -> a
    89:104: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
    105:105: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:186 -> a
    105:105:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):823 -> a
    105:105: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
    106:106:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():613:613 -> a
    106:106: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
    106:106:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):823 -> a
    106: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.shaking.KeepInfoCollection.isMinificationAllowed(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):187:187 -> a
    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:124:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):827:843 -> a
    108:124: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
    125:143: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
    144:144:boolean com.android.tools.r8.utils.InternalOptions.canUseDexPc2PcAsDebugInformation():1902:1902 -> a
    144: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):563 -> a
    145:147: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
    148:156:boolean com.android.tools.r8.utils.LineNumberOptimizer.doesContainPositions(com.android.tools.r8.graph.DexCode):947:955 -> a
    148:156: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
    157:169: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
    157:169: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
    170:170:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    170:170: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
    170:170: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
    171:204: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
    171:204: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
    205:220: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
    205:220: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
    221:224: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
    221:224: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
    225:225: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
    226:239: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
    226:239:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):572 -> a
    240:240:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    240:240: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
    240:240:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles):572 -> a
    241:250: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
    241:250: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
    251:251:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    251:251: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
    251:251: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
    252:329: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
    252:329: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
    330:330:boolean com.android.tools.r8.utils.InternalOptions.allowDiscardingResidualDebugInfo():1898:1898 -> a
    330:330: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
    330:330: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
    331:343: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
    331:343: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
    344:347: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
    344:347: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
    344:347: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
    348:348: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
    348:348: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
    349: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):575:576 -> a
    351:353:boolean com.android.tools.r8.utils.LineNumberOptimizer.doesContainPositions(com.android.tools.r8.graph.CfCode):963:965 -> a
    351: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):576 -> a
    354:354: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
    355:367: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
    355:367: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
    368:379: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
    368:379: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
    368:379: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
    380:380: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
    380:380: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
    380:380: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
    381:394: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
    381:394: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
    395:395:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):172:172 -> a
    395:395: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
    395:395: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
    396:396: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
    396:396: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
    397:404: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
    405:405:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    405:405: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
    406:424: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
    425:453: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
    454:461:com.android.tools.r8.graph.DexMethod com.android.tools.r8.utils.LineNumberOptimizer.getOutlineMethod(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):757:764 -> a
    454:461: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
    462:464: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
    465:465:com.android.tools.r8.naming.mappinginformation.OutlineMappingInformation com.android.tools.r8.naming.mappinginformation.OutlineMappingInformation$Builder.build():56:56 -> a
    465:465: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
    466:531: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
    532:570: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
    571:581: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
    582:595: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
    596:597: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
    598:598: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
    599:599:void lambda$run$4(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,com.android.tools.r8.naming.mappinginformation.MappingInformation):620:620 -> a
    600:600: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
    601:601: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
    602:616: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
    617:617: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
    618:618:com.android.tools.r8.utils.LineNumberOptimizer$OutlineFixupBuilder lambda$run$10(com.android.tools.r8.graph.DexMethod):732:732 -> a
    619:619: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
    620:632: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
    633:640: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
    641:641:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Builder com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation.builder():109:109 -> a
    641:641: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
    642: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):793:796 -> 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):795:795 -> a
    647:647: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
    648:648:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.create(int):269:269 -> a
    648:648: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
    649: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):797:798 -> a
    651:660: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
    661:661:void sortMethods(java.util.List):871:871 -> a
    662:663:int lambda$sortMethods$12(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):873:874 -> a
    664:664:int com.android.tools.r8.graph.DexEncodedMethod.slowCompare(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1249:1249 -> a
    664:664:int lambda$sortMethods$12(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):877 -> a
    665:665: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
    666:670: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
    671:671: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
    671:671: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
    672:672:java.lang.String com.android.tools.r8.graph.DexField.qualifiedName():190:190 -> a
    672:672:com.android.tools.r8.naming.MemberNaming$FieldSignature com.android.tools.r8.naming.MemberNaming$FieldSignature.fromDexField(com.android.tools.r8.graph.DexField,boolean):186 -> a
    672:672: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
    673:674: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
    673:674: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
    675: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):907:908 -> a
    677:684:java.util.IdentityHashMap groupMethodsByRenamedName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass):915:922 -> a
    685:685:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    685:685:java.util.IdentityHashMap groupMethodsByRenamedName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass):922 -> a
    686:690: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
    691:691:java.util.List lambda$groupMethodsByRenamedName$14(com.android.tools.r8.graph.DexString):926:926 -> a
    692:697:boolean doesContainPositions(com.android.tools.r8.graph.DexEncodedMethod):934:939 -> a
    698:706:boolean com.android.tools.r8.utils.LineNumberOptimizer.doesContainPositions(com.android.tools.r8.graph.DexCode):947:955 -> a
    698:706:boolean doesContainPositions(com.android.tools.r8.graph.DexEncodedMethod):939 -> a
    707:708:boolean doesContainPositions(com.android.tools.r8.graph.DexEncodedMethod):940:941 -> a
    709:711:boolean com.android.tools.r8.utils.LineNumberOptimizer.doesContainPositions(com.android.tools.r8.graph.CfCode):963:965 -> a
    709:711:boolean doesContainPositions(com.android.tools.r8.graph.DexEncodedMethod):941 -> a
    712:723: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
    712:723: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
    724:724: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
    724:724: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.fB:
    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.gB:
    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.hB:
    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.iB:
    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.jB:
    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.kB:
    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.lB:
    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.mB:
    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.nB:
    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.oB:
    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.pB:
    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 access$1200(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter,int):256:256 -> a
    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 access$1500(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter,int,com.android.tools.r8.ir.code.Position):256:256 -> a
    5:18:void com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.emitPositionEvents(int,com.android.tools.r8.ir.code.Position):277:290 -> a
    5:18:void access$1500(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter,int,com.android.tools.r8.ir.code.Position):256 -> a
    19:20:int com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.getStartLine():294:295 -> a
    19:20:int access$1600(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter):256 -> a
com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper -> com.android.tools.r8.internal.qB:
    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.DB:
    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.CB:
com.android.tools.r8.utils.LongInterval -> com.android.tools.r8.internal.qC:
    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.LC:
    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.NC:
    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.QC:
    1:1:java.util.Map clone(java.util.Map,java.util.Map,java.util.function.Function):25:25 -> a
    2:2:void lambda$clone$0(java.util.Map,java.util.function.Function,java.lang.Object,java.lang.Object):25:25 -> a
    3:3:java.util.function.Function ignoreKey(java.util.function.Supplier):38:38 -> a
    4:4:java.lang.Object lambda$ignoreKey$1(java.util.function.Supplier,java.lang.Object):38:38 -> a
    5:6:java.util.IdentityHashMap newIdentityHashMap(com.android.tools.r8.utils.BiForEachable):42:43 -> a
    7:7:boolean lambda$removeIdentityMappings$2(java.util.Map$Entry):48:48 -> a
    8:8:void removeIdentityMappings(java.util.Map):48:48 -> a
    9:9:boolean lambda$removeIf$3(java.util.function.BiPredicate,java.util.Map$Entry):52:52 -> a
    10:10:void removeIf(java.util.Map,java.util.function.BiPredicate):52:52 -> a
    11:12: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):66:67 -> a
    13:20:void lambda$transform$5(java.util.function.Function,java.util.function.Function,java.util.Map,com.android.tools.r8.utils.TriFunction,java.lang.Object,java.lang.Object):69:76 -> a
    1:1:java.lang.String lambda$toString$4(java.util.Map$Entry):57:57 -> b
    2:2:java.lang.String toString(java.util.Map):57:57 -> b
    3:3:java.lang.String toString(java.util.Map):56:56 -> b
com.android.tools.r8.utils.MethodJavaSignatureEquivalence -> com.android.tools.r8.internal.YD:
    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.nE:
    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.pE:
    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.HJ:
    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.MJ:
    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.dK:
    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.aK:
    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.bK:
    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.cK:
    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.gK:
    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.fK:
    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.lK:
    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.pK:
    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.mK:
    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.nK:
    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.oK:
    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.NK:
# {"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.yL:
    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.zL:
    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.ML:
    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.ML$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.NL:
    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.kM:
    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: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):82:83 -> a
    14: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():761:761 -> 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: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
    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):74:74 -> 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:26:boolean com.android.tools.r8.utils.ProgramClassCollection.assertEqualClasses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):91:91 -> a
    24:26: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
    24:26: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
    28:28:boolean com.android.tools.r8.utils.ProgramClassCollection.assertEqualClasses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):93:93 -> a
    28:28: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
    28:28: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:31: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
    29:31: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
    32:32:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():761:761 -> a
    32: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):77 -> a
    32: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: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
    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():761:761 -> 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
    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.uM:
    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.kR:
com.android.tools.r8.utils.ReflectionHelper$ReflectiveFieldOperation -> 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):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.gR:
    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.hR:
    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.iR:
    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.jR:
    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.WR:
    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.TR:
    1:1:void <init>():56:56 -> <init>
com.android.tools.r8.utils.Reporter$2 -> com.android.tools.r8.internal.UR:
    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.VR:
    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.sT:
    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.tT:
    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.xT:
    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.KU:
    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.OU:
    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.OV:
    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.wW:
    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.vW:
    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.wW$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.RW:
    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.cX:
    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.cX$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):24:24 -> a
    2:2:java.util.concurrent.Future processAsynchronously(java.util.concurrent.Callable,java.util.concurrent.ExecutorService):34:34 -> a
    2:2:java.util.concurrent.Future processAsynchronously(com.android.tools.r8.utils.Action,java.util.concurrent.ExecutorService):24 -> a
    3:3:java.lang.Object lambda$processAsynchronously$0(com.android.tools.r8.utils.Action):26:26 -> a
    4:4:java.lang.Object lambda$processItemsWithResults$1(com.android.tools.r8.utils.ThrowingFunction,java.lang.Object,int):40:40 -> a
    5:5:java.util.Collection processItemsWithResults(java.lang.Iterable,com.android.tools.r8.utils.ThrowingFunction,java.util.concurrent.ExecutorService):40:40 -> a
    6:6:java.util.Collection processItemsWithResults(java.lang.Iterable,com.android.tools.r8.utils.ThrowingReferenceIntFunction,java.util.concurrent.ExecutorService):48:48 -> a
    7:9:java.util.Collection processItemsWithResults(com.android.tools.r8.utils.ForEachable,com.android.tools.r8.utils.ThrowingReferenceIntFunction,java.util.concurrent.ExecutorService):62:64 -> a
    10:24:java.util.Collection awaitFuturesWithResults(java.util.Collection):150:164 -> a
    10:24:java.util.Collection processItemsWithResults(com.android.tools.r8.utils.ForEachable,com.android.tools.r8.utils.ThrowingReferenceIntFunction,java.util.concurrent.ExecutorService):69 -> a
    25:35:java.util.Collection awaitFuturesWithResults(java.util.Collection):157:167 -> a
    25:35:java.util.Collection processItemsWithResults(com.android.tools.r8.utils.ForEachable,com.android.tools.r8.utils.ThrowingReferenceIntFunction,java.util.concurrent.ExecutorService):69 -> 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):66:67 -> a
    38:38:java.lang.Object lambda$processItemsWithResults$3(com.android.tools.r8.utils.ThrowingReferenceIntFunction,java.lang.Object,int):67:67 -> a
    39:39:void lambda$processItems$5(com.android.tools.r8.utils.ThrowingConsumer,java.lang.Object,int):75:75 -> a
    40:40:void processItems(java.lang.Iterable,com.android.tools.r8.utils.ThrowingConsumer,java.util.concurrent.ExecutorService):75:75 -> a
    41:41:void processItems(java.lang.Iterable,com.android.tools.r8.utils.ThrowingReferenceIntConsumer,java.util.concurrent.ExecutorService):83:83 -> a
    42:42:void processItems(com.android.tools.r8.utils.ForEachable,com.android.tools.r8.utils.ThrowingConsumer,java.util.concurrent.ExecutorService):89:89 -> a
    43:43:void processItems(com.android.tools.r8.utils.ForEachable,com.android.tools.r8.utils.ThrowingReferenceIntConsumer,java.util.concurrent.ExecutorService):97:97 -> a
    44:44:java.lang.Object lambda$processItems$7(com.android.tools.r8.utils.ThrowingReferenceIntConsumer,java.lang.Object,int):100:100 -> a
    45:45:void processMap(java.util.Map,com.android.tools.r8.utils.ThrowingBiConsumer,java.util.concurrent.ExecutorService):109:109 -> a
    46:46:java.lang.Object lambda$processMap$8(com.android.tools.r8.utils.ThrowingBiConsumer,java.lang.Object,java.lang.Object):112:112 -> a
    47:47:java.lang.Object lambda$processMapWithResults$9(com.android.tools.r8.utils.ThrowingBiFunction,java.util.Map$Entry):122:122 -> a
    48:48:java.util.Collection processMapWithResults(java.util.Map,com.android.tools.r8.utils.ThrowingBiFunction,java.util.concurrent.ExecutorService):122:122 -> a
    49:49:java.util.Collection processMapWithResults(java.util.Map,com.android.tools.r8.utils.ThrowingBiFunction,java.util.concurrent.ExecutorService):121:121 -> a
    50:63:void awaitFutures(java.lang.Iterable):127:140 -> a
    64:74:void awaitFutures(java.lang.Iterable):133:143 -> a
    75:75:java.util.concurrent.ExecutorService getExecutorService(int):187:187 -> a
    76:76:java.util.concurrent.ExecutorService getExecutorServiceForThreads(int):182:182 -> a
    76:76:java.util.concurrent.ExecutorService getExecutorService(int):188 -> a
    77:77:java.util.concurrent.ExecutorService getExecutorService(com.android.tools.r8.utils.InternalOptions):192:192 -> a
    78:79:int getNumberOfThreads(java.util.concurrent.ExecutorService):196:197 -> a
    1:1:void lambda$processItems$6(com.android.tools.r8.utils.ThrowingConsumer,java.lang.Object,int):89:89 -> b
    2:2:java.util.concurrent.ExecutorService getExecutorServiceForProcessors(int):175:175 -> b
    3:3:java.util.concurrent.ExecutorService getExecutorServiceForThreads(int):182:182 -> b
    3:3:java.util.concurrent.ExecutorService getExecutorServiceForProcessors(int):176 -> b
com.android.tools.r8.utils.ThrowingAction -> com.android.tools.r8.internal.AX:
    void execute() -> a
com.android.tools.r8.utils.ThrowingBiConsumer -> com.android.tools.r8.internal.BX:
com.android.tools.r8.utils.ThrowingBiFunction -> com.android.tools.r8.internal.CX:
com.android.tools.r8.utils.ThrowingCharIterator -> com.android.tools.r8.internal.DX:
    char nextChar() -> a
com.android.tools.r8.utils.ThrowingConsumer -> com.android.tools.r8.internal.EX:
com.android.tools.r8.utils.ThrowingFunction -> com.android.tools.r8.internal.FX:
com.android.tools.r8.utils.ThrowingIntIterator -> com.android.tools.r8.internal.HX:
    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.IX:
    int getAsInt() -> a
com.android.tools.r8.utils.ThrowingIterator -> com.android.tools.r8.internal.JX:
    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.KX:
com.android.tools.r8.utils.ThrowingReferenceIntFunction -> com.android.tools.r8.internal.LX:
    java.lang.Object apply(java.lang.Object,int) -> a
com.android.tools.r8.utils.ThrowingSupplier -> com.android.tools.r8.internal.MX:
com.android.tools.r8.utils.Timing -> com.android.tools.r8.internal.XX:
    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:41:void begin(java.lang.String):366:370 -> a
    42:46:void com.android.tools.r8.utils.Timing$Node.restart():139:143 -> a
    42:46:void begin(java.lang.String):370 -> a
    47:50:void begin(java.lang.String):372:375 -> a
    51:55:java.lang.Object time(java.lang.String,com.android.tools.r8.utils.ThrowingSupplier):388:392 -> a
    56:60:java.lang.Object scope(java.lang.String,com.android.tools.r8.utils.Timing$TimingScope):420:424 -> a
    61:66:java.util.Map com.android.tools.r8.utils.Timing.computeMemoryInformation():437:442 -> a
    61:66:java.util.Map access$200():25 -> a
    67:67:com.android.tools.r8.utils.Timing$MemInfo com.android.tools.r8.utils.Timing$MemInfo.fromTotalAndFree(long,long):111:111 -> a
    67:67:java.util.Map com.android.tools.r8.utils.Timing.computeMemoryInformation():441 -> a
    67:67:java.util.Map access$200():25 -> a
    68:68:java.util.Map com.android.tools.r8.utils.Timing.computeMemoryInformation():439:439 -> a
    68:68: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:7:void com.android.tools.r8.utils.Timing$Node.end():147:151 -> c
    3:7:void end():397 -> c
    8:8:void end():398:398 -> c
    1:4:void report():402:405 -> d
    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.QX:
    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.PX:
    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.RX:
    long used -> a
    1:2:void <init>(long):106:107 -> <init>
com.android.tools.r8.utils.Timing$Node -> com.android.tools.r8.internal.SX:
    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:void report(int,com.android.tools.r8.utils.Timing$Node):171:171 -> a
    6:6:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    6:6:void report(int,com.android.tools.r8.utils.Timing$Node):171 -> a
    7:7:void report(int,com.android.tools.r8.utils.Timing$Node):171:171 -> a
    8:9:void com.android.tools.r8.utils.Timing$Node.printPrefix(int):204:205 -> a
    8:9:void report(int,com.android.tools.r8.utils.Timing$Node):174 -> a
    10:10:void report(int,com.android.tools.r8.utils.Timing$Node):175:175 -> a
    11:11:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):165:165 -> a
    11:11:void report(int,com.android.tools.r8.utils.Timing$Node):175 -> a
    12:12:void report(int,com.android.tools.r8.utils.Timing$Node):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":46,"2":47,"3":48}}
    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
    48:48:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166:166 -> a
    48:48: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
    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:25:void report(int,com.android.tools.r8.utils.Timing$Node):175:185 -> a
    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):185 -> 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):187 -> a
    28:28:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    28:28:void report(int,com.android.tools.r8.utils.Timing$Node):189 -> a
    29:29:void report(int,com.android.tools.r8.utils.Timing$Node):189:189 -> a
    30:31:void com.android.tools.r8.utils.Timing$Node.printPrefix(int):204:205 -> a
    30:31:void report(int,com.android.tools.r8.utils.Timing$Node):190 -> a
    32:32:void report(int,com.android.tools.r8.utils.Timing$Node):191:191 -> a
    33:33:void report(int,com.android.tools.r8.utils.Timing$Node):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":49,"2":50,"3":51}}
    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
    51:51:void report(int,com.android.tools.r8.utils.Timing$Node):191:191 -> a
    34:34:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    34:34:void report(int,com.android.tools.r8.utils.Timing$Node):193 -> a
    35:35:void report(int,com.android.tools.r8.utils.Timing$Node):193:193 -> a
    36:36:java.lang.String com.android.tools.r8.utils.Timing.prettyTime(long):338:338 -> a
    36:36:java.lang.String com.android.tools.r8.utils.Timing.access$300(long):25 -> a
    36:36:void report(int,com.android.tools.r8.utils.Timing$Node):195 -> a
    37:37:void report(int,com.android.tools.r8.utils.Timing$Node):195:195 -> a
    38:45:void report(int,com.android.tools.r8.utils.Timing$Node):191:198 -> a
    52:52:void lambda$report$0(int,com.android.tools.r8.utils.Timing$Node,com.android.tools.r8.utils.Timing$Node):198:198 -> a
    53:65:void printMemory(int):210:222 -> a
    66:66:long com.android.tools.r8.utils.Timing$MemInfo.usedDelta(com.android.tools.r8.utils.Timing$MemInfo):115:115 -> a
    66:66:void printMemory(int):224 -> a
    67:67:void printMemory(int):224:224 -> a
    68:68: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.VX:
    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.TX:
    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
    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":568,"2":569,"3":570}}
    568:568:void report(int,com.android.tools.r8.utils.Timing$Node):251:251 -> a
    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
    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":587,"2":588,"3":589}}
    587:587:void report(int,com.android.tools.r8.utils.Timing$Node):268:268 -> a
    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
    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:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166:166 -> a
    565:565:void report(int,com.android.tools.r8.utils.Timing$Node):268 -> a
    566:567:void report(int,com.android.tools.r8.utils.Timing$Node):268:269 -> a
    590:590: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.UX:
    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.WX:
    java.lang.Object apply() -> a
com.android.tools.r8.utils.TraversalContinuation -> com.android.tools.r8.internal.oY:
    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.tY:
    void accept(java.lang.Object,java.lang.Object,java.lang.Object) -> a
com.android.tools.r8.utils.TriFunction -> com.android.tools.r8.internal.uY:
    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.vY:
    boolean test(java.lang.Object,java.lang.Object,java.lang.Object) -> a
com.android.tools.r8.utils.TypeReferenceUtils -> com.android.tools.r8.internal.BZ:
    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.R00:
    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.E10:
    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.D10:
    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.W10:
    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.hE:
    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.fE:
    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:19:void visit(com.android.tools.r8.graph.DexProgramClass):105:114 -> k
    20:20: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):786:786 -> k
    20:20:void visit(com.android.tools.r8.graph.DexProgramClass):114 -> k
    21:32:void visit(com.android.tools.r8.graph.DexProgramClass):115:126 -> k
com.android.tools.r8.utils.classhierarchy.MethodOverridesCollector$TopDownClassHierarchyPropagator -> com.android.tools.r8.internal.gE:
    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):61:61 -> 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 visit(com.android.tools.r8.graph.DexProgramClass):190:190 -> k
com.android.tools.r8.utils.collections.BidirectionalManyToManyMap -> com.android.tools.r8.internal.I4:
    java.util.Set getKeys(java.lang.Object) -> a
com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap -> com.android.tools.r8.internal.J4:
    java.lang.Object getRepresentativeValue(java.lang.Object) -> b
    java.lang.Object getRepresentativeKey(java.lang.Object) -> c
com.android.tools.r8.utils.collections.BidirectionalManyToOneHashMap -> com.android.tools.r8.internal.K4:
    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:java.util.Set getKeys(java.lang.Object):92:92 -> a
    6:6:void removeAll(java.lang.Iterable):121:121 -> a
    7:13:java.util.Set removeValue(java.lang.Object):126:132 -> a
    14:14:void lambda$put$2(java.lang.Object,java.lang.Object):147:147 -> a
    15:15: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
    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:1:java.util.Map getForwardMap():82:82 -> e
    2:7:java.lang.Object remove(java.lang.Object):108:113 -> e
    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.L4:
    void forEachManyToOneMapping(java.util.function.BiConsumer) -> a
    java.util.Map getForwardMap() -> e
com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap -> com.android.tools.r8.internal.M4:
    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:void putAll(com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap):85:85 -> a
    6:7:void lambda$putAll$1(java.util.Set,java.lang.Object,java.lang.Object):87:88 -> a
    8:8:void com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap.setRepresentative(java.lang.Object,java.lang.Object):49:49 -> a
    8:8:void lambda$putAll$1(java.util.Set,java.lang.Object,java.lang.Object):89 -> a
    9:9:java.util.Set removeValue(java.lang.Object):107:107 -> a
    10:10:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap.removeRepresentativeFor(java.lang.Object):44:44 -> a
    10:10:java.util.Set removeValue(java.lang.Object):108 -> a
    1:1:void setRepresentative(java.lang.Object,java.lang.Object):49:49 -> b
    2:2:java.lang.Object getRepresentativeValue(java.lang.Object):72:72 -> b
    1:6:java.lang.Object getRepresentativeKey(java.lang.Object):59:64 -> c
    7:7:boolean com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap.hasExplicitRepresentativeKey(java.lang.Object):54:54 -> c
    7:7:java.lang.Object getRepresentativeKey(java.lang.Object):64 -> c
    8:9:java.lang.Object getRepresentativeKey(java.lang.Object):64:65 -> c
    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.N4:
com.android.tools.r8.utils.collections.BidirectionalOneToManyHashMap -> com.android.tools.r8.internal.O4:
    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.P4:
    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 -> b
    4:6:void setRepresentative(java.lang.Object,java.lang.Object):73:75 -> b
    1:1:java.lang.Object getRepresentativeKey(java.lang.Object):32:32 -> c
    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.Q4:
    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:boolean com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap.containsValue(java.lang.Object):41:41 -> a
    1:1:java.util.Set getKeys(java.lang.Object):118 -> a
    2:4:java.util.Set getKeys(java.lang.Object):119:121 -> a
    5:5:void forEachManyToOneMapping(java.util.function.BiConsumer):61:61 -> a
    6:6:void lambda$forEachManyToOneMapping$0(java.util.function.BiConsumer,java.lang.Object,java.lang.Object):61:61 -> a
    7:7:void putAll(com.android.tools.r8.utils.collections.BidirectionalManyToManyMap):149:149 -> a
    8:8:void com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap.forEach(java.util.function.BiConsumer):51:51 -> a
    8:8:void putAll(com.android.tools.r8.utils.collections.BidirectionalManyToManyMap):149 -> a
    1:1:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap.get(java.lang.Object):76:76 -> b
    1:1:java.lang.Object getRepresentativeValue(java.lang.Object):113 -> b
    1:1:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap.getKey(java.lang.Object):87:87 -> c
    1:1:java.lang.Object getRepresentativeKey(java.lang.Object):108 -> 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:com.android.tools.r8.com.google.common.collect.BiMap com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap.getForwardMap():92:92 -> e
    1:1:java.util.Map getForwardMap():16 -> e
    1:1:java.util.Set entrySet():46:46 -> entrySet
    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.R4:
com.android.tools.r8.utils.collections.DexClassAndMethodSet -> com.android.tools.r8.internal.ag:
    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.bg:
    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:int com.android.tools.r8.utils.collections.DexClassAndMethodSetBase.size():92:92 -> a
    7:7:java.util.Set toDefinitionSet(java.util.function.IntFunction):105 -> a
    8:9:java.util.Set toDefinitionSet(java.util.function.IntFunction):105:106 -> a
    10:11:java.util.Set toDefinitionSet():100:101 -> a
    12:12: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:boolean removeIf(java.util.function.Predicate):88:88 -> removeIf
    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.Ig:
    com.android.tools.r8.utils.collections.DexMethodSignatureSet EMPTY -> c
    java.util.Set backing -> b
    1:2:void <clinit>():22:23 -> <clinit>
    1:2:void <init>(java.util.Set):27:28 -> <init>
    1:1:com.android.tools.r8.utils.collections.DexMethodSignatureSet create():32:32 -> a
    2:2:boolean add(com.android.tools.r8.graph.DexMethodSignature):49:49 -> a
    3:3:boolean add(com.android.tools.r8.graph.DexMethod):53:53 -> a
    4:4:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.add(com.android.tools.r8.graph.DexMethodSignature):49:49 -> a
    4:4:boolean add(com.android.tools.r8.graph.DexMethod):53 -> a
    5:5:boolean add(com.android.tools.r8.graph.DexEncodedMethod):57:57 -> a
    6:6:boolean add(com.android.tools.r8.graph.DexClassAndMethod):61:61 -> a
    7:7:void addAllMethods(java.lang.Iterable):70:70 -> a
    8:8:void addAll(com.android.tools.r8.utils.collections.DexMethodSignatureSet):74:74 -> a
    9:9:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.addAll(java.util.Collection):66:66 -> a
    9:9:void addAll(com.android.tools.r8.utils.collections.DexMethodSignatureSet):74 -> a
    10:11:void addAll(java.lang.Iterable,java.util.function.Function):78:79 -> a
    1:1:boolean add(java.lang.Object):20:20 -> add
    2:2:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.add(com.android.tools.r8.graph.DexMethodSignature):49:49 -> add
    2:2:boolean add(java.lang.Object):20 -> add
    1:1:boolean addAll(java.util.Collection):66:66 -> addAll
    1:1:com.android.tools.r8.utils.collections.DexMethodSignatureSet createLinked():40:40 -> b
    2:2:boolean contains(com.android.tools.r8.graph.DexMethodSignature):94:94 -> b
    3:3:boolean contains(com.android.tools.r8.graph.DexClassAndMethod):106:106 -> b
    4:4:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.contains(com.android.tools.r8.graph.DexMethodSignature):94:94 -> b
    4:4:boolean contains(com.android.tools.r8.graph.DexClassAndMethod):106 -> b
    5:5:boolean containsAnyOf(java.lang.Iterable):115:115 -> b
    6:6:java.util.Iterator com.android.tools.r8.utils.collections.DexMethodSignatureSet.iterator():130:130 -> b
    6:6:boolean containsAnyOf(java.lang.Iterable):115 -> b
    7:7:boolean containsAnyOf(java.lang.Iterable):115:115 -> b
    8:8:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.contains(com.android.tools.r8.graph.DexMethodSignature):94:94 -> b
    8:8:boolean containsAnyOf(java.lang.Iterable):116 -> b
    9:9:boolean remove(com.android.tools.r8.graph.DexEncodedMethod):143:143 -> b
    10:10:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.remove(com.android.tools.r8.graph.DexMethodSignature):139:139 -> b
    10:10:boolean remove(com.android.tools.r8.graph.DexEncodedMethod):143 -> b
    11:11:void removeAllMethods(java.lang.Iterable):152:152 -> b
    1:1:com.android.tools.r8.utils.collections.DexMethodSignatureSet create(com.android.tools.r8.utils.collections.DexMethodSignatureSet):36:36 -> c
    2:2:com.android.tools.r8.utils.collections.DexMethodSignatureSet empty():44:44 -> c
    1:1:void clear():85:85 -> clear
    1:1:boolean contains(java.lang.Object):90:90 -> contains
    1:1:boolean containsAll(java.util.Collection):111:111 -> containsAll
    1:1:boolean isEmpty():125:125 -> isEmpty
    1:1:java.util.Iterator iterator():130:130 -> iterator
    1:1:boolean remove(java.lang.Object):135:135 -> remove
    1:1:boolean removeAll(java.util.Collection):148:148 -> removeAll
    1:1:boolean retainAll(java.util.Collection):157:157 -> retainAll
    1:1:int size():162:162 -> size
    1:1:java.lang.Object[] toArray():167:167 -> toArray
    2:2:java.lang.Object[] toArray(java.lang.Object[]):172:172 -> toArray
com.android.tools.r8.utils.collections.EmptyBidirectionalOneToOneMap -> com.android.tools.r8.internal.uh:
    1:1:void <init>():15:15 -> <init>
    void forEachManyToOneMapping(java.util.function.BiConsumer) -> a
    1:1:java.util.Set getKeys(java.lang.Object):92:92 -> a
    java.lang.Object getRepresentativeValue(java.lang.Object) -> b
    java.lang.Object getRepresentativeKey(java.lang.Object) -> c
    1:1:com.android.tools.r8.com.google.common.collect.BiMap com.android.tools.r8.utils.collections.EmptyBidirectionalOneToOneMap.getForwardMap():72:72 -> e
    1:1:java.util.Map getForwardMap():15 -> e
    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.tn:
    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.Dn:
    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.In:
    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.ints.Int2ReferenceSortedMap subMap(int,int):96:96 -> a
    5:5:int firstIntKey():118:118 -> a
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(java.lang.Integer):135:135 -> a
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(java.lang.Integer,java.lang.Integer):141:141 -> a
    8:8:java.lang.Object put(int,java.lang.Object):158:158 -> a
    9:9: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: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.objects.ObjectSortedSet com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.int2ReferenceEntrySet():78:78 -> c
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ReferenceEntrySet():17 -> c
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet():78:78 -> c
    3:3: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:int lastIntKey():123:123 -> d
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.entrySet():85:85 -> e
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():17 -> e
    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: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: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.Hn:
    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.tC:
    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.uC:
    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.vC:
    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.wC:
    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 addAll(java.lang.Iterable,com.android.tools.r8.graph.GraphLens):70:70 -> a
    8:8:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.isRewrittenWithLens(com.android.tools.r8.graph.GraphLens):85:85 -> a
    8:8:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):175 -> a
    8:8:void addAll(java.lang.Iterable,com.android.tools.r8.graph.GraphLens):70 -> a
    9:9:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):175:175 -> a
    9:9:void addAll(java.lang.Iterable,com.android.tools.r8.graph.GraphLens):70 -> a
    10:10:void addAll(java.lang.Iterable,com.android.tools.r8.graph.GraphLens):71:71 -> a
    11:11:void lambda$addAll$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):71:71 -> a
    12:12:void clear():75:75 -> a
    13:13:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder merge(com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder):92:92 -> a
    14:14:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.isRewrittenWithLens(com.android.tools.r8.graph.GraphLens):85:85 -> a
    14:14:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder merge(com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder):92 -> a
    15:21:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder merge(com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder):93:99 -> a
    22:22:void remove(com.android.tools.r8.graph.DexMethod):107:107 -> a
    23:23:void remove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):111:111 -> a
    24:24:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.isEmpty():171:171 -> a
    24:24:void remove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):111 -> a
    25:25:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.isRewrittenWithLens(com.android.tools.r8.graph.GraphLens):85:85 -> a
    25:25:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):175 -> a
    25:25:void remove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):111 -> a
    26:26:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):175:175 -> a
    26:26:void remove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):111 -> a
    27:27:void remove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):112:112 -> a
    28:28:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder removeAll(java.lang.Iterable):116:116 -> a
    29:29:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder removeIf(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.Predicate):122:122 -> a
    30:36:boolean lambda$removeIf$1(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.Predicate,com.android.tools.r8.graph.DexMethod):125:131 -> a
    37:40:com.android.tools.r8.utils.collections.ProgramMethodSet build(com.android.tools.r8.graph.AppView):160:163 -> a
    41:41:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):94:94 -> a
    41:41:com.android.tools.r8.utils.collections.ProgramMethodSet build(com.android.tools.r8.graph.AppView):164 -> a
    42:43:com.android.tools.r8.utils.collections.ProgramMethodSet build(com.android.tools.r8.graph.AppView):164:165 -> a
    44:44:boolean com.android.tools.r8.utils.collections.ProgramMethodSet.createAndAdd(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):78:78 -> a
    44:44: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.BF:
    void put(java.lang.Iterable,java.lang.Object) -> a
com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap -> com.android.tools.r8.internal.CF:
com.android.tools.r8.utils.collections.MutableBidirectionalOneToManyRepresentativeMap -> com.android.tools.r8.internal.DF:
com.android.tools.r8.utils.collections.ProgramFieldSet -> com.android.tools.r8.internal.rM:
    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.tM:
    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.vM:
    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.wM:
    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.xM:
    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):374:374 -> 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):344:344 -> 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):374 -> 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):375:376 -> 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:3:com.android.tools.r8.utils.collections.ProgramMethodSet create(com.android.tools.r8.utils.collections.ProgramMethodSet):56:57 -> b
    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 -> i
com.android.tools.r8.utils.collections.SortedProgramMethodSet -> com.android.tools.r8.internal.HU:
    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):374:374 -> 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):344:344 -> 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):374 -> 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):375:376 -> 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.Yd:
    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.be:
    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.Zd:
    1:1:void <init>(java.lang.Object):55:55 -> <init>
com.android.tools.r8.utils.dfs.DFSWorklistItem$NewlyVisitedDFSWorklistItem -> com.android.tools.r8.internal.ae:
    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.dc:
    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.fc:
    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.ec:
    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.gc:
    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.hc:
    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.ic:
    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.jc:
    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.ye:
    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.Ae:
    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.Gi:
    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.Fi:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():47:47 -> <clinit>
com.android.tools.r8.utils.structural.HashCodeVisitor -> com.android.tools.r8.internal.im:
    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.om:
    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.nm:
    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.sm:
    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.um:
    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.tm:
    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.jK:
    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 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
    3:3:com.android.tools.r8.utils.structural.Ordered minIgnoreNull(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):35 -> a
    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 -> b
    2:2:boolean isGreaterThan(java.lang.Object):57:57 -> b
    1:1:com.android.tools.r8.utils.structural.Ordered maxIgnoreNull(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):45:45 -> 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.iK:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():16:16 -> <clinit>
com.android.tools.r8.utils.structural.RepresentativeMap -> com.android.tools.r8.internal.XR:
    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.FW:
com.android.tools.r8.utils.structural.StructuralItem -> com.android.tools.r8.internal.HW:
    com.android.tools.r8.utils.structural.StructuralItem self() -> L
    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.GW:
    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.HW$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.IW:
    void apply(com.android.tools.r8.utils.structural.StructuralSpecification) -> a
com.android.tools.r8.utils.structural.StructuralSpecification -> com.android.tools.r8.internal.JW:
    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.Ch:
    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.vt:
    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.xt:
    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: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):58: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
    12: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):74:79 -> a
    18:18: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
    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):80 -> a
    19:20: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
    21:23: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
    24:24:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):316:316 -> a
    24: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):94 -> a
    25:28: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
    29:29: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
    29: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):97 -> a
    30:31: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
    32:34: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
    35:35: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
    35: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):130 -> a
    36:39: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
    40: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):132:132 -> a
    41:64:void processWorklist():142:165 -> a
    65:69: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
    65:69:void processWorklist():167 -> a
    70:70:com.android.tools.r8.ir.code.CheckCast$Builder com.android.tools.r8.ir.code.CheckCast.builder():50:50 -> a
    70: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):196 -> a
    70:70:void processWorklist():167 -> a
    71:73: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
    71:73:void processWorklist():167 -> 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.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
    74: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,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.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:91: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
    76:91:void processWorklist():167 -> a
    92:94: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
    95:105: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
    106:110: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
    106:110: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
    111:115: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
    116:116:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> a
    116: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):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,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> 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 -> 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.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
    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):262:262 -> 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):252:252 -> 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):247:247 -> 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):242:242 -> a
com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl$WorklistItem -> com.android.tools.r8.internal.wt:
    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>
