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

	out << "Usage: " << endl
        << tool_name << " [options]* -x <ebwt> {-1 <m1> -2 <m2> | --12 <r> | --interleaved <i> | 
} [<hit>]" << endl
        << endl
	    << "  <ebwt>  Index filename prefix (minus trailing .X." + gEbwt_ext + ")." << endl
	    << "  <m1>    Comma-separated list of files containing upstream mates (or the" << endl
	    << "          sequences themselves, if -c is set) paired with mates in <m2>" << endl
	    << "  <m2>    Comma-separated list of files containing downstream mates (or the" << endl
	    << "          sequences themselves if -c is set) paired with mates in <m1>" << endl
	    << "  <r>     Comma-separated list of files containing Crossbow-style reads.  Can be" << endl
	    << "          a mixture of paired and unpaired.  Specify \"-\" for stdin." << endl
	    << "  <i>     Files with interleaved paired-end FASTQ reads." << endl
	    << "  
     Comma-separated list of files containing unpaired reads, or the" << endl
	    << "          sequences themselves, if -c is set.  Specify \"-\" for stdin." << endl
	    << "  <hit>   File to write hits to (default: stdout)" << endl
	    << "Input:" << endl
	    << "  -q                 query input files are FASTQ .fq/.fastq (default)" << endl
	    << "  -f                 query input files are (multi-)FASTA .fa/.mfa" << endl
	    << "  -F k:<int>,i:<int> query input files are continuous FASTA where reads" << endl
	    << "                     are substrings (k-mers) extracted from a FASTA file 
" << endl
	    << "                     and aligned at offsets 1, 1+i, 1+2i ... end of reference" << endl
	    << "  -r                 query input files are raw one-sequence-per-line" << endl
	    << "  -c                 query sequences given on cmd line (as <mates>, <singles>)" << endl
	    << "  -Q/--quals <file>  QV file(s) corresponding to CSFASTA inputs; use with -f -C" << endl
	    << "  --Q1/--Q2 <file>   same as -Q, but for mate files 1 and 2 respectively" << endl
	    << "  -s/--skip <int>    skip the first <int> reads/pairs in the input" << endl
	    << "  -u/--qupto <int>   stop after first <int> reads/pairs (excl. skipped reads)" << endl
	    << "  -5/--trim5 <int>   trim <int> bases from 5' (left) end of reads" << endl
	    << "  -3/--trim3 <int>   trim <int> bases from 3' (right) end of reads" << endl
		<< "  --phred33-quals    input quals are Phred+33 (default)" << endl
		<< "  --phred64-quals    input quals are Phred+64 (same as --solexa1.3-quals)" << endl
		<< "  --solexa-quals     input quals are from GA Pipeline ver. < 1.3" << endl
		<< "  --solexa1.3-quals  input quals are from GA Pipeline ver. >= 1.3" << endl
		<< "  --integer-quals    qualities are given as space-separated integers (not ASCII)" << endl;
		if(wrapper == "basic-0") {
		out << "  --large-index      force usage of a 'large' index, even if a small one is present" << endl;
		}
		out << "Alignment:" << endl
	    << "  -v <int>           report end-to-end hits w/ <=v mismatches; ignore qualities" << endl
	    << "    or" << endl
	    << "  -n/--seedmms <int> max mismatches in seed (can be 0-3, default: -n 2)" << endl
	    << "  -e/--maqerr <int>  max sum of mismatch quals across alignment for -n (def: 70)" << endl
	    << "  -l/--seedlen <int> seed length for -n (default: 28)" << endl
		<< "  --nomaqround       disable Maq-like quality rounding for -n (nearest 10 <= 30)" << endl
	    << "  -I/--minins <int>  minimum insert size for paired-end alignment (default: 0)" << endl
	    << "  -X/--maxins <int>  maximum insert size for paired-end alignment (default: 250)" << endl
	    << "  --fr/--rf/--ff     -1, -2 mates align fw/rev, rev/fw, fw/fw (default: --fr)" << endl
	    << "  --nofw/--norc      do not align to forward/reverse-complement reference strand" << endl
	    << "  --maxbts <int>     max # backtracks for -n 2/3 (default: 125, 800 for --best)" << endl
	    << "  --pairtries <int>  max # attempts to find mate for anchor hit (default: 100)" << endl
	    << "  -y/--tryhard       try hard to find valid alignments, at the expense of speed" << endl
	    << "  --chunkmbs <int>   max megabytes of RAM for best-first search frames (def: 64)" << endl
	    << " --reads-per-batch   # of reads to read from input file at once (default: 16)" << endl
	    << "Reporting:" << endl
	    << "  -k <int>           report up to <int> good alignments per read (default: 1)" << endl
	    << "  -a/--all           report all alignments per read (much slower than low -k)" << endl
	    << "  -m <int>           suppress all alignments if > <int> exist (def: no limit)" << endl
	    << "  -M <int>           like -m, but reports 1 random hit (MAPQ=0); requires --best" << endl
	    << "  --best             hits guaranteed best stratum; ties broken by quality" << endl
	    << "  --strata           hits in sub-optimal strata aren't reported (requires --best)" << endl
	    << "Output:" << endl
	    << "  -t/--time          print wall-clock time taken by search phases" << endl
	    << "  -B/--offbase <int> leftmost ref offset = <int> in bowtie output (default: 0)" << endl
	    << "  --quiet            print nothing but the alignments" << endl
	    << "  --refidx           refer to ref. seqs by 0-based index rather than name" << endl
	    << "  --al <fname>       write aligned reads/pairs to file(s) <fname>" << endl
	    << "  --un <fname>       write unaligned reads/pairs to file(s) <fname>" << endl
	    << "  --no-unal          suppress SAM records for unaligned reads" << endl
	    << "  --max <fname>      write reads/pairs over -m limit to file(s) <fname>" << endl
	    << "  --suppress <cols>  suppresses given columns (comma-delim'ed) in default output" << endl
	    << "  --fullref          write entire ref name (default: only up to 1st space)" << endl
	    << "SAM:" << endl
	    << "  -S/--sam           write hits in SAM format" << endl
	    << "  --mapq <int>       default mapping quality (MAPQ) to print for SAM alignments" << endl
	    << "  --sam-nohead       supppress header lines (starting with @) for SAM output" << endl
	    << "  --sam-nosq         supppress @SQ header lines for SAM output" << endl
	    << "  --sam-RG <text>    add <text> (usually \"lab=value\") to @RG line of SAM header" << endl
	    << "Performance:" << endl
	    << "  -o/--offrate <int> override offrate of index; must be >= index's offrate" << endl
	    << "  -p/--threads <int> number of alignment threads to launch (default: 1)" << endl
