// File: neubig[P]egret/Egret/src/Forest.cpp
// Function: Forest::Forest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
Forest::
Forest(string sent)
{
	stringstream ss(sent);
	while(!ss.eof())
	{
		string wrd;
		ss>>wrd;
		if(wrd!="") _sentence.push_back(wrd);
		if(ss.eof())break;
	}
	for(int i=0;(size_t)i<_sentence.size();i++)
	{
		vector<Node> vn;
		for(int j=0;(size_t)j<_sentence.size();j++)
		{
			Node nd(i,j);
			vn.push_back(nd);
		}
		push_back(vn);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x350, %rsp            # imm = 0x350
movq %rsi, -0x328(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x320(%rbp)
callq 0x5e290
movq -0x320(%rbp), %rdi
addq $0x18, %rdi
movq %rdi, -0x318(%rbp)
callq 0x8340
movl $0x10, %edi
movl $0x8, %esi
callq 0x1c7e0
movl %eax, -0x30c(%rbp)
jmp 0x5a268
movl -0x30c(%rbp), %edx
movq -0x328(%rbp), %rsi
leaq -0x198(%rbp), %rdi
callq 0x45b0
jmp 0x5a283
jmp 0x5a285
movq -0x198(%rbp), %rax
movq -0x18(%rax), %rax
leaq -0x198(%rbp,%rax), %rdi
callq 0x46a0
movb %al, -0x329(%rbp)
jmp 0x5a2a5
movb -0x329(%rbp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x5a2b6
jmp 0x5a3d2
leaq -0x1c8(%rbp), %rdi
movq %rdi, -0x338(%rbp)
callq 0x4510
movq -0x338(%rbp), %rsi
leaq -0x198(%rbp), %rdi
callq 0x44a0
jmp 0x5a2de
leaq 0x36b71(%rip), %rsi     # 0x90e56
leaq -0x1c8(%rbp), %rdi
callq 0x30fb0
movb %al, -0x339(%rbp)
jmp 0x5a2f9
movb -0x339(%rbp), %al
testb $0x1, %al
jne 0x5a305
jmp 0x5a371
movq -0x320(%rbp), %rdi
addq $0x18, %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x37000
jmp 0x5a31e
jmp 0x5a371
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
jmp 0x5a538
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
jmp 0x5a52c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x1c8(%rbp), %rdi
callq 0x4728
jmp 0x5a52c
movq -0x198(%rbp), %rax
movq -0x18(%rax), %rax
leaq -0x198(%rbp,%rax), %rdi
callq 0x46a0
movb %al, -0x33a(%rbp)
jmp 0x5a391
movb -0x33a(%rbp), %al
testb $0x1, %al
jne 0x5a39d
jmp 0x5a3a9
movl $0x3, -0x1cc(%rbp)
jmp 0x5a3b3
movl $0x0, -0x1cc(%rbp)
leaq -0x1c8(%rbp), %rdi
callq 0x4728
movl -0x1cc(%rbp), %eax
testl %eax, %eax
je 0x5a3cd
jmp 0x5a3cb
jmp 0x5a3d2
jmp 0x5a285
movl $0x0, -0x1d0(%rbp)
movq -0x320(%rbp), %rdi
movslq -0x1d0(%rbp), %rax
movq %rax, -0x348(%rbp)
addq $0x18, %rdi
callq 0x87f0
movq %rax, %rcx
movq -0x348(%rbp), %rax
cmpq %rcx, %rax
jae 0x5a517
leaq -0x1e8(%rbp), %rdi
callq 0x5e2b0
movl $0x0, -0x1ec(%rbp)
movq -0x320(%rbp), %rdi
movslq -0x1ec(%rbp), %rax
movq %rax, -0x350(%rbp)
addq $0x18, %rdi
callq 0x87f0
movq %rax, %rcx
movq -0x350(%rbp), %rax
cmpq %rcx, %rax
jae 0x5a4d4
movl -0x1d0(%rbp), %esi
movl -0x1ec(%rbp), %edx
leaq -0x308(%rbp), %rdi
callq 0x45960
jmp 0x5a46e
leaq -0x1e8(%rbp), %rdi
leaq -0x308(%rbp), %rsi
callq 0x5e2d0
jmp 0x5a483
leaq -0x308(%rbp), %rdi
callq 0x45b20
movl -0x1ec(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1ec(%rbp)
jmp 0x5a423
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
jmp 0x5a509
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x308(%rbp), %rdi
callq 0x45b20
jmp 0x5a509
movq -0x320(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
callq 0x5e340
jmp 0x5a4e9
leaq -0x1e8(%rbp), %rdi
callq 0x5e3b0
movl -0x1d0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1d0(%rbp)
jmp 0x5a3dc
leaq -0x1e8(%rbp), %rdi
callq 0x5e3b0
jmp 0x5a52c
leaq -0x198(%rbp), %rdi
callq 0x42d0
addq $0x350, %rsp            # imm = 0x350
popq %rbp
retq
leaq -0x198(%rbp), %rdi
callq 0x42d0
movq -0x318(%rbp), %rdi
callq 0x8830
movq -0x320(%rbp), %rdi
callq 0x5e410
movq -0x1a0(%rbp), %rdi
callq 0x4650
nopl (%rax)