// File: flastest[P]HeterogeneousParallelDijkstra/BBO_graph_creator.cc
// Function: get_teammates(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
std::vector<int> get_teammates (std::string team_list)
{
	if (MINIMAL_DEBUG) std::cout<<"getting teammates from "<<team_list<<std::endl;

	std::vector<int> teammates;

	std::string first_player = team_list.substr(0,team_list.find("/"));

	if (DEBUG_LOGS) std::cout<<"first player is "<<first_player<<std::endl;

	int player = std::stoi(first_player);
	std::string remaining_teammates = team_list.substr(team_list.find("/")+1);

	if (DEBUG_LOGS) std::cout<<"rest of players are "<<remaining_teammates<<std::endl;


	teammates.push_back(player);
	while(remaining_teammates.length()>0)
	{
		player = std::stoi(remaining_teammates.substr(0,remaining_teammates.find("/")));
		//if (DEBUG_LOGS) std::cout<<"next player is "<<player<<std::endl;

		// after the last teammate, there will be no "/" to look for
		if(remaining_teammates.find("/") > remaining_teammates.length()) break; 
		remaining_teammates = remaining_teammates.substr(remaining_teammates.find("/")+1);
		teammates.push_back(player);
	}
	
	return teammates;

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x120, %rsp            # imm = 0x120
movq %rsi, -0xc0(%rbp)
movq %rdi, -0xb8(%rbp)
movq %rdi, %rax
movq %rax, -0xb0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
testb $0x1, 0x1861a(%rip)     # 0x3e59c
je 0x25fb5
movq 0x1803d(%rip), %rdi     # 0x3dfc8
leaq 0x4e9f(%rip), %rsi      # 0x2ae31
callq 0x4310
movq -0xc0(%rbp), %rsi
movq %rax, %rdi
callq 0x42f0
movq %rax, %rdi
movq 0x17fe8(%rip), %rsi     # 0x3df98
callq 0x4370
movq -0xb8(%rbp), %rdi
movb $0x0, -0x11(%rbp)
callq 0x27530
movq -0xc0(%rbp), %rdi
leaq 0x4e76(%rip), %rsi      # 0x2ae49
xorl %eax, %eax
movl %eax, %edx
movq %rdx, -0xc8(%rbp)
callq 0x45a0
movq -0xc0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
movq %rax, %rcx
leaq -0x38(%rbp), %rdi
callq 0x4350
jmp 0x25fff
testb $0x1, 0x18595(%rip)     # 0x3e59b
je 0x26076
movq 0x17fb9(%rip), %rdi     # 0x3dfc8
leaq 0x4e35(%rip), %rsi      # 0x2ae4b
callq 0x4310
movq %rax, -0xd0(%rbp)
jmp 0x26024
movq -0xd0(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x42f0
movq %rax, -0xd8(%rbp)
jmp 0x2603d
movq -0xd8(%rbp), %rdi
movq 0x17f4d(%rip), %rsi     # 0x3df98
callq 0x4370
jmp 0x26052
jmp 0x26076
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x262e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x262c2
xorl %eax, %eax
movl %eax, %esi
leaq -0x38(%rbp), %rdi
movl $0xa, %edx
callq 0x27550
movl %eax, -0xdc(%rbp)
jmp 0x26090
movq -0xc0(%rbp), %rdi
movl -0xdc(%rbp), %eax
movl %eax, -0x48(%rbp)
leaq 0x4da2(%rip), %rsi      # 0x2ae49
xorl %eax, %eax
movl %eax, %edx
callq 0x45a0
movq -0xc0(%rbp), %rsi
movq %rax, %rdx
incq %rdx
leaq -0x68(%rbp), %rdi
movq $-0x1, %rcx
callq 0x4350
jmp 0x260cf
testb $0x1, 0x184c5(%rip)     # 0x3e59b
je 0x26135
movq 0x17ee9(%rip), %rdi     # 0x3dfc8
leaq 0x4d76(%rip), %rsi      # 0x2ae5c
callq 0x4310
movq %rax, -0xe8(%rbp)
jmp 0x260f4
movq -0xe8(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x42f0
movq %rax, -0xf0(%rbp)
jmp 0x2610d
movq -0xf0(%rbp), %rdi
movq 0x17e7d(%rip), %rsi     # 0x3df98
callq 0x4370
jmp 0x26122
jmp 0x26135
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x262b9
movq -0xb8(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x27590
jmp 0x26147
jmp 0x26149
leaq -0x68(%rbp), %rdi
callq 0x4470
cmpq $0x0, %rax
jbe 0x2629b
leaq 0x4ce6(%rip), %rsi      # 0x2ae49
xorl %eax, %eax
movl %eax, %edx
movq %rdx, -0xf8(%rbp)
leaq -0x68(%rbp), %rdi
movq %rdi, -0x100(%rbp)
callq 0x45a0
movq -0x100(%rbp), %rsi
movq -0xf8(%rbp), %rdx
movq %rax, %rcx
leaq -0x88(%rbp), %rdi
callq 0x4350
jmp 0x2619d
xorl %eax, %eax
movl %eax, %esi
leaq -0x88(%rbp), %rdi
movl $0xa, %edx
callq 0x27550
movl %eax, -0x104(%rbp)
jmp 0x261ba
movl -0x104(%rbp), %eax
movl %eax, -0x48(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x41e0
leaq -0x68(%rbp), %rdi
leaq 0x4c6f(%rip), %rsi      # 0x2ae49
xorl %eax, %eax
movl %eax, %edx
callq 0x45a0
movq %rax, -0x110(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x4470
movq %rax, %rcx
movq -0x110(%rbp), %rax
cmpq %rcx, %rax
jbe 0x26224
jmp 0x2629b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x41e0
jmp 0x262b9
leaq 0x4c1e(%rip), %rsi      # 0x2ae49
xorl %eax, %eax
movl %eax, %edx
leaq -0x68(%rbp), %rdi
movq %rdi, -0x118(%rbp)
callq 0x45a0
movq -0x118(%rbp), %rsi
movq %rax, %rdx
incq %rdx
leaq -0xa8(%rbp), %rdi
movq $-0x1, %rcx
callq 0x4350
jmp 0x26261
leaq -0x68(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
movq %rsi, -0x120(%rbp)
callq 0x43d0
movq -0x120(%rbp), %rdi
callq 0x41e0
movq -0xb8(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x27590
jmp 0x26296
jmp 0x26149
movb $0x1, -0x11(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x41e0
leaq -0x38(%rbp), %rdi
callq 0x41e0
testb $0x1, -0x11(%rbp)
jne 0x262d9
jmp 0x262cd
leaq -0x68(%rbp), %rdi
callq 0x41e0
leaq -0x38(%rbp), %rdi
callq 0x41e0
jmp 0x262e9
movq -0xb8(%rbp), %rdi
callq 0xb120
movq -0xb0(%rbp), %rax
addq $0x120, %rsp            # imm = 0x120
popq %rbp
retq
movq -0xb8(%rbp), %rdi
callq 0xb120
movq -0x40(%rbp), %rdi
callq 0x4520
nop