> // DEPRECATED, use Value::FindKey(key) instead.
atom/common/asar/archive.cc
auto it = external_files_.find(path.value());
  if (it != external_files_.end()) {
    *out = it->second->path();
    return true;
  }
  FileInfo info;
  if (!GetFileInfo(path, &info))
    return false;
  if (info.unpacked) {
    *out = path_.AddExtension(FILE_PATH_LITERAL("unpacked")).Append(path);
    return true;
  }
  auto temp_file = std::make_unique<ScopedTemporaryFile>();
  base::FilePath::StringType ext = path.Extension();
  if (!temp_file->InitFromFile(&file_, ext, info.offset, info.size))
    return false;
#if defined(OS_POSIX)
  if (info.executable) {
    
    base::SetPosixFilePermissions(temp_file->path(), 0755);
  }
#endif
  *out = temp_file->path();
  external_files_[path.value()] = std::move(temp_file);
  return true;
}
int Archive::GetFD() const {