// File: /workspace/github_cpp_makefile_star2_O3/williewillus[P]panda_scratchpad/src/checker/DiskContents.cpp
// Function: operator<<(std::basic_ofstream<char, std::char_traits<char>>&, fileAttributes&)
ofstream& operator<< (ofstream& os, fileAttributes& a) {
  // print dir_attr
  os << "---Directory Atrributes---" << endl;
  os << "Name   : " << (a.dir_attr).d_name << endl;
  os << "Inode  : " << (a.dir_attr).d_ino << endl;
  os << "Offset : " << (a.dir_attr).d_off << endl;
  os << "Length : " << (a.dir_attr).d_reclen << endl;
  os << "Type   : " << (a.dir_attr).d_type << endl;
  // print stat_attr
  os << "---File Stat Atrributes---" << endl;
  os << "Inode     : " << (a.stat_attr).st_ino << endl;
  os << "TotalSize : " << (a.stat_attr).st_size << endl;
  os << "BlockSize : " << (a.stat_attr).st_blksize << endl;
  os << "#Blocks   : " << (a.stat_attr).st_blocks << endl;
  os << "#HardLinks: " << (a.stat_attr).st_nlink << endl;
  os << "Mode      : " << (a.stat_attr).st_mode << endl;
  os << "User ID   : " << (a.stat_attr).st_uid << endl;
  os << "Group ID  : " << (a.stat_attr).st_gid << endl;
  os << "Device ID : " << (a.stat_attr).st_rdev << endl;
  os << "RootDev ID: " << (a.stat_attr).st_dev << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x4b61(%rip), %rsi      # 0x1551c
callq 0x5480
movq %rax, %rdi
callq 0x5220
leaq 0x4b68(%rip), %rsi      # 0x15537
movq %r14, %rdi
callq 0x5480
leaq 0x13(%rbx), %rsi
movq %rax, %rdi
callq 0x5480
movq %rax, %rdi
callq 0x5220
leaq 0x4b4f(%rip), %rsi      # 0x15541
movq %r14, %rdi
callq 0x5480
movq (%rbx), %rsi
movq %rax, %rdi
callq 0x50e0
movq %rax, %rdi
callq 0x5220
leaq 0x4b37(%rip), %rsi      # 0x1554b
movq %r14, %rdi
callq 0x5480
movq 0x8(%rbx), %rsi
movq %rax, %rdi
callq 0x5800
movq %rax, %rdi
callq 0x5220
leaq 0x4b1e(%rip), %rsi      # 0x15555
movq %r14, %rdi
callq 0x5480
movzwl 0x10(%rbx), %esi
movq %rax, %rdi
callq 0x5760
movq %rax, %rdi
callq 0x5220
leaq 0x4b05(%rip), %rsi      # 0x1555f
movq %r14, %rdi
callq 0x5480
movzbl 0x12(%rbx), %esi
movq %rax, %rdi
callq 0x5680
movq %rax, %rdi
callq 0x5220
leaq 0x4aec(%rip), %rsi      # 0x15569
movq %r14, %rdi
callq 0x5480
movq %rax, %rdi
callq 0x5220
leaq 0x4af0(%rip), %rsi      # 0x15584
movq %r14, %rdi
callq 0x5480
movq 0x120(%rbx), %rsi
movq %rax, %rdi
callq 0x50e0
movq %rax, %rdi
callq 0x5220
leaq 0x4ad7(%rip), %rsi      # 0x15591
movq %r14, %rdi
callq 0x5480
movq 0x148(%rbx), %rsi
movq %rax, %rdi
callq 0x5800
movq %rax, %rdi
callq 0x5220
leaq 0x4abe(%rip), %rsi      # 0x1559e
movq %r14, %rdi
callq 0x5480
movq 0x150(%rbx), %rsi
movq %rax, %rdi
callq 0x5800
movq %rax, %rdi
callq 0x5220
leaq 0x4aa5(%rip), %rsi      # 0x155ab
movq %r14, %rdi
callq 0x5480
movq 0x158(%rbx), %rsi
movq %rax, %rdi
callq 0x5800
movq %rax, %rdi
callq 0x5220
leaq 0x4a8c(%rip), %rsi      # 0x155b8
movq %r14, %rdi
callq 0x5480
movq 0x128(%rbx), %rsi
movq %rax, %rdi
callq 0x50e0
movq %rax, %rdi
callq 0x5220
leaq 0x4a73(%rip), %rsi      # 0x155c5
movq %r14, %rdi
callq 0x5480
movl 0x130(%rbx), %esi
movq %rax, %rdi
callq 0x5570
movq %rax, %rdi
callq 0x5220
leaq 0x4a5b(%rip), %rsi      # 0x155d2
movq %r14, %rdi
callq 0x5480
movl 0x134(%rbx), %esi
movq %rax, %rdi
callq 0x5570
movq %rax, %rdi
callq 0x5220
leaq 0x4a43(%rip), %rsi      # 0x155df
movq %r14, %rdi
callq 0x5480
movl 0x138(%rbx), %esi
movq %rax, %rdi
callq 0x5570
movq %rax, %rdi
callq 0x5220
leaq 0x4a2b(%rip), %rsi      # 0x155ec
movq %r14, %rdi
callq 0x5480
movq 0x140(%rbx), %rsi
movq %rax, %rdi
callq 0x50e0
movq %rax, %rdi
callq 0x5220
leaq 0x4a12(%rip), %rsi      # 0x155f9
movq %r14, %rdi
callq 0x5480
movq 0x118(%rbx), %rsi
movq %rax, %rdi
callq 0x50e0
movq %rax, %rdi
callq 0x5220