#ifdef BOWTIE_MM
	    << "  --mm               use memory-mapped I/O for index; many 'bowtie's can share" << endl
#endif
#ifdef BOWTIE_SHARED_MEM
	    << "  --shmem            use shared mem for index; many 'bowtie's can share" << endl
#endif
	    << "Other:" << endl
	    << "  --seed <int>       seed for random number generator" << endl
	    << "  --verbose          verbose output (for debugging)" << endl
	    << "  --version          print version information and quit" << endl
	    << "  -h/--help          print this usage message" << endl
	    ;
	if(wrapper.empty()) {
		cerr << endl
		     << "*** Warning ***" << endl
			 << tool_name << " was run directly.  It is recommended that you run the wrapper script 'bowtie' instead." << endl
			 << endl;
	}
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x68, %rsp
movq %rdi, %rbx
leaq 0x3a0dd(%rip), %rsi     # 0x48c6c
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rdx
callq 0x15df2
leaq 0x5661b(%rip), %rdi     # 0x651c0
leaq 0x3a0cf(%rip), %rsi     # 0x48c7b
callq 0x17c2c
testb %al, %al
je 0xebc6
leaq 0x3a0c7(%rip), %rsi     # 0x48c83
leaq 0x8(%rsp), %rdi
callq 0x9a20
leaq 0x3a0bd(%rip), %rsi     # 0x48c8a
movq %rbx, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x8(%rsp), %rsi
movq %rax, %rdi
callq 0x9460
leaq 0x3a0a1(%rip), %rsi     # 0x48c92
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
movq %rax, %rdi
callq 0x9210
movq %rax, %r14
leaq 0x3a0d4(%rip), %rsi     # 0x48ce7
leaq 0x567fe(%rip), %rdx     # 0x65418
leaq 0x48(%rsp), %rdi
callq 0x17c58
leaq 0x3c9ad(%rip), %rdx     # 0x4b5d8
leaq 0x28(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x17c39
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x9460
movq %rax, %rdi
callq 0x9210
leaq 0x3a0c5(%rip), %rsi     # 0x48d1b
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a0f8(%rip), %rsi     # 0x48d65
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a129(%rip), %rsi     # 0x48dad
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a15e(%rip), %rsi     # 0x48df9
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a18e(%rip), %rsi     # 0x48e40
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a1c8(%rip), %rsi     # 0x48e91
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a1f5(%rip), %rsi     # 0x48ed5
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a217(%rip), %rsi     # 0x48f0e
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a24a(%rip), %rsi     # 0x48f58
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a279(%rip), %rsi     # 0x48f9e
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a294(%rip), %rsi     # 0x48fd0
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a284(%rip), %rsi     # 0x48fd7
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a2b3(%rip), %rsi     # 0x4901d
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a2de(%rip), %rsi     # 0x4905f
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a30f(%rip), %rsi     # 0x490a7
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a345(%rip), %rsi     # 0x490f4
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a37c(%rip), %rsi     # 0x49142
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a3aa(%rip), %rsi     # 0x49187
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a3e2(%rip), %rsi     # 0x491d6
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a41b(%rip), %rsi     # 0x49226
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a44d(%rip), %rsi     # 0x4926f
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a479(%rip), %rsi     # 0x492b2
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a4b0(%rip), %rsi     # 0x49300
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a4db(%rip), %rsi     # 0x49342
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a507(%rip), %rsi     # 0x49385
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a528(%rip), %rsi     # 0x493bd
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a55b(%rip), %rsi     # 0x49407
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a585(%rip), %rsi     # 0x49448
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a5b0(%rip), %rsi     # 0x4948a
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x28(%rsp), %rdi
callq 0x9a68
leaq 0x48(%rsp), %rdi
callq 0x9a68
leaq 0x562bb(%rip), %rdi     # 0x651c0
leaq 0x39d6f(%rip), %rsi     # 0x48c7b
callq 0x17c2c
testb %al, %al
je 0xef2c
leaq 0x3a5bf(%rip), %rsi     # 0x494db
movq %rbx, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a5fc(%rip), %rsi     # 0x4952f
movq %rbx, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a5f0(%rip), %rsi     # 0x4953a
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a629(%rip), %rsi     # 0x4958a
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a619(%rip), %rsi     # 0x49591
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a64a(%rip), %rsi     # 0x495d9
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a684(%rip), %rsi     # 0x4962a
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a6a3(%rip), %rsi     # 0x49660
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a6dd(%rip), %rsi     # 0x496b1
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a715(%rip), %rsi     # 0x49700
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a74f(%rip), %rsi     # 0x49751
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a786(%rip), %rsi     # 0x4979f
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a7c0(%rip), %rsi     # 0x497f0
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a7f9(%rip), %rsi     # 0x49840
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a831(%rip), %rsi     # 0x4988f
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a86a(%rip), %rsi     # 0x498df
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a8a4(%rip), %rsi     # 0x49930
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a8db(%rip), %rsi     # 0x4997e
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a8cf(%rip), %rsi     # 0x49989
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a906(%rip), %rsi     # 0x499d7
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a93d(%rip), %rsi     # 0x49a25
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a974(%rip), %rsi     # 0x49a73
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a9ae(%rip), %rsi     # 0x49ac4
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3a9e1(%rip), %rsi     # 0x49b0e
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3aa1c(%rip), %rsi     # 0x49b60
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3aa0d(%rip), %rsi     # 0x49b68
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3aa38(%rip), %rsi     # 0x49baa
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3aa70(%rip), %rsi     # 0x49bf9
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3aa8f(%rip), %rsi     # 0x49c2f
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3aac2(%rip), %rsi     # 0x49c79
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3aaed(%rip), %rsi     # 0x49cbb
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3ab1a(%rip), %rsi     # 0x49cff
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3ab41(%rip), %rsi     # 0x49d3d
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3ab72(%rip), %rsi     # 0x49d85
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3abac(%rip), %rsi     # 0x49dd6
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3abe0(%rip), %rsi     # 0x49e21
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3abce(%rip), %rsi     # 0x49e26
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3abe5(%rip), %rsi     # 0x49e54
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3ac1e(%rip), %rsi     # 0x49ea4
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3ac54(%rip), %rsi     # 0x49ef1
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3ac7c(%rip), %rsi     # 0x49f30
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3acb5(%rip), %rsi     # 0x49f80
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3acab(%rip), %rsi     # 0x49f8d
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3acdf(%rip), %rsi     # 0x49fd8
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3ad10(%rip), %rsi     # 0x4a020
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3ad48(%rip), %rsi     # 0x4a06f
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3ad79(%rip), %rsi     # 0x4a0b7
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3ad69(%rip), %rsi     # 0x4a0be
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3ad88(%rip), %rsi     # 0x4a0f4
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3ada5(%rip), %rsi     # 0x4a128
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x3adc6(%rip), %rsi     # 0x4a160
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
cmpq $0x0, 0x55e16(%rip)     # 0x651c8
jne 0xf403
movq 0x52c35(%rip), %rdi     # 0x61ff0
callq 0x9210
leaq 0x3adc7(%rip), %rsi     # 0x4a18e
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
leaq 0x8(%rsp), %rsi
movq %rax, %rdi
callq 0x9460
leaq 0x3adb3(%rip), %rsi     # 0x4a19e
movq %rax, %rdi
callq 0x94e0
movq %rax, %rdi
callq 0x9210
movq %rax, %rdi
callq 0x9210
leaq 0x8(%rsp), %rdi
callq 0x9a68
addq $0x68, %rsp
popq %rbx
popq %r14
retq
movq %rax, %rbx
jmp 0xf429
jmp 0xf435
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x9a68
leaq 0x48(%rsp), %rdi
callq 0x9a68
jmp 0xf438
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x9a68
movq %rbx, %rdi
callq 0x9950