// File: /workspace/github_cpp_makefile_star2_O2/xelia-it[P]mustache/third-party/catch2/single_include/catch2/catch.hpp
// Function: Catch::listTags(Catch::Config const&)
std::size_t listTags( Config const& config ) {
        TestSpec const& testSpec = config.testSpec();
        if( config.hasTestFilters() )
            Catch::cout() << "Tags for matching test cases:\n";
        else {
            Catch::cout() << "All available tags:\n";
        }

        std::map<std::string, TagInfo> tagCounts;

        std::vector<TestCase> matchedTestCases = filterTests( getAllTestCasesSorted( config ), testSpec, config );
        for( auto const& testCase : matchedTestCases ) {
            for( auto const& tagName : testCase.getTestCaseInfo().tags ) {
                std::string lcaseTagName = toLower( tagName );
                auto countIt = tagCounts.find( lcaseTagName );
                if( countIt == tagCounts.end() )
                    countIt = tagCounts.insert( std::make_pair( lcaseTagName, TagInfo() ) ).first;
                countIt->second.add( tagName );
            }
        }

        for( auto const& tagCount : tagCounts ) {
            ReusableStringStream rss;
            rss << "  " << std::setw(2) << tagCount.second.count << "  ";
            auto str = rss.str();
            auto wrapper = Column( tagCount.second.all() )
                                                    .initialIndent( 0 )
                                                    .indent( str.size() )
                                                    .width( CATCH_CONFIG_CONSOLE_WIDTH-10 );
            Catch::cout() << str << wrapper << '\n';
        }
        Catch::cout() << pluralise( tagCounts.size(), "tag" ) << '\n' << std::endl;
        return tagCounts.size();
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x148, %rsp            # imm = 0x148
movq %rdi, %rbx
movq (%rdi), %rax
callq *0x68(%rax)
movq %rax, %r14
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x70(%rax)
leaq 0x489d8(%rip), %rcx     # 0x74064
leaq 0x489f0(%rip), %rsi     # 0x74083
testb %al, %al
cmovneq %rcx, %rsi
movq 0x828f8(%rip), %rdi     # 0xadf98
callq 0x24570
leaq -0xe8(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
movq %rbx, %rdi
callq 0x2b33f
leaq -0xa0(%rbp), %rdi
movq %rax, %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x2b291
movq -0xa0(%rbp), %rax
movq -0x98(%rbp), %rcx
movq %rcx, -0x80(%rbp)
leaq -0xc0(%rbp), %rbx
cmpq -0x80(%rbp), %rax
je 0x2b7c9
movq 0x60(%rax), %r13
movq %rax, -0x88(%rbp)
movq 0x68(%rax), %r15
cmpq %r15, %r13
je 0x2b7b7
movq %rbx, %rdi
movq %r13, %rsi
callq 0x2ba6b
leaq -0xf0(%rbp), %rdi
movq %rbx, %rsi
callq 0x4b708
movq %rax, %r12
leaq -0xe8(%rbp), %rax
cmpq %rax, %r12
jne 0x2b797
andq $0x0, -0x50(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x60(%rbp)
leaq -0x58(%rbp), %rax
movq %rax, -0x48(%rbp)
movq %rax, -0x40(%rbp)
movups %xmm0, 0x20(%rax)
leaq -0x148(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
leaq -0x60(%rbp), %rdx
callq 0x44ace
leaq -0xf0(%rbp), %rdi
movq %r14, %rsi
callq 0x4b792
movq %rax, %r12
movq %r14, %rdi
callq 0x3e348
leaq -0x60(%rbp), %rdi
callq 0x44b84
addq $0x40, %r12
movq %r12, %rdi
movq %r13, %rsi
callq 0x2b592
movq %rbx, %rdi
callq 0x24ad8
addq $0x20, %r13
jmp 0x2b710
movq -0x88(%rbp), %rax
addq $0xb8, %rax
jmp 0x2b6f7
movq -0xd8(%rbp), %r12
leaq -0xc0(%rbp), %r15
leaq -0x168(%rbp), %r13
leaq -0x60(%rbp), %r14
leaq -0x148(%rbp), %rbx
leaq -0xe8(%rbp), %rax
cmpq %rax, %r12
je 0x2b8ec
leaq -0x78(%rbp), %rdi
callq 0x30e18
movq -0x68(%rbp), %rdi
leaq 0x50bee(%rip), %rsi     # 0x7c3fb
callq 0x24570
movq -0x68(%rbp), %rax
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x2, 0x10(%rax,%rcx)
leaq 0x70(%r12), %rsi
leaq -0x78(%rbp), %rdi
callq 0x3e368
movq %rax, %rdi
leaq 0x50bbd(%rip), %rsi     # 0x7c3fb
callq 0x3d45c
movq -0x68(%rbp), %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x24830
leaq 0x40(%r12), %rsi
movq %r13, %rdi
callq 0x2b5a0
movq %r14, %rdi
movq %r13, %rsi
callq 0x3e2d8
andq $0x0, -0x38(%rbp)
movq -0xb8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq $0x46, -0x48(%rbp)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x3e3b8
movq %r14, %rdi
callq 0x3f34e
movq %r13, %rdi
callq 0x24ad8
movq 0x826f3(%rip), %rdi     # 0xadf98
movq %r15, %rsi
callq 0x24510
movq %rax, %rdi
movq %rbx, %rsi
callq 0x3e20a
movq %rax, %rdi
pushq $0xa
popq %rsi
callq 0x24670
movq %rbx, %rdi
callq 0x3f34e
movq %r15, %rdi
callq 0x24ad8
leaq -0x78(%rbp), %rdi
callq 0x30e5e
movq %r12, %rdi
callq 0x243f0
movq %rax, %r12
jmp 0x2b7e9
movq -0xc8(%rbp), %rbx
leaq 0x4879e(%rip), %rsi     # 0x74098
leaq -0x60(%rbp), %rdi
leaq -0xc0(%rbp), %rdx
callq 0x24210
leaq -0x148(%rbp), %rdi
leaq -0x60(%rbp), %rdx
movq %rbx, %rsi
callq 0x310bc
movq 0x82674(%rip), %rdi     # 0xadf98
leaq -0x148(%rbp), %rsi
callq 0x2b42c
movq 0x82661(%rip), %rdi     # 0xadf98
pushq $0xa
popq %rsi
callq 0x24670
movq %rax, %rdi
callq 0x242a0
leaq -0x140(%rbp), %rdi
callq 0x24ad8
leaq -0x60(%rbp), %rdi
callq 0x24ad8
leaq -0xf0(%rbp), %rbx
movq 0x28(%rbx), %r14
leaq -0xa0(%rbp), %rdi
callq 0x3e31c
movq %rbx, %rdi
callq 0x44bfc
movq %r14, %rax
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
jmp 0x2b9b1
jmp 0x2ba2e
movq %rax, %rbx
jmp 0x2ba4e
movq %rax, %rbx
leaq -0x140(%rbp), %rdi
callq 0x24ad8
leaq -0x60(%rbp), %rdi
jmp 0x2ba3d
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x3f34e
jmp 0x2b9d6
jmp 0x2ba2e
jmp 0x2b9e4
jmp 0x2b9e4
movq %rax, %rbx
jmp 0x2b9f8
movq %rax, %rbx
leaq -0x168(%rbp), %rdi
callq 0x24ad8
jmp 0x2b9f8
movq %rax, %rbx
jmp 0x2ba04
movq %rax, %rbx
leaq -0x148(%rbp), %rdi
callq 0x3f34e
leaq -0xc0(%rbp), %rdi
callq 0x24ad8
leaq -0x78(%rbp), %rdi
callq 0x30e5e
jmp 0x2ba42
movq %rax, %rbx
leaq -0x148(%rbp), %rdi
callq 0x3e348
jmp 0x2ba23
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x44b84
jmp 0x2ba36
movq %rax, %rbx
jmp 0x2ba42
movq %rax, %rbx
leaq -0xc0(%rbp), %rdi
callq 0x24ad8
leaq -0xa0(%rbp), %rdi
callq 0x3e31c
leaq -0xf0(%rbp), %rdi
callq 0x44bfc
movq %rbx, %rdi
callq 0x24950