// File: 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
subq $0x170, %rsp            # imm = 0x170
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xf0(%rbp)
leaq 0x350f(%rip), %rdi      # 0xe820
callq 0x2190
movq -0xf0(%rbp), %rdi
callq 0xb940
movq 0x9ca7(%rip), %rdi      # 0x14fd0
leaq 0x34f6(%rip), %rsi      # 0xe826
movq %rsi, -0x100(%rbp)
callq 0x21e0
movq %rax, %rdi
leaq 0x3545(%rip), %rsi      # 0xe88b
callq 0x21e0
movq -0x100(%rbp), %rsi
movq %rax, %rdi
callq 0x21e0
movq %rax, %rdi
leaq 0x3565(%rip), %rsi      # 0xe8c9
callq 0x21e0
movq %rax, %rdi
leaq 0x357e(%rip), %rsi      # 0xe8f1
callq 0x21e0
movq %rax, %rdi
leaq 0x3597(%rip), %rsi      # 0xe919
callq 0x21e0
movq %rax, %rdi
leaq 0x35b0(%rip), %rsi      # 0xe941
callq 0x21e0
movq %rax, %rdi
leaq 0x35c9(%rip), %rsi      # 0xe969
callq 0x21e0
movq %rax, %rdi
leaq 0x35e2(%rip), %rsi      # 0xe991
callq 0x21e0
movq %rax, %rdi
leaq 0x3631(%rip), %rsi      # 0xe9ef
callq 0x21e0
movq 0x9c16(%rip), %rdi      # 0x14fe0
leaq -0xc(%rbp), %rsi
callq 0x20f0
movq -0xf0(%rbp), %rdi
addq $0x10, %rdi
callq 0x3cc0
movl -0xc(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0xf8(%rbp)
subl $0x4, %eax
ja 0xb90e
movq -0xf8(%rbp), %rax
leaq 0x3348(%rip), %rcx      # 0xe750
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0xf0(%rbp), %rdi
callq 0xb9b0
movl %eax, -0x10(%rbp)
cmpl $0x0, -0x10(%rbp)
jne 0xb42b
jmp 0xb930
movq -0xf0(%rbp), %rax
cmpq $0x0, 0x40(%rax)
je 0xb507
movq -0xf0(%rbp), %rax
movq 0x40(%rax), %rsi
leaq -0x48(%rbp), %rdi
callq 0xd0e0
movq 0x9b78(%rip), %rdi      # 0x14fd0
leaq 0x35b8(%rip), %rsi      # 0xea17
callq 0x21e0
movq %rax, -0x108(%rbp)
jmp 0xb46d
movq -0x108(%rbp), %rdi
movq 0x9b45(%rip), %rsi      # 0x14fc0
callq 0x2210
jmp 0xb482
movq 0x9b47(%rip), %rdi      # 0x14fd0
leaq 0x35a5(%rip), %rsi      # 0xea35
callq 0x21e0
jmp 0xb497
movl $0x1, %edi
callq 0x2140
jmp 0xb4a3
leaq -0x48(%rbp), %rdi
callq 0xc220
jmp 0xb4ae
movq -0xf0(%rbp), %rax
movq 0x40(%rax), %rax
movq %rax, -0x110(%rbp)
cmpq $0x0, %rax
je 0xb4d3
movq -0x110(%rbp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
movq -0xf0(%rbp), %rax
movq $0x0, 0x40(%rax)
leaq -0x48(%rbp), %rdi
callq 0xd5f0
jmp 0xb529
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x48(%rbp), %rdi
callq 0xd5f0
jmp 0xb935
movq 0x9ac2(%rip), %rdi      # 0x14fd0
leaq 0x3526(%rip), %rsi      # 0xea3b
callq 0x21e0
movq %rax, %rdi
movq 0x9a9c(%rip), %rsi      # 0x14fc0
callq 0x2210
jmp 0xb930
movq -0xf0(%rbp), %rdi
callq 0xc3c0
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0xb669
movq 0x9a80(%rip), %rdi      # 0x14fd0
movq %rdi, -0x120(%rbp)
leaq 0x34e3(%rip), %rsi      # 0xea41
callq 0x21e0
movq %rax, %rdi
movq 0x9a53(%rip), %rsi      # 0x14fc0
callq 0x2210
movq -0x120(%rbp), %rdi
leaq 0x34b5(%rip), %rsi      # 0xea35
callq 0x21e0
movl $0x1, %edi
callq 0x2140
movl $0xb8, %edi
callq 0x21f0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x118(%rbp)
movq -0x18(%rbp), %rsi
callq 0x4b40
jmp 0xb5b1
movq -0xf0(%rbp), %rax
movq -0x118(%rbp), %rcx
movq %rcx, 0x40(%rax)
movq 0x40(%rax), %rsi
leaq -0x88(%rbp), %rdi
movq %rdi, -0x128(%rbp)
callq 0xd170
movq -0x128(%rbp), %rdi
callq 0xcb00
jmp 0xb5e8
movq -0xf0(%rbp), %rax
movq 0x40(%rax), %rax
movq %rax, -0x130(%rbp)
cmpq $0x0, %rax
je 0xb60d
movq -0x130(%rbp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
movq -0xf0(%rbp), %rax
movq $0x0, 0x40(%rax)
leaq -0x88(%rbp), %rdi
callq 0xd620
jmp 0xb669
movq -0x118(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
movl $0xb8, %esi
callq 0x2200
jmp 0xb935
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x88(%rbp), %rdi
callq 0xd620
jmp 0xb935
jmp 0xb930
movq -0xf0(%rbp), %rdi
callq 0xc3c0
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0xb7a9
movq 0x9940(%rip), %rdi      # 0x14fd0
movq %rdi, -0x140(%rbp)
leaq 0x33c4(%rip), %rsi      # 0xea62
callq 0x21e0
movq %rax, %rdi
movq 0x9913(%rip), %rsi      # 0x14fc0
callq 0x2210
movq -0x140(%rbp), %rdi
leaq 0x3375(%rip), %rsi      # 0xea35
callq 0x21e0
movl $0x1, %edi
callq 0x2140
movl $0xb8, %edi
callq 0x21f0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x138(%rbp)
movq -0x18(%rbp), %rsi
callq 0x4b90
jmp 0xb6f1
movq -0xf0(%rbp), %rax
movq -0x138(%rbp), %rcx
movq %rcx, 0x40(%rax)
movq 0x40(%rax), %rsi
leaq -0xb8(%rbp), %rdi
movq %rdi, -0x148(%rbp)
callq 0xd200
movq -0x148(%rbp), %rdi
callq 0xcd10
jmp 0xb728
movq -0xf0(%rbp), %rax
movq 0x40(%rax), %rax
movq %rax, -0x150(%rbp)
cmpq $0x0, %rax
je 0xb74d
movq -0x150(%rbp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
movq -0xf0(%rbp), %rax
movq $0x0, 0x40(%rax)
leaq -0xb8(%rbp), %rdi
callq 0xd650
jmp 0xb7a9
movq -0x138(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
movl $0xb8, %esi
callq 0x2200
jmp 0xb935
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0xd650
jmp 0xb935
jmp 0xb930
movq -0xf0(%rbp), %rdi
callq 0xc3c0
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0xb8e3
movq 0x9800(%rip), %rdi      # 0x14fd0
movq %rdi, -0x160(%rbp)
leaq 0x32a6(%rip), %rsi      # 0xea84
callq 0x21e0
movq %rax, %rdi
movq 0x97d3(%rip), %rsi      # 0x14fc0
callq 0x2210
movq -0x160(%rbp), %rdi
leaq 0x3235(%rip), %rsi      # 0xea35
callq 0x21e0
movl $0x1, %edi
callq 0x2140
movl $0xb8, %edi
callq 0x21f0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x158(%rbp)
movq -0x18(%rbp), %rsi
callq 0x4be0
jmp 0xb831
movq -0xf0(%rbp), %rax
movq -0x158(%rbp), %rcx
movq %rcx, 0x40(%rax)
movq 0x40(%rax), %rsi
leaq -0xe8(%rbp), %rdi
movq %rdi, -0x168(%rbp)
callq 0xd290
movq -0x168(%rbp), %rdi
callq 0xcef0
jmp 0xb868
movq -0xf0(%rbp), %rax
movq 0x40(%rax), %rax
movq %rax, -0x170(%rbp)
cmpq $0x0, %rax
je 0xb88d
movq -0x170(%rbp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
movq -0xf0(%rbp), %rax
movq $0x0, 0x40(%rax)
leaq -0xe8(%rbp), %rdi
callq 0xd680
jmp 0xb8e3
movq -0x158(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
movl $0xb8, %esi
callq 0x2200
jmp 0xb935
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0xd680
jmp 0xb935
jmp 0xb930
movq 0x96e4(%rip), %rdi      # 0x14fd0
leaq 0x31b6(%rip), %rsi      # 0xeaa9
callq 0x21e0
movq %rax, %rdi
movq 0x96be(%rip), %rsi      # 0x14fc0
callq 0x2210
xorl %edi, %edi
callq 0x2250
movq 0x96bb(%rip), %rdi      # 0x14fd0
leaq 0x288d(%rip), %rsi      # 0xe1a9
callq 0x21e0
movq %rax, %rdi
movq 0x9695(%rip), %rsi      # 0x14fc0
callq 0x2210
jmp 0xb30a
movq -0x50(%rbp), %rdi
callq 0x2350
nop