// File: /workspace/github_cpp_makefile_star2_O1/meirdev[P]HexViewer/./CLI11.hpp
// Function: CLI::Option::run_callback()
void run_callback() {

        callback_run_ = true;

        // Run the validators (can change the string)
        if(!validators_.empty()) {
            for(std::string &result : results_)
                for(const std::function<std::string(std::string &)> &vali : validators_) {
                    std::string err_msg = vali(result);
                    if(!err_msg.empty())
                        throw ValidationError(get_name(), err_msg);
                }
        }

        bool local_result;

        // Num items expected or length of vector, always at least 1
        // Only valid for a trimming policy
        int trim_size =
            std::min<int>(std::max<int>(std::abs(get_items_expected()), 1), static_cast<int>(results_.size()));

        // Operation depends on the policy setting
        if(multi_option_policy_ == MultiOptionPolicy::TakeLast) {
            // Allow multi-option sizes (including 0)
            results_t partial_result{results_.end() - trim_size, results_.end()};
            local_result = !callback_(partial_result);

        } else if(multi_option_policy_ == MultiOptionPolicy::TakeFirst) {
            results_t partial_result{results_.begin(), results_.begin() + trim_size};
            local_result = !callback_(partial_result);

        } else if(multi_option_policy_ == MultiOptionPolicy::Join) {
            results_t partial_result = {detail::join(results_, "\n")};
            local_result = !callback_(partial_result);

        } else {
            // Exact number required
            if(get_items_expected() > 0) {
                if(results_.size() != static_cast<size_t>(get_items_expected()))
                    throw ArgumentMismatch(get_name(), get_items_expected(), results_.size());
                // Variable length list
            } else if(get_items_expected() < 0) {
                // Require that this be a multiple of expected size and at least as many as expected
                if(results_.size() < static_cast<size_t>(-get_items_expected()) ||
                   results_.size() % static_cast<size_t>(std::abs(get_type_size())) != 0)
                    throw ArgumentMismatch(get_name(), get_items_expected(), results_.size());
            }
            local_result = !callback_(results_);
        }

        if(local_result)
            throw ConversionError(get_name(), results_);
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x188, %rsp            # imm = 0x188
movq %rdi, %rbx
movb $0x1, 0x1c0(%rdi)
movq 0x108(%rdi), %rax
cmpq 0x110(%rdi), %rax
je 0x174f2
movq 0x1a8(%rbx), %r14
movq 0x1b0(%rbx), %rax
movq %rax, 0x30(%rsp)
cmpq %rax, %r14
je 0x174f2
leaq 0x20(%rsp), %r13
leaq 0x10(%rsp), %r15
movq 0x108(%rbx), %r12
movq %rbx, %rbp
movq 0x110(%rbx), %rbx
cmpq %rbx, %r12
je 0x174e4
cmpq $0x0, 0x10(%r12)
je 0x178c3
movq %r15, %rdi
movq %r12, %rsi
movq %r14, %rdx
callq *0x18(%r12)
cmpq $0x0, 0x18(%rsp)
jne 0x178c8
movq 0x10(%rsp), %rdi
cmpq %r13, %rdi
je 0x174de
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x52c0
addq $0x20, %r12
jmp 0x1749c
addq $0x20, %r14
cmpq 0x30(%rsp), %r14
movq %rbp, %rbx
jne 0x1748b
movl 0x24(%rbx), %r9d
movl 0xfc(%rbx), %ecx
movl 0x100(%rbx), %r8d
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testl %r9d, %r9d
jne 0x1751f
movl $0x1, %eax
testl %r8d, %r8d
jns 0x1751f
movl %ecx, %eax
sarl $0x1f, %eax
orl $0x1, %eax
movl %r8d, %r10d
imull %ecx, %r10d
movl %r10d, %edi
negl %edi
cmovsl %r10d, %edi
imull %r10d, %eax
movl %eax, %r11d
negl %r11d
cmovsl %eax, %r11d
leaq 0x1a8(%rbx), %r14
movq 0x1a8(%rbx), %rsi
movq 0x1b0(%rbx), %rdx
movq %rdx, %rax
subq %rsi, %rax
sarq $0x5, %rax
testl %r10d, %r10d
movl $0x1, %r10d
cmovnel %r11d, %r10d
cmpl %eax, %r10d
cmovgel %eax, %r10d
cmpl $0x3, %r9d
je 0x1764e
cmpl $0x2, %r9d
je 0x175e7
cmpl $0x1, %r9d
jne 0x1771a
movslq %r10d, %rax
shlq $0x5, %rax
movq %rdx, %rsi
subq %rax, %rsi
leaq 0x10(%rsp), %rdi
leaq 0x38(%rsp), %rcx
callq 0x17fc8
leaq 0xb8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0xc46c
cmpq $0x0, 0x198(%rbx)
je 0x179b5
leaq 0x188(%rbx), %rdi
leaq 0xb8(%rsp), %rsi
callq *0x1a0(%rbx)
movl %eax, %ebp
leaq 0xb8(%rsp), %rdi
jmp 0x1763f
movslq %r10d, %rdx
shlq $0x5, %rdx
addq %rsi, %rdx
leaq 0x10(%rsp), %rdi
leaq 0x38(%rsp), %rcx
callq 0x17fc8
leaq 0xa0(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0xc46c
cmpq $0x0, 0x198(%rbx)
je 0x179ba
leaq 0x188(%rbx), %rdi
leaq 0xa0(%rsp), %rsi
callq *0x1a0(%rbx)
movl %eax, %ebp
leaq 0xa0(%rsp), %rdi
callq 0x7172
leaq 0x10(%rsp), %rdi
jmp 0x178a3
leaq 0x60(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xc0ff(%rip), %rsi      # 0x2375d
leaq 0xc0f9(%rip), %rdx      # 0x2375e
leaq 0x50(%rsp), %rdi
callq 0xc794
leaq 0x10(%rsp), %rdi
leaq 0x50(%rsp), %rdx
movq %r14, %rsi
callq 0xdd86
leaq 0x38(%rsp), %rdi
leaq 0x10(%rsp), %rsi
leaq 0xf(%rsp), %rcx
movl $0x1, %edx
callq 0x1800a
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x176b5
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x52c0
movq 0x50(%rsp), %rdi
cmpq %r15, %rdi
je 0x176cc
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x52c0
leaq 0x88(%rsp), %rdi
leaq 0x38(%rsp), %rsi
callq 0xc46c
cmpq $0x0, 0x198(%rbx)
je 0x179bf
leaq 0x188(%rbx), %rdi
leaq 0x88(%rsp), %rsi
callq *0x1a0(%rbx)
movl %eax, %ebp
leaq 0x88(%rsp), %rdi
callq 0x7172
leaq 0x38(%rsp), %rdi
jmp 0x178a3
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
testl %r9d, %r9d
jne 0x17736
movl $0x1, %edx
testl %r8d, %r8d
jns 0x17736
movl %ecx, %edx
sarl $0x1f, %edx
orl $0x1, %edx
imull %edi, %edx
testl %edx, %edx
jle 0x1780a
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
testl %r9d, %r9d
jne 0x1775d
movl $0x1, %edx
testl %r8d, %r8d
jns 0x1775d
sarl $0x1f, %ecx
orl $0x1, %ecx
movl %ecx, %edx
imull %edi, %edx
movslq %edx, %rcx
cmpq %rcx, %rax
je 0x1786f
movl $0x38, %edi
callq 0x5170
movq %rax, %r14
leaq 0x148(%rsp), %rdi
movq %rbx, %r15
movq %rbx, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0xd6b2
movl 0xfc(%r15), %edx
movl 0x100(%r15), %eax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
cmpl $0x0, 0x24(%r15)
jne 0x177bb
movl $0x1, %ecx
testl %eax, %eax
jns 0x177bb
movl %edx, %ecx
sarl $0x1f, %ecx
orl $0x1, %ecx
imull %edx, %eax
movl %eax, %edx
negl %edx
cmovsl %eax, %edx
imull %ecx, %edx
movq 0x1b0(%r15), %rcx
subq 0x1a8(%r15), %rcx
sarq $0x5, %rcx
movb $0x1, %bpl
leaq 0x148(%rsp), %rsi
movq %r14, %rdi
callq 0x18052
xorl %ebp, %ebp
leaq 0x17fca(%rip), %rsi     # 0x2f7c0
leaq 0x44bd(%rip), %rdx      # 0x1bcba
movq %r14, %rdi
callq 0x54d0
jmp 0x17a5d
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
testl %r9d, %r9d
jne 0x17826
movl $0x1, %edx
testl %r8d, %r8d
jns 0x17826
movl %ecx, %edx
sarl $0x1f, %edx
orl $0x1, %edx
imull %edi, %edx
testl %edx, %edx
jns 0x1786f
movl $0x1, %edx
testl %r9d, %r9d
jne 0x1784b
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
testl %r8d, %r8d
jns 0x1784b
movl %ecx, %edx
notl %edx
sarl $0x1f, %edx
orl $0x1, %edx
imull %edi, %edx
movslq %edx, %rdx
cmpq %rdx, %rax
jb 0x179c4
movl %ecx, %esi
negl %esi
cmovsl %ecx, %esi
xorl %edx, %edx
divq %rsi
testq %rdx, %rdx
jne 0x179c4
leaq 0x70(%rsp), %rdi
movq %r14, %rsi
callq 0xc46c
cmpq $0x0, 0x198(%rbx)
je 0x179b0
leaq 0x188(%rbx), %rdi
leaq 0x70(%rsp), %rsi
callq *0x1a0(%rbx)
movl %eax, %ebp
leaq 0x70(%rsp), %rdi
callq 0x7172
testb %bpl, %bpl
je 0x17947
addq $0x188, %rsp            # imm = 0x188
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x5120
movl $0x38, %edi
callq 0x5170
movq %rax, %r14
leaq 0x168(%rsp), %rdi
movq %rbp, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0xd6b2
leaq 0xe0(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
addq %rsi, %rdx
leaq 0xd0(%rsp), %rdi
callq 0x1eb20
movb $0x1, %bpl
leaq 0x168(%rsp), %rsi
leaq 0xd0(%rsp), %rdx
movq %r14, %rdi
callq 0x17ea6
xorl %ebp, %ebp
leaq 0x17ee5(%rip), %rsi     # 0x2f818
leaq 0x4380(%rip), %rdx      # 0x1bcba
movq %r14, %rdi
callq 0x54d0
jmp 0x17a5d
movl $0x38, %edi
callq 0x5170
movq %rax, %r15
leaq 0x108(%rsp), %rdi
movq %rbx, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0xd6b2
leaq 0xf0(%rsp), %rdi
movq %r14, %rsi
callq 0xc46c
movb $0x1, %bpl
leaq 0x108(%rsp), %rsi
leaq 0xf0(%rsp), %rdx
movq %r15, %rdi
callq 0x18ab0
xorl %ebp, %ebp
leaq 0x17e94(%rip), %rsi     # 0x2f830
leaq 0x4317(%rip), %rdx      # 0x1bcba
movq %r15, %rdi
callq 0x54d0
jmp 0x17a5d
callq 0x5120
callq 0x5120
callq 0x5120
callq 0x5120
movl $0x38, %edi
callq 0x5170
movq %rax, %r14
leaq 0x128(%rsp), %rdi
movq %rbx, %r15
movq %rbx, %rsi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0xd6b2
movl 0xfc(%r15), %edx
movl 0x100(%r15), %eax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
cmpl $0x0, 0x24(%r15)
jne 0x17a13
movl $0x1, %ecx
testl %eax, %eax
jns 0x17a13
movl %edx, %ecx
sarl $0x1f, %ecx
orl $0x1, %ecx
imull %edx, %eax
movl %eax, %edx
negl %edx
cmovsl %eax, %edx
imull %ecx, %edx
movq 0x1b0(%r15), %rcx
subq 0x1a8(%r15), %rcx
sarq $0x5, %rcx
movb $0x1, %bpl
leaq 0x128(%rsp), %rsi
movq %r14, %rdi
callq 0x18052
xorl %ebp, %ebp
leaq 0x17d72(%rip), %rsi     # 0x2f7c0
leaq 0x4265(%rip), %rdx      # 0x1bcba
movq %r14, %rdi
callq 0x54d0
movq %rax, %rbx
leaq 0x138(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x17aa9
movq 0x138(%rsp), %rsi
jmp 0x17a99
jmp 0x17aa3
movq %rax, %rbx
leaq 0x158(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x17aa9
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x52c0
jmp 0x17aa9
movq %rax, %rbx
movb $0x1, %bpl
testb %bpl, %bpl
je 0x17c27
movq %r14, %rdi
jmp 0x17b75
movq %rax, %rbx
leaq 0xf0(%rsp), %rdi
callq 0x7172
jmp 0x17ad2
movq %rax, %rbx
movb $0x1, %bpl
leaq 0x118(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x17b69
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x52c0
jmp 0x17b69
movq %rax, %rbx
jmp 0x17b5c
movq %rax, %rbx
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x17b21
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x52c0
jmp 0x17b21
movq %rax, %rbx
movq 0x50(%rsp), %rdi
cmpq %r15, %rdi
je 0x17c27
movq 0x60(%rsp), %rsi
jmp 0x17c1f
jmp 0x17b3b
movq %rax, %rbx
jmp 0x17b9c
jmp 0x17b44
jmp 0x17b44
movq %rax, %rbx
jmp 0x17c27
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0x7172
leaq 0x38(%rsp), %rdi
jmp 0x17bab
movq %rax, %rbx
movb $0x1, %bpl
testb %bpl, %bpl
je 0x17c27
movq %r15, %rdi
callq 0x5230
jmp 0x17c27
movq %rax, %rbx
leaq 0xa0(%rsp), %rdi
jmp 0x17b97
movq %rax, %rbx
leaq 0xb8(%rsp), %rdi
callq 0x7172
leaq 0x10(%rsp), %rdi
jmp 0x17bab
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0x7172
jmp 0x17c27
movq %rax, %rbx
movq 0xd0(%rsp), %rdi
cmpq %r15, %rdi
je 0x17bda
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x52c0
jmp 0x17bda
movq %rax, %rbx
movb $0x1, %bpl
leaq 0x178(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x17c03
movq 0x178(%rsp), %rsi
incq %rsi
callq 0x52c0
jmp 0x17c03
movq %rax, %rbx
movb $0x1, %bpl
testb %bpl, %bpl
je 0x17c10
movq %r14, %rdi
callq 0x5230
movq 0x10(%rsp), %rdi
cmpq %r13, %rdi
je 0x17c27
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x52c0
movq %rbx, %rdi
callq 0x5510
nop