// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/annotationsketch/gt_sketch_page.c
// Function: gt_sketch_page_option_parser_new
static GtOptionParser* gt_sketch_page_option_parser_new(void *tool_arguments)
{
  SketchPageArguments *arguments = tool_arguments;
  GtOptionParser *op;
  static const char *formats[] = {
#ifdef CAIRO_HAS_PDF_SURFACE
    "pdf",
#endif
#ifdef CAIRO_HAS_PS_SURFACE
    "ps",
#endif
    NULL
  };
  GtOption *o;
  op = gt_option_parser_new("outfile annotationfile",
                            "Draw a multi-page PDF/PS representation of "
                            "an annotation file.");
  o = gt_option_new_string("seqid", "sequence region to draw\n"
                                    "default: first in file",
                           arguments->seqid, NULL);
  gt_option_parser_add_option(op, o);
  gt_option_hide_default(o);

  o = gt_option_new_string("text", "text to show in header\n"
                                  "default: file name",
                           arguments->text, NULL);
  gt_option_parser_add_option(op, o);
  gt_option_hide_default(o);

  o = gt_option_new_double("fontsize", "header and footer font size "
                                       "(in points)",
                           &arguments->theight, 10.0);
  gt_option_parser_add_option(op, o);

  o = gt_option_new_range("range", "range to draw (e.g. 100 10000)\n"
                                   "default: full range",
                          &arguments->range, NULL);
  gt_option_parser_add_option(op, o);
  gt_option_hide_default(o);

  o = gt_option_new_uword_min("linewidth", "base width of a single "
                                           "repeated unit",
                              &arguments->width, 2000, 1000);
  gt_option_is_mandatory(o);
  gt_option_parser_add_option(op, o);

  o = gt_option_new_double("width", "page width in millimeters "
                                    "(default: DIN A4)",
                           &arguments->pwidth, 210.0);
  gt_option_parser_add_option(op, o);

  o = gt_option_new_double("height", "page height in millimeters "
                                     "(default: DIN A4)",
                           &arguments->pheight, 297.0);
  gt_option_parser_add_option(op, o);

  o = gt_option_new_choice("format", "output format\n"
                                     "choose from: "
#ifdef CAIRO_HAS_PDF_SURFACE
                                       "pdf"
#ifdef CAIRO_HAS_PS_SURFACE
                                       "|"
#endif
#endif
#ifdef CAIRO_HAS_PS_SURFACE
                                       "ps"
#endif
                                       "",
                            arguments->format, formats[0], formats );
  gt_option_parser_add_option(op, o);

  o = gt_option_new_string("style", "style file to use\n"
                                    "default: gtdata/sketch/default.style",
                                arguments->stylefile,
                                gt_str_get(arguments->stylefile));
  gt_option_parser_add_option(op, o);
  gt_option_hide_default(o);

  o = gt_option_new_filename("seqfile", "sequence file for GC content view",
                                arguments->seqfile);
  gt_option_parser_add_option(op, o);
  gt_option_is_extended_option(o);

  gt_option_parser_set_min_max_args(op, 2, 2);
  return op;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x18(%rsp)
leaq 0x270fd4(%rip), %rdi    # 0x59875e
leaq 0x270fe4(%rip), %rsi    # 0x598775
callq 0xf1420
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq 0x30(%rax), %rdx
leaq 0x209459(%rip), %rdi    # 0x530c04
leaq 0x271002(%rip), %rsi    # 0x5987b4
xorl %eax, %eax
movl %eax, %ecx
callq 0xf69f0
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x8(%rsp), %rdi
callq 0xf7400
movq 0x18(%rsp), %rax
movq 0x48(%rax), %rdx
leaq 0x2728bb(%rip), %rdi    # 0x59a0a4
leaq 0x270ff3(%rip), %rsi    # 0x5987e3
xorl %eax, %eax
movl %eax, %ecx
callq 0xf69f0
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x8(%rsp), %rdi
callq 0xf7400
movq 0x18(%rsp), %rdx
addq $0x18, %rdx
leaq 0x270fe6(%rip), %rdi    # 0x59880d
leaq 0x270fe8(%rip), %rsi    # 0x598816
movsd 0x1fe84a(%rip), %xmm0   # 0x526080
callq 0xf6160
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x18(%rsp), %rdx
addq $0x20, %rdx
leaq 0x228195(%rip), %rdi    # 0x54f9f4
leaq 0x270fd8(%rip), %rsi    # 0x59883e
xorl %eax, %eax
movl %eax, %ecx
callq 0xf68a0
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x8(%rsp), %rdi
callq 0xf7400
movq 0x18(%rsp), %rdx
leaq 0x270fd8(%rip), %rdi    # 0x598871
leaq 0x270fdb(%rip), %rsi    # 0x59887b
movl $0x7d0, %ecx            # imm = 0x7D0
movl $0x3e8, %r8d            # imm = 0x3E8
callq 0xf66b0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rdi
callq 0xf6ca0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x18(%rsp), %rdx
addq $0x8, %rdx
leaq 0x2628c5(%rip), %rdi    # 0x58a1a3
leaq 0x270fbb(%rip), %rsi    # 0x5988a0
movsd 0x270e1b(%rip), %xmm0   # 0x598708
callq 0xf6160
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x18(%rsp), %rdx
addq $0x10, %rdx
leaq 0x294da5(%rip), %rdi    # 0x5bc6bb
leaq 0x270faf(%rip), %rsi    # 0x5988cc
movsd 0x270ddb(%rip), %xmm0   # 0x598700
callq 0xf6160
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x18(%rsp), %rax
movq 0x38(%rax), %rdx
movq 0x3174e2(%rip), %rcx    # 0x63ee30
leaq 0x2053ac(%rip), %rdi    # 0x52cd01
leaq 0x270f9d(%rip), %rsi    # 0x5988f9
leaq 0x3174cd(%rip), %r8     # 0x63ee30
callq 0xf6b30
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x18(%rsp), %rax
movq 0x40(%rax), %rax
movq %rax, (%rsp)
movq 0x18(%rsp), %rax
movq 0x40(%rax), %rdi
callq 0x11dee0
movq (%rsp), %rdx
movq %rax, %rcx
leaq 0x27181d(%rip), %rdi    # 0x5991c2
leaq 0x270f6f(%rip), %rsi    # 0x59891b
callq 0xf69f0
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x8(%rsp), %rdi
callq 0xf7400
movq 0x18(%rsp), %rax
movq 0x50(%rax), %rdx
leaq 0x248e8a(%rip), %rdi    # 0x570869
leaq 0x270f6c(%rip), %rsi    # 0x598952
callq 0xf6aa0
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf1600
movq 0x8(%rsp), %rdi
callq 0xf6ff0
movq 0x10(%rsp), %rdi
movl $0x2, %edx
movl %edx, %esi
callq 0xf2a40
movq 0x10(%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)