// File: /workspace/github_cpp_makefile_star2_O1/halfflat[P]tinyopt/test/googletest/googletest/src/gtest.cc
// Function: testing::internal::JsonUnitTestResultPrinter::OutputJsonTestInfo(std::ostream*, char const*, testing::TestInfo const&)
void JsonUnitTestResultPrinter::OutputJsonTestInfo(::std::ostream* stream,
                                                   const char* test_suite_name,
                                                   const TestInfo& test_info) {
  const TestResult& result = *test_info.result();
  const std::string kTestsuite = "testcase";
  const std::string kIndent = Indent(10);

  *stream << Indent(8) << "{\n";
  OutputJsonKey(stream, kTestsuite, "name", test_info.name(), kIndent);

  if (test_info.value_param() != nullptr) {
    OutputJsonKey(stream, kTestsuite, "value_param", test_info.value_param(),
                  kIndent);
  }
  if (test_info.type_param() != nullptr) {
    OutputJsonKey(stream, kTestsuite, "type_param", test_info.type_param(),
                  kIndent);
  }

  OutputJsonKey(stream, kTestsuite, "file", test_info.file(), kIndent);
  OutputJsonKey(stream, kTestsuite, "line", test_info.line(), kIndent, false);
  if (GTEST_FLAG_GET(list_tests)) {
    *stream << "\n" << Indent(8) << "}";
    return;
  } else {
    *stream << ",\n";
  }

  OutputJsonKey(stream, kTestsuite, "status",
                test_info.should_run() ? "RUN" : "NOTRUN", kIndent);
  OutputJsonKey(stream, kTestsuite, "result",
                test_info.should_run()
                    ? (result.Skipped() ? "SKIPPED" : "COMPLETED")
                    : "SUPPRESSED",
                kIndent);
  OutputJsonKey(stream, kTestsuite, "timestamp",
                FormatEpochTimeInMillisAsRFC3339(result.start_timestamp()),
                kIndent);
  OutputJsonKey(stream, kTestsuite, "time",
                FormatTimeInMillisAsDuration(result.elapsed_time()), kIndent);
  OutputJsonKey(stream, kTestsuite, "classname", test_suite_name, kIndent,
                false);
  *stream << TestPropertiesAsJson(result, kIndent);

  OutputJsonTestResult(stream, result);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movq %rdx, %r15
movq %rsi, %r12
movq %rdi, %rbx
leaq 0x78(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x176fd(%rip), %rsi     # 0x74471
leaq 0x176fe(%rip), %rdx     # 0x74479
leaq 0x68(%rsp), %rdi
callq 0x15892
leaq 0x58(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x48(%rsp), %rdi
movl $0xa, %esi
movl $0x20, %edx
callq 0xd630
leaq 0x18(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x8(%rsp), %rdi
movl $0x8, %esi
movl $0x20, %edx
callq 0xd630
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %rbx, %rdi
callq 0xd600
leaq 0x17876(%rip), %rsi     # 0x7464e
movl $0x2, %edx
movq %rax, %rdi
callq 0xd600
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x5cdfc
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x1768c(%rip), %rsi     # 0x74497
leaq 0x17689(%rip), %rdx     # 0x7449b
callq 0x15892
movq 0x20(%r15), %rsi
leaq 0x28(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x208e8
movq %r12, 0x90(%rsp)
leaq 0x68(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
leaq 0x48(%rsp), %r8
movq %rbx, %rdi
movl $0x1, %r9d
callq 0x5a758
leaq 0x38(%rsp), %r12
movq -0x10(%r12), %rdi
cmpq %r12, %rdi
je 0x5ce70
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x5ce87
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x48(%r15), %rax
testq %rax, %rax
je 0x5cf28
cmpq $0x0, (%rax)
je 0x5cf28
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x175ff(%rip), %rsi     # 0x744ac
leaq 0x17603(%rip), %rdx     # 0x744b7
callq 0x15892
movq 0x48(%r15), %rax
testq %rax, %rax
je 0x5cec7
movq (%rax), %rsi
jmp 0x5cec9
xorl %esi, %esi
leaq 0x28(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x208e8
leaq 0x68(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
leaq 0x48(%rsp), %r8
movq %rbx, %rdi
movl $0x1, %r9d
callq 0x5a758
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x5cf11
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x5cf28
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x40(%r15), %rax
testq %rax, %rax
je 0x5cfc9
cmpq $0x0, (%rax)
je 0x5cfc9
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x1756a(%rip), %rsi     # 0x744b8
leaq 0x1756d(%rip), %rdx     # 0x744c2
callq 0x15892
movq 0x40(%r15), %rax
testq %rax, %rax
je 0x5cf68
movq (%rax), %rsi
jmp 0x5cf6a
xorl %esi, %esi
leaq 0x28(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x208e8
leaq 0x68(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
leaq 0x48(%rsp), %r8
movq %rbx, %rdi
movl $0x1, %r9d
callq 0x5a758
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x5cfb2
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x5cfc9
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x166ce(%rip), %rsi     # 0x736a6
leaq 0x166cb(%rip), %rdx     # 0x736aa
callq 0x15892
movq 0x50(%r15), %rsi
leaq 0x28(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x208e8
leaq 0x68(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
leaq 0x48(%rsp), %r8
movq %rbx, %rdi
movl $0x1, %r9d
callq 0x5a758
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x5d030
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x5d047
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x1746d(%rip), %rsi     # 0x744c3
leaq 0x1746a(%rip), %rdx     # 0x744c7
callq 0x15892
movl 0x70(%r15), %ecx
leaq 0x68(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x48(%rsp), %r8
movq %rbx, %rdi
xorl %r9d, %r9d
callq 0x5a960
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x5d097
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
cmpb $0x1, 0x3985b(%rip)     # 0x968f9
jne 0x5d111
leaq 0x14040(%rip), %rsi     # 0x710e7
movl $0x1, %edx
movq %rbx, %rdi
callq 0xd600
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
movl $0x8, %esi
movl $0x20, %edx
callq 0xd630
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %rbx, %rdi
callq 0xd600
leaq 0x17594(%rip), %rsi     # 0x74678
movl $0x1, %edx
movq %rax, %rdi
callq 0xd600
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x5d45f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x5d45f
leaq 0x1754b(%rip), %rsi     # 0x74663
movl $0x2, %edx
movq %rbx, %rdi
callq 0xd600
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x17346(%rip), %rsi     # 0x7447a
leaq 0x17345(%rip), %rdx     # 0x74480
callq 0x15892
movzbl 0x80(%r15), %eax
leaq 0x174e6(%rip), %rcx     # 0x74635
leaq 0x174dc(%rip), %rsi     # 0x74632
testq %rax, %rax
cmovneq %rcx, %rsi
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
xorq $0x1, %rax
leaq (%rax,%rax,2), %rax
leaq (%rsi,%rax), %rdx
addq $0x3, %rdx
callq 0x15892
leaq 0x68(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
leaq 0x48(%rsp), %r8
movq %rbx, %rdi
movl $0x1, %r9d
callq 0x5a758
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x5d1b3
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x5d1ca
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x172a8(%rip), %rsi     # 0x74481
leaq 0x172a7(%rip), %rdx     # 0x74487
callq 0x15892
leaq 0x90(%r15), %rdi
cmpb $0x1, 0x80(%r15)
movq %rdi, 0x88(%rsp)
jne 0x5d219
callq 0x51814
leaq 0x1742f(%rip), %rcx     # 0x74639
leaq 0x17414(%rip), %r13     # 0x74625
testb %al, %al
cmovneq %rcx, %r13
jmp 0x5d220
leaq 0x17421(%rip), %r13     # 0x74641
leaq 0x28(%rsp), %rbp
movq %r12, (%rbp)
movq %r13, %rdi
callq 0xd210
leaq (%rax,%r13), %rdx
movq %rbp, %rdi
movq %r13, %rsi
callq 0x15892
leaq 0x68(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
leaq 0x48(%rsp), %r8
movq %rbx, %rdi
movl $0x1, %r9d
callq 0x5a758
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
leaq 0x78(%rsp), %r13
leaq 0x58(%rsp), %rbp
je 0x5d283
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x5d29a
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x171b9(%rip), %rsi     # 0x74462
leaq 0x171bb(%rip), %rdx     # 0x7446b
callq 0x15892
movq 0x100(%r15), %rsi
leaq 0x28(%rsp), %rdi
callq 0x5bb31
leaq 0x68(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
leaq 0x48(%rsp), %r8
movq %rbx, %rdi
movl $0x1, %r9d
callq 0x5a758
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x5d2ff
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x5d316
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x162f9(%rip), %rsi     # 0x7361e
leaq 0x162f6(%rip), %rdx     # 0x73622
callq 0x15892
movq 0x108(%r15), %rsi
leaq 0x28(%rsp), %rdi
callq 0x5ba90
leaq 0x68(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
leaq 0x48(%rsp), %r8
movq %rbx, %rdi
movl $0x1, %r9d
callq 0x5a758
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x5d37b
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x5d392
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x170f1(%rip), %rsi     # 0x74492
leaq 0x170f3(%rip), %rdx     # 0x7449b
callq 0x15892
leaq 0x28(%rsp), %rdi
leaq 0x7(%rsp), %rdx
movq 0x90(%rsp), %rsi
callq 0x208e8
leaq 0x68(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
leaq 0x48(%rsp), %r8
movq %rbx, %rdi
xorl %r9d, %r9d
callq 0x5a758
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x5d3fa
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
movq 0x88(%rsp), %r15
je 0x5d419
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %rdx
movq %r15, %rsi
callq 0x5c69c
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %rbx, %rdi
callq 0xd600
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x5d454
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movq %rbx, %rdi
movq %r15, %rsi
callq 0x5c8a6
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
je 0x5d476
movq 0x58(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
je 0x5d48d
movq 0x78(%rsp), %rsi
incq %rsi
callq 0xd530
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x5d51a
jmp 0x5d4d7
jmp 0x5d51a
jmp 0x5d4d7
jmp 0x5d515
jmp 0x5d51a
jmp 0x5d515
jmp 0x5d51a
jmp 0x5d515
jmp 0x5d4d7
jmp 0x5d51a
jmp 0x5d515
jmp 0x5d4d7
jmp 0x5d51a
jmp 0x5d515
jmp 0x5d4d7
jmp 0x5d51a
jmp 0x5d515
jmp 0x5d4d7
jmp 0x5d51a
jmp 0x5d515
jmp 0x5d4d7
jmp 0x5d51a
jmp 0x5d515
jmp 0x5d515
jmp 0x5d51a
jmp 0x5d51a
jmp 0x5d515
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x5d51d
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x5d51d
jmp 0x5d51a
jmp 0x5d515
movq %rax, %rbx
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x5d4e4
jmp 0x5d51d
jmp 0x5d51a
jmp 0x5d515
jmp 0x5d515
movq %rax, %rbx
jmp 0x5d550
movq %rax, %rbx
jmp 0x5d534
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x5d534
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x5d550
movq 0x58(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x5d56c
movq 0x78(%rsp), %rsi
incq %rsi
callq 0xd530
movq %rbx, %rdi
callq 0xda70