// File: /workspace/github_c_makefile_star2_O3/chatziko-k08[P]lecture-code/tests/../include/acutest.h
// Function: acutest_cmdline_callback_
static int
acutest_cmdline_callback_(int id, const char* arg)
{
    switch(id) {
        case 's':
            acutest_skip_mode_ = 1;
            break;

        case 'e':
            if(arg == NULL || strcmp(arg, "always") == 0) {
                acutest_no_exec_ = 0;
            } else if(strcmp(arg, "never") == 0) {
                acutest_no_exec_ = 1;
            } else if(strcmp(arg, "auto") == 0) {
                /*noop*/
            } else {
                fprintf(stderr, "%s: Unrecognized argument '%s' for option --exec.\n", acutest_argv0_, arg);
                fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
                acutest_exit_(2);
            }
            break;

        case 'E':
            acutest_no_exec_ = 1;
            break;

        case 't':
#if defined ACUTEST_WIN_  ||  defined ACUTEST_HAS_POSIX_TIMER_
            if(arg == NULL || strcmp(arg, "real") == 0) {
                acutest_timer_ = 1;
    #ifndef ACUTEST_WIN_
            } else if(strcmp(arg, "cpu") == 0) {
                acutest_timer_ = 2;
    #endif
            } else {
                fprintf(stderr, "%s: Unrecognized argument '%s' for option --time.\n", acutest_argv0_, arg);
                fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
                acutest_exit_(2);
            }
#endif
            break;

        case 'S':
            acutest_no_summary_ = 1;
            break;

        case 'T':
            acutest_tap_ = 1;
            break;

        case 'l':
            acutest_list_names_();
            acutest_exit_(0);
            break;

        case 'v':
            acutest_verbose_level_ = (arg != NULL ? atoi(arg) : acutest_verbose_level_+1);
            break;

        case 'q':
            acutest_verbose_level_ = 0;
            break;

        case 'c':
            if(arg == NULL || strcmp(arg, "always") == 0) {
                acutest_colorize_ = 1;
            } else if(strcmp(arg, "never") == 0) {
                acutest_colorize_ = 0;
            } else if(strcmp(arg, "auto") == 0) {
                /*noop*/
            } else {
                fprintf(stderr, "%s: Unrecognized argument '%s' for option --color.\n", acutest_argv0_, arg);
                fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
                acutest_exit_(2);
            }
            break;

        case 'C':
            acutest_colorize_ = 0;
            break;

        case 'h':
            acutest_help_();
            acutest_exit_(0);
            break;

        case 'w':
            acutest_worker_ = 1;
            acutest_worker_index_ = atoi(arg);
            break;
        case 'x':
            acutest_xml_output_ = fopen(arg, "w");
            if (!acutest_xml_output_) {
                fprintf(stderr, "Unable to open '%s': %s\n", arg, strerror(errno));
                acutest_exit_(2);
            }
            break;

        case 0:
            if(acutest_lookup_(arg) == 0) {
                fprintf(stderr, "%s: Unrecognized unit test '%s'\n", acutest_argv0_, arg);
                fprintf(stderr, "Try '%s --list' for list of unit tests.\n", acutest_argv0_);
                acutest_exit_(2);
            }
            break;

        case ACUTEST_CMDLINE_OPTID_UNKNOWN_:
            fprintf(stderr, "Unrecognized command line option '%s'.\n", arg);
            fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
            acutest_exit_(2);
            break;

        case ACUTEST_CMDLINE_OPTID_MISSINGARG_:
            fprintf(stderr, "The command line option '%s' requires an argument.\n", arg);
            fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
            acutest_exit_(2);
            break;

        case ACUTEST_CMDLINE_OPTID_BOGUSARG_:
            fprintf(stderr, "The command line option '%s' does not expect an argument.\n", arg);
            fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
            acutest_exit_(2);
            break;
    }

    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rsi, %r14
cmpl $0x52, %edi
jle 0x38e2
leal -0x63(%rdi), %eax
cmpl $0x15, %eax
ja 0x3931
leaq 0x278d(%rip), %rcx      # 0x6010
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
testq %r14, %r14
je 0x3c46
leaq 0x2e3e(%rip), %rsi      # 0x66da
movq %r14, %rdi
callq 0x2170
testl %eax, %eax
je 0x3c46
leaq 0x32e7(%rip), %rsi      # 0x6b9a
movq %r14, %rdi
callq 0x2170
testl %eax, %eax
je 0x394f
leaq 0x2e17(%rip), %rsi      # 0x66e1
movq %r14, %rdi
callq 0x2170
testl %eax, %eax
je 0x3c6c
movq %r14, %rdi
callq 0x2418
testl %edi, %edi
js 0x3905
je 0x395e
cmpl $0x43, %edi
je 0x394f
cmpl $0x45, %edi
jne 0x3c6c
movl $0x1, 0x686c(%rip)      # 0xa16c
jmp 0x3c6c
cmpl $0x80000001, %edi       # imm = 0x80000001
je 0x3c7d
cmpl $0x80000002, %edi       # imm = 0x80000002
je 0x3c85
cmpl $0x80000003, %edi       # imm = 0x80000003
jne 0x3c6c
movq %r14, %rdi
callq 0x22e5
cmpl $0x53, %edi
je 0x3c13
cmpl $0x54, %edi
jne 0x3c6c
movb $0x1, 0x6996(%rip)      # 0xa2e0
jmp 0x3c6c
movl $0x0, 0x6967(%rip)      # 0xa2c0
jmp 0x3c6c
cmpb $0x1, 0x6963(%rip)      # 0xa2c8
jne 0x3b04
xorl %ebx, %ebx
leaq 0x63ec(%rip), %rbp      # 0x9d60
movq (%rbx,%rbp), %rdi
movq %r14, %rsi
callq 0x2170
testl %eax, %eax
je 0x3c1c
addq $0x10, %rbx
cmpq $0x60, %rbx
jne 0x3974
movq 0x693f(%rip), %rax      # 0xa2d8
movq %rax, 0x8(%rsp)
xorl %ecx, %ecx
movq 0x6929(%rip), %rax      # 0xa2d0
movq %rax, 0x18(%rsp)
xorl %ebx, %ebx
movq %rcx, 0x10(%rsp)
shlq $0x4, %rcx
movq %rcx, 0x20(%rsp)
movq (%rcx,%rbp), %r15
movq %r14, %rdi
callq 0x20d0
movq %rax, %r12
movq %r15, %rdi
movq %r14, %rsi
callq 0x2280
testq %rax, %rax
je 0x3a56
movq %rax, %r13
movl %ebx, 0x4(%rsp)
movq %r14, %rbp
movb $0x1, %r14b
movb $0x1, %bl
cmpq %r15, %r13
je 0x3a0b
movsbl -0x1(%r13), %esi
movl $0xa, %edx
leaq 0x2681(%rip), %rdi      # 0x6081
callq 0x2130
testq %rax, %rax
setne %bl
movsbl (%r13,%r12), %esi
testl %esi, %esi
je 0x3a2d
movl $0xa, %edx
leaq 0x2660(%rip), %rdi      # 0x6081
callq 0x2130
testq %rax, %rax
setne %r14b
testb %r14b, %bl
jne 0x3a5d
incq %r13
movq %r13, %rdi
movq %rbp, %r14
movq %rbp, %rsi
callq 0x2280
movq %rax, %r13
testq %rax, %rax
jne 0x39e2
leaq 0x630e(%rip), %rbp      # 0x9d60
movl 0x4(%rsp), %ebx
movq 0x10(%rsp), %rcx
jmp 0x3a9e
movq 0x18(%rsp), %rcx
movq 0x20(%rsp), %rdx
movb (%rcx,%rdx), %al
testb $0x1, %al
movq %rbp, %r14
movl 0x4(%rsp), %ebx
jne 0x3a90
addq %rcx, %rdx
orb $0x1, %al
movb %al, (%rdx)
movq 0x8(%rsp), %rax
incq %rax
movq %rax, 0x8(%rsp)
movq %rax, 0x6848(%rip)      # 0xa2d8
leaq 0x62c9(%rip), %rbp      # 0x9d60
movq 0x10(%rsp), %rcx
incl %ebx
incq %rcx
cmpq $0x6, %rcx
jne 0x39ae
testl %ebx, %ebx
jg 0x3c6c
movl %ebx, %r15d
xorl %ebx, %ebx
movq (%rbx,%rbp), %rdi
movq %r14, %rsi
callq 0x2280
testq %rax, %rax
je 0x3af1
movq 0x18(%rsp), %rcx
movb (%rcx,%rbx), %al
testb $0x1, %al
jne 0x3aee
orb $0x1, %al
movb %al, (%rcx,%rbx)
movq 0x8(%rsp), %rax
incq %rax
movq %rax, 0x8(%rsp)
movq %rax, 0x67ea(%rip)      # 0xa2d8
incl %r15d
addq $0x10, %rbx
cmpq $0x60, %rbx
jne 0x3ab8
testl %r15d, %r15d
jne 0x3c6c
movq %r14, %rdi
callq 0x2399
testq %r14, %r14
je 0x3c5e
movq %r14, %rdi
callq 0x2220
jmp 0x3c66
testq %r14, %r14
je 0x3c3a
leaq 0x2ba8(%rip), %rsi      # 0x66da
movq %r14, %rdi
callq 0x2170
testl %eax, %eax
je 0x3c3a
leaq 0x3051(%rip), %rsi      # 0x6b9a
movq %r14, %rdi
callq 0x2170
testl %eax, %eax
je 0x38f6
leaq 0x2b81(%rip), %rsi      # 0x66e1
movq %r14, %rdi
callq 0x2170
testl %eax, %eax
je 0x3c6c
movq %r14, %rdi
callq 0x249e
movb $0x1, 0x6771(%rip)      # 0xa2f0
jmp 0x3c6c
movl $0x0, 0x65da(%rip)      # 0xa168
jmp 0x3c6c
movb $0x1, 0x674e(%rip)      # 0xa2e8
movq %r14, %rdi
callq 0x2220
movl %eax, 0x6744(%rip)      # 0xa2ec
jmp 0x3c6c
testq %r14, %r14
je 0x3c52
leaq 0x2b83(%rip), %rsi      # 0x6740
movq %r14, %rdi
callq 0x2170
testl %eax, %eax
je 0x3c52
leaq 0x2b71(%rip), %rsi      # 0x6745
movq %r14, %rdi
callq 0x2170
testl %eax, %eax
jne 0x3ca0
movl $0x2, 0x671e(%rip)      # 0xa30c
jmp 0x3c6c
leaq 0x2bb9(%rip), %rsi      # 0x67b0
movq %r14, %rdi
callq 0x2210
movq %rax, 0x66fa(%rip)      # 0xa300
testq %rax, %rax
jne 0x3c6c
movq %r14, %rdi
callq 0x23dc
movb $0x1, 0x66ca(%rip)      # 0xa2e4
jmp 0x3c6c
movq 0x66ad(%rip), %rax      # 0xa2d0
movb (%rax,%rbx), %cl
testb $0x1, %cl
jne 0x3c6c
orb $0x1, %cl
movb %cl, (%rax,%rbx)
incq 0x66a0(%rip)            # 0xa2d8
jmp 0x3c6c
movl $0x0, 0x6528(%rip)      # 0xa16c
jmp 0x3c6c
movl $0x1, 0x6670(%rip)      # 0xa2c0
jmp 0x3c6c
movl $0x1, 0x66b0(%rip)      # 0xa30c
jmp 0x3c6c
movl 0x6504(%rip), %eax      # 0xa168
incl %eax
movl %eax, 0x64fc(%rip)      # 0xa168
xorl %eax, %eax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %r14, %rdi
callq 0x235d
movq %r14, %rdi
callq 0x2321
callq 0x4879
jmp 0x3c99
callq 0x48b7
xorl %edi, %edi
callq 0x384b
movq %r14, %rdi
callq 0x245b