// File: /workspace/github_cpp_makefile_star2_O2/xelia-it[P]mustache/third-party/catch2/single_include/catch2/catch.hpp
// Function: Catch::XmlReporter::assertionEnded(Catch::AssertionStats const&)
bool XmlReporter::assertionEnded( AssertionStats const& assertionStats ) {

        AssertionResult const& result = assertionStats.assertionResult;

        bool includeResults = m_config->includeSuccessfulResults() || !result.isOk();

        if( includeResults || result.getResultType() == ResultWas::Warning ) {
            // Print any info messages in <Info> tags.
            for( auto const& msg : assertionStats.infoMessages ) {
                if( msg.type == ResultWas::Info && includeResults ) {
                    m_xml.scopedElement( "Info" )
                            .writeText( msg.message );
                } else if ( msg.type == ResultWas::Warning ) {
                    m_xml.scopedElement( "Warning" )
                            .writeText( msg.message );
                }
            }
        }

        // Drop out if result was successful but we're not printing them.
        if( !includeResults && result.getResultType() != ResultWas::Warning )
            return true;

        // Print the expression if there is one.
        if( result.hasExpression() ) {
            m_xml.startElement( "Expression" )
                .writeAttribute( "success", result.succeeded() )
                .writeAttribute( "type", result.getTestMacroName() );

            writeSourceInfo( result.getSourceInfo() );

            m_xml.scopedElement( "Original" )
                .writeText( result.getExpression() );
            m_xml.scopedElement( "Expanded" )
                .writeText( result.getExpandedExpression() );
        }

        // And... Print a result applicable to each result type.
        switch( result.getResultType() ) {
            case ResultWas::ThrewException:
                m_xml.startElement( "Exception" );
                writeSourceInfo( result.getSourceInfo() );
                m_xml.writeText( result.getMessage() );
                m_xml.endElement();
                break;
            case ResultWas::FatalErrorCondition:
                m_xml.startElement( "FatalErrorCondition" );
                writeSourceInfo( result.getSourceInfo() );
                m_xml.writeText( result.getMessage() );
                m_xml.endElement();
                break;
            case ResultWas::Info:
                m_xml.scopedElement( "Info" )
                    .writeText( result.getMessage() );
                break;
            case ResultWas::Warning:
                // Warning will already have been written
                break;
            case ResultWas::ExplicitFailure:
                m_xml.startElement( "Failure" );
                writeSourceInfo( result.getSourceInfo() );
                m_xml.writeText( result.getMessage() );
                m_xml.endElement();
                break;
            default:
                break;
        }

        if( result.hasExpression() )
            m_xml.endElement();

        return true;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa8, %rsp
movq %rsi, %rbx
movq %rdi, %r14
movq 0x8(%rdi), %rdi
movq (%rdi), %rax
callq *0x28(%rax)
movb $0x1, %dl
testb %al, %al
jne 0x39e09
movl 0x90(%rbx), %eax
testb $0x10, %al
je 0x39dfe
movl 0x38(%rbx), %ecx
andl $0x8, %ecx
je 0x39e09
cmpl $0x2, %eax
jne 0x3a2b9
xorl %edx, %edx
leaq 0x8(%rbx), %rax
movq %rax, -0xb0(%rbp)
movq 0x98(%rbx), %r13
movq %rbx, -0xb8(%rbp)
movq 0xa0(%rbx), %r15
movq %r14, -0xa8(%rbp)
leaq 0x170(%r14), %rax
movq %rax, -0x98(%rbp)
movl %edx, -0x9c(%rbp)
movl %edx, %ebx
xorb $0x1, %bl
leaq -0x48(%rbp), %r12
pushq $0x3
popq %r14
cmpq %r15, %r13
je 0x39f01
movl 0x40(%r13), %eax
cmpl $0x1, %eax
setne %cl
orb %bl, %cl
jne 0x39ea6
movq %r12, %rdi
leaq 0x3af9e(%rip), %rsi     # 0x74e10
leaq -0x90(%rbp), %rdx
callq 0x24210
leaq -0x70(%rbp), %rdi
movq -0x98(%rbp), %rsi
movq %r12, %rdx
movl %r14d, %ecx
callq 0x34d2e
leaq 0x10(%r13), %rsi
movq -0x70(%rbp), %rdi
movl %r14d, %edx
callq 0x34ad2
jmp 0x39ee7
cmpl $0x2, %eax
jne 0x39ef8
movq %r12, %rdi
leaq 0x3af60(%rip), %rsi     # 0x74e15
leaq -0x90(%rbp), %rdx
callq 0x24210
leaq -0x70(%rbp), %rdi
movq -0x98(%rbp), %rsi
movq %r12, %rdx
movl %r14d, %ecx
callq 0x34d2e
leaq 0x10(%r13), %rsi
movq -0x70(%rbp), %rdi
movl %r14d, %edx
callq 0x34ad2
leaq -0x70(%rbp), %rdi
callq 0x34a94
movq %r12, %rdi
callq 0x24ad8
addq $0x48, %r13
jmp 0x39e51
movq -0xb8(%rbp), %r14
movl 0x90(%r14), %eax
cmpl $0x2, %eax
sete %cl
movl -0x9c(%rbp), %edx
orb %cl, %dl
cmpb $0x1, %dl
movq -0x98(%rbp), %r15
jne 0x3a2b9
cmpq $0x0, 0x30(%r14)
je 0x3a0dd
leaq 0x3aede(%rip), %rsi     # 0x74e1d
leaq -0x48(%rbp), %rdi
leaq -0x4b(%rbp), %rdx
callq 0x24210
movq -0xa8(%rbp), %r12
leaq -0x48(%rbp), %rsi
pushq $0x3
popq %rdx
movq %r15, %rdi
callq 0x34c68
leaq 0x39883(%rip), %rsi     # 0x737ec
leaq -0x70(%rbp), %rdi
leaq -0x4a(%rbp), %rdx
callq 0x24210
xorl %edx, %edx
testb $0x10, 0x90(%r14)
sete %dl
leaq -0x70(%rbp), %rsi
movq %r15, %rdi
callq 0x34e1e
leaq 0x3c0c1(%rip), %rsi     # 0x76057
leaq -0x90(%rbp), %rdi
leaq -0x49(%rbp), %rdx
callq 0x24210
movups 0x8(%r14), %xmm0
leaq -0xc8(%rbp), %rdx
movups %xmm0, (%rdx)
leaq -0x90(%rbp), %rsi
movq %r15, %rdi
callq 0x40bb4
leaq -0x90(%rbp), %rdi
callq 0x24ad8
leaq -0x70(%rbp), %rdi
callq 0x24ad8
leaq -0x48(%rbp), %rbx
movq %rbx, %rdi
callq 0x24ad8
movups 0x18(%r14), %xmm0
movups %xmm0, (%rbx)
leaq -0x48(%rbp), %rsi
movq %r12, %rdi
callq 0x39730
leaq 0x3ae28(%rip), %rsi     # 0x74e28
leaq -0x48(%rbp), %rdi
leaq -0xc8(%rbp), %rdx
callq 0x24210
leaq -0x90(%rbp), %rdi
leaq -0x48(%rbp), %rdx
pushq $0x3
popq %rcx
movq %r15, %rsi
callq 0x34d2e
movq -0xb0(%rbp), %rbx
leaq -0x70(%rbp), %rdi
movq %rbx, %rsi
callq 0x25d60
movq -0x90(%rbp), %rdi
leaq -0x70(%rbp), %rsi
pushq $0x3
popq %rdx
callq 0x34ad2
leaq -0x70(%rbp), %rdi
callq 0x24ad8
leaq -0x90(%rbp), %rdi
callq 0x34a94
leaq -0x48(%rbp), %rdi
callq 0x24ad8
leaq 0x3adc0(%rip), %rsi     # 0x74e31
leaq -0x48(%rbp), %rdi
leaq -0xc8(%rbp), %rdx
callq 0x24210
leaq -0x90(%rbp), %rdi
leaq -0x48(%rbp), %rdx
pushq $0x3
popq %rcx
movq %r15, %rsi
callq 0x34d2e
leaq -0x70(%rbp), %rdi
movq %rbx, %rsi
callq 0x25f36
movq -0x90(%rbp), %rdi
leaq -0x70(%rbp), %rsi
pushq $0x3
popq %rdx
callq 0x34ad2
leaq -0x70(%rbp), %rdi
callq 0x24ad8
leaq -0x90(%rbp), %rdi
callq 0x34a94
leaq -0x48(%rbp), %rdi
callq 0x24ad8
movl 0x90(%r14), %eax
jmp 0x3a0e4
movq -0xa8(%rbp), %r12
cmpl $0x1, %eax
je 0x3a23c
cmpl $0x12, %eax
je 0x3a16a
cmpl $0x210, %eax            # imm = 0x210
je 0x3a1c9
cmpl $0x111, %eax            # imm = 0x111
jne 0x3a2a7
leaq 0x3ad2b(%rip), %rsi     # 0x74e3a
leaq -0x48(%rbp), %rdi
leaq -0x70(%rbp), %rdx
callq 0x24210
leaq -0x48(%rbp), %rsi
pushq $0x3
popq %rdx
movq %r15, %rdi
callq 0x34c68
leaq -0x48(%rbp), %rbx
movq %rbx, %rdi
callq 0x24ad8
movups 0x18(%r14), %xmm0
movups %xmm0, (%rbx)
leaq -0x48(%rbp), %rsi
movq %r12, %rdi
callq 0x39730
leaq 0x40(%r14), %rsi
movq %rbx, %rdi
callq 0x24760
pushq $0x3
popq %rdx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x34ad2
jmp 0x3a226
leaq 0x3ace7(%rip), %rsi     # 0x74e58
leaq -0x48(%rbp), %rdi
leaq -0x70(%rbp), %rdx
callq 0x24210
leaq -0x48(%rbp), %rsi
pushq $0x3
popq %rdx
movq %r15, %rdi
callq 0x34c68
leaq -0x48(%rbp), %rbx
movq %rbx, %rdi
callq 0x24ad8
movups 0x18(%r14), %xmm0
movups %xmm0, (%rbx)
leaq -0x48(%rbp), %rsi
movq %r12, %rdi
callq 0x39730
leaq 0x40(%r14), %rsi
movq %rbx, %rdi
callq 0x24760
pushq $0x3
popq %rdx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x34ad2
jmp 0x3a226
leaq 0x3ac74(%rip), %rsi     # 0x74e44
leaq -0x48(%rbp), %rdi
leaq -0x70(%rbp), %rdx
callq 0x24210
leaq -0x48(%rbp), %rsi
pushq $0x3
popq %rdx
movq %r15, %rdi
callq 0x34c68
leaq -0x48(%rbp), %rbx
movq %rbx, %rdi
callq 0x24ad8
movups 0x18(%r14), %xmm0
movups %xmm0, (%rbx)
leaq -0x48(%rbp), %rsi
movq %r12, %rdi
callq 0x39730
leaq 0x40(%r14), %rsi
movq %rbx, %rdi
callq 0x24760
pushq $0x3
popq %rdx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x34ad2
leaq -0x48(%rbp), %rdi
callq 0x24ad8
pushq $0x3
popq %rsi
movq %r15, %rdi
callq 0x349be
jmp 0x3a2a7
leaq 0x3abcd(%rip), %rsi     # 0x74e10
leaq -0x48(%rbp), %rdi
leaq -0xc8(%rbp), %rdx
callq 0x24210
leaq -0x90(%rbp), %rdi
leaq -0x48(%rbp), %rdx
pushq $0x3
popq %rcx
movq %r15, %rsi
callq 0x34d2e
leaq 0x40(%r14), %rsi
leaq -0x70(%rbp), %rdi
callq 0x24760
movq -0x90(%rbp), %rdi
leaq -0x70(%rbp), %rsi
pushq $0x3
popq %rdx
callq 0x34ad2
leaq -0x70(%rbp), %rdi
callq 0x24ad8
leaq -0x90(%rbp), %rdi
callq 0x34a94
leaq -0x48(%rbp), %rdi
callq 0x24ad8
cmpq $0x0, 0x30(%r14)
je 0x3a2b9
pushq $0x3
popq %rsi
movq %r15, %rdi
callq 0x349be
movb $0x1, %al
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x3a2ef
jmp 0x3a2fd
jmp 0x3a33a
jmp 0x3a33a
jmp 0x3a33a
jmp 0x3a33a
jmp 0x3a33a
jmp 0x3a33a
jmp 0x3a33a
jmp 0x3a33f
jmp 0x3a33f
jmp 0x3a33f
jmp 0x3a33f
jmp 0x3a2ef
jmp 0x3a2fd
jmp 0x3a33a
jmp 0x3a33f
movq %rax, %rbx
leaq -0x70(%rbp), %rdi
callq 0x24ad8
jmp 0x3a300
movq %rax, %rbx
leaq -0x90(%rbp), %rdi
jmp 0x3a34b
jmp 0x3a33a
jmp 0x3a33f
movq %rax, %rbx
leaq -0x90(%rbp), %rdi
callq 0x24ad8
jmp 0x3a323
jmp 0x3a320
movq %rax, %rbx
leaq -0x70(%rbp), %rdi
callq 0x24ad8
jmp 0x3a350
jmp 0x3a33a
jmp 0x3a33a
jmp 0x3a33f
jmp 0x3a344
jmp 0x3a33a
jmp 0x3a33f
movq %rax, %rbx
jmp 0x3a350
movq %rax, %rbx
jmp 0x3a359
movq %rax, %rbx
leaq -0x70(%rbp), %rdi
callq 0x34a94
leaq -0x48(%rbp), %rdi
callq 0x24ad8
movq %rbx, %rdi
callq 0x24950
nop