// File: /workspace/github_cpp_makefile_star2_O1/hzy1754785321[P]warehouse-manage-system/menu.cpp
// Function: MenuMain::menuShow()
void MenuMain::menuShow()
{
	int flag,x;
/*	readStop();
     while(stop>0)
	{
			system("clear");
			cout << "\033[31m limit login!" << endl << "\033[31m countdown:" << "\033[37m" << stop << endl;
			stop--;
			writeStop();
			sleep(1);
	}
*/
	Person* pt;
	while(1)
	{
			system("clear");
			showTime();
//			printf("\033[5mhhhhhhhh\033[5m\n");
		cout << "\t\t\t\t\t\033[31m★★★★★★★★★★★★★★★★★★★★★★★★★★★★\033[37m\n"
			 << "\t\t\t\t\t\033[5;34m欢迎来到何朝阳の仓库管理系统!\033[37m\n"
		     << "\t\t\t\t\t\033[31m★★★★★★★★★★★★★★★★★★★★★★★★★★★★\033[37m\n"
	         << "\t\t\t\t\t▶        1:admin            ◀\n"
			 <<	"\t\t\t\t\t▶        2:inPeople         ◀\n"
			 << "\t\t\t\t\t▶        3:outPeople        ◀\n"
			 << "\t\t\t\t\t▶        4:commonPeople     ◀\n" 
			 << "\t\t\t\t\t▶        5:exit             ◀\n"
			 << "\t\t\t\t\t▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲\n"
			 << "\t\t\t\t\t☛ please input your choice(1-5):" ;
	//	flashShow();
		cin >> flag;
		pp.readPeople();
		switch(flag)
		{
			case 1://pp.readPeople();
				   x=adminLogin();
				   if(x==0)
						   break;
				   if(ps!=NULL)
				   {
						   MenuAdmin m1(ps);
						   cout << "\033[1m \t\t\t\t\twelcome admin login" << endl;
						   cout << "\033[22m";
						   sleep(1);
						   m1.menuShow();
						   delete(ps);
						   ps=NULL;
				   }
				   else
						   cout << "error" << endl;
				   break;
			case 2://pp.readPeople();
				   pt=login();
				   if(pt!=NULL)
				   {
						   cout << "\033[1m \t\t\t\t\twelcome inPeople login" << endl;
						   cout << "\033[22m";
						   sleep(1);
						   ps=new InPeople(pt);
						   MenuIn m2(ps);
						   m2.menuShow();
						   delete(ps);
						   ps=NULL;
				   }
				   break;
			case 3://pp.readPeople();
				   pt=login();
				   if(pt!=NULL)
				   {
						   cout << "\033[1m \t\t\t\t\twelcome outPeople login" << endl;
						   cout << "\033[22m";
						   sleep(1);
						   ps=new OutPeople(pt);
						   MenuOut m3(ps);
						   m3.menuShow();
						   delete(ps);
						   ps=NULL;
				   }
				   break;
			case 4://pp.readPeople();
				   pt=login();
				   if(pt!=NULL)
				   {
						   cout << "\033[1m \t\t\t\t\twelcome commonPeople login" << endl;
						   cout << "\033[22m";
						   sleep(1);
						   ps=new CommonPeople(pt);
						   MenuCommon m4(ps);
						   m4.menuShow();
						   delete(ps);
						   ps=NULL;
				   }
				   break;
			case 5:cout << "\t\t\t\t\tbye!" << endl;
				   exit(0);
			default:
				   cout << "\t\t\t\t\tinput error!" << endl;
				   break;
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
leaq 0x10(%rdi), %r14
movq 0x78b7(%rip), %r12      # 0xefd0
leaq 0x30b6(%rip), %r13      # 0xa7d6
movq %r14, -0x60(%rbp)
leaq 0x30a5(%rip), %rdi      # 0xa7d0
callq 0x2170
callq 0x7c4e
movl $0x64, %edx
movq %r12, %rdi
movq %r13, %rsi
callq 0x2240
movl $0x3d, %edx
movq %r12, %rdi
leaq 0x30e7(%rip), %rsi      # 0xa83b
callq 0x2240
movl $0x64, %edx
movq %r12, %rdi
movq %r13, %rsi
callq 0x2240
movl $0x27, %edx
movq %r12, %rdi
leaq 0x3101(%rip), %rsi      # 0xa879
callq 0x2240
movl $0x27, %edx
movq %r12, %rdi
leaq 0x3115(%rip), %rsi      # 0xa8a1
callq 0x2240
movl $0x27, %edx
movq %r12, %rdi
leaq 0x3129(%rip), %rsi      # 0xa8c9
callq 0x2240
movl $0x27, %edx
movq %r12, %rdi
leaq 0x313d(%rip), %rsi      # 0xa8f1
callq 0x2240
movl $0x27, %edx
movq %r12, %rdi
leaq 0x3151(%rip), %rsi      # 0xa919
callq 0x2240
movl $0x5d, %edx
movq %r12, %rdi
leaq 0x3165(%rip), %rsi      # 0xa941
callq 0x2240
movl $0x27, %edx
movq %r12, %rdi
leaq 0x31af(%rip), %rsi      # 0xa99f
callq 0x2240
movq 0x77e4(%rip), %rdi      # 0xefe0
leaq -0x64(%rbp), %rsi
callq 0x20f0
movq %r14, %rdi
callq 0x451a
movl -0x64(%rbp), %eax
decl %eax
cmpl $0x4, %eax
ja 0x7ad0
leaq 0x2ede(%rip), %rcx      # 0xa700
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rbx, %rdi
callq 0x7e96
testq %rax, %rax
je 0x7724
movq %rax, %r15
movl $0x20, %edx
movq %r12, %rdi
leaq 0x31a3(%rip), %rsi      # 0xa9f1
callq 0x2240
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r12, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
movl $0x5, %edx
movq %r12, %rdi
leaq 0x315b(%rip), %rsi      # 0xa9e5
callq 0x2240
movl $0x1, %edi
callq 0x2130
movl $0xb8, %edi
callq 0x21e0
movq %rax, %r14
movq %rax, %rdi
movq %r15, %rsi
callq 0x52e6
movq %r14, 0x40(%rbx)
movl $0x0, -0x50(%rbp)
leaq 0x7425(%rip), %r15      # 0xece8
movq %r15, -0x58(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x333e
movq %r14, %rdi
leaq 0x7346(%rip), %rsi      # 0xec20
leaq 0x734f(%rip), %rdx      # 0xec30
xorl %ecx, %ecx
callq 0x2220
movq %rax, -0x48(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x87b0
jmp 0x7a93
movq %rbx, %rdi
callq 0x7e96
testq %rax, %rax
je 0x7724
movq %rax, %r15
movl $0x24, %edx
movq %r12, %rdi
leaq 0x3117(%rip), %rsi      # 0xaa34
callq 0x2240
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r12, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
movl $0x5, %edx
movq %r12, %rdi
leaq 0x308c(%rip), %rsi      # 0xa9e5
callq 0x2240
movl $0x1, %edi
callq 0x2130
movl $0xb8, %edi
callq 0x21e0
movq %rax, %r14
movq %rax, %rdi
movq %r15, %rsi
callq 0x534c
movq %r14, 0x40(%rbx)
movl $0x0, -0x50(%rbp)
leaq 0x7386(%rip), %r15      # 0xed18
movq %r15, -0x58(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x333e
movq %r14, %rdi
leaq 0x7277(%rip), %rsi      # 0xec20
leaq 0x72b0(%rip), %rdx      # 0xec60
xorl %ecx, %ecx
callq 0x2220
movq %rax, -0x48(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x8be0
jmp 0x7a93
movq %rbx, %rdi
callq 0x7e96
testq %rax, %rax
je 0x7724
movq %rax, %r15
movl $0x21, %edx
movq %r12, %rdi
leaq 0x3026(%rip), %rsi      # 0xaa12
callq 0x2240
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r12, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
movl $0x5, %edx
movq %r12, %rdi
leaq 0x2fbd(%rip), %rsi      # 0xa9e5
callq 0x2240
movl $0x1, %edi
callq 0x2130
movl $0xb8, %edi
callq 0x21e0
movq %rax, %r14
movq %rax, %rdi
movq %r15, %rsi
callq 0x5318
movq %r14, 0x40(%rbx)
movl $0x0, -0x50(%rbp)
leaq 0x729f(%rip), %r15      # 0xed00
movq %r15, -0x58(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x333e
movq %r14, %rdi
leaq 0x71a8(%rip), %rsi      # 0xec20
leaq 0x71c9(%rip), %rdx      # 0xec48
xorl %ecx, %ecx
callq 0x2220
movq %rax, -0x48(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x89ec
movq 0x40(%rbx), %rdi
testq %rdi, %rdi
je 0x7aa2
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0x40(%rbx)
movq %r15, -0x58(%rbp)
movq -0x40(%rbp), %rdi
testq %rdi, %rdi
movq -0x60(%rbp), %r14
je 0x7724
movq -0x30(%rbp), %rsi
subq %rdi, %rsi
callq 0x21f0
jmp 0x7724
movl $0x11, %edx
movq %r12, %rdi
leaq 0x26aa(%rip), %rsi      # 0xa189
callq 0x2240
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r12, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
jmp 0x7724
movq %rbx, %rdi
callq 0x2420
testl %eax, %eax
je 0x7724
movq 0x40(%rbx), %rsi
testq %rsi, %rsi
je 0x7bce
leaq -0x58(%rbp), %rdi
callq 0x8dd8
movl $0x1d, %edx
movq %r12, %rdi
leaq 0x2e81(%rip), %rsi      # 0xa9c7
callq 0x2240
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x21c0
movsbl %al, %esi
movq %r12, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2110
movl $0x5, %edx
movq %r12, %rdi
leaq 0x2e63(%rip), %rsi      # 0xa9e5
callq 0x2240
movl $0x1, %edi
callq 0x2130
leaq -0x58(%rbp), %rdi
callq 0x7cea
movq 0x40(%rbx), %rdi
testq %rdi, %rdi
je 0x7ba9
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0x40(%rbx)
leaq 0x7118(%rip), %rax      # 0xecd0
movq %rax, -0x58(%rbp)
movq -0x40(%rbp), %rdi
testq %rdi, %rdi
jne 0x7abf
jmp 0x7724
movl $0x5, %edx
movq %r12, %rdi
leaq 0x2e0e(%rip), %rsi      # 0xa9eb
jmp 0x7adf
movq 0x73e7(%rip), %rdi      # 0xefd0
leaq 0x2e69(%rip), %rsi      # 0xaa59
callq 0x21d0
movq %rax, %rdi
callq 0x20d0
xorl %edi, %edi
callq 0x2250
movq %rax, %rbx
leaq 0x70c2(%rip), %rax      # 0xecd0
movq %rax, -0x58(%rbp)
jmp 0x7c1f
jmp 0x7c18
jmp 0x7c18
movq %rax, %rbx
movq %r15, -0x58(%rbp)
movq -0x40(%rbp), %rdi
testq %rdi, %rdi
je 0x7c45
movq -0x30(%rbp), %rsi
subq %rdi, %rsi
jmp 0x7c40
jmp 0x7c35
jmp 0x7c35
movq %rax, %rbx
movl $0xb8, %esi
movq %r14, %rdi
callq 0x21f0
movq %rbx, %rdi
callq 0x2350
nop