// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: worksheet_write_x14_data_bar
STATIC void
_worksheet_write_x14_data_bar(lxw_worksheet *self,
                              lxw_cond_format_obj *cond_format)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;
    char min_length[] = "0";
    char max_length[] = "100";
    char border[] = "1";

    LXW_INIT_ATTRIBUTES();
    LXW_PUSH_ATTRIBUTES_STR("minLength", min_length);
    LXW_PUSH_ATTRIBUTES_STR("maxLength", max_length);

    if (!cond_format->bar_no_border)
        LXW_PUSH_ATTRIBUTES_STR("border", border);

    if (cond_format->bar_solid)
        LXW_PUSH_ATTRIBUTES_STR("gradient", "0");

    if (cond_format->bar_direction ==
        LXW_CONDITIONAL_BAR_DIRECTION_RIGHT_TO_LEFT)
        LXW_PUSH_ATTRIBUTES_STR("direction", "rightToLeft");

    if (cond_format->bar_direction ==
        LXW_CONDITIONAL_BAR_DIRECTION_LEFT_TO_RIGHT)
        LXW_PUSH_ATTRIBUTES_STR("direction", "leftToRight");

    if (cond_format->bar_negative_color_same)
        LXW_PUSH_ATTRIBUTES_STR("negativeBarColorSameAsPositive", "1");

    if (!cond_format->bar_no_border
        && !cond_format->bar_negative_border_color_same)
        LXW_PUSH_ATTRIBUTES_STR("negativeBarBorderColorSameAsPositive", "0");

    if (cond_format->bar_axis_position == LXW_CONDITIONAL_BAR_AXIS_MIDPOINT)
        LXW_PUSH_ATTRIBUTES_STR("axisPosition", "middle");

    if (cond_format->bar_axis_position == LXW_CONDITIONAL_BAR_AXIS_NONE)
        LXW_PUSH_ATTRIBUTES_STR("axisPosition", "none");

    lxw_xml_start_tag(self->file, "x14:dataBar", &attributes);

    if (cond_format->auto_min)
        cond_format->min_rule_type = LXW_CONDITIONAL_RULE_TYPE_AUTO_MIN;

    _worksheet_write_x14_cfvo(self, cond_format->min_rule_type,
                              cond_format->min_value,
                              cond_format->min_value_string);

    if (cond_format->auto_max)
        cond_format->max_rule_type = LXW_CONDITIONAL_RULE_TYPE_AUTO_MAX;

    _worksheet_write_x14_cfvo(self, cond_format->max_rule_type,
                              cond_format->max_value,
                              cond_format->max_value_string);

    if (!cond_format->bar_no_border)
        _worksheet_write_x14_color(self, "x14:borderColor",
                                   cond_format->bar_border_color);

    if (!cond_format->bar_negative_color_same)
        _worksheet_write_x14_color(self, "x14:negativeFillColor",
                                   cond_format->bar_negative_color);

    if (!cond_format->bar_no_border
        && !cond_format->bar_negative_border_color_same)
        _worksheet_write_x14_color(self, "x14:negativeBorderColor",
                                   cond_format->bar_negative_border_color);

    if (cond_format->bar_axis_position != LXW_CONDITIONAL_BAR_AXIS_NONE)
        _worksheet_write_x14_color(self, "x14:axisColor",
                                   cond_format->bar_axis_color);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movw 0x84e7(%rip), %ax       # 0x6b4ce
