code: func NewTableFile(r io.ReaderAt) (*TableFile, error) {
  	f := new(TableFile)
  	sr := io.NewSectionReader(r, 0, 1<<63-1)
  
  	header := new(ResTableHeader)
  	binary.Read(sr, binary.LittleEndian, header)
  	f.tablePackages = make(map[uint32]*TablePackage)
  
  	offset := int64(header.Header.HeaderSize)
  	for offset < int64(header.Header.Size) {
  		chunkHeader, err := f.readChunk(sr, offset)
  		if err != nil {
  			return nil, err
  		}
  		offset += int64(chunkHeader.Size)
  	}
  	return f, nil
  }
docs: // NewTableFile returns new TableFile.