// File: WeihuaZhu[P]hpc_prog2/./gtest/gtest-all.cc
// Function: testing::internal::XmlUnitTestResultPrinter::PrintXmlUnitTest(std::ostream*, testing::UnitTest const&)
void XmlUnitTestResultPrinter::PrintXmlUnitTest(std::ostream* stream,
                                                const UnitTest& unit_test) {
  const std::string kTestsuites = "testsuites";

  *stream << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
  *stream << "<" << kTestsuites;

  OutputXmlAttribute(stream, kTestsuites, "tests",
                     StreamableToString(unit_test.reportable_test_count()));
  OutputXmlAttribute(stream, kTestsuites, "failures",
                     StreamableToString(unit_test.failed_test_count()));
  OutputXmlAttribute(
      stream, kTestsuites, "disabled",
      StreamableToString(unit_test.reportable_disabled_test_count()));
  OutputXmlAttribute(stream, kTestsuites, "errors", "0");
  OutputXmlAttribute(
      stream, kTestsuites, "timestamp",
      FormatEpochTimeInMillisAsIso8601(unit_test.start_timestamp()));
  OutputXmlAttribute(stream, kTestsuites, "time",
                     FormatTimeInMillisAsSeconds(unit_test.elapsed_time()));

  if (GTEST_FLAG(shuffle)) {
    OutputXmlAttribute(stream, kTestsuites, "random_seed",
                       StreamableToString(unit_test.random_seed()));
  }

  *stream << TestPropertiesAsXmlAttributes(unit_test.ad_hoc_test_result());

  OutputXmlAttribute(stream, kTestsuites, "name", "AllTests");
  *stream << ">\n";

  for (int i = 0; i < unit_test.total_test_case_count(); ++i) {
    if (unit_test.GetTestCase(i)->reportable_test_count() > 0)
      PrintXmlTestCase(stream, *unit_test.GetTestCase(i));
  }
  *stream << "</" << kTestsuites << ">\n";
}

