// File: jovermann[P]streplace/src/streplace.cpp
// Function: Streplace::printPreview(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, unsigned long)
void printPreview(const std::string& s, const std::string& filename, size_t numMatches)
    {
        std::cout << escapeSequences.bold << filename << escapeSequences.normal << " (" << escapeSequences.bold << numMatches << escapeSequences.normal << " match" + ut1::pluralS(numMatches, "es") + "):\n";

        if (context == -1)
        {
            // Print whole file.
            std::cout << s;
        }
        else
        {
            // Print only changed lines plus context.
            std::vector<std::string> lines = ut1::splitLines(s);

            // Mark all lines which contain the escape sequences for matches including context lines.
            std::vector<bool> marked(lines.size());
            for (ssize_t line = 0; line < ssize_t(lines.size()); line++)
            {
                if (ut1::contains(lines[line], escapeSequences.bold) || ut1::contains(lines[line], escapeSequences.normal))
                {
                    for (ssize_t i = line - context; i <= ssize_t(line + context); i++)
                    {
                        if ((i >= 0) && (i < ssize_t(marked.size())))
                        {
                            marked[i] = true;
                        }
                    }
                }
            }

            // Print all marked lines.
            for (size_t line = 0; line < lines.size(); line++)
            {
                if ((!previewHideSep) && (marked[line] && ((line == 0) || (!marked[line - 1]))))
                {
                    std::cout << escapeSequences.thin << "--" << line + 1 << "--" << escapeSequences.normal << "\n";
                }
                if (marked[line])
                {
                    std::cout << lines[line] << "\n";
                }
            }
        }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x260, %rsp            # imm = 0x260
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq -0x8(%rbp), %rsi
movq %rsi, -0x1a8(%rbp)
addq $0xb8, %rsi
movq %rsi, -0x1a0(%rbp)
movq 0x2338d(%rip), %rdi     # 0x69fa8
callq 0x7560
movq %rax, %rdi
movq -0x18(%rbp), %rsi
callq 0x7560
movq -0x1a8(%rbp), %rsi
movq %rax, %rdi
addq $0xf8, %rsi
movq %rsi, -0x198(%rbp)
callq 0x7560
movq %rax, %rdi
leaq 0x3533(%rip), %rsi      # 0x4a186
callq 0x75d0
movq -0x1a0(%rbp), %rsi
movq %rax, %rdi
callq 0x7560
movq %rax, %rdi
movq -0x20(%rbp), %rsi
callq 0x7110
movq -0x198(%rbp), %rsi
movq %rax, %rdi
callq 0x7560
movq %rax, -0x190(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x188(%rbp)
leaq -0xa1(%rbp), %rdi
movq %rdi, -0x180(%rbp)
callq 0x7a50
movq -0x180(%rbp), %rdx
leaq 0x5153(%rip), %rsi      # 0x4be08
leaq -0xa0(%rbp), %rdi
callq 0xb310
jmp 0x46cc3
leaq -0xd8(%rbp), %rdi
movq %rdi, -0x1b0(%rbp)
callq 0x7860
movq -0x188(%rbp), %rsi
movq -0x1b0(%rbp), %rcx
leaq -0x80(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x47370
jmp 0x46cf6
leaq 0x5104(%rip), %rsi      # 0x4be01
leaq -0x60(%rbp), %rdi
leaq -0x80(%rbp), %rdx
callq 0xb770
jmp 0x46d0c
leaq 0x50f8(%rip), %rdx      # 0x4be0b
leaq -0x40(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0xb720
jmp 0x46d22
movq -0x190(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x7560
jmp 0x46d34
leaq -0x40(%rbp), %rdi
callq 0x73c0
leaq -0x60(%rbp), %rdi
callq 0x73c0
leaq -0x80(%rbp), %rdi
callq 0x73c0
leaq -0xd8(%rbp), %rdi
callq 0x73c0
leaq -0xa0(%rbp), %rdi
callq 0x73c0
leaq -0xa1(%rbp), %rdi
callq 0x7670
movq -0x1a8(%rbp), %rax
cmpl $-0x1, 0xc(%rax)
jne 0x46e42
movq -0x10(%rbp), %rsi
movq 0x23219(%rip), %rdi     # 0x69fa8
callq 0x7560
jmp 0x47352
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x46e31
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x46e19
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x46e10
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x46e07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x73c0
leaq -0x60(%rbp), %rdi
callq 0x73c0
leaq -0x80(%rbp), %rdi
callq 0x73c0
leaq -0xd8(%rbp), %rdi
callq 0x73c0
leaq -0xa0(%rbp), %rdi
callq 0x73c0
leaq -0xa1(%rbp), %rdi
callq 0x7670
jmp 0x4735b
movq -0x10(%rbp), %rsi
xorl %eax, %eax
movl %eax, %edx
leaq -0xf0(%rbp), %rdi
movq %rdi, -0x1c8(%rbp)
callq 0x11ff0
movq -0x1c8(%rbp), %rdi
callq 0xb550
movq %rax, -0x1c0(%rbp)
leaq -0x119(%rbp), %rdi
movq %rdi, -0x1b8(%rbp)
callq 0x473d0
movq -0x1c0(%rbp), %rsi
movq -0x1b8(%rbp), %rdx
leaq -0x118(%rbp), %rdi
callq 0x473f0
jmp 0x46e9f
leaq -0x119(%rbp), %rdi
callq 0x47430
movq $0x0, -0x128(%rbp)
movq -0x128(%rbp), %rax
movq %rax, -0x1d0(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0xb550
movq %rax, %rcx
movq -0x1d0(%rbp), %rax
cmpq %rcx, %rax
jge 0x4708e
movq -0x128(%rbp), %rsi
leaq -0xf0(%rbp), %rdi
callq 0xc3a0
movq -0x1a8(%rbp), %rsi
movq %rax, %rdi
addq $0xb8, %rsi
callq 0x11510
testb $0x1, %al
jne 0x46f46
movq -0x128(%rbp), %rsi
leaq -0xf0(%rbp), %rdi
callq 0xc3a0
movq -0x1a8(%rbp), %rsi
movq %rax, %rdi
addq $0xb8, %rsi
addq $0x40, %rsi
callq 0x11510
testb $0x1, %al
jne 0x46f46
jmp 0x47075
movq -0x1a8(%rbp), %rcx
movq -0x128(%rbp), %rax
movslq 0xc(%rcx), %rcx
subq %rcx, %rax
movq %rax, -0x130(%rbp)
movq -0x1a8(%rbp), %rdx
movq -0x130(%rbp), %rax
movq -0x128(%rbp), %rcx
movslq 0xc(%rdx), %rdx
addq %rdx, %rcx
cmpq %rcx, %rax
jg 0x47073
cmpq $0x0, -0x130(%rbp)
jl 0x4705a
movq -0x130(%rbp), %rax
movq %rax, -0x1d8(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x47450
movq %rax, %rcx
movq -0x1d8(%rbp), %rax
cmpq %rcx, %rax
jge 0x4705a
movq -0x130(%rbp), %rsi
leaq -0x118(%rbp), %rdi
callq 0x474d0
movq %rdx, -0x1e8(%rbp)
movq %rax, -0x1e0(%rbp)
jmp 0x46fe5
movq -0x1e8(%rbp), %rax
movq -0x1e0(%rbp), %rcx
movq %rcx, -0x140(%rbp)
movq %rax, -0x138(%rbp)
leaq -0x140(%rbp), %rdi
movl $0x1, %esi
callq 0x47530
jmp 0x4705a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0x119(%rbp), %rdi
callq 0x47430
jmp 0x47344
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x475b0
jmp 0x47344
jmp 0x4705c
movq -0x130(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x130(%rbp)
jmp 0x46f62
jmp 0x47075
jmp 0x47077
movq -0x128(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x128(%rbp)
jmp 0x46eb6
movq $0x0, -0x148(%rbp)
movq -0x148(%rbp), %rax
movq %rax, -0x1f0(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0xb550
movq %rax, %rcx
movq -0x1f0(%rbp), %rax
cmpq %rcx, %rax
jae 0x4732a
movq -0x1a8(%rbp), %rcx
xorl %eax, %eax
testb $0x1, 0xa(%rcx)
movb %al, -0x1f1(%rbp)
jne 0x471bb
movq -0x148(%rbp), %rsi
leaq -0x118(%rbp), %rdi
callq 0x474d0
movq %rdx, -0x208(%rbp)
movq %rax, -0x200(%rbp)
jmp 0x47102
movq -0x208(%rbp), %rax
movq -0x200(%rbp), %rcx
movq %rcx, -0x158(%rbp)
movq %rax, -0x150(%rbp)
leaq -0x158(%rbp), %rdi
callq 0x47580
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x209(%rbp)
jne 0x4713b
jmp 0x471af
movb $0x1, %al
cmpq $0x0, -0x148(%rbp)
movb %al, -0x20a(%rbp)
je 0x471a3
movq -0x148(%rbp), %rsi
decq %rsi
leaq -0x118(%rbp), %rdi
callq 0x474d0
movq %rdx, -0x220(%rbp)
movq %rax, -0x218(%rbp)
jmp 0x47173
movq -0x220(%rbp), %rax
movq -0x218(%rbp), %rcx
movq %rcx, -0x168(%rbp)
movq %rax, -0x160(%rbp)
leaq -0x168(%rbp), %rdi
callq 0x47580
xorb $-0x1, %al
movb %al, -0x20a(%rbp)
movb -0x20a(%rbp), %al
movb %al, -0x209(%rbp)
movb -0x209(%rbp), %al
movb %al, -0x1f1(%rbp)
movb -0x1f1(%rbp), %al
testb $0x1, %al
jne 0x471ca
jmp 0x4727e
movq -0x1a8(%rbp), %rsi
addq $0xd8, %rsi
movq 0x22dc9(%rip), %rdi     # 0x69fa8
callq 0x7560
movq %rax, -0x228(%rbp)
jmp 0x471ed
movq -0x228(%rbp), %rdi
leaq 0x2fdc(%rip), %rsi      # 0x4a1d7
callq 0x75d0
movq %rax, -0x230(%rbp)
jmp 0x47209
movq -0x230(%rbp), %rdi
movq -0x148(%rbp), %rsi
incq %rsi
callq 0x7110
movq %rax, -0x238(%rbp)
jmp 0x47228
movq -0x238(%rbp), %rdi
leaq 0x2fa1(%rip), %rsi      # 0x4a1d7
callq 0x75d0
movq %rax, -0x240(%rbp)
jmp 0x47244
movq -0x240(%rbp), %rdi
movq -0x1a8(%rbp), %rsi
addq $0xf8, %rsi
callq 0x7560
movq %rax, -0x248(%rbp)
jmp 0x47267
movq -0x248(%rbp), %rdi
leaq 0x2e18(%rip), %rsi      # 0x4a08d
callq 0x75d0
jmp 0x4727c
jmp 0x4727e
movq -0x148(%rbp), %rsi
leaq -0x118(%rbp), %rdi
callq 0x474d0
movq %rdx, -0x258(%rbp)
movq %rax, -0x250(%rbp)
jmp 0x472a1
movq -0x258(%rbp), %rax
movq -0x250(%rbp), %rcx
movq %rcx, -0x178(%rbp)
movq %rax, -0x170(%rbp)
leaq -0x178(%rbp), %rdi
callq 0x47580
testb $0x1, %al
jne 0x472cf
jmp 0x47311
movq -0x148(%rbp), %rsi
leaq -0xf0(%rbp), %rdi
callq 0xc3a0
movq %rax, %rsi
movq 0x22cbc(%rip), %rdi     # 0x69fa8
callq 0x7560
movq %rax, -0x260(%rbp)
jmp 0x472fa
movq -0x260(%rbp), %rdi
leaq 0x2d85(%rip), %rsi      # 0x4a08d
callq 0x75d0
jmp 0x4730f
jmp 0x47311
jmp 0x47313
movq -0x148(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x148(%rbp)
jmp 0x47099
leaq -0x118(%rbp), %rdi
callq 0x475b0
leaq -0xf0(%rbp), %rdi
callq 0xb3c0
jmp 0x47352
leaq -0xf0(%rbp), %rdi
callq 0xb3c0
jmp 0x4735b
addq $0x260, %rsp            # imm = 0x260
popq %rbp
retq
movq -0xb0(%rbp), %rdi
callq 0x7a30
nopw (%rax,%rax)