SymbolIndex
Byte source over the mc-symbols jars/dirs: internal class name -> class bytes, read on demand. Jars are opened once and kept open (read-only symbols, process lifetime). The whole class file is inflated per read, but only its header (super+interfaces) is parsed, and only for the classes an eval actually touches (memoized in FlatRemapper.superCache).