movw %ax, -0x2a(%rbp)
movl 0x43e4(%rip), %eax      # 0x673d5
movl %eax, -0x2e(%rbp)
movw 0x8475(%rip), %ax       # 0x6b470
movw %ax, -0x30(%rbp)
movq $0x0, -0x20(%rbp)
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x63011
leaq -0x2a(%rbp), %rsi
leaq 0xbf1c(%rip), %rdi      # 0x6ef38
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x6304f
jmp 0x63051
leaq -0x2e(%rbp), %rsi
leaq 0xbee6(%rip), %rdi      # 0x6ef42
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x6308f
movq -0x10(%rbp), %rax
cmpb $0x0, 0x57(%rax)
jne 0x630db
jmp 0x6309b
leaq -0x30(%rbp), %rsi
leaq 0x64b8(%rip), %rdi      # 0x6955e
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x630d9
jmp 0x630db
movq -0x10(%rbp), %rax
cmpb $0x0, 0x54(%rax)
je 0x6312a
jmp 0x630e7
leaq 0xbe5e(%rip), %rdi      # 0x6ef4c
leaq 0x83d9(%rip), %rsi      # 0x6b4ce
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x63128
jmp 0x6312a
movq -0x10(%rbp), %rax
movzbl 0x58(%rax), %eax
cmpl $0x1, %eax
jne 0x6317c
jmp 0x63139
leaq 0x38ba(%rip), %rdi      # 0x669fa
leaq 0xb1d3(%rip), %rsi      # 0x6e31a
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x6317a
jmp 0x6317c
movq -0x10(%rbp), %rax
movzbl 0x58(%rax), %eax
cmpl $0x2, %eax
jne 0x631ce
jmp 0x6318b
leaq 0x3868(%rip), %rdi      # 0x669fa
leaq 0xbdbc(%rip), %rsi      # 0x6ef55
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x631cc
jmp 0x631ce
movq -0x10(%rbp), %rax
cmpb $0x0, 0x55(%rax)
je 0x6321d
jmp 0x631da
leaq 0xbd80(%rip), %rdi      # 0x6ef61
leaq 0x8288(%rip), %rsi      # 0x6b470
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x6321b
jmp 0x6321d
movq -0x10(%rbp), %rax
cmpb $0x0, 0x57(%rax)
jne 0x63276
movq -0x10(%rbp), %rax
cmpb $0x0, 0x56(%rax)
jne 0x63276
jmp 0x63233
leaq 0xbd46(%rip), %rdi      # 0x6ef80
leaq 0x828d(%rip), %rsi      # 0x6b4ce
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x63274
jmp 0x63276
movq -0x10(%rbp), %rax
movzbl 0x59(%rax), %eax
cmpl $0x1, %eax
jne 0x632c8
jmp 0x63285
leaq 0xbd19(%rip), %rdi      # 0x6efa5
leaq 0xbd1f(%rip), %rsi      # 0x6efb2
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x632c6
jmp 0x632c8
movq -0x10(%rbp), %rax
movzbl 0x59(%rax), %eax
cmpl $0x2, %eax
jne 0x6331a
jmp 0x632d7
leaq 0xbcc7(%rip), %rdi      # 0x6efa5
leaq 0x3cf1(%rip), %rsi      # 0x66fd6
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x63318
jmp 0x6331a
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0xbbf9(%rip), %rsi      # 0x6ef21
leaq -0x20(%rbp), %rdx
callq 0xc390
movq -0x10(%rbp), %rax
cmpb $0x0, 0x51(%rax)
je 0x63343
movq -0x10(%rbp), %rax
movb $0x7, 0x18(%rax)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movb 0x18(%rax), %al
movq -0x10(%rbp), %rcx
movsd 0x8(%rcx), %xmm0
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rdx
movzbl %al, %esi
callq 0x63480
movq -0x10(%rbp), %rax
cmpb $0x0, 0x52(%rax)
je 0x63379
movq -0x10(%rbp), %rax
movb $0x8, 0x49(%rax)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movb 0x49(%rax), %al
movq -0x10(%rbp), %rcx
movsd 0x38(%rcx), %xmm0
movq -0x10(%rbp), %rcx
movq 0x40(%rcx), %rdx
movzbl %al, %esi
callq 0x63480
movq -0x10(%rbp), %rax
cmpb $0x0, 0x57(%rax)
jne 0x633be
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x64(%rax), %edx
leaq 0xbc00(%rip), %rsi      # 0x6efb9
callq 0x63860
movq -0x10(%rbp), %rax
cmpb $0x0, 0x55(%rax)
jne 0x633df
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x60(%rax), %edx
leaq 0xbbef(%rip), %rsi      # 0x6efc9
callq 0x63860
movq -0x10(%rbp), %rax
cmpb $0x0, 0x57(%rax)
jne 0x6340a
movq -0x10(%rbp), %rax
cmpb $0x0, 0x56(%rax)
jne 0x6340a
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x68(%rax), %edx
leaq 0xbbda(%rip), %rsi      # 0x6efdf
callq 0x63860
movq -0x10(%rbp), %rax
movzbl 0x59(%rax), %eax
cmpl $0x2, %eax
je 0x6342e
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x6c(%rax), %edx
leaq 0xbbce(%rip), %rsi      # 0x6eff7
callq 0x63860
jmp 0x63430
jmp 0x63432
cmpq $0x0, -0x20(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x63442
jmp 0x63474
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x63467
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x63469
movq -0x28(%rbp), %rdi
callq 0xc0d0
jmp 0x63432
jmp 0x63476
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)