// File: /workspace/github_cpp_makefile_star2_O1/nwieder[P]SSTS/src/Input/Standard_Ipt.cpp
// Function: nw::Standard_Ipt::read_Species(pugi::xml_node const&)
void Standard_Ipt::read_Species(xml_node const& nod){
	cout << "read_Species...",
	info_path << "############ SPECIES ############" << endl;

	xml_node_iterator spc_it;  //voxel iterator, voxel element iterator, list iterator

//	read all Standard Species
	for (spc_it = nod.child("standardSpcList").begin(); spc_it !=
			nod.child("standardSpcList").end(); ++spc_it){
// 		create new standard species struct
		Standard_Ipt::xml_spc* xspc = new Standard_Ipt::xml_spc;
		xspc->xml_id = atol(spc_it->attribute("id").value());
		info_path<< "id: " << xspc->xml_id;
		xspc->xml_name = (string)spc_it->child_value("name");
		info_path<< ", name: " << xspc->xml_name;
		xspc->xml_init_conc = atof(spc_it->child_value("initialConcentration"));
		info_path<< ", initConc:" << xspc->xml_init_conc;
		info_path<< endl;
		xgd.xml_spc_list.push_back(xspc);
	}

//	read all Channel Species
	for (spc_it = nod.child("channelSpcList").begin(); spc_it !=
			nod.child("channelSpcList").end(); ++spc_it){
// 		create new channel species struct
		Standard_Ipt::xml_Ch_Spc* xspc = new Standard_Ipt::xml_Ch_Spc;
		xspc->xml_id = atol(spc_it->attribute("id").value());
		info_path<< "id: " << xspc->xml_id;
		xspc->xml_name = (string)spc_it->child_value("name");
		info_path<< ", name: " << xspc->xml_name;
		xspc->xml_init_conc = atof(spc_it->child_value("initialConcentration"));
		info_path<< ", initConc:" << xspc->xml_init_conc;
		xspc->xml_n_subunits = atol(spc_it->child_value("nSubUnits"));
		info_path<< ", n_subunits:" << xspc->xml_n_subunits;
		xspc->xml_n_suToOpen = atol(spc_it->child_value("nSubUnitsToOpen"));
		info_path<< ", n_suToOpen:" << xspc->xml_n_suToOpen;
		info_path<< endl;
		xgd.xml_ch_spc_list.push_back(xspc);
	}

	cout << "DONE" << endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rsi, %r14
movq %rdi, %r15
movq 0x2adad(%rip), %rdi     # 0x32fc8
leaq 0x1c211(%rip), %rsi     # 0x24433
movl $0xf, %edx
callq 0x42f0
leaq 0x248(%r15), %r12
leaq 0x1c209(%rip), %rsi     # 0x24443
movl $0x21, %edx
movq %r12, %rdi
callq 0x42f0
movq 0x248(%r15), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x4280
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x4190
leaq 0x38(%rsp), %rbx
movq %rbx, %rdi
callq 0x157f8
leaq 0x1c1df(%rip), %r13     # 0x24465
movq %r14, %rdi
movq %r13, %rsi
callq 0x10c1e
leaq 0x10(%rsp), %rbp
movq %rax, (%rbp)
movq %rbp, %rdi
callq 0x10b8a
movq %rax, (%rbx)
movq %rdx, 0x8(%rbx)
movq %r14, %rdi
movq %r13, %rsi
callq 0x10c1e
movq %rsp, %rdi
movq %rax, (%rdi)
callq 0x10b9a
movq %rax, (%rbp)
movq %rdx, 0x8(%rbp)
leaq 0x10(%rsp), %rsi
movq %rbx, %rdi
callq 0x1583a
testb %al, %al
je 0x84ce
leaq 0x140(%r15), %rax
movq %rax, 0x30(%rsp)
leaq 0x38(%rsp), %r13
leaq 0x10(%rsp), %rbx
movq %rsp, %rbp
movl $0x30, %edi
callq 0x42b0
leaq 0x18(%rax), %rcx
movq %rcx, 0x8(%rax)
movq $0x0, 0x10(%rax)
movb $0x0, 0x18(%rax)
movq %rax, (%rsp)
movq %r13, %rdi
callq 0x1587a
movq %rax, %rdi
leaq 0x1c5cb(%rip), %rsi     # 0x248f4
callq 0x10d60
movq %rax, 0x10(%rsp)
movq %rbx, %rdi
callq 0x10370
movq %rax, %rdi
callq 0x4320
movq (%rsp), %rcx
movq %rax, (%rcx)
movl $0x4, %edx
movq %r12, %rdi
leaq 0x1c11c(%rip), %rsi     # 0x24475
callq 0x42f0
movq (%rsp), %rax
movq (%rax), %rsi
movq %r12, %rdi
callq 0x4270
movq %r13, %rdi
callq 0x1587a
movq %rax, %rdi
leaq 0x1ef05(%rip), %rsi     # 0x27284
callq 0x10fc8
movq %rbx, %rdi
movq %rax, %rsi
leaq 0xf(%rsp), %rdx
callq 0xbaf2
movq (%rsp), %rdi
addq $0x8, %rdi
movq %rbx, %rsi
callq 0x4340
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x83c0
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x42c0
movl $0x8, %edx
movq %r12, %rdi
leaq 0x1c0ab(%rip), %rsi     # 0x2447a
callq 0x42f0
movq (%rsp), %rax
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rdx
movq %r12, %rdi
callq 0x42f0
movq %r13, %rdi
callq 0x1587a
movq %rax, %rdi
leaq 0x1c089(%rip), %rsi     # 0x24483
callq 0x10fc8
movq %rax, %rdi
callq 0x4350
movq (%rsp), %rax
movsd %xmm0, 0x28(%rax)
movl $0xb, %edx
movq %r12, %rdi
leaq 0x1c079(%rip), %rsi     # 0x24498
callq 0x42f0
movq (%rsp), %rax
movsd 0x28(%rax), %xmm0
movq %r12, %rdi
callq 0x4480
movq 0x248(%r15), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x4280
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x4190
movq 0x148(%r15), %rsi
cmpq 0x150(%r15), %rsi
je 0x8481
movq (%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x148(%r15)
jmp 0x848e
movq 0x30(%rsp), %rdi
movq %rbp, %rdx
callq 0xd35a
movq %r13, %rdi
callq 0x158a4
movq %r14, %rdi
leaq 0x1bfc5(%rip), %rsi     # 0x24465
callq 0x10c1e
movq %rax, (%rsp)
movq %rbp, %rdi
callq 0x10b9a
movq %rax, 0x10(%rsp)
movq %rdx, 0x18(%rsp)
movq %r13, %rdi
movq %rbx, %rsi
callq 0x1583a
testb %al, %al
jne 0x82f5
leaq 0x1bfcf(%rip), %rbx     # 0x244a4
movq %r14, %rdi
movq %rbx, %rsi
callq 0x10c1e
leaq 0x10(%rsp), %r13
movq %rax, (%r13)
movq %r13, %rdi
callq 0x10b8a
leaq 0x38(%rsp), %rbp
movq %rax, (%rbp)
movq %rdx, 0x8(%rbp)
movq %r14, %rdi
movq %rbx, %rsi
callq 0x10c1e
movq %rsp, %rdi
movq %rax, (%rdi)
callq 0x10b9a
movq %rax, (%r13)
movq %rdx, 0x8(%r13)
leaq 0x10(%rsp), %rsi
movq %rbp, %rdi
callq 0x1583a
testb %al, %al
je 0x87b9
leaq 0x158(%r15), %rax
movq %rax, 0x30(%rsp)
leaq 0x38(%rsp), %rbp
leaq 0x10(%rsp), %r13
movq %rsp, %rbx
movl $0x40, %edi
callq 0x42b0
leaq 0x18(%rax), %rcx
movq %rcx, 0x8(%rax)
movq $0x0, 0x10(%rax)
movb $0x0, 0x18(%rax)
movq %rax, (%rsp)
movq %rbp, %rdi
callq 0x1587a
movq %rax, %rdi
leaq 0x1c376(%rip), %rsi     # 0x248f4
callq 0x10d60
movq %rax, 0x10(%rsp)
movq %r13, %rdi
callq 0x10370
movq %rax, %rdi
callq 0x4320
movq (%rsp), %rcx
movq %rax, (%rcx)
movl $0x4, %edx
movq %r12, %rdi
leaq 0x1bec7(%rip), %rsi     # 0x24475
callq 0x42f0
movq (%rsp), %rax
movq (%rax), %rsi
movq %r12, %rdi
callq 0x4270
movq %rbp, %rdi
callq 0x1587a
movq %rax, %rdi
leaq 0x1ecb0(%rip), %rsi     # 0x27284
callq 0x10fc8
movq %r13, %rdi
movq %rax, %rsi
leaq 0xf(%rsp), %rdx
callq 0xbaf2
movq (%rsp), %rdi
addq $0x8, %rdi
movq %r13, %rsi
callq 0x4340
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x8615
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x42c0
movl $0x8, %edx
movq %r12, %rdi
leaq 0x1be56(%rip), %rsi     # 0x2447a
callq 0x42f0
movq (%rsp), %rax
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rdx
movq %r12, %rdi
callq 0x42f0
movq %rbp, %rdi
callq 0x1587a
movq %rax, %rdi
leaq 0x1be34(%rip), %rsi     # 0x24483
callq 0x10fc8
movq %rax, %rdi
callq 0x4350
movq (%rsp), %rax
movsd %xmm0, 0x28(%rax)
movl $0xb, %edx
movq %r12, %rdi
leaq 0x1be24(%rip), %rsi     # 0x24498
callq 0x42f0
movq (%rsp), %rax
movsd 0x28(%rax), %xmm0
movq %r12, %rdi
callq 0x4480
movq %rbp, %rdi
callq 0x1587a
movq %rax, %rdi
leaq 0x1be17(%rip), %rsi     # 0x244b3
callq 0x10fc8
movq %rax, %rdi
callq 0x4320
movq (%rsp), %rcx
movq %rax, 0x30(%rcx)
movl $0xd, %edx
movq %r12, %rdi
leaq 0x1bdfd(%rip), %rsi     # 0x244bd
callq 0x42f0
movq (%rsp), %rax
movq 0x30(%rax), %rsi
movq %r12, %rdi
callq 0x4270
movq %rbp, %rdi
callq 0x1587a
movq %rax, %rdi
leaq 0x1bde4(%rip), %rsi     # 0x244cb
callq 0x10fc8
movq %rax, %rdi
callq 0x4320
movq (%rsp), %rcx
movq %rax, 0x38(%rcx)
movl $0xd, %edx
movq %r12, %rdi
leaq 0x1bdd0(%rip), %rsi     # 0x244db
callq 0x42f0
movq (%rsp), %rax
movq 0x38(%rax), %rsi
movq %r12, %rdi
callq 0x4270
movq 0x248(%r15), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x4280
movsbl %al, %esi
movq %r12, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x4190
movq 0x160(%r15), %rsi
cmpq 0x168(%r15), %rsi
je 0x876c
movq (%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x160(%r15)
jmp 0x8779
movq 0x30(%rsp), %rdi
movq %rbx, %rdx
callq 0xd496
movq %rbp, %rdi
callq 0x158a4
movq %r14, %rdi
leaq 0x1bd19(%rip), %rsi     # 0x244a4
callq 0x10c1e
movq %rax, (%rsp)
movq %rbx, %rdi
callq 0x10b9a
movq %rax, 0x10(%rsp)
movq %rdx, 0x18(%rsp)
movq %rbp, %rdi
movq %r13, %rsi
callq 0x1583a
testb %al, %al
jne 0x854a
leaq 0x1bd29(%rip), %rsi     # 0x244e9
movl $0x4, %edx
movq 0x2a7fc(%rip), %rbx     # 0x32fc8
movq %rbx, %rdi
callq 0x42f0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x4280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x4190
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq