// File: /workspace/github_cpp_makefile_star2_O3/myint[P]optparse/./optparse.h
// Function: optparse::OptionParser::add_option(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> const&)
Option &add_option(const std::vector<std::string> &opt)
        {
            _opts.resize(_opts.size() + 1);
            Option &option = _opts.back();
            std::string dest_fallback;
            for (std::vector<std::string>::const_iterator it = opt.begin(); it != opt.end(); ++it)
            {
                if (it->substr(0, 2) == "--")
                {
                    const std::string s = it->substr(2);
                    if (option.dest().empty())
                        option.dest(detail::str_replace(s, "-", "_"));
                    option._long_opts.insert(s);
                    _optmap_l[s] = &option;
                }
                else
                {
                    const std::string s = it->substr(1, 1);
                    if (dest_fallback.empty())
                        dest_fallback = s;
                    option._short_opts.insert(s);
                    _optmap_s[s] = &option;
                }
            }
            if (option.dest().empty())
            {
                option.dest(dest_fallback);
            }
            return option;
        }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x238, %rsp            # imm = 0x238
movq %rsi, %r14
movq %rdi, %r13
leaq 0x148(%rdi), %rbx
movq 0x158(%rdi), %r15
incq %r15
leaq 0xc8(%rsp), %r12
movq %r12, %rdi
callq 0x9666
movq %rbx, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x960a
leaq 0xc8(%rsp), %rdi
callq 0x7ea6
movq %r13, %rcx
movq 0x150(%r13), %rax
movq %rax, (%rsp)
leaq 0x10(%rax), %rbx
leaq 0x78(%rsp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq (%r14), %r13
cmpq 0x8(%r14), %r13
je 0x94cf
leaq 0x160(%rcx), %rax
movq %rax, 0x40(%rsp)
movq (%rsp), %rax
leaq 0xb0(%rax), %rdx
movq %rdx, 0x28(%rsp)
addq $0x40, %rax
movq %rax, 0x38(%rsp)
addq $0x190, %rcx            # imm = 0x190
movq %rcx, 0x30(%rsp)
leaq 0x8(%rsp), %r15
movl $0x2, %ecx
movq %r15, %rdi
movq %r13, %rsi
xorl %edx, %edx
callq 0x3280
movq %r15, %rdi
leaq 0x67f6(%rip), %rsi      # 0xfb2e
callq 0x30b0
movl %eax, %r12d
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x9354
callq 0x3220
testl %r12d, %r12d
je 0x93a0
movl $0x1, %edx
movl $0x1, %ecx
movq %r15, %rdi
movq %r13, %rsi
callq 0x3280
cmpq $0x0, 0x70(%rsp)
jne 0x9383
leaq 0x68(%rsp), %rdi
movq %r15, %rsi
callq 0x3140
movq %rbx, %rdi
movq %r15, %rsi
callq 0x9a2e
movq 0x40(%rsp), %rdi
movq %r15, %rsi
callq 0x97f2
jmp 0x94aa
movl $0x2, %edx
movq %r15, %rdi
movq %r13, %rsi
movq $-0x1, %rcx
callq 0x3280
movq (%rsp), %rax
cmpq $0x0, 0xb8(%rax)
jne 0x9490
leaq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x48(%rsp), %rdi
leaq 0x67f0(%rip), %rsi      # 0xfbcf
leaq 0x67ea(%rip), %rdx      # 0xfbd0
callq 0x83e0
leaq 0x98(%rsp), %rax
movq %rax, 0x88(%rsp)
leaq 0x88(%rsp), %r12
movq %r12, %rdi
leaq 0x659c(%rip), %rsi      # 0xf9a9
leaq 0x6596(%rip), %rdx      # 0xf9aa
callq 0x83e0
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0xa8(%rsp), %rbp
movq %rbp, %rdi
leaq 0x48(%rsp), %rcx
movq %r12, %r8
callq 0x5d5b
movq 0x28(%rsp), %rdi
movq %rbp, %rsi
callq 0x3140
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x9462
callq 0x3220
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x947c
callq 0x3220
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x9490
callq 0x3220
movq 0x38(%rsp), %rdi
movq %r15, %rsi
callq 0x9a2e
movq 0x30(%rsp), %rdi
movq %r15, %rsi
callq 0x97f2
movq %rbx, (%rax)
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x94c1
callq 0x3220
addq $0x20, %r13
cmpq 0x8(%r14), %r13
jne 0x931c
movq (%rsp), %rdi
cmpq $0x0, 0xb8(%rdi)
jne 0x94ee
addq $0xb0, %rdi
leaq 0x68(%rsp), %rsi
callq 0x3140
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x9502
callq 0x3220
movq %rbx, %rax
addq $0x238, %rsp            # imm = 0x238
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x9595
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0x7ea6
jmp 0x95c7
movq %rax, %rdi
callq 0x6bfc
movq %rax, %rbx
movq 0xa8(%rsp), %rdi
leaq 0xb8(%rsp), %rax
cmpq %rax, %rdi
je 0x9558
callq 0x3220
jmp 0x9558
movq %rax, %rbx
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x9577
callq 0x3220
jmp 0x9577
movq %rax, %rbx
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x959f
callq 0x3220
jmp 0x959f
jmp 0x959c
jmp 0x9595
jmp 0x9595
jmp 0x959c
movq %rax, %rbx
jmp 0x95b3
jmp 0x959c
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x95b3
callq 0x3220
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x95c7
callq 0x3220
movq %rbx, %rdi
callq 0x3480
nop