// File: BGI-Qingdao[P]ExtractNGSReads/utils/stringtools.cpp
// Function: BGIQD::STRING::split(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
std::vector<std::string>  split( const std::string & str) 
    {
        std::vector<std::string> ret;
        bool nb = false ;
        size_t nb_index = 0;
        for( size_t i = 0 ; i<str.size() ; i++ )
        {
            if( str[i] == ' ' || str[i] == '\n' || str[i] == '\r' || str[i] == '\t' )
            {
                if(nb)
                {
                    ret.push_back(str.substr(nb_index,i-nb_index));
                    nb = false ;
                }
            }
            else
            {
                if( !nb )
                {
                    nb =true ;
                    nb_index = i ;
                }
            }
        }
        if(nb)
        {
            ret.push_back(str.substr(nb_index,str.size() - nb_index));
            nb = false ;
        }
        return ret ;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x88(%rbp)
movq %rdi, %rax
movq %rax, -0x80(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movb $0x0, -0x11(%rbp)
callq 0xa2c0
movb $0x0, -0x12(%rbp)
movq $0x0, -0x20(%rbp)
movq $0x0, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x10(%rbp), %rdi
callq 0x52c0
movq %rax, %rcx
movq -0x90(%rbp), %rax
cmpq %rcx, %rax
jae 0x1329e
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x5460
movsbl (%rax), %eax
cmpl $0x20, %eax
je 0x13209
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x5460
movsbl (%rax), %eax
cmpl $0xa, %eax
je 0x13209
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x5460
movsbl (%rax), %eax
cmpl $0xd, %eax
je 0x13209
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x5460
movsbl (%rax), %eax
cmpl $0x9, %eax
jne 0x13277
testb $0x1, -0x12(%rbp)
je 0x13275
movq -0x10(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
subq %rdx, %rcx
leaq -0x48(%rbp), %rdi
callq 0x53f0
jmp 0x13229
movq -0x88(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0xa450
jmp 0x1323b
leaq -0x48(%rbp), %rdi
callq 0x5250
movb $0x0, -0x12(%rbp)
jmp 0x13275
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x1333d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5250
jmp 0x1333d
jmp 0x1328b
testb $0x1, -0x12(%rbp)
jne 0x13289
movb $0x1, -0x12(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x20(%rbp)
jmp 0x1328b
jmp 0x1328d
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x1318e
testb $0x1, -0x12(%rbp)
je 0x1331a
movq -0x10(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x98(%rbp)
callq 0x52c0
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq %rax, %rcx
movq -0x20(%rbp), %rax
subq %rax, %rcx
leaq -0x78(%rbp), %rdi
callq 0x53f0
jmp 0x132e2
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0xa450
jmp 0x132f4
leaq -0x78(%rbp), %rdi
callq 0x5250
movb $0x0, -0x12(%rbp)
jmp 0x1331a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x5250
jmp 0x1333d
movb $0x1, -0x11(%rbp)
testb $0x1, -0x11(%rbp)
jne 0x13330
movq -0x88(%rbp), %rdi
callq 0xb5f0
movq -0x80(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
movq -0x88(%rbp), %rdi
callq 0xb5f0
movq -0x50(%rbp), %rdi
callq 0x5690
nopw %cs:(%rax,%rax)