// Assembly:
subq $0x3f8, %rsp            # imm = 0x3F8
movq %rdi, 0x3f0(%rsp)
movq %rsi, 0x3e8(%rsp)
leaq 0x3c7(%rsp), %rdi
movq %rdi, 0x118(%rsp)
callq 0xf420
movq 0x118(%rsp), %rdx
leaq 0x2ae7a(%rip), %rsi     # 0x4d3c5
leaq 0x3c8(%rsp), %rdi
callq 0x32980
jmp 0x2255a
leaq 0x3c7(%rsp), %rdi
callq 0xeb40
movq 0x3f0(%rsp), %rdi
leaq 0x2ae5a(%rip), %rsi     # 0x4d3d0
callq 0xea00
jmp 0x2257d
movq 0x3f0(%rsp), %rdi
leaq 0x2ae22(%rip), %rsi     # 0x4d3ae
callq 0xea00
movq %rax, 0x110(%rsp)
jmp 0x2259b
movq 0x110(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
callq 0xe900
jmp 0x225b2
movq 0x3f0(%rsp), %rax
movq %rax, 0x100(%rsp)
leaq 0x38f(%rsp), %rdi
movq %rdi, 0x108(%rsp)
callq 0xf420
movq 0x108(%rsp), %rdx
leaq 0x2a284(%rip), %rsi     # 0x4c86a
leaq 0x390(%rsp), %rdi
callq 0x32980
jmp 0x225f5
movq 0x3e8(%rsp), %rdi
callq 0x25c30
movl %eax, 0xfc(%rsp)
jmp 0x2260b
movl 0xfc(%rsp), %eax
movl %eax, 0x364(%rsp)
leaq 0x368(%rsp), %rdi
leaq 0x364(%rsp), %rsi
callq 0x370b0
jmp 0x22630
movq 0x100(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
leaq 0x390(%rsp), %rdx
leaq 0x368(%rsp), %rcx
callq 0x23c20
jmp 0x22657
leaq 0x368(%rsp), %rdi
callq 0xf698
leaq 0x390(%rsp), %rdi
callq 0xf698
leaq 0x38f(%rsp), %rdi
callq 0xeb40
movq 0x3f0(%rsp), %rax
movq %rax, 0xe8(%rsp)
leaq 0x33f(%rsp), %rdi
movq %rdi, 0xf0(%rsp)
callq 0xf420
movq 0xf0(%rsp), %rdx
leaq 0x2a354(%rip), %rsi     # 0x4ca06
leaq 0x340(%rsp), %rdi
callq 0x32980
jmp 0x226c1
movq 0x3e8(%rsp), %rdi
callq 0x21200
movl %eax, 0xe4(%rsp)
jmp 0x226d7
movl 0xe4(%rsp), %eax
movl %eax, 0x314(%rsp)
leaq 0x318(%rsp), %rdi
leaq 0x314(%rsp), %rsi
callq 0x370b0
jmp 0x226fc
movq 0xe8(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
leaq 0x340(%rsp), %rdx
leaq 0x318(%rsp), %rcx
callq 0x23c20
jmp 0x22723
leaq 0x318(%rsp), %rdi
callq 0xf698
leaq 0x340(%rsp), %rdi
callq 0xf698
leaq 0x33f(%rsp), %rdi
callq 0xeb40
movq 0x3f0(%rsp), %rax
movq %rax, 0xd0(%rsp)
leaq 0x2ef(%rsp), %rdi
movq %rdi, 0xd8(%rsp)
callq 0xf420
movq 0xd8(%rsp), %rdx
leaq 0x2ac32(%rip), %rsi     # 0x4d3b0
leaq 0x2f0(%rsp), %rdi
callq 0x32980
jmp 0x2278d
movq 0x3e8(%rsp), %rdi
callq 0x21670
movl %eax, 0xcc(%rsp)
jmp 0x227a3
movl 0xcc(%rsp), %eax
movl %eax, 0x2c4(%rsp)
leaq 0x2c8(%rsp), %rdi
leaq 0x2c4(%rsp), %rsi
callq 0x370b0
jmp 0x227c8
movq 0xd0(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
leaq 0x2f0(%rsp), %rdx
leaq 0x2c8(%rsp), %rcx
callq 0x23c20
jmp 0x227ef
leaq 0x2c8(%rsp), %rdi
callq 0xf698
leaq 0x2f0(%rsp), %rdi
callq 0xf698
leaq 0x2ef(%rsp), %rdi
callq 0xeb40
movq 0x3f0(%rsp), %rax
movq %rax, 0xb8(%rsp)
leaq 0x29f(%rsp), %rdi
movq %rdi, 0xc0(%rsp)
callq 0xf420
movq 0xc0(%rsp), %rdx
leaq 0x2ab6f(%rip), %rsi     # 0x4d3b9
leaq 0x2a0(%rsp), %rdi
callq 0x32980
jmp 0x22859
leaq 0x277(%rsp), %rdi
movq %rdi, 0xb0(%rsp)
callq 0xf420
movq 0xb0(%rsp), %rdx
leaq 0x2badb(%rip), %rsi     # 0x4e358
leaq 0x278(%rsp), %rdi
callq 0x32980
jmp 0x2288c
movq 0xb8(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
leaq 0x2a0(%rsp), %rdx
leaq 0x278(%rsp), %rcx
callq 0x23c20
jmp 0x228b3
leaq 0x278(%rsp), %rdi
callq 0xf698
leaq 0x277(%rsp), %rdi
callq 0xeb40
leaq 0x2a0(%rsp), %rdi
callq 0xf698
leaq 0x29f(%rsp), %rdi
callq 0xeb40
movq 0x3f0(%rsp), %rax
movq %rax, 0xa0(%rsp)
leaq 0x24f(%rsp), %rdi
movq %rdi, 0xa8(%rsp)
callq 0xf420
movq 0xa8(%rsp), %rdx
leaq 0x2aadd(%rip), %rsi     # 0x4d3f8
leaq 0x250(%rsp), %rdi
callq 0x32980
jmp 0x2292a
movq 0x3e8(%rsp), %rdi
callq 0x25c50
movq %rax, 0x98(%rsp)
jmp 0x22941
movq 0x98(%rsp), %rsi
leaq 0x228(%rsp), %rdi
callq 0x235e0
jmp 0x22958
movq 0xa0(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
leaq 0x250(%rsp), %rdx
leaq 0x228(%rsp), %rcx
callq 0x23c20
jmp 0x2297f
leaq 0x228(%rsp), %rdi
callq 0xf698
leaq 0x250(%rsp), %rdi
callq 0xf698
leaq 0x24f(%rsp), %rdi
callq 0xeb40
movq 0x3f0(%rsp), %rax
movq %rax, 0x88(%rsp)
leaq 0x207(%rsp), %rdi
movq %rdi, 0x90(%rsp)
callq 0xf420
movq 0x90(%rsp), %rdx
leaq 0x29ed1(%rip), %rsi     # 0x4c8ab
leaq 0x208(%rsp), %rdi
callq 0x32980
jmp 0x229e9
movq 0x3e8(%rsp), %rdi
callq 0x21610
movq %rax, 0x80(%rsp)
jmp 0x22a00
movq 0x80(%rsp), %rsi
leaq 0x1e0(%rsp), %rdi
callq 0x23540
jmp 0x22a17
movq 0x88(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
leaq 0x208(%rsp), %rdx
leaq 0x1e0(%rsp), %rcx
callq 0x23c20
jmp 0x22a3e
leaq 0x1e0(%rsp), %rdi
callq 0xf698
leaq 0x208(%rsp), %rdi
callq 0xf698
leaq 0x207(%rsp), %rdi
callq 0xeb40
testb $0x1, 0x431a9(%rip)     # 0x65c15
je 0x22e71
movq 0x3f0(%rsp), %rax
movq %rax, 0x70(%rsp)
leaq 0x1bf(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0xf420
movq 0x78(%rsp), %rdx
leaq 0x29e13(%rip), %rsi     # 0x4c8b0
leaq 0x1c0(%rsp), %rdi
callq 0x32980
jmp 0x22aac
movq 0x3e8(%rsp), %rdi
callq 0x20920
movl %eax, 0x6c(%rsp)
jmp 0x22abf
movl 0x6c(%rsp), %eax
movl %eax, 0x194(%rsp)
leaq 0x198(%rsp), %rdi
leaq 0x194(%rsp), %rsi
callq 0x370b0
jmp 0x22ae1
movq 0x70(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
leaq 0x1c0(%rsp), %rdx
leaq 0x198(%rsp), %rcx
callq 0x23c20
jmp 0x22b05
leaq 0x198(%rsp), %rdi
callq 0xf698
leaq 0x1c0(%rsp), %rdi
callq 0xf698
leaq 0x1bf(%rsp), %rdi
callq 0xeb40
jmp 0x22e71
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
leaq 0x3c7(%rsp), %rdi
callq 0xeb40
jmp 0x23168
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
jmp 0x2315b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
jmp 0x22bca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
jmp 0x22bbd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
leaq 0x368(%rsp), %rdi
callq 0xf698
leaq 0x390(%rsp), %rdi
callq 0xf698
leaq 0x38f(%rsp), %rdi
callq 0xeb40
jmp 0x2315b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
jmp 0x22c36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
jmp 0x22c29
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
leaq 0x318(%rsp), %rdi
callq 0xf698
leaq 0x340(%rsp), %rdi
callq 0xf698
leaq 0x33f(%rsp), %rdi
callq 0xeb40
jmp 0x2315b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
jmp 0x22ca2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
jmp 0x22c95
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
leaq 0x2c8(%rsp), %rdi
callq 0xf698
leaq 0x2f0(%rsp), %rdi
callq 0xf698
leaq 0x2ef(%rsp), %rdi
callq 0xeb40
jmp 0x2315b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
jmp 0x22d1b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
jmp 0x22d01
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
leaq 0x278(%rsp), %rdi
callq 0xf698
leaq 0x277(%rsp), %rdi
callq 0xeb40
leaq 0x2a0(%rsp), %rdi
callq 0xf698
leaq 0x29f(%rsp), %rdi
callq 0xeb40
jmp 0x2315b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
jmp 0x22d87
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
jmp 0x22d7a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
leaq 0x228(%rsp), %rdi
callq 0xf698
leaq 0x250(%rsp), %rdi
callq 0xf698
leaq 0x24f(%rsp), %rdi
callq 0xeb40
jmp 0x2315b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
jmp 0x22df3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
jmp 0x22de6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
leaq 0x1e0(%rsp), %rdi
callq 0xf698
leaq 0x208(%rsp), %rdi
callq 0xf698
leaq 0x207(%rsp), %rdi
callq 0xeb40
jmp 0x2315b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
jmp 0x22e5f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
jmp 0x22e52
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
leaq 0x198(%rsp), %rdi
callq 0xf698
leaq 0x1c0(%rsp), %rdi
callq 0xf698
leaq 0x1bf(%rsp), %rdi
callq 0xeb40
jmp 0x2315b
movq 0x3f0(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x3e8(%rsp), %rdi
callq 0x25c70
movq %rax, 0x60(%rsp)
jmp 0x22e92
movq 0x60(%rsp), %rsi
leaq 0x170(%rsp), %rdi
callq 0x24dd0
jmp 0x22ea6
movq 0x58(%rsp), %rdi
leaq 0x170(%rsp), %rsi
callq 0xe900
jmp 0x22eba
leaq 0x170(%rsp), %rdi
callq 0xf698
movq 0x3f0(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x14f(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0xf420
movq 0x50(%rsp), %rdx
leaq 0x2a465(%rip), %rsi     # 0x4d357
leaq 0x150(%rsp), %rdi
callq 0x32980
jmp 0x22f01
leaq 0x127(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0xf420
movq 0x40(%rsp), %rdx
leaq 0x2a4e3(%rip), %rsi     # 0x4d402
leaq 0x128(%rsp), %rdi
callq 0x32980
jmp 0x22f2e
movq 0x48(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
leaq 0x150(%rsp), %rdx
leaq 0x128(%rsp), %rcx
callq 0x23c20
jmp 0x22f52
leaq 0x128(%rsp), %rdi
callq 0xf698
leaq 0x127(%rsp), %rdi
callq 0xeb40
leaq 0x150(%rsp), %rdi
callq 0xf698
leaq 0x14f(%rsp), %rdi
callq 0xeb40
movq 0x3f0(%rsp), %rdi
leaq 0x2a3f9(%rip), %rsi     # 0x4d38e
callq 0xea00
jmp 0x22f9c
movl $0x0, 0x120(%rsp)
movl 0x120(%rsp), %eax
movl %eax, 0x38(%rsp)
movq 0x3e8(%rsp), %rdi
callq 0x21220
movl %eax, 0x3c(%rsp)
jmp 0x22fc5
movl 0x38(%rsp), %eax
movl 0x3c(%rsp), %ecx
cmpl %ecx, %eax
jge 0x230ff
movq 0x3e8(%rsp), %rdi
movl 0x120(%rsp), %esi
callq 0x21240
movq %rax, 0x30(%rsp)
jmp 0x22ff0
movq 0x30(%rsp), %rdi
callq 0x19160
movl %eax, 0x2c(%rsp)
jmp 0x23000
movl 0x2c(%rsp), %eax
cmpl $0x0, %eax
jle 0x230e7
movq 0x3f0(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x3e8(%rsp), %rdi
movl 0x120(%rsp), %esi
callq 0x21240
movq %rax, 0x20(%rsp)
jmp 0x23035
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %rdi
callq 0x25210
jmp 0x23046
jmp 0x230e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
leaq 0x170(%rsp), %rdi
callq 0xf698
jmp 0x2315b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
jmp 0x230d8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
jmp 0x230be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3b8(%rsp)
movl %eax, 0x3b4(%rsp)
leaq 0x128(%rsp), %rdi
callq 0xf698
leaq 0x127(%rsp), %rdi
callq 0xeb40
leaq 0x150(%rsp), %rdi
callq 0xf698
leaq 0x14f(%rsp), %rdi
callq 0xeb40
jmp 0x2315b
jmp 0x230e9
movl 0x120(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x120(%rsp)
jmp 0x22fa7
movq 0x3f0(%rsp), %rdi
leaq 0x2a2b4(%rip), %rsi     # 0x4d3c2
callq 0xea00
movq %rax, 0x10(%rsp)
jmp 0x2311a
movq 0x10(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
callq 0xe900
movq %rax, 0x8(%rsp)
jmp 0x23133
movq 0x8(%rsp), %rdi
leaq 0x2a24f(%rip), %rsi     # 0x4d38e
callq 0xea00
jmp 0x23146
leaq 0x3c8(%rsp), %rdi
callq 0xf698
addq $0x3f8, %rsp            # imm = 0x3F8
retq
leaq 0x3c8(%rsp), %rdi
callq 0xf698
movq 0x3b8(%rsp), %rdi
callq 0xf410
nopw %cs:(%rax,%rax)