// File: /workspace/github_cpp_makefile_star2_O3/soybin[P]idyll/src/seed.cpp
// Function: seed::seed(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
seed::seed(std::string s) {
	seedParsingSuccessful = false;
	std::vector<char> startOps = { '{', '(', '<', '[' };
	std::vector<char> endOps = { '}', ')', '>', ']' };
	std::vector<char> separationOps = { '!', '@', '#', '$', '%', '^', '&', '*' };
	int n = s.size();
	std::string str = "";
	int arg = 0;
	for (int i = 0; i < n; ++i) {
		char c = s[i];
		bool end = false;
		for (int j = 0; j < 4; ++j) {
			if (c == endOps[j]) {
				end = true;
				break;
			}
		}
		if ((c == '.' || c == '-' || (c >= '0' && c <= '9')) && !end) {
			str += c;
		} else if (str.size() || end) {
			//str += c;
			double value;
			try {
				value = std::stod(str);
			} catch (...) {
				seedParsingSuccessful = false;
				return;
			}
			switch (arg) {
				case 0:
					values["GLOSSINESS_CHANCE"] = value;
					break;
				case 1:
					values["GLOSSINESS_AMOUNT"] = value;
					break;
				case 2:
					values["xcameraDirection"] = value;
					break;
				case 3:
					values["ycameraDirection"] = value;
					break;
				case 4:
					values["zcameraDirection"] = value;
					break;
				case 5:
					values["cameraDistance"] = value;
					break;
				case 6:
					values["xlightDirection"] = value;
					break;
				case 7:
					values["ylightDirection"] = value;
					break;
				case 8:
					values["zlightDirection"] = value;
					break;
				case 9:
					values["xlightColor"] = value;
					break;
				case 10:
					values["ylightColor"] = value;
					break;
				case 11:
					values["zlightColor"] = value;
					break;
				case 12:
					values["xskyColor"] = value;
					break;
				case 13:
					values["yskyColor"] = value;
					break;
				case 14:
					values["zskyColor"] = value;
					break;
				case 15:
					values["iterations"] = value;
					break;
				case 16:
					values["shadowSoftness"] = value;
					break;
				case 17:
					values["xcolor"] = value;
					break;
				case 18:
					values["ycolor"] = value;
					break;
				case 19:
					values["zcolor"] = value;
					break;
				case 20:
					values["xgradientTop"] = value;
					break;
				case 21:
					values["ygradientTop"] = value;
					break;
				case 22:
					values["zgradientTop"] = value;
					break;
				case 23:
					values["xgradientBottom"] = value;
					break;
				case 24:
					values["ygradientBottom"] = value;
					break;
				case 25:
					values["zgradientBottom"] = value;
					break;
				case 26:
					values["xshift"] = value;
					break;
				case 27:
					values["zshift"] = value;
					break;
				case 28:
					values["xrotation"] = value;
					break;
				case 29:
					values["zrotation"] = value;
					break;
				case 30:
					values["pointIterator"] = value;
					break;
			}
			++arg;
			str = "";
		}
	}
	seedParsingSuccessful = arg == 31;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xb8, %rsp
movq %rsi, %r12
movq %rdi, %rbx
callq 0xc818
movq $0x1571, 0x1388(%rbx) # imm = 0x1571
movl $0x1, %eax
movl $0x1571, %ecx           # imm = 0x1571
movq %rcx, %rdx
shrq $0x1e, %rdx
xorl %ecx, %edx
imull $0x6c078965, %edx, %ecx # imm = 0x6C078965
addl %eax, %ecx
movq %rcx, 0x1388(%rbx,%rax,8)
incq %rax
cmpq $0x270, %rax            # imm = 0x270
jne 0xa45e
movq $0x270, 0x2708(%rbx) # imm = 0x270
leaq 0x2718(%rbx), %rax
movq %rax, -0x50(%rbp)
leaq 0x2720(%rbx), %rax
movl $0x0, 0x2720(%rbx)
xorl %ecx, %ecx
movq %rcx, 0x2728(%rbx)
movq %rax, 0x2730(%rbx)
movq %rax, 0x2738(%rbx)
movq %rcx, 0x2740(%rbx)
movb $0x0, 0x2710(%rbx)
leaq -0x88(%rbp), %rsi
movl $0x5b3c287b, (%rsi)     # imm = 0x5B3C287B
leaq -0xe0(%rbp), %rdi
leaq -0x48(%rbp), %rcx
movl $0x4, %edx
callq 0xc896
leaq -0x88(%rbp), %rsi
movl $0x5d3e297d, (%rsi)     # imm = 0x5D3E297D
leaq -0xb0(%rbp), %rdi
leaq -0x48(%rbp), %rcx
movl $0x4, %edx
callq 0xc896
movabsq $0x2a265e2524234021, %rax # imm = 0x2A265E2524234021
leaq -0x88(%rbp), %rsi
movq %rax, (%rsi)
leaq -0xc8(%rbp), %rdi
leaq -0x48(%rbp), %rcx
movl $0x8, %edx
callq 0xc896
movq 0x8(%r12), %r15
leaq -0x78(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x3bdb(%rip), %rdx      # 0xe12a
leaq -0x88(%rbp), %rdi
movq %rdx, %rsi
callq 0x5366
xorl %r13d, %r13d
testl %r15d, %r15d
jle 0xac23
movq %rbx, -0x60(%rbp)
leaq -0x38(%rbp), %r14
andl $0x7fffffff, %r15d      # imm = 0x7FFFFFFF
leaq -0x88(%rbp), %rbx
xorl %ecx, %ecx
movq %r15, -0x90(%rbp)
movq (%r12), %rax
movq %rcx, -0x98(%rbp)
movb (%rax,%rcx), %al
movq -0xb0(%rbp), %rdx
movb $0x1, %cl
cmpb (%rdx), %al
je 0xa5c0
xorl %esi, %esi
movq %rsi, %rcx
cmpq $0x3, %rsi
je 0xa5b9
leaq 0x1(%rcx), %rsi
cmpb 0x1(%rdx,%rcx), %al
jne 0xa5a6
cmpq $0x3, %rcx
setb %cl
leal -0x2f(%rax), %edx
cmpb $-0x2, %dl
setb %dl
leal -0x3a(%rax), %esi
cmpb $-0xa, %sil
setb %sil
andb %dl, %sil
orb %cl, %sil
je 0xa63d
cmpq $0x0, -0x80(%rbp)
sete %al
notb %cl
testb %al, %cl
jne 0xac04
movq %r13, %rbx
movq %r14, %r15
movq -0x88(%rbp), %r14
callq 0x3040
movq %rax, %r13
movl (%rax), %eax
movl %eax, -0x64(%rbp)
movl $0x0, (%r13)
movq %r14, %rdi
leaq -0x48(%rbp), %rsi
callq 0x3200
movsd %xmm0, -0x58(%rbp)
cmpq %r14, -0x48(%rbp)
je 0xaca9
movl (%r13), %eax
testl %eax, %eax
je 0xa64d
cmpl $0x22, %eax
jne 0xa654
jmp 0xacb5
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3260
jmp 0xac04
movl -0x64(%rbp), %eax
movl %eax, (%r13)
movq %rbx, %r13
cmpl $0x1e, %r13d
movq %r15, %r14
movq -0x90(%rbp), %r15
leaq -0x88(%rbp), %rbx
ja 0xabe9
movl %r13d, %eax
leaq 0x449c(%rip), %rcx      # 0xeb18
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x4279(%rip), %rsi      # 0xe90c
leaq 0x4283(%rip), %rdx      # 0xe91d
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x43d6(%rip), %rsi      # 0xea95
leaq 0x43d5(%rip), %rdx      # 0xea9b
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x4328(%rip), %rsi      # 0xea13
leaq 0x432f(%rip), %rdx      # 0xea21
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x42c3(%rip), %rsi      # 0xe9da
leaq 0x42c5(%rip), %rdx      # 0xe9e3
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x4277(%rip), %rsi      # 0xe9ba
leaq 0x427b(%rip), %rdx      # 0xe9c5
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x41e3(%rip), %rsi      # 0xe952
leaq 0x41ec(%rip), %rdx      # 0xe962
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x422b(%rip), %rsi      # 0xe9c6
leaq 0x422d(%rip), %rdx      # 0xe9cf
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x41db(%rip), %rsi      # 0xe9a2
leaq 0x41df(%rip), %rdx      # 0xe9ad
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x428b(%rip), %rsi      # 0xea7e
leaq 0x4293(%rip), %rdx      # 0xea8d
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x424f(%rip), %rsi      # 0xea6e
leaq 0x4257(%rip), %rdx      # 0xea7d
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x40e5(%rip), %rsi      # 0xe930
leaq 0x40ee(%rip), %rdx      # 0xe940
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x4191(%rip), %rsi      # 0xea08
leaq 0x4194(%rip), %rdx      # 0xea12
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x409e(%rip), %rsi      # 0xe941
leaq 0x40a7(%rip), %rdx      # 0xe951
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x40b3(%rip), %rsi      # 0xe982
leaq 0x40bb(%rip), %rdx      # 0xe991
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x4023(%rip), %rsi      # 0xe91e
leaq 0x402d(%rip), %rdx      # 0xe92f
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x40fb(%rip), %rsi      # 0xea22
leaq 0x40fa(%rip), %rdx      # 0xea28
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x40e4(%rip), %rsi      # 0xea37
leaq 0x40e9(%rip), %rdx      # 0xea43
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3fe4(%rip), %rsi      # 0xe963
leaq 0x3feb(%rip), %rdx      # 0xe971
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x4099(%rip), %rsi      # 0xea44
leaq 0x409e(%rip), %rdx      # 0xea50
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3ff9(%rip), %rsi      # 0xe9d0
leaq 0x3ffb(%rip), %rdx      # 0xe9d9
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3f6f(%rip), %rsi      # 0xe972
leaq 0x3f77(%rip), %rdx      # 0xe981
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3ffa(%rip), %rsi      # 0xea29
leaq 0x3ff9(%rip), %rdx      # 0xea2f
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3f53(%rip), %rsi      # 0xe9ae
leaq 0x3f57(%rip), %rdx      # 0xe9b9
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3f0b(%rip), %rsi      # 0xe992
leaq 0x3f13(%rip), %rdx      # 0xe9a1
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3ffd(%rip), %rsi      # 0xeab0
leaq 0x4003(%rip), %rdx      # 0xeabd
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3f72(%rip), %rsi      # 0xea51
leaq 0x3f77(%rip), %rdx      # 0xea5d
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3f25(%rip), %rsi      # 0xea30
leaq 0x3f24(%rip), %rdx      # 0xea36
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3f27(%rip), %rsi      # 0xea5e
leaq 0x3f2f(%rip), %rdx      # 0xea6d
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3f3c(%rip), %rsi      # 0xea9c
leaq 0x3f3e(%rip), %rdx      # 0xeaa5
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3f1d(%rip), %rsi      # 0xeaa6
leaq 0x3f1f(%rip), %rdx      # 0xeaaf
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
jmp 0xabcb
leaq -0x48(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x3edc(%rip), %rsi      # 0xea8e
leaq 0x3edb(%rip), %rdx      # 0xea94
callq 0x5366
leaq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
callq 0x8024
movsd -0x58(%rbp), %xmm0
movsd %xmm0, (%rax)
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0xabe9
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x32d0
movq -0x80(%rbp), %rdx
movq %rbx, %rdi
xorl %esi, %esi
leaq 0x3531(%rip), %rcx      # 0xe12a
xorl %r8d, %r8d
callq 0x33d0
incl %r13d
movq -0x98(%rbp), %rcx
incq %rcx
cmpq %r15, %rcx
jne 0xa589
cmpl $0x1f, %r13d
sete %r13b
movq -0x60(%rbp), %rbx
movb %r13b, 0x2710(%rbx)
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0xac46
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x32d0
movq -0xc8(%rbp), %rdi
testq %rdi, %rdi
je 0xac61
movq -0xb8(%rbp), %rsi
subq %rdi, %rsi
callq 0x32d0
movq -0xb0(%rbp), %rdi
testq %rdi, %rdi
je 0xac7c
movq -0xa0(%rbp), %rsi
subq %rdi, %rsi
callq 0x32d0
movq -0xe0(%rbp), %rdi
testq %rdi, %rdi
je 0xac97
movq -0xd0(%rbp), %rsi
subq %rdi, %rsi
callq 0x32d0
addq $0xb8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x3f18(%rip), %rdi      # 0xebc8
callq 0x3180
leaq 0x3f0c(%rip), %rdi      # 0xebc8
callq 0x3390
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
jmp 0xadae
jmp 0xae26
movq %rax, %r15
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0xae29
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x32d0
jmp 0xae29
jmp 0xae26
movq %rbx, -0x60(%rbp)
movq %rax, %r15
jmp 0xae45
movq %rbx, -0x60(%rbp)
movq %rax, %r15
jmp 0xae60
movq %rbx, -0x60(%rbp)
movq %rax, %r15
jmp 0xae7b
movq %rbx, -0x60(%rbp)
movq %rax, %r15
jmp 0xae96
jmp 0xae26
cmpl $0x0, (%r13)
jne 0xae07
movl -0x64(%rbp), %ecx
movl %ecx, (%r13)
movq %rax, %rdi
callq 0x30f0
movq -0x60(%rbp), %rax
movb $0x0, 0x2710(%rax)
callq 0x3400
jmp 0xac2a
jmp 0xae26
movq %rax, %r15
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0xae45
movq -0x78(%rbp), %rsi
incq %rsi
callq 0x32d0
movq -0xc8(%rbp), %rdi
testq %rdi, %rdi
je 0xae60
movq -0xb8(%rbp), %rsi
subq %rdi, %rsi
callq 0x32d0
movq -0xb0(%rbp), %rdi
testq %rdi, %rdi
je 0xae7b
movq -0xa0(%rbp), %rsi
subq %rdi, %rsi
callq 0x32d0
movq -0xe0(%rbp), %rdi
testq %rdi, %rdi
je 0xae96
movq -0xd0(%rbp), %rsi
subq %rdi, %rsi
callq 0x32d0
movq -0x50(%rbp), %rdi
callq 0xc8da
movq -0x60(%rbp), %rdi
callq 0x3290
movq %r15, %rdi
callq 0x3490
movq %rax, %rdi
callq 0x52ba