// File: BenLangmead[P]bowtie/ebwt_build.cpp
// Function: printUsage(std::ostream&)
static void printUsage(ostream& out) {
#ifdef BOWTIE_64BIT_INDEX
	string tool_name = "bowtie2-build-l";
#else
	string tool_name = "bowtie2-build-s";
#endif
	if(wrapper == "basic-0") {
		tool_name = "bowtie-build";
	}

	out << "Usage: "<< tool_name <<" [options]* <reference_in> <ebwt_outfile_base>" << endl
	    << "    reference_in            comma-separated list of files with ref sequences" << endl
	    << "    ebwt_outfile_base       write Ebwt data to files with this dir/basename" << endl
	    << "Options:" << endl
	    << "    -f                      reference files are Fasta (default)" << endl
	    << "    -c                      reference sequences given on cmd line (as <seq_in>)" << endl;
	if(wrapper == "basic-0") {
		out << "    --large-index           force generated index to be 'large', even if ref" << endl
		    << "                            has fewer than 4 billion nucleotides" << endl;
	}
	out << "    -a/--noauto             disable automatic -p/--bmax/--dcv memory-fitting" << endl
	    << "    -p/--packed             use packed strings internally; slower, uses less mem" << endl
	    << "    --bmax <int>            max bucket sz for blockwise suffix-array builder" << endl
	    //<< "    --bmaxmultsqrt <int>    max bucket sz as multiple of sqrt(ref len)" << endl
	    << "    --bmaxdivn <int>        max bucket sz as divisor of ref len (default: 4)" << endl
	    << "    --dcv <int>             diff-cover period for blockwise (default: 1024)" << endl
	    << "    --nodc                  disable diff-cover (algorithm becomes quadratic)" << endl
	    << "    -r/--noref              don't build .3/.4.ebwt (packed reference) portion" << endl
	    << "    -3/--justref            just build .3/.4.ebwt (packed reference) portion" << endl
	    << "    -o/--offrate <int>      SA is sampled every 2^offRate BWT chars (default: 5)" << endl
	    << "    -t/--ftabchars <int>    # of chars consumed in initial lookup (default: 10)" << endl
	    << "    --threads <int>         # of threads" << endl
	    << "    --ntoa                  convert Ns in reference to As" << endl
	    //<< "    --big --little          endianness (default: little, this host: "
	    //<< (currentlyBigEndian()? "big":"little") << ")" << endl
	    << "    --seed <int>            seed for random number generator" << endl
	    //<< "    --new-reverse           concatenate then reverse stretches, not vice versa" << endl
	    << "    -q/--quiet              verbose output (for debugging)" << endl
	    << "    -h/--help               print detailed description of tool and its options" << endl
	    << "    --usage                 print this usage message" << endl
	    << "    --version               print version information and quit" << endl;
	if(wrapper.empty()) {
		cerr << endl
		     << "*** Warning ***" << endl
		     << "'" << tool_name << "' was run directly.  It is recommended "
		     << "that you run the wrapper script 'bowtie-build' instead."
		     << endl << endl;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x220, %rsp            # imm = 0x220
movq %rdi, -0x8(%rbp)
leaq -0x29(%rbp), %rdi
movq %rdi, -0x48(%rbp)
callq 0x6860
movq -0x48(%rbp), %rdx
leaq 0x377cb(%rip), %rsi     # 0x451e2
leaq -0x28(%rbp), %rdi
callq 0x146f0
jmp 0xda22
leaq -0x29(%rbp), %rdi
callq 0x64a0
leaq 0x4741e(%rip), %rdi     # 0x54e50
leaq 0x377b9(%rip), %rsi     # 0x451f2
callq 0x17810
movb %al, -0x49(%rbp)
jmp 0xda43
movb -0x49(%rbp), %al
testb $0x1, %al
jne 0xda4c
jmp 0xda94
leaq 0x377a7(%rip), %rsi     # 0x451fa
leaq -0x28(%rbp), %rdi
callq 0x6620
jmp 0xda5e
jmp 0xda94
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x29(%rbp), %rdi
callq 0x64a0
jmp 0xe143
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x69a8
jmp 0xe143
movq -0x8(%rbp), %rdi
leaq 0x37768(%rip), %rsi     # 0x45207
callq 0x6410
movq %rax, -0x58(%rbp)
jmp 0xdaaa
movq -0x58(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x6380
movq %rax, -0x60(%rbp)
jmp 0xdabd
movq -0x60(%rbp), %rdi
leaq 0x37747(%rip), %rsi     # 0x4520f
callq 0x6410
movq %rax, -0x68(%rbp)
jmp 0xdad3
movq -0x68(%rbp), %rdi
movq 0x4448a(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0x70(%rbp)
jmp 0xdae9
movq -0x70(%rbp), %rdi
leaq 0x3774a(%rip), %rsi     # 0x4523e
callq 0x6410
movq %rax, -0x78(%rbp)
jmp 0xdaff
movq -0x78(%rbp), %rdi
movq 0x4445e(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0x80(%rbp)
jmp 0xdb15
movq -0x80(%rbp), %rdi
leaq 0x3776b(%rip), %rsi     # 0x4528b
callq 0x6410
movq %rax, -0x88(%rbp)
jmp 0xdb2e
movq -0x88(%rbp), %rdi
movq 0x4442c(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0x90(%rbp)
jmp 0xdb4a
movq -0x90(%rbp), %rdi
leaq 0x3777f(%rip), %rsi     # 0x452d7
callq 0x6410
movq %rax, -0x98(%rbp)
jmp 0xdb66
movq -0x98(%rbp), %rdi
movq 0x443f4(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0xa0(%rbp)
jmp 0xdb82
movq -0xa0(%rbp), %rdi
leaq 0x37750(%rip), %rsi     # 0x452e0
callq 0x6410
movq %rax, -0xa8(%rbp)
jmp 0xdb9e
movq -0xa8(%rbp), %rdi
movq 0x443bc(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0xb0(%rbp)
jmp 0xdbba
movq -0xb0(%rbp), %rdi
leaq 0x37758(%rip), %rsi     # 0x45320
callq 0x6410
movq %rax, -0xb8(%rbp)
jmp 0xdbd6
movq -0xb8(%rbp), %rdi
movq 0x44384(%rip), %rsi     # 0x51f68
callq 0x6470
jmp 0xdbeb
leaq 0x4725e(%rip), %rdi     # 0x54e50
leaq 0x375f9(%rip), %rsi     # 0x451f2
callq 0x17810
movb %al, -0xb9(%rbp)
jmp 0xdc06
movb -0xb9(%rbp), %al
testb $0x1, %al
jne 0xdc12
jmp 0xdc7a
movq -0x8(%rbp), %rdi
leaq 0x37753(%rip), %rsi     # 0x45370
callq 0x6410
movq %rax, -0xc8(%rbp)
jmp 0xdc2b
movq -0xc8(%rbp), %rdi
movq 0x4432f(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0xd0(%rbp)
jmp 0xdc47
movq -0xd0(%rbp), %rdi
leaq 0x37768(%rip), %rsi     # 0x453bd
callq 0x6410
movq %rax, -0xd8(%rbp)
jmp 0xdc63
movq -0xd8(%rbp), %rdi
movq 0x442f7(%rip), %rsi     # 0x51f68
callq 0x6470
jmp 0xdc78
jmp 0xdc7a
movq -0x8(%rbp), %rdi
leaq 0x37779(%rip), %rsi     # 0x453fe
callq 0x6410
movq %rax, -0xe0(%rbp)
jmp 0xdc93
movq -0xe0(%rbp), %rdi
movq 0x442c7(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0xe8(%rbp)
jmp 0xdcaf
movq -0xe8(%rbp), %rdi
leaq 0x3778e(%rip), %rsi     # 0x4544b
callq 0x6410
movq %rax, -0xf0(%rbp)
jmp 0xdccb
movq -0xf0(%rbp), %rdi
movq 0x4428f(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0xf8(%rbp)
jmp 0xdce7
movq -0xf8(%rbp), %rdi
leaq 0x377a7(%rip), %rsi     # 0x4549c
callq 0x6410
movq %rax, -0x100(%rbp)
jmp 0xdd03
movq -0x100(%rbp), %rdi
movq 0x44257(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0x108(%rbp)
jmp 0xdd1f
movq -0x108(%rbp), %rdi
leaq 0x377bc(%rip), %rsi     # 0x454e9
callq 0x6410
movq %rax, -0x110(%rbp)
jmp 0xdd3b
movq -0x110(%rbp), %rdi
movq 0x4421f(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0x118(%rbp)
jmp 0xdd57
movq -0x118(%rbp), %rdi
leaq 0x377d1(%rip), %rsi     # 0x45536
callq 0x6410
movq %rax, -0x120(%rbp)
jmp 0xdd73
movq -0x120(%rbp), %rdi
movq 0x441e7(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0x128(%rbp)
jmp 0xdd8f
movq -0x128(%rbp), %rdi
leaq 0x377e5(%rip), %rsi     # 0x45582
callq 0x6410
movq %rax, -0x130(%rbp)
jmp 0xddab
movq -0x130(%rbp), %rdi
movq 0x441af(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0x138(%rbp)
jmp 0xddc7
movq -0x138(%rbp), %rdi
leaq 0x377fa(%rip), %rsi     # 0x455cf
callq 0x6410
movq %rax, -0x140(%rbp)
jmp 0xdde3
movq -0x140(%rbp), %rdi
movq 0x44177(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0x148(%rbp)
jmp 0xddff
movq -0x148(%rbp), %rdi
leaq 0x37810(%rip), %rsi     # 0x4561d
callq 0x6410
movq %rax, -0x150(%rbp)
jmp 0xde1b
movq -0x150(%rbp), %rdi
movq 0x4413f(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0x158(%rbp)
jmp 0xde37
movq -0x158(%rbp), %rdi
leaq 0x37825(%rip), %rsi     # 0x4566a
callq 0x6410
movq %rax, -0x160(%rbp)
jmp 0xde53
movq -0x160(%rbp), %rdi
movq 0x44107(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0x168(%rbp)
jmp 0xde6f
movq -0x168(%rbp), %rdi
leaq 0x3783e(%rip), %rsi     # 0x456bb
callq 0x6410
movq %rax, -0x170(%rbp)
jmp 0xde8b
movq -0x170(%rbp), %rdi
movq 0x440cf(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0x178(%rbp)
jmp 0xdea7
movq -0x178(%rbp), %rdi
leaq 0x37856(%rip), %rsi     # 0x4570b
callq 0x6410
movq %rax, -0x180(%rbp)
jmp 0xdec3
movq -0x180(%rbp), %rdi
movq 0x44097(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0x188(%rbp)
jmp 0xdedf
movq -0x188(%rbp), %rdi
leaq 0x37847(%rip), %rsi     # 0x45734
callq 0x6410
movq %rax, -0x190(%rbp)
jmp 0xdefb
movq -0x190(%rbp), %rdi
movq 0x4405f(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0x198(%rbp)
jmp 0xdf17
movq -0x198(%rbp), %rdi
leaq 0x37849(%rip), %rsi     # 0x4576e
callq 0x6410
movq %rax, -0x1a0(%rbp)
jmp 0xdf33
movq -0x1a0(%rbp), %rdi
movq 0x44027(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0x1a8(%rbp)
jmp 0xdf4f
movq -0x1a8(%rbp), %rdi
leaq 0x3784e(%rip), %rsi     # 0x457ab
callq 0x6410
movq %rax, -0x1b0(%rbp)
jmp 0xdf6b
movq -0x1b0(%rbp), %rdi
movq 0x43fef(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0x1b8(%rbp)
jmp 0xdf87
movq -0x1b8(%rbp), %rdi
leaq 0x37851(%rip), %rsi     # 0x457e6
callq 0x6410
movq %rax, -0x1c0(%rbp)
jmp 0xdfa3
movq -0x1c0(%rbp), %rdi
movq 0x43fb7(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0x1c8(%rbp)
jmp 0xdfbf
movq -0x1c8(%rbp), %rdi
leaq 0x37868(%rip), %rsi     # 0x45835
callq 0x6410
movq %rax, -0x1d0(%rbp)
jmp 0xdfdb
movq -0x1d0(%rbp), %rdi
movq 0x43f7f(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0x1d8(%rbp)
jmp 0xdff7
movq -0x1d8(%rbp), %rdi
leaq 0x37865(%rip), %rsi     # 0x4586a
callq 0x6410
movq %rax, -0x1e0(%rbp)
jmp 0xe013
movq -0x1e0(%rbp), %rdi
movq 0x43f47(%rip), %rsi     # 0x51f68
callq 0x6470
jmp 0xe028
leaq 0x46e21(%rip), %rdi     # 0x54e50
callq 0x67a0
testb $0x1, %al
jne 0xe03d
jmp 0xe131
movq 0x43fac(%rip), %rdi     # 0x51ff0
movq 0x43f1d(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0x1e8(%rbp)
jmp 0xe059
movq -0x1e8(%rbp), %rdi
leaq 0x37842(%rip), %rsi     # 0x458a9
callq 0x6410
movq %rax, -0x1f0(%rbp)
jmp 0xe075
movq -0x1f0(%rbp), %rdi
movq 0x43ee5(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0x1f8(%rbp)
jmp 0xe091
movq -0x1f8(%rbp), %rdi
leaq 0x3781a(%rip), %rsi     # 0x458b9
callq 0x6410
movq %rax, -0x200(%rbp)
jmp 0xe0ad
movq -0x200(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x6380
movq %rax, -0x208(%rbp)
jmp 0xe0c6
movq -0x208(%rbp), %rdi
leaq 0x377e7(%rip), %rsi     # 0x458bb
callq 0x6410
movq %rax, -0x210(%rbp)
jmp 0xe0e2
movq -0x210(%rbp), %rdi
leaq 0x377f3(%rip), %rsi     # 0x458e3
callq 0x6410
movq %rax, -0x218(%rbp)
jmp 0xe0fe
movq -0x218(%rbp), %rdi
movq 0x43e5c(%rip), %rsi     # 0x51f68
callq 0x6470
movq %rax, -0x220(%rbp)
jmp 0xe11a
movq -0x220(%rbp), %rdi
movq 0x43e40(%rip), %rsi     # 0x51f68
callq 0x6470
jmp 0xe12f
jmp 0xe131
leaq -0x28(%rbp), %rdi
callq 0x69a8
addq $0x220, %rsp            # imm = 0x220
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0x6850
nopl (%rax)