Index: YCkbTool.bat
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/YCkbTool.bat	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/YCkbTool.bat	(working copy)
@@ -22,7 +22,13 @@
 
 util\hex2mif.exe < output\fw.hex ram > output\fwram.rom
 copy .\patch\kb.dat + .\patch\rf.dat .\patch\sch.rom 
-util\transform_name2addr.exe .\patch\sch.rom .\output\sched.rom .\patch\memmap.format
+
+cd util
+perl DeleteNote.pl ..\patch\sch.rom
+perl transform_name2addr.pl ..\patch\sch.rom ..\output\sched.rom ..\patch\memmap.format
+perl sortsched.pl ..\output\sched.rom ..\output\sched.rom
+cd ..
+
 copy .\patch\ramcode.rom .\output\
 copy .\patch\geneep.exe .\output\
 copy .\output\*.obj .\patch\*.obj
Index: adc.h
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/adc.h	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/adc.h	(working copy)
@@ -1,16 +1,17 @@
 #ifndef _ADC_H
 #define _ADC_H
 #include "common.h"
+
 #define ADC_ENABLE
+//#define ADC_TYPE_VINLPM			0x01	// 1.8V~3.6V
+//#define ADC_TYPE_HVIN			0x02	// 3.0~5.5V
+#define ADC_TYPE_GPIO			0x04	// 0~1.5V
 
 
 // GPIO5 0x30,   GPIO6 0x31,   GPIO7 0x32,
 //GPIO18 0x33,   GPIO19 0x34,   GPIO20 0x35,   GPIO21 0x36,    GPIO22 0x37
 #define ADC_CHANNEL				0x37	
 
-#define ADC_TYPE_VINLPM			0x01	// 1.8V~3.6V
-#define ADC_TYPE_HVIN			0x02	// 3.0~5.5V
-#define ADC_TYPE_GPIO			0x04	// 0~1.5V
 
 #define BAT_STATUS_NONE			0
 #define BAT_STATUS_LOW				1
@@ -19,6 +20,8 @@
 //battery check
 #define BATTERY_CHECK_INTERVAL 		5			// 500ms*5 = 2.5s
 #define INIT_BATTERY_VALUE   				0x7990
+#define INIT_BATTERY_VALUE_GPIO			0x6262
+#define INIT_BATTERY_VALUE_VINLPM		0x5151
 #define LOW_BATTERY_FLASH_INTERVAL	4	
 
 // battery to gpio R = 1M
@@ -26,6 +29,10 @@
 #define LOW_BATTER_COEFFICIENT_1V0       0.27
 #define LOW_BATTER_COEFFICIENT_0V9	0.19
 
+#define LOW_BATTER_COEFFICIENT_2V2   	0.74
+#define LOW_BATTER_COEFFICIENT_2V0       0.67
+
+
 #define LOW_BATTER_COEFFICIENT_3V3   	1.11
 #define LOW_BATTER_COEFFICIENT_3V2       1.07
 #define LOW_BATTER_COEFFICIENT_3V1	1.04
Index: adc.c
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/adc.c	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/adc.c	(working copy)
@@ -2,45 +2,46 @@
 
 void YC_adc_init()
 {
+#ifdef  ADC_ENABLE
 	byte i;
-	#ifndef  ADC_ENABLE
-		return;
-	#endif	
-	m_adc_channel = ADC_CHANNEL;
+	
 	g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
 	g_variable.battery_value_index = 0;
+
+#ifdef ADC_TYPE_HVIN 	
 	for (i = 0; i < BAT_ARRAY_LEN; i++)
 	{
 		g_variable.battery_value[i] = INIT_BATTERY_VALUE;
 	}
 
-	
-	if(m_adc_config_flag == ADC_TYPE_HVIN)
-	{
-		g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_3V2+m_adc0vBase;
-		g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_3V0+m_adc0vBase;
-	}
-	else if(m_adc_config_flag == ADC_TYPE_VINLPM)
+	g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_3V2+m_adc0vBase;
+	g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_3V0+m_adc0vBase;
+#endif
+#ifdef ADC_TYPE_VINLPM
+		for (i = 0; i < BAT_ARRAY_LEN; i++)
+		{
+			g_variable.battery_value[i] = INIT_BATTERY_VALUE_VINLPM;
+		}
+		g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_2V2+m_adc0vBase;
+		g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_2V0+m_adc0vBase;
+#endif
+#ifdef ADC_TYPE_GPIO
+	m_adc_channel = ADC_CHANNEL;
+	for (i = 0; i < BAT_ARRAY_LEN; i++)
 	{
-
+		g_variable.battery_value[i] = INIT_BATTERY_VALUE_GPIO;
 	}
-	else
-	{
 		g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_1V1+m_adc0vBase;
 		g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_0V9+m_adc0vBase;
-	}
-	
+#endif	
+#endif
 }
 
 void YC_adc_check() 
 {
+#ifdef  ADC_ENABLE
 	byte i;
 	ulong batValue = 0;
-	#ifndef  ADC_ENABLE
-		return;
-	#endif	
-//	if(m_adcCurrentValue < m_adc0vBase) 
-//		return;
 
 	g_variable.battery_value[g_variable.battery_value_index++] = m_adcCurrentValue;
 	if (g_variable.battery_value_index >= BAT_ARRAY_LEN)
@@ -68,12 +69,13 @@
 			m_24g_enter_hibernate[2] = 0x5d;		// 510ms
 		}
 	}
-	
+#endif	
 }
 
 
 void YC_adc_check_timer500ms()
 {
+#ifdef  ADC_ENABLE
 	// adc check timer	
 	if (g_variable.battery_check_interval)
 	{
@@ -84,6 +86,7 @@
 			YC_adc_check();
 		}
 	}
+#endif	
 }
 
 
Index: global_variable.h
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/global_variable.h	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/global_variable.h	(working copy)
@@ -94,6 +94,7 @@
 	 byte key_combination_ctrl;				// 0x4cf5
 	 byte key_combination_keyvalue;		// 0x4cf6
 	 byte battery_low_led_flash_flag;		// 0x4cf7
+	 byte one_key_press_wait_release_timer;
 	
 	 byte mouse_data_send_flag;
 	 byte sensor_key;
Index: global_variable.c
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/global_variable.c	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/global_variable.c	(working copy)
@@ -80,11 +80,11 @@
 24,	    		//C8	
 25,    		//C9
 23,    		//C10
-21,    		//C11
-20,    		//C12
-19,    		//C13
+20,    		//C11
+19,    		//C12
+18,    		//C13
 17,    		//C14
-22,    		//C15
+21,    		//C15
 27,    		//C16
 28,    		//C17
 };
Index: kb_process.h
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/kb_process.h	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/kb_process.h	(working copy)
@@ -24,17 +24,17 @@
 #define CAMBINATION_KEY_COMPLETE			3
 #define CAMBINATION_KEY_WAIT_RELEASE 		4
 #define CAMBINATION_KEY_RELEASE			5	
+#define CAMBINATION_KEY_NULL				6
 
 
 //gipo
-#define NUM_LOCK_LED_GPIO    	0x10
-#define CAPS_LED_GPIO		  	0x0f
+#define NUM_LOCK_LED_GPIO    	0xff
+#define CAPS_LED_GPIO		  	0xff
 
 #define EEPROM_WP_GPIO			0xff
-#define BT_LED_GPIO		  		0x1F
-#define BT2_LED_GPIO				0x1E
-#define LOWPOWER_LED_GPIO		0x1D
-#define G24_LED_GPIO				0x1D
+#define BT_LED_GPIO		  		0xff
+#define LOWPOWER_LED_GPIO		30
+#define G24_LED_GPIO				30
 
 
 
Index: kb_process.c
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/kb_process.c	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/kb_process.c	(working copy)
@@ -170,33 +170,39 @@
 
 void kb_need_keyscan()
 {
-	if((g_variable.key_combination_step == CAMBINATION_KEY_FREE)
-	||(g_variable.key_combination_step == CAMBINATION_KEY_PRESS)
-	||(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE)
-	)
-		kb_motion();
-	else
-	{
-		
-		if(g_variable.key_combination_step == CAMBINATION_KEY_HOLD)
-		{	
-			g_variable.key_combination_step = CAMBINATION_KEY_COMPLETE;
-			kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
-		}
-		else if(g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE)
-		{
-			g_variable.key_combination_keyvalue = 0;
-			g_variable.key_combination_step = CAMBINATION_KEY_RELEASE;
-			kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
-		}
-		else if(g_variable.key_combination_step == CAMBINATION_KEY_RELEASE)
+		if((g_variable.key_combination_step == CAMBINATION_KEY_FREE)
+		||(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE)
+		|| (g_variable.key_combination_step == CAMBINATION_KEY_RELEASE)
+		)
+			kb_motion();
+		else
 		{
-			g_variable.key_combination_ctrl = 0;
-			g_variable.key_combination_keyvalue = 0;
-			g_variable.key_combination_step = CAMBINATION_KEY_FREE;
-			kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
+			if(g_variable.key_combination_step == CAMBINATION_KEY_PRESS)
+			{
+				kb_send_combination_key(g_variable.key_combination_ctrl,0);
+				g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
+			}
+			else if(g_variable.key_combination_step == CAMBINATION_KEY_HOLD)
+			{	
+				g_variable.key_combination_step = CAMBINATION_KEY_COMPLETE;
+				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
+			}
+			else if(g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE)
+			{
+				g_variable.key_combination_keyvalue = 0;
+				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
+				g_variable.key_combination_ctrl = 0;
+				g_variable.key_combination_step = CAMBINATION_KEY_RELEASE;
+			}
+			else if(g_variable.key_combination_step == CAMBINATION_KEY_NULL)
+			{
+				g_variable.key_combination_keyvalue = 0;
+				g_variable.key_combination_ctrl = 0;
+				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
+				g_variable.key_combination_step = CAMBINATION_KEY_FREE;
+			}
 		}
-	}
+
 }
 
 
@@ -249,13 +255,10 @@
 	}
 
 	m_power_on_flag = 1;
-	if(g_variable.key_combination_step == CAMBINATION_KEY_PRESS)
+	if( (g_variable.key_combination_step == CAMBINATION_KEY_PRESS) ||
+	    (g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE) ||
+	    (g_variable.key_combination_step == CAMBINATION_KEY_HOLD))
 	{
-		hidBuff[0] = HID_REPORTID_1;
-		hidBuff[1] |= g_variable.key_combination_ctrl;
-		hidBuff[3] = 0x00; 
-		IPC_TxHidData(hidBuff, 9);
-		g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
 		return;
 	}
 
@@ -313,31 +316,26 @@
 /////////////////////////////////////////////////////////////////
 
 
-byte key_replace(byte key_state, byte key_value , byte key_replace_value )
+void kb_combination_key_press(byte press_state,byte special_key,byte standrad_key)
 {
-	byte temp_value;
+	g_variable.key_combination_ctrl = special_key;	
+	g_variable.key_combination_keyvalue = standrad_key;
 
-	temp_value = key_value;
-	if (key_state & 1)
+	if(press_state & 1)
 	{
-		fn_tx_flag++;
-		temp_value = key_replace_value;
+		if(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE) 
+			g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
+		else	
+			g_variable.key_combination_step = CAMBINATION_KEY_PRESS;
 	}
 	else
 	{
-		if(fn_tx_flag != 0)
-		{	
-			fn_tx_flag--;
-			temp_value = key_replace_value;
-		}
+		g_variable.key_combination_step = CAMBINATION_KEY_WAIT_RELEASE;
 	}
 
-	return temp_value;
 }
 
 
-
-
 byte key_fn_function(byte state ,byte key_value)
 {
 	byte temp = 0;
@@ -349,76 +347,43 @@
 		switch (key_value)
 		{ 
 			case HID_KEY_F1:
-				temp = key_replace(state,key_value,HID_MULTIKEY_LIGHT_DOWN);
+				temp = HID_MULTIKEY_LIGHT_DOWN;
 				break;
 			case HID_KEY_F2:
-				temp = key_replace(state,key_value,HID_MULTIKEY_LIGHT_UP);
+				temp = HID_MULTIKEY_LIGHT_UP;
 				break;
 			case HID_KEY_F3:
-				g_variable.key_combination_ctrl = KS_SEL_LALT;
-					
-				g_variable.key_combination_keyvalue = HID_KEY_TAB;
-				
-				if(state & 1)
-				{
-					g_variable.key_combination_step = CAMBINATION_KEY_PRESS;
-				}
-				else
-				{
-					g_variable.key_combination_step = CAMBINATION_KEY_WAIT_RELEASE;
-				}
-				
-				temp = key_replace(state,key_value,HID_KEY_NULL);
+				kb_combination_key_press(state,KS_SEL_LALT,HID_KEY_TAB);
+				temp = HID_KEY_NULL;
 				break;
 			case HID_KEY_F4:
-				g_variable.key_combination_ctrl = KS_SEL_LGUI;
-				g_variable.key_combination_keyvalue = HID_KEY_D;
-				
-				if(state & 1)
-				{
-					g_variable.key_combination_step = CAMBINATION_KEY_PRESS;
-				}
-				else
-				{
-					g_variable.key_combination_step = CAMBINATION_KEY_WAIT_RELEASE;
-				}
-				temp = key_replace(state,key_value,HID_KEY_NULL);
-
+				kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_D);
+				temp = HID_KEY_NULL;
 				break;
 			case HID_KEY_F5:
-				g_variable.key_combination_ctrl = KS_SEL_LGUI;
-				g_variable.key_combination_keyvalue = HID_KEY_LEFT_ARROW;
-				
-				if(state & 1)
-				{
-					g_variable.key_combination_step = CAMBINATION_KEY_PRESS;
-				}
-				else
-				{
-					g_variable.key_combination_step = CAMBINATION_KEY_WAIT_RELEASE;
-				}
-				temp = key_replace(state,key_value,HID_KEY_NULL);
+				kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_LEFT_ARROW);
+				temp = HID_KEY_NULL;
 				break;
 			case HID_KEY_F6:
-				temp = key_replace(state,key_value,HID_MULTIKEY_AC_SEARCH);
+				temp = HID_MULTIKEY_AC_SEARCH;
 				break;
 			case HID_KEY_F7:
-				temp = key_replace(state,key_value,HID_MULTIKEY_PRE_TRACK);
+				temp = HID_MULTIKEY_PRE_TRACK;
 				break;
 			case HID_KEY_F8:
-				temp = key_replace(state,key_value,HID_MULTIKEY_PALY);
+				temp = HID_MULTIKEY_PALY;
 				break;
 			case HID_KEY_F9:
-				temp = key_replace(state,key_value,HID_MULTIKEY_NEXT_TRACK);
+				temp = HID_MULTIKEY_NEXT_TRACK;
 				break;
 			case HID_KEY_F10:
-				temp = key_replace(state,key_value,HID_MULTIKEY_MUTE);
+				temp = HID_MULTIKEY_MUTE;
 				break;
 			case HID_KEY_F11:
-				temp = key_replace(state,key_value,HID_MULTIKEY_VOL_DOWN);
+				temp = HID_MULTIKEY_VOL_DOWN;
 				break;
 			case HID_KEY_F12:
-				temp = key_replace(state,key_value,HID_MULTIKEY_VOL_UP);
+				temp = HID_MULTIKEY_VOL_UP;
 				break;
 			default :
 				break;
@@ -439,18 +404,20 @@
 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
 		{
+			/*
 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
 			{
 				kb_set_multikey(0x0183); 
 			}
-			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
+			else*/ 
+			if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
 			{ 
 				kb_set_multikey(0x00cd);
 			}
-			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
+		/*	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
 			{
 				kb_set_multikey(0x00b7);
-			}
+			}	*/
 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
 			{
 				kb_set_multikey(0x00b6);
@@ -471,15 +438,15 @@
 			{
 				kb_set_multikey(0x00e2);
 			}
-			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
+		/*	else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
 			{
 				kb_set_multikey(0x0194);
-			}
+			}	*/
 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
 			{
 				kb_set_multikey(0x018a);//mail
 			}
-			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
+		/*	else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
 			{
 				kb_set_multikey(0x0192);
 			}
@@ -502,16 +469,15 @@
 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
 			{
 				kb_set_multikey(0x0227);
-			}
-			
+			}	*/
 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
 			{
 				kb_set_multikey(0x0221);
 			}
-			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
+		/*	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
 			{
 				kb_set_multikey(0x0223);
-			}
+			} 	*/
 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
 			{
 				kb_set_multikey(0x0070);
Index: keyscan.c
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/keyscan.c	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/keyscan.c	(working copy)
@@ -36,6 +36,14 @@
 {
 	byte i = 0;
 
+	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
+	{
+		ksEvtPool.standardSel  |=  0x01 << (key & 0x07);
+		return;
+	}
+
+/*
+
 	if (key == HID_KEY_RIGHT_GUI)
 	{
 		ksEvtPool.standardSel |= KS_SEL_RGUI;
@@ -76,6 +84,7 @@
 		ksEvtPool.standardSel |= KS_SEL_LCTRL;
 		return;
 	}
+*/	
 	//special key
 
 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
@@ -106,7 +115,13 @@
 	else
 		standard_key_release_flag = 1;
 
+	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
+	{
+		ksEvtPool.standardSel  &= ~0x01 << (key & 0x07);
+		return;
+	}
 
+/*
 	if (key == HID_KEY_RIGHT_GUI ) 
 	{
 		ksEvtPool.standardSel &= ~KS_SEL_RGUI;
@@ -147,7 +162,7 @@
 		ksEvtPool.standardSel &= ~ KS_SEL_LCTRL;
 		return;
 	}
-	
+*/	
 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
 	{
 		if (found == 0) 
Index: led.h
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/led.h	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/led.h	(working copy)
@@ -8,8 +8,6 @@
 
 void LED_all_shutdown();
 void LED_handle();
-void LED_device_poweron();
-void LED_device_poweroff();
 
 #endif /* YC_LED_H */
 
Index: led.c
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/led.c	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/led.c	(working copy)
@@ -10,17 +10,6 @@
 }
 
 
-void LED_device_poweron()
-{
-	GPIO_Setout(G24_LED_GPIO,LED_ON);
-
-}
-
-void LED_device_poweroff()
-{
-	GPIO_Setout(G24_LED_GPIO,LED_OFF);
-}
-
 
 void LED_handle()
 {
@@ -60,22 +49,22 @@
 				if(m_caps_num_lock & KB_PC_KEYSEL_NUMLOCK)
 				{
 					g_variable.sys_numlockled_on_timer = KB_NUM_CAPS_LED_ON_TIMER;
-					GPIO_Setout(NUM_LOCK_LED_GPIO, 0);
+					GPIO_Setout(NUM_LOCK_LED_GPIO, LED_ON);
 				}
 				else
 				{
-					GPIO_Setout(NUM_LOCK_LED_GPIO, 1);
+					GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
 					g_variable.sys_numlockled_on_timer = 0;
 				}
 				
 				if(m_caps_num_lock & KB_PC_KEYSEL_CAPSLOCK)
 				{
 					g_variable.sys_capslockled_on_timer = KB_NUM_CAPS_LED_ON_TIMER;
-					GPIO_Setout(CAPS_LED_GPIO, 0);
+					GPIO_Setout(CAPS_LED_GPIO, LED_ON);
 				}
 				else 
 				{
-					GPIO_Setout(CAPS_LED_GPIO, 1);
+					GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
 					g_variable.sys_capslockled_on_timer = 0;
 				}	
 
@@ -89,14 +78,14 @@
 		}
 		else
 		{
-			GPIO_Setout(NUM_LOCK_LED_GPIO, 1);
-			GPIO_Setout(CAPS_LED_GPIO, 1);
+			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
+			GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
 		}
 	}
 	else
 	{
-		GPIO_Setout(NUM_LOCK_LED_GPIO, 1);
-		GPIO_Setout(CAPS_LED_GPIO, 1);
+		GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
+
 	}
 
 }
Index: output/FW
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: output/FW.COD
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/output/FW.COD	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/output/FW.COD	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               05/29/2020  00:04:29  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               06/12/2020  18:49:04  PAGE 1
 
 
 
@@ -31,208 +31,205 @@
 
 ----- FUNCTION LED_handle (BEGIN) -----
  FILE: 'led.c'
-   25: void LED_handle()
-   26: {
-   27: 	if (power_on_flag != 2)
-   28: 		return;
+   14: void LED_handle()
+   15: {
+   16: 	if (power_on_flag != 2)
+   17: 		return;
 0006CF 904DE1            MOV     DPTR,#power_on_flag
 0006D2 E0                MOVX    A,@DPTR
 0006D3 6402              XRL     A,#02H
 0006D5 6002              JZ      $ + 4H
-0006D7 E18A              AJMP    ?C0005?LED
-0006D9         ?C0004?LED:
-   29: 
-   30: 	if(!g_variable.pairing_timeout)
+0006D7 E183              AJMP    ?C0003?LED
+0006D9         ?C0002?LED:
+   18: 
+   19: 	if(!g_variable.pairing_timeout)
 0006D9 904CE9            MOV     DPTR,#g_variable+02AH
 0006DC E0                MOVX    A,@DPTR
 0006DD 6002              JZ      $ + 4H
-0006DF E17E              AJMP    ?C0006?LED
-   31: 	{
-   32: 		//low battery LED process
-   33: 		if (g_variable.battery_status == BAT_STATUS_SHUT_DOWN)
+0006DF E17D              AJMP    ?C0004?LED
+   20: 	{
+   21: 		//low battery LED process
+   22: 		if (g_variable.battery_status == BAT_STATUS_SHUT_DOWN)
 0006E1 904CD5            MOV     DPTR,#g_variable+016H
 0006E4 E0                MOVX    A,@DPTR
-0006E5 B40205            CJNE    A,#02H,?C0007?LED
-   34: 		{
-   35: 			System_long_sleep();
-0006E8 1209F2            LCALL   System_long_sleep
-   36: 		}
-0006EB 802E              SJMP    ?C0008?LED
-0006ED         ?C0007?LED:
-   37: 		else if (g_variable.battery_status == BAT_STATUS_LOW)
-0006ED 904CD5            MOV     DPTR,#g_variable+016H
-0006F0 E0                MOVX    A,@DPTR
-0006F1 B40114            CJNE    A,#01H,?C0009?LED
-   38: 		{
-   39: 			if (g_variable.battery_low_led_flash_flag == 0)
-0006F4 904CF7            MOV     DPTR,#g_variable+038H
-0006F7 E0                MOVX    A,@DPTR
-0006F8 7021              JNZ     ?C0008?LED
-   40: 			{
-   41: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
-0006FA 904CE2            MOV     DPTR,#g_variable+023H
-0006FD 7404              MOV     A,#04H
-0006FF F0                MOVX    @DPTR,A
-   42: 				g_variable.battery_low_led_flash_flag = 1;
-000700 904CF7            MOV     DPTR,#g_variable+038H
-000703 7401              MOV     A,#01H
-000705 F0                MOVX    @DPTR,A
-   43: 			}
-   44: 		}
-000706 8013              SJMP    ?C0008?LED
-000708         ?C0009?LED:
-   45: 		else
+0006E5 B40204            CJNE    A,#02H,?C0005?LED
+   23: 		{
+   24: 			System_long_sleep();
+0006E8 F1F1              ACALL   System_long_sleep
+   25: 		}
+0006EA 802E              SJMP    ?C0006?LED
+0006EC         ?C0005?LED:
+   26: 		else if (g_variable.battery_status == BAT_STATUS_LOW)
+0006EC 904CD5            MOV     DPTR,#g_variable+016H
+0006EF E0                MOVX    A,@DPTR
+0006F0 B40114            CJNE    A,#01H,?C0007?LED
+   27: 		{
+   28: 			if (g_variable.battery_low_led_flash_flag == 0)
+0006F3 904CF7            MOV     DPTR,#g_variable+038H
+0006F6 E0                MOVX    A,@DPTR
+0006F7 7021              JNZ     ?C0006?LED
+   29: 			{
+   30: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
+0006F9 904CE2            MOV     DPTR,#g_variable+023H
+0006FC 7404              MOV     A,#04H
+0006FE F0                MOVX    @DPTR,A
+   31: 				g_variable.battery_low_led_flash_flag = 1;
+0006FF 904CF7            MOV     DPTR,#g_variable+038H
+000702 7401              MOV     A,#01H
+000704 F0                MOVX    @DPTR,A
+   32: 			}
+   33: 		}
+000705 8013              SJMP    ?C0006?LED
+000707         ?C0007?LED:
+   34: 		else
+   35: 		{
+   36: 			if (g_variable.battery_low_led_flash_flag == 1)
+000707 904CF7            MOV     DPTR,#g_variable+038H
+00070A E0                MOVX    A,@DPTR
+00070B B4010C            CJNE    A,#01H,?C0006?LED
+   37: 			{
+   38: 				g_variable.battery_low_led_flash_flag = 0;
+00070E E4                CLR     A
+00070F F0                MOVX    @DPTR,A
+   39: 				g_variable.battery_low_led_flash_interval = 0;
+000710 904CE2            MOV     DPTR,#g_variable+023H
+000713 F0                MOVX    @DPTR,A
+   40: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
+000714 C201              CLR     ?_GPIO_Setout?BIT
+000716 7F1E              MOV     R7,#01EH
+000718 F184              ACALL   _GPIO_Setout
+   41: 			}
+   42: 		}
+00071A         ?C0006?LED:
+   43: 
+   44: 		//capslock  numlock  scrolllock LED process
+   45: 		if (YC_check_is_connected())
+00071A D1C2              ACALL   YC_check_is_connected
+00071C EF                MOV     A,R7
+00071D 6052              JZ      ?C0011?LED
    46: 		{
-   47: 			if (g_variable.battery_low_led_flash_flag == 1)
-000708 904CF7            MOV     DPTR,#g_variable+038H
-00070B E0                MOVX    A,@DPTR
-00070C B4010C            CJNE    A,#01H,?C0008?LED
+   47: 			if(m_caps_num_lock != m_caps_num_lock_last)
+00071F 904DD9            MOV     DPTR,#m_caps_num_lock_last
+000722 E0                MOVX    A,@DPTR
+000723 FF                MOV     R7,A
+000724 904CB7            MOV     DPTR,#m_caps_num_lock
+000727 E0                MOVX    A,@DPTR
+000728 6F                XRL     A,R7
+000729 6058              JZ      ?C0003?LED
    48: 			{
-   49: 				g_variable.battery_low_led_flash_flag = 0;
-00070F E4                CLR     A
-000710 F0                MOVX    @DPTR,A
-   50: 				g_variable.battery_low_led_flash_interval = 0;
-000711 904CE2            MOV     DPTR,#g_variable+023H
-000714 F0                MOVX    @DPTR,A
-   51: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
-000715 C201              CLR     ?_GPIO_Setout?BIT
-000717 7F1D              MOV     R7,#01DH
-000719 F18B              ACALL   _GPIO_Setout
-   52: 			}
-   53: 		}
-00071B         ?C0008?LED:
-   54: 
-   55: 		//capslock  numlock  scrolllock LED process
-   56: 		if (YC_check_is_connected())
-00071B D1C2              ACALL   YC_check_is_connected
-00071D EF                MOV     A,R7
-00071E 6052              JZ      ?C0013?LED
-   57: 		{
-   58: 			if(m_caps_num_lock != m_caps_num_lock_last)
-000720 904DD9            MOV     DPTR,#m_caps_num_lock_last
-000723 E0                MOVX    A,@DPTR
-000724 FF                MOV     R7,A
-000725 904CB7            MOV     DPTR,#m_caps_num_lock
-000728 E0                MOVX    A,@DPTR
-000729 6F                XRL     A,R7
-00072A 605E              JZ      ?C0005?LED
-   59: 			{
-   60: 				if(m_caps_num_lock & KB_PC_KEYSEL_NUMLOCK)
-00072C E0                MOVX    A,@DPTR
-00072D 30E00E            JNB     ACC.0,?C0015?LED
+   49: 				if(m_caps_num_lock & KB_PC_KEYSEL_NUMLOCK)
+00072B E0                MOVX    A,@DPTR
+00072C 30E00E            JNB     ACC.0,?C0013?LED
+   50: 				{
+   51: 					g_variable.sys_numlockled_on_timer = KB_NUM_CAPS_LED_ON_TIMER;
+00072F 904CE6            MOV     DPTR,#g_variable+027H
+000732 740C              MOV     A,#0CH
+000734 F0                MOVX    @DPTR,A
+   52: 					GPIO_Setout(NUM_LOCK_LED_GPIO, LED_ON);
+000735 D201              SETB    ?_GPIO_Setout?BIT
+000737 7FFF              MOV     R7,#0FFH
+000739 F184              ACALL   _GPIO_Setout
+   53: 				}
+00073B 800B              SJMP    ?C0014?LED
+00073D         ?C0013?LED:
+   54: 				else
+   55: 				{
+   56: 					GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
+00073D C201              CLR     ?_GPIO_Setout?BIT
+00073F 7FFF              MOV     R7,#0FFH
+000741 F184              ACALL   _GPIO_Setout
+   57: 					g_variable.sys_numlockled_on_timer = 0;
+000743 E4                CLR     A
+000744 904CE6            MOV     DPTR,#g_variable+027H
+000747 F0                MOVX    @DPTR,A
+   58: 				}
+000748         ?C0014?LED:
+   59: 				
+   60: 				if(m_caps_num_lock & KB_PC_KEYSEL_CAPSLOCK)
+000748 904CB7            MOV     DPTR,#m_caps_num_lock
+00074B E0                MOVX    A,@DPTR
+00074C 30E10E            JNB     ACC.1,?C0015?LED
    61: 				{
-   62: 					g_variable.sys_numlockled_on_timer = KB_NUM_CAPS_LED_ON_TIMER;
-000730 904CE6            MOV     DPTR,#g_variable+027H
-000733 740C              MOV     A,#0CH
-000735 F0                MOVX    @DPTR,A
-   63: 					GPIO_Setout(NUM_LOCK_LED_GPIO, 0);
-000736 C201              CLR     ?_GPIO_Setout?BIT
-000738 7F10              MOV     R7,#010H
-00073A F18B              ACALL   _GPIO_Setout
+   62: 					g_variable.sys_capslockled_on_timer = KB_NUM_CAPS_LED_ON_TIMER;
+00074F 904CE7            MOV     DPTR,#g_variable+028H
+000752 740C              MOV     A,#0CH
+000754 F0                MOVX    @DPTR,A
+   63: 					GPIO_Setout(CAPS_LED_GPIO, LED_ON);
+000755 D201              SETB    ?_GPIO_Setout?BIT
+000757 7FFF              MOV     R7,#0FFH
+000759 F184              ACALL   _GPIO_Setout
    64: 				}
-00073C 800B              SJMP    ?C0016?LED
-00073E         ?C0015?LED:
-   65: 				else
+00075B 800B              SJMP    ?C0016?LED
+00075D         ?C0015?LED:
+   65: 				else 
    66: 				{
-   67: 					GPIO_Setout(NUM_LOCK_LED_GPIO, 1);
-00073E D201              SETB    ?_GPIO_Setout?BIT
-000740 7F10              MOV     R7,#010H
-000742 F18B              ACALL   _GPIO_Setout
-   68: 					g_variable.sys_numlockled_on_timer = 0;
-000744 E4                CLR     A
-000745 904CE6            MOV     DPTR,#g_variable+027H
-000748 F0                MOVX    @DPTR,A
-   69: 				}
-000749         ?C0016?LED:
-   70: 				
-   71: 				if(m_caps_num_lock & KB_PC_KEYSEL_CAPSLOCK)
-000749 904CB7            MOV     DPTR,#m_caps_num_lock
-00074C E0                MOVX    A,@DPTR
-00074D 30E10E            JNB     ACC.1,?C0017?LED
-   72: 				{
-   73: 					g_variable.sys_capslockled_on_timer = KB_NUM_CAPS_LED_ON_TIMER;
-000750 904CE7            MOV     DPTR,#g_variable+028H
-000753 740C              MOV     A,#0CH
-000755 F0                MOVX    @DPTR,A
-   74: 					GPIO_Setout(CAPS_LED_GPIO, 0);
-000756 C201              CLR     ?_GPIO_Setout?BIT
-000758 7F0F              MOV     R7,#0FH
-00075A F18B              ACALL   _GPIO_Setout
-   75: 				}
-00075C 800B              SJMP    ?C0018?LED
-00075E         ?C0017?LED:
-   76: 				else 
-   77: 				{
-   78: 					GPIO_Setout(CAPS_LED_GPIO, 1);
-00075E D201              SETB    ?_GPIO_Setout?BIT
-000760 7F0F              MOV     R7,#0FH
-000762 F18B              ACALL   _GPIO_Setout
-   79: 					g_variable.sys_capslockled_on_timer = 0;
-000764 E4                CLR     A
-000765 904CE7            MOV     DPTR,#g_variable+028H
-000768 F0                MOVX    @DPTR,A
-   80: 				}	
-000769         ?C0018?LED:
-   81: 
-   82: 				//if(m_caps_num_lock & KB_PC_KEYSEL_SCROLLLOCK)
-   83: 				//	g_variable.sys_scrolllockled_on_timer = KB_NUM_CAPS_LED_ON_TIMER;
-   84: 				//else 
-   85: 				//	g_variable.sys_scrolllockled_on_timer = 0;
-   86: 					
-   87: 				m_caps_num_lock_last = m_caps_num_lock;
-000769 904CB7            MOV     DPTR,#m_caps_num_lock
-00076C E0                MOVX    A,@DPTR
-00076D 904DD9            MOV     DPTR,#m_caps_num_lock_last
-000770 F0                MOVX    @DPTR,A
-   88: 			}
-   89: 		}
-000771 22                RET     
-000772         ?C0013?LED:
-   90: 		else
-   91: 		{
-   92: 			GPIO_Setout(NUM_LOCK_LED_GPIO, 1);
-000772 D201              SETB    ?_GPIO_Setout?BIT
-000774 7F10              MOV     R7,#010H
-000776 F18B              ACALL   _GPIO_Setout
-   93: 			GPIO_Setout(CAPS_LED_GPIO, 1);
-000778 D201              SETB    ?_GPIO_Setout?BIT
-00077A 7F0F              MOV     R7,#0FH
-00077C 800D              SJMP    _GPIO_Setout
-   94: 		}
-   95: 	}
-00077E         ?C0006?LED:
-   96: 	else
-   97: 	{
-   98: 		GPIO_Setout(NUM_LOCK_LED_GPIO, 1);
-00077E D201              SETB    ?_GPIO_Setout?BIT
-000780 7F10              MOV     R7,#010H
-000782 F18B              ACALL   _GPIO_Setout
-   99: 		GPIO_Setout(CAPS_LED_GPIO, 1);
-000784 D201              SETB    ?_GPIO_Setout?BIT
-000786 7F0F              MOV     R7,#0FH
-000788 F18B              ACALL   _GPIO_Setout
-  100: 	}
-  101: 
-  102: }
-00078A         ?C0005?LED:
-00078A 22                RET     
+   67: 					GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
+00075D C201              CLR     ?_GPIO_Setout?BIT
+00075F 7FFF              MOV     R7,#0FFH
+000761 F184              ACALL   _GPIO_Setout
+   68: 					g_variable.sys_capslockled_on_timer = 0;
+000763 E4                CLR     A
+000764 904CE7            MOV     DPTR,#g_variable+028H
+000767 F0                MOVX    @DPTR,A
+   69: 				}	
+000768         ?C0016?LED:
+   70: 
+   71: 				//if(m_caps_num_lock & KB_PC_KEYSEL_SCROLLLOCK)
+   72: 				//	g_variable.sys_scrolllockled_on_timer = KB_NUM_CAPS_LED_ON_TIMER;
+   73: 				//else 
+   74: 				//	g_variable.sys_scrolllockled_on_timer = 0;
+   75: 					
+   76: 				m_caps_num_lock_last = m_caps_num_lock;
+000768 904CB7            MOV     DPTR,#m_caps_num_lock
+00076B E0                MOVX    A,@DPTR
+00076C 904DD9            MOV     DPTR,#m_caps_num_lock_last
+00076F F0                MOVX    @DPTR,A
+   77: 			}
+   78: 		}
+000770 22                RET     
+000771         ?C0011?LED:
+   79: 		else
+   80: 		{
+   81: 			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
+000771 C201              CLR     ?_GPIO_Setout?BIT
+000773 7FFF              MOV     R7,#0FFH
+000775 F184              ACALL   _GPIO_Setout
+   82: 			GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
+000777 C201              CLR     ?_GPIO_Setout?BIT
+000779 7FFF              MOV     R7,#0FFH
+00077B 8007              SJMP    _GPIO_Setout
+   83: 		}
+   84: 	}
+00077D         ?C0004?LED:
+   85: 	else
+   86: 	{
+   87: 		GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
+00077D C201              CLR     ?_GPIO_Setout?BIT
+00077F 7FFF              MOV     R7,#0FFH
+000781 F184              ACALL   _GPIO_Setout
+   88: 
+   89: 	}
+   90: 
+   91: }
+000783         ?C0003?LED:
+000783 22                RET     
 ----- FUNCTION LED_handle (END) -------
 
 
 ----- FUNCTION _GPIO_Setout (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-00078B EF                MOV     A,R7
-00078C F4                CPL     A
-00078D 600D              JZ      ?C0007?GPIO
-00078F         ?C0006?GPIO:
-00078F 7B01              MOV     R3,#01H
-000791 7A80              MOV     R2,#080H
-000793 7974              MOV     R1,#074H
-000795 A201              MOV     C,bit_val
-000797 9200              MOV     ?_gpioSetBit?BIT,C
-000799 121073            LCALL   _gpioSetBit
-00079C         ?C0007?GPIO:
-00079C 22                RET     
+000784 EF                MOV     A,R7
+000785 F4                CPL     A
+000786 600D              JZ      ?C0007?GPIO
+000788         ?C0006?GPIO:
+000788 7B01              MOV     R3,#01H
+00078A 7A80              MOV     R2,#080H
+00078C 7974              MOV     R1,#074H
+00078E A201              MOV     C,bit_val
+000790 9200              MOV     ?_gpioSetBit?BIT,C
+000792 1215CF            LCALL   _gpioSetBit
+000795         ?C0007?GPIO:
+000795 22                RET     
 ----- FUNCTION _GPIO_Setout (END) -------
 
 
@@ -242,107 +239,1778 @@
   161: {
   162: 	if (power_on_flag != 2)
   163: 		return;
-00079D 904DE1            MOV     DPTR,#power_on_flag
-0007A0 E0                MOVX    A,@DPTR
-0007A1 6402              XRL     A,#02H
-0007A3 7052              JNZ     ?C0027?SYS
-0007A5         ?C0026?SYS:
+000796 904DE1            MOV     DPTR,#power_on_flag
+000799 E0                MOVX    A,@DPTR
+00079A 6402              XRL     A,#02H
+00079C 7052              JNZ     ?C0027?SYS
+00079E         ?C0026?SYS:
   164:  	if (g_variable.pairing_g24_timeout != 0)
-0007A5 904CEE            MOV     DPTR,#g_variable+02FH
-0007A8 E0                MOVX    A,@DPTR
-0007A9 6005              JZ      ?C0029?SYS
+00079E 904CEE            MOV     DPTR,#g_variable+02FH
+0007A1 E0                MOVX    A,@DPTR
+0007A2 6005              JZ      ?C0029?SYS
   165: 	{
   166: 		GPIO_FlipOutBit(G24_LED_GPIO);
-0007AB 7F1D              MOV     R7,#01DH
-0007AD 122561            LCALL   _GPIO_FlipOutBit
+0007A4 7F1E              MOV     R7,#01EH
+0007A6 1217C3            LCALL   _GPIO_FlipOutBit
   167: 	}
   168: 	else
   169: 	{
   170: 		
   171: 	}
-0007B0         ?C0029?SYS:
+0007A9         ?C0029?SYS:
   172: 
   173: 	
   174: 	if (YC_check_is_connected())
-0007B0 D1C2              ACALL   YC_check_is_connected
-0007B2 EF                MOV     A,R7
-0007B3 6042              JZ      ?C0027?SYS
+0007A9 D1C2              ACALL   YC_check_is_connected
+0007AB EF                MOV     A,R7
+0007AC 6042              JZ      ?C0027?SYS
   175: 	{
   176: 		if(g_variable.sys_numlockled_on_timer)
-0007B5 904CE6            MOV     DPTR,#g_variable+027H
-0007B8 E0                MOVX    A,@DPTR
-0007B9 6016              JZ      ?C0031?SYS
+0007AE 904CE6            MOV     DPTR,#g_variable+027H
+0007B1 E0                MOVX    A,@DPTR
+0007B2 6016              JZ      ?C0031?SYS
   177: 		{
   178: 			g_variable.sys_numlockled_on_timer--;
-0007BB 14                DEC     A
-0007BC F0                MOVX    @DPTR,A
-  179: 			GPIO_Setout(NUM_LOCK_LED_GPIO, 0);
-0007BD C201              CLR     ?_GPIO_Setout?BIT
-0007BF 7F10              MOV     R7,#010H
-0007C1 F18B              ACALL   _GPIO_Setout
+0007B4 14                DEC     A
+0007B5 F0                MOVX    @DPTR,A
+  179: 			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_ON);
+0007B6 D201              SETB    ?_GPIO_Setout?BIT
+0007B8 7FFF              MOV     R7,#0FFH
+0007BA F184              ACALL   _GPIO_Setout
   180: 			if(!g_variable.sys_numlockled_on_timer)
-0007C3 904CE6            MOV     DPTR,#g_variable+027H
-0007C6 E0                MOVX    A,@DPTR
-0007C7 700E              JNZ     ?C0033?SYS
-  181: 				GPIO_Setout(NUM_LOCK_LED_GPIO, 1);
-0007C9 D201              SETB    ?_GPIO_Setout?BIT
-0007CB 7F10              MOV     R7,#010H
-0007CD F18B              ACALL   _GPIO_Setout
+0007BC 904CE6            MOV     DPTR,#g_variable+027H
+0007BF E0                MOVX    A,@DPTR
+0007C0 700E              JNZ     ?C0033?SYS
+  181: 				GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
+0007C2 C201              CLR     ?_GPIO_Setout?BIT
+0007C4 7FFF              MOV     R7,#0FFH
+0007C6 F184              ACALL   _GPIO_Setout
   182: 		}
-0007CF 8006              SJMP    ?C0033?SYS
-0007D1         ?C0031?SYS:
+0007C8 8006              SJMP    ?C0033?SYS
+0007CA         ?C0031?SYS:
   183: 		else 
-  184: 			GPIO_Setout(NUM_LOCK_LED_GPIO, 1);
-0007D1 D201              SETB    ?_GPIO_Setout?BIT
-0007D3 7F10              MOV     R7,#010H
-0007D5 F18B              ACALL   _GPIO_Setout
-0007D7         ?C0033?SYS:
-  185: 
-  186: 		if(g_variable.sys_capslockled_on_timer)
-0007D7 904CE7            MOV     DPTR,#g_variable+028H
-0007DA E0                MOVX    A,@DPTR
-0007DB 6014              JZ      ?C0034?SYS
-  187: 		{
-  188: 			g_variable.sys_capslockled_on_timer--;
-0007DD 14                DEC     A
-0007DE F0                MOVX    @DPTR,A
-  189: 			GPIO_Setout(CAPS_LED_GPIO, 0);
-0007DF C201              CLR     ?_GPIO_Setout?BIT
-0007E1 7F0F              MOV     R7,#0FH
-0007E3 F18B              ACALL   _GPIO_Setout
-  190: 			if(!g_variable.sys_capslockled_on_timer)
-0007E5 904CE7            MOV     DPTR,#g_variable+028H
-0007E8 E0                MOVX    A,@DPTR
-0007E9 700C              JNZ     ?C0027?SYS
-  191: 				GPIO_Setout(CAPS_LED_GPIO, 1);
-0007EB D201              SETB    ?_GPIO_Setout?BIT
-0007ED 7F0F              MOV     R7,#0FH
-0007EF 809A              SJMP    _GPIO_Setout
-  192: 		}
-0007F1         ?C0034?SYS:
-  193: 		else
-  194: 			GPIO_Setout(CAPS_LED_GPIO, 1);
-0007F1 D201              SETB    ?_GPIO_Setout?BIT
-0007F3 7F0F              MOV     R7,#0FH
-0007F5 F18B              ACALL   _GPIO_Setout
-  195: 	}	
-  196: }
-0007F7         ?C0027?SYS:
-0007F7 22                RET     
+  184: 			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
+0007CA C201              CLR     ?_GPIO_Setout?BIT
+0007CC 7FFF              MOV     R7,#0FFH
+0007CE F184              ACALL   _GPIO_Setout
+0007D0         ?C0033?SYS:
+  185: 			
+  186: 
+  187: 		if(g_variable.sys_capslockled_on_timer)
+0007D0 904CE7            MOV     DPTR,#g_variable+028H
+0007D3 E0                MOVX    A,@DPTR
+0007D4 6014              JZ      ?C0034?SYS
+  188: 		{
+  189: 			g_variable.sys_capslockled_on_timer--;
+0007D6 14                DEC     A
+0007D7 F0                MOVX    @DPTR,A
+  190: 			GPIO_Setout(CAPS_LED_GPIO, LED_ON);
+0007D8 D201              SETB    ?_GPIO_Setout?BIT
+0007DA 7FFF              MOV     R7,#0FFH
+0007DC F184              ACALL   _GPIO_Setout
+  191: 			if(!g_variable.sys_capslockled_on_timer)
+0007DE 904CE7            MOV     DPTR,#g_variable+028H
+0007E1 E0                MOVX    A,@DPTR
+0007E2 700C              JNZ     ?C0027?SYS
+  192: 				GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
+0007E4 C201              CLR     ?_GPIO_Setout?BIT
+0007E6 7FFF              MOV     R7,#0FFH
+0007E8 809A              SJMP    _GPIO_Setout
+  193: 		}
+0007EA         ?C0034?SYS:
+  194: 		else
+  195: 			GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
+0007EA C201              CLR     ?_GPIO_Setout?BIT
+0007EC 7FFF              MOV     R7,#0FFH
+0007EE F184              ACALL   _GPIO_Setout
+  196: 	}	
+  197: }
+0007F0         ?C0027?SYS:
+0007F0 22                RET     
 ----- FUNCTION LED_timer500ms (END) -------
 
 
------ FUNCTION LED_device_poweron (BEGIN) -----
- FILE: 'led.c'
-   13: void LED_device_poweron()
-   14: {
-   15: 	GPIO_Setout(G24_LED_GPIO,LED_ON);
-   16: 
-0007F8 D201              SETB    ?_GPIO_Setout?BIT
-0007FA 7F1D              MOV     R7,#01DH
-0007FC 808D              SJMP    _GPIO_Setout
-   17: }
------ FUNCTION LED_device_poweron (END) -------
+----- FUNCTION System_long_sleep (BEGIN) -----
+ FILE: 'sys.c'
+   64: void System_long_sleep()
+   65: { 
+   66: 	m_reconnect_continue = 0;
+   67: 	IPC_TxControlCmd(IPC_CMD_ENTER_HIBERNATE);
+0007F1 E4                CLR     A
+0007F2 904D38            MOV     DPTR,#m_reconnect_continue
+0007F5 F0                MOVX    @DPTR,A
+   68: }
+0007F6 7F19              MOV     R7,#019H
+;----                  JMP     _IPC_TxControlCmd
+----- FUNCTION System_long_sleep (END) -------
+
+
+----- FUNCTION _IPC_TxControlCmd (BEGIN) -----
+0007F8 904E71            MOV     DPTR,#cmd
+0007FB EF                MOV     A,R7
+0007FC F0                MOVX    @DPTR,A
+0007FD 7872              MOV     R0,#LOW cmdBuff
+0007FF 7C4E              MOV     R4,#HIGH cmdBuff
+000801 7D01              MOV     R5,#01H
+000803 7BFF              MOV     R3,#0FFH
+000805 7A06              MOV     R2,#HIGH _?ix1000
+000807 79BF              MOV     R1,#LOW _?ix1000
+000809 7E00              MOV     R6,#00H
+00080B 7F03              MOV     R7,#03H
+00080D 120390            LCALL   ?C?COPY
+000810 904E71            MOV     DPTR,#cmd
+000813 E0                MOVX    A,@DPTR
+000814 904E74            MOV     DPTR,#cmdBuff+02H
+000817 F0                MOVX    @DPTR,A
+000818 7B01              MOV     R3,#01H
+00081A 7A4E              MOV     R2,#HIGH cmdBuff
+00081C 7972              MOV     R1,#LOW cmdBuff
+00081E 7D03              MOV     R5,#03H
+;----                  JMP     _ipcTx
+----- FUNCTION _IPC_TxControlCmd (END) -------
+
+
+----- FUNCTION _ipcTx (BEGIN) -----
+000820 904E46            MOV     DPTR,#src
+000823 EB                MOV     A,R3
+000824 F0                MOVX    @DPTR,A
+000825 A3                INC     DPTR
+000826 EA                MOV     A,R2
+000827 F0                MOVX    @DPTR,A
+000828 A3                INC     DPTR
+000829 E9                MOV     A,R1
+00082A F0                MOVX    @DPTR,A
+00082B A3                INC     DPTR
+00082C ED                MOV     A,R5
+00082D F0                MOVX    @DPTR,A
+00082E 904B9C            MOV     DPTR,#ipcTxWritePtr
+000831 E0                MOVX    A,@DPTR
+000832 FF                MOV     R7,A
+000833 A3                INC     DPTR
+000834 E0                MOVX    A,@DPTR
+000835 904E4A            MOV     DPTR,#dest
+000838 CF                XCH     A,R7
+000839 F0                MOVX    @DPTR,A
+00083A A3                INC     DPTR
+00083B EF                MOV     A,R7
+00083C F0                MOVX    @DPTR,A
+00083D         ?C0008?IPC:
+00083D 904B9A            MOV     DPTR,#ipcTxReadPtr
+000840 E0                MOVX    A,@DPTR
+000841 FE                MOV     R6,A
+000842 A3                INC     DPTR
+000843 E0                MOVX    A,@DPTR
+000844 FF                MOV     R7,A
+000845 904B9C            MOV     DPTR,#ipcTxWritePtr
+000848 E0                MOVX    A,@DPTR
+000849 FC                MOV     R4,A
+00084A A3                INC     DPTR
+00084B E0                MOVX    A,@DPTR
+00084C FD                MOV     R5,A
+00084D 7B64              MOV     R3,#064H
+00084F 122129            LCALL   _bufsize
+000852 904E49            MOV     DPTR,#len
+000855 E0                MOVX    A,@DPTR
+000856 FE                MOV     R6,A
+000857 EF                MOV     A,R7
+000858 C3                CLR     C
+000859 9E                SUBB    A,R6
+00085A 40E1              JC      ?C0008?IPC
+00085C         ?C0009?IPC:
+00085C         ?C0010?IPC:
+00085C 904E49            MOV     DPTR,#len
+00085F E0                MOVX    A,@DPTR
+000860 FF                MOV     R7,A
+000861 14                DEC     A
+000862 F0                MOVX    @DPTR,A
+000863 EF                MOV     A,R7
+000864 603F              JZ      ?C0011?IPC
+000866 904E46            MOV     DPTR,#src
+000869 E0                MOVX    A,@DPTR
+00086A FB                MOV     R3,A
+00086B A3                INC     DPTR
+00086C E4                CLR     A
+00086D 75F001            MOV     B,#01H
+000870 120424            LCALL   ?C?ILDIX
+000873 A9F0              MOV     R1,B
+000875 FA                MOV     R2,A
+000876 1203B6            LCALL   ?C?CLDPTR
+000879 FF                MOV     R7,A
+00087A 904E4A            MOV     DPTR,#dest
+00087D E4                CLR     A
+00087E 75F001            MOV     B,#01H
+000881 120424            LCALL   ?C?ILDIX
+000884 85F082            MOV     DPL,B
+000887 F583              MOV     DPH,A
+000889 EF                MOV     A,R7
+00088A F0                MOVX    @DPTR,A
+00088B 904E4A            MOV     DPTR,#dest
+00088E E0                MOVX    A,@DPTR
+00088F FE                MOV     R6,A
+000890 A3                INC     DPTR
+000891 E0                MOVX    A,@DPTR
+000892 FF                MOV     R7,A
+000893 BE4BC6            CJNE    R6,#04BH,?C0010?IPC
+000896 BF36C3            CJNE    R7,#036H,?C0010?IPC
+000899 904E4A            MOV     DPTR,#dest
+00089C 744A              MOV     A,#04AH
+00089E F0                MOVX    @DPTR,A
+00089F A3                INC     DPTR
+0008A0 74A0              MOV     A,#0A0H
+0008A2 F0                MOVX    @DPTR,A
+0008A3 80B7              SJMP    ?C0010?IPC
+0008A5         ?C0011?IPC:
+0008A5 904E4A            MOV     DPTR,#dest
+0008A8 E0                MOVX    A,@DPTR
+0008A9 FF                MOV     R7,A
+0008AA A3                INC     DPTR
+0008AB E0                MOVX    A,@DPTR
+0008AC 904B9C            MOV     DPTR,#ipcTxWritePtr
+0008AF CF                XCH     A,R7
+0008B0 F0                MOVX    @DPTR,A
+0008B1 A3                INC     DPTR
+0008B2 EF                MOV     A,R7
+0008B3 F0                MOVX    @DPTR,A
+0008B4 22                RET     
+----- FUNCTION _ipcTx (END) -------
+
+
+----- FUNCTION _IPC_TxData (BEGIN) -----
+0008B5 904E93            MOV     DPTR,#len
+0008B8 ED                MOV     A,R5
+0008B9 F0                MOVX    @DPTR,A
+;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
+0008BA E0                MOVX    A,@DPTR
+0008BB FD                MOV     R5,A
+0008BC 900BE8            MOV     DPTR,#ipcSendBuff+01H
+0008BF F0                MOVX    @DPTR,A
+0008C0 7E0B              MOV     R6,#HIGH ipcSendBuff+02H
+0008C2 7FE9              MOV     R7,#LOW ipcSendBuff+02H
+0008C4 904E51            MOV     DPTR,#?_xmemcpy?BYTE+05H
+0008C7 ED                MOV     A,R5
+0008C8 F0                MOVX    @DPTR,A
+0008C9 11DA              ACALL   _xmemcpy
+0008CB 7B01              MOV     R3,#01H
+0008CD 7A0B              MOV     R2,#HIGH ipcSendBuff
+0008CF 79E7              MOV     R1,#LOW ipcSendBuff
+0008D1 904E93            MOV     DPTR,#len
+0008D4 E0                MOVX    A,@DPTR
+0008D5 2402              ADD     A,#02H
+0008D7 FD                MOV     R5,A
+0008D8 0120              AJMP    _ipcTx
+----- FUNCTION _IPC_TxData (END) -------
+
+
+----- FUNCTION _xmemcpy (BEGIN) -----
+0008DA 904E4C            MOV     DPTR,#dest
+0008DD EE                MOV     A,R6
+0008DE F0                MOVX    @DPTR,A
+0008DF A3                INC     DPTR
+0008E0 EF                MOV     A,R7
+0008E1 F0                MOVX    @DPTR,A
+0008E2 A3                INC     DPTR
+0008E3 EB                MOV     A,R3
+0008E4 F0                MOVX    @DPTR,A
+0008E5 A3                INC     DPTR
+0008E6 EA                MOV     A,R2
+0008E7 F0                MOVX    @DPTR,A
+0008E8 A3                INC     DPTR
+0008E9 E9                MOV     A,R1
+0008EA F0                MOVX    @DPTR,A
+0008EB         ?C0002?UTILITIES:
+0008EB 904E51            MOV     DPTR,#len
+0008EE E0                MOVX    A,@DPTR
+0008EF FF                MOV     R7,A
+0008F0 14                DEC     A
+0008F1 F0                MOVX    @DPTR,A
+0008F2 EF                MOV     A,R7
+0008F3 6027              JZ      ?C0004?UTILITIES
+0008F5 904E4E            MOV     DPTR,#src
+0008F8 E0                MOVX    A,@DPTR
+0008F9 FB                MOV     R3,A
+0008FA A3                INC     DPTR
+0008FB E4                CLR     A
+0008FC 75F001            MOV     B,#01H
+0008FF 120424            LCALL   ?C?ILDIX
+000902 A9F0              MOV     R1,B
+000904 FA                MOV     R2,A
+000905 1203B6            LCALL   ?C?CLDPTR
+000908 FF                MOV     R7,A
+000909 904E4C            MOV     DPTR,#dest
+00090C E4                CLR     A
+00090D 75F001            MOV     B,#01H
+000910 120424            LCALL   ?C?ILDIX
+000913 85F082            MOV     DPL,B
+000916 F583              MOV     DPH,A
+000918 EF                MOV     A,R7
+000919 F0                MOVX    @DPTR,A
+00091A 80CF              SJMP    ?C0002?UTILITIES
+00091C         ?C0004?UTILITIES:
+00091C 22                RET     
+----- FUNCTION _xmemcpy (END) -------
+
+
+----- FUNCTION _kb_motion_keyscan (BEGIN) -----
+ FILE: 'kb_process.c'
+  210: void kb_motion_keyscan(tKSEVENT *pEvt)
+  211: {
+00091D 904E52            MOV     DPTR,#pEvt
+000920 EB                MOV     A,R3
+000921 F0                MOVX    @DPTR,A
+000922 A3                INC     DPTR
+000923 EA                MOV     A,R2
+000924 F0                MOVX    @DPTR,A
+000925 A3                INC     DPTR
+000926 E9                MOV     A,R1
+000927 F0                MOVX    @DPTR,A
+  212: 	byte temp = 0;
+  213: 	byte i=0;
+000928 E4                CLR     A
+000929 A3                INC     DPTR
+00092A F0                MOVX    @DPTR,A
+  214: 	
+00092B A3                INC     DPTR
+00092C F0                MOVX    @DPTR,A
+  215: 	fn_flag = 0;
+00092D 904DDB            MOV     DPTR,#fn_flag
+000930 F0                MOVX    @DPTR,A
+  216: 	for(i=0; i < KS_BUFF_POLL_LEN-1; i++)
+000931 904E56            MOV     DPTR,#i
+000934 F0                MOVX    @DPTR,A
+000935         ?C0046?KB_PROCESS:
+000935 904E56            MOV     DPTR,#i
+000938 E0                MOVX    A,@DPTR
+000939 FF                MOV     R7,A
+00093A C3                CLR     C
+00093B 9405              SUBB    A,#05H
+00093D 502C              JNC     ?C0047?KB_PROCESS
+  217: 	{
+  218: 		if (pEvt->ksPool[i] == HID_KEY_FN) 		// Fn key check
+00093F 904E52            MOV     DPTR,#pEvt
+000942 E0                MOVX    A,@DPTR
+000943 FB                MOV     R3,A
+000944 A3                INC     DPTR
+000945 E0                MOVX    A,@DPTR
+000946 FA                MOV     R2,A
+000947 A3                INC     DPTR
+000948 E0                MOVX    A,@DPTR
+000949 2401              ADD     A,#01H
+00094B F9                MOV     R1,A
+00094C E4                CLR     A
+00094D 3A                ADDC    A,R2
+00094E FA                MOV     R2,A
+00094F 7E00              MOV     R6,#00H
+000951 E9                MOV     A,R1
+000952 2F                ADD     A,R7
+000953 F9                MOV     R1,A
+000954 EE                MOV     A,R6
+000955 3A                ADDC    A,R2
+000956 FA                MOV     R2,A
+000957 1203B6            LCALL   ?C?CLDPTR
+00095A B4AF06            CJNE    A,#0AFH,?C0048?KB_PROCESS
+  219: 		{
+  220: 			fn_flag = 1;
+00095D 904DDB            MOV     DPTR,#fn_flag
+000960 7401              MOV     A,#01H
+000962 F0                MOVX    @DPTR,A
+  221: 		}
+  222: 	}
+000963         ?C0048?KB_PROCESS:
+000963 904E56            MOV     DPTR,#i
+000966 E0                MOVX    A,@DPTR
+000967 04                INC     A
+000968 F0                MOVX    @DPTR,A
+000969 80CA              SJMP    ?C0046?KB_PROCESS
+00096B         ?C0047?KB_PROCESS:
+  223: 	fn_flag_last = fn_flag;
+00096B 904DDB            MOV     DPTR,#fn_flag
+00096E E0                MOVX    A,@DPTR
+00096F 904DE0            MOV     DPTR,#fn_flag_last
+000972 F0                MOVX    @DPTR,A
+  224: 
+  225: 	
+  226: 	if (pEvt == NULL)
+000973 904E52            MOV     DPTR,#pEvt
+000976 E0                MOVX    A,@DPTR
+000977 A3                INC     DPTR
+000978 E0                MOVX    A,@DPTR
+000979 FA                MOV     R2,A
+00097A A3                INC     DPTR
+00097B E0                MOVX    A,@DPTR
+00097C 4A                ORL     A,R2
+00097D 7002              JNZ     $ + 4H
+00097F 6155              AJMP    ?C0051?KB_PROCESS
+000981         ?C0050?KB_PROCESS:
+  227: 		return;
+  228: 
+  229: 	delayChgInvTimer = 10;
+000981 904DDE            MOV     DPTR,#delayChgInvTimer
+000984 740A              MOV     A,#0AH
+000986 F0                MOVX    @DPTR,A
+  230: 	g_variable.sleepTimer = 0;
+000987 E4                CLR     A
+000988 904CE3            MOV     DPTR,#g_variable+024H
+00098B F0                MOVX    @DPTR,A
+00098C A3                INC     DPTR
+00098D F0                MOVX    @DPTR,A
+  231: 	xmemclear(hidBuff,9);
+00098E 7B01              MOV     R3,#01H
+000990 7A48              MOV     R2,#HIGH hidBuff
+000992 7900              MOV     R1,#LOW hidBuff
+000994 7D09              MOV     R5,#09H
+000996 FC                MOV     R4,A
+000997 91CD              ACALL   _xmemclear
+  232: 	xmemclear(multikey,9);
+000999 7B01              MOV     R3,#01H
+00099B 7A4D              MOV     R2,#HIGH multikey
+00099D 79E5              MOV     R1,#LOW multikey
+00099F 7D09              MOV     R5,#09H
+0009A1 7C00              MOV     R4,#00H
+0009A3 91CD              ACALL   _xmemclear
+  233: 
+  234: 	////////////////////////////2.4g pairing////////////////////////////////////
+  235: 	if ((pEvt->ksPool[0]  == HID_KEY_EQUAL&& pEvt->ksPool[1]  == HID_KEY_ESC) 
+0009A5 904E52            MOV     DPTR,#pEvt
+0009A8 E0                MOVX    A,@DPTR
+0009A9 FB                MOV     R3,A
+0009AA A3                INC     DPTR
+0009AB E0                MOVX    A,@DPTR
+0009AC FA                MOV     R2,A
+0009AD A3                INC     DPTR
+0009AE E0                MOVX    A,@DPTR
+0009AF F9                MOV     R1,A
+0009B0 900001            MOV     DPTR,#01H
+0009B3 1203CF            LCALL   ?C?CLDOPTR
+0009B6 FF                MOV     R7,A
+0009B7 B42E0A            CJNE    A,#02EH,?C0054?KB_PROCESS
+0009BA 900002            MOV     DPTR,#02H
+0009BD 1203CF            LCALL   ?C?CLDOPTR
+0009C0 6429              XRL     A,#029H
+0009C2 600F              JZ      ?C0053?KB_PROCESS
+0009C4         ?C0054?KB_PROCESS:
+0009C4 EF                MOV     A,R7
+0009C5 6429              XRL     A,#029H
+0009C7 7036              JNZ     ?C0052?KB_PROCESS
+0009C9 900002            MOV     DPTR,#02H
+0009CC 1203CF            LCALL   ?C?CLDOPTR
+0009CF 642E              XRL     A,#02EH
+0009D1 702C              JNZ     ?C0052?KB_PROCESS
+0009D3         ?C0053?KB_PROCESS:
+  236: 		||(pEvt->ksPool[0]  == HID_KEY_ESC && pEvt->ksPool[1]  == HID_KEY_EQUAL) 
+  237: 		)
+  238: 	{
+  239: 		m_24g_paring_addr[0] = 0x20;
+0009D3 904BEB            MOV     DPTR,#m_24g_paring_addr
+0009D6 7420              MOV     A,#020H
+0009D8 F0                MOVX    @DPTR,A
+  240: 		m_24g_paring_addr[1] = 0x15;
+0009D9 A3                INC     DPTR
+0009DA 7415              MOV     A,#015H
+0009DC F0                MOVX    @DPTR,A
+  241: 		m_24g_paring_addr[2] = 0x10;
+0009DD A3                INC     DPTR
+0009DE 7410              MOV     A,#010H
+0009E0 F0                MOVX    @DPTR,A
+  242: 		m_24g_paring_addr[3] = 0x05;
+0009E1 A3                INC     DPTR
+0009E2 7405              MOV     A,#05H
+0009E4 F0                MOVX    @DPTR,A
+  243: 		if (g_variable.g24_currentState != CHANGE_TO_24G_PAIRING)
+0009E5 904CC5            MOV     DPTR,#g_variable+06H
+0009E8 E0                MOVX    A,@DPTR
+0009E9 6401              XRL     A,#01H
+0009EB 6009              JZ      ?C0055?KB_PROCESS
+  244: 		{
+  245: 			g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
+0009ED 904CCE            MOV     DPTR,#g_variable+0FH
+0009F0 E0                MOVX    A,@DPTR
+0009F1 4410              ORL     A,#010H
+0009F3 F0                MOVX    @DPTR,A
+  246: 		}
+0009F4 8010              SJMP    ?C0057?KB_PROCESS
+0009F6         ?C0055?KB_PROCESS:
+  247: 		else
+  248: 		{
+  249: 			g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
+0009F6 904CCE            MOV     DPTR,#g_variable+0FH
+0009F9 E0                MOVX    A,@DPTR
+0009FA 54EF              ANL     A,#0EFH
+0009FC F0                MOVX    @DPTR,A
+  250: 		}
+  251: 	}
+0009FD 8007              SJMP    ?C0057?KB_PROCESS
+0009FF         ?C0052?KB_PROCESS:
+  252: 	else
+  253: 	{
+  254: 		g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
+0009FF 904CCE            MOV     DPTR,#g_variable+0FH
+000A02 E0                MOVX    A,@DPTR
+000A03 54EF              ANL     A,#0EFH
+000A05 F0                MOVX    @DPTR,A
+  255: 	}
+000A06         ?C0057?KB_PROCESS:
+  256: 
+  257: 	m_power_on_flag = 1;
+000A06 904CB6            MOV     DPTR,#m_power_on_flag
+000A09 7401              MOV     A,#01H
+000A0B F0                MOVX    @DPTR,A
+  258: 	if( (g_variable.key_combination_step == CAMBINATION_KEY_PRESS) ||
+000A0C 904CF4            MOV     DPTR,#g_variable+035H
+000A0F E0                MOVX    A,@DPTR
+000A10 FF                MOV     R7,A
+000A11 6401              XRL     A,#01H
+000A13 7002              JNZ     $ + 4H
+000A15 6155              AJMP    ?C0051?KB_PROCESS
+000A17 EF                MOV     A,R7
+000A18 6404              XRL     A,#04H
+000A1A 7002              JNZ     $ + 4H
+000A1C 6155              AJMP    ?C0051?KB_PROCESS
+000A1E EF                MOV     A,R7
+000A1F 6402              XRL     A,#02H
+000A21 7002              JNZ     $ + 4H
+000A23 6155              AJMP    ?C0051?KB_PROCESS
+  259: 	    (g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE) ||
+  260: 	    (g_variable.key_combination_step == CAMBINATION_KEY_HOLD))
+  261: 	{
+  262: 		return;
+  263: 	}
+000A25         ?C0058?KB_PROCESS:
+  264: 
+  265: 	// get 24g led status
+  266: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+000A25 904CC5            MOV     DPTR,#g_variable+06H
+000A28 E0                MOVX    A,@DPTR
+000A29 6403              XRL     A,#03H
+000A2B 7045              JNZ     ?C0060?KB_PROCESS
+  267: 	{
+  268: 		for(i=0; i < KS_BUFF_POLL_LEN-1; i++)
+000A2D 904E56            MOV     DPTR,#i
+000A30 F0                MOVX    @DPTR,A
+000A31         ?C0061?KB_PROCESS:
+000A31 904E56            MOV     DPTR,#i
+000A34 E0                MOVX    A,@DPTR
+000A35 FF                MOV     R7,A
+000A36 C3                CLR     C
+000A37 9405              SUBB    A,#05H
+000A39 5037              JNC     ?C0060?KB_PROCESS
+  269: 		{
+  270: 			if ((pEvt->ksPool[i] == HID_KEY_CAPS_LOCK) || (pEvt->ksPool[i] == HID_KEY_NUM_LOCK) 
+000A3B 904E52            MOV     DPTR,#pEvt
+000A3E E0                MOVX    A,@DPTR
+000A3F FB                MOV     R3,A
+000A40 A3                INC     DPTR
+000A41 E0                MOVX    A,@DPTR
+000A42 FA                MOV     R2,A
+000A43 A3                INC     DPTR
+000A44 E0                MOVX    A,@DPTR
+000A45 2401              ADD     A,#01H
+000A47 F9                MOV     R1,A
+000A48 E4                CLR     A
+000A49 3A                ADDC    A,R2
+000A4A FA                MOV     R2,A
+000A4B 7E00              MOV     R6,#00H
+000A4D E9                MOV     A,R1
+000A4E 2F                ADD     A,R7
+000A4F F9                MOV     R1,A
+000A50 EE                MOV     A,R6
+000A51 3A                ADDC    A,R2
+000A52 FA                MOV     R2,A
+000A53 1203B6            LCALL   ?C?CLDPTR
+000A56 FF                MOV     R7,A
+000A57 6439              XRL     A,#039H
+000A59 6009              JZ      ?C0065?KB_PROCESS
+000A5B EF                MOV     A,R7
+000A5C 6453              XRL     A,#053H
+000A5E 6004              JZ      ?C0065?KB_PROCESS
+000A60 EF                MOV     A,R7
+000A61 B44706            CJNE    A,#047H,?C0063?KB_PROCESS
+000A64         ?C0065?KB_PROCESS:
+  271: 			|| (pEvt->ksPool[i] == HID_KEY_SCROLL_LOCK))
+  272: 			{
+  273: 				get_24g_led_send = 1;
+000A64 904DD0            MOV     DPTR,#get_24g_led_send
+000A67 7401              MOV     A,#01H
+000A69 F0                MOVX    @DPTR,A
+  274: 			}
+  275: 		}
+000A6A         ?C0063?KB_PROCESS:
+000A6A 904E56            MOV     DPTR,#i
+000A6D E0                MOVX    A,@DPTR
+000A6E 04                INC     A
+000A6F F0                MOVX    @DPTR,A
+000A70 80BF              SJMP    ?C0061?KB_PROCESS
+  276: 	}
+000A72         ?C0060?KB_PROCESS:
+  277: 
+  278: 	kb_multikey_setup(pEvt);
+000A72 904E52            MOV     DPTR,#pEvt
+000A75 E0                MOVX    A,@DPTR
+000A76 FB                MOV     R3,A
+000A77 A3                INC     DPTR
+000A78 E0                MOVX    A,@DPTR
+000A79 FA                MOV     R2,A
+000A7A A3                INC     DPTR
+000A7B E0                MOVX    A,@DPTR
+000A7C F9                MOV     R1,A
+000A7D 7156              ACALL   _kb_multikey_setup
+  279: 	
+  280: 	if (mult_key_status == KEY_PRESS) 
+000A7F 904DE4            MOV     DPTR,#mult_key_status
+000A82 E0                MOVX    A,@DPTR
+000A83 B40111            CJNE    A,#01H,?C0066?KB_PROCESS
+  281: 	{
+  282: 		mult_key_status = KEY_WAIT_RELEASE;
+000A86 7402              MOV     A,#02H
+000A88 F0                MOVX    @DPTR,A
+  283: 		multikey[0] = HID_REPORTID_2;	
+000A89 904DE5            MOV     DPTR,#multikey
+000A8C F0                MOVX    @DPTR,A
+  284: 		IPC_TxHidData(multikey, 3);
+000A8D 7B01              MOV     R3,#01H
+000A8F 7A4D              MOV     R2,#HIGH multikey
+000A91 79E5              MOV     R1,#LOW multikey
+000A93 7D03              MOV     R5,#03H
+000A95 A183              AJMP    _IPC_TxHidData
+  285: 	}
+000A97         ?C0066?KB_PROCESS:
+  286: 	else if(mult_key_status == KEY_RELEASE)
+000A97 904DE4            MOV     DPTR,#mult_key_status
+000A9A E0                MOVX    A,@DPTR
+000A9B B40316            CJNE    A,#03H,?C0068?KB_PROCESS
+  287: 	{
+  288: 		mult_key_status = KEY_STANDBY;
+000A9E E4                CLR     A
+000A9F F0                MOVX    @DPTR,A
+  289: 		mult_key_value = 0;
+000AA0 904DE3            MOV     DPTR,#mult_key_value
+000AA3 F0                MOVX    @DPTR,A
+  290: 		multikey[0] = HID_REPORTID_2;	
+000AA4 904DE5            MOV     DPTR,#multikey
+000AA7 7402              MOV     A,#02H
+000AA9 F0                MOVX    @DPTR,A
+  291: 		IPC_TxHidData(multikey, 3);
+000AAA 7B01              MOV     R3,#01H
+000AAC 7A4D              MOV     R2,#HIGH multikey
+000AAE 79E5              MOV     R1,#LOW multikey
+000AB0 7D03              MOV     R5,#03H
+000AB2 A183              AJMP    _IPC_TxHidData
+  292: 	}
+000AB4         ?C0068?KB_PROCESS:
+  293: 	else 
+  294: 	{
+  295: 		hidBuff[0] = HID_REPORTID_1;
+000AB4 904800            MOV     DPTR,#hidBuff
+000AB7 7401              MOV     A,#01H
+000AB9 F0                MOVX    @DPTR,A
+  296: 		hidBuff[1] = pEvt->standardSel;
+000ABA 904E52            MOV     DPTR,#pEvt
+000ABD E0                MOVX    A,@DPTR
+000ABE FB                MOV     R3,A
+000ABF A3                INC     DPTR
+000AC0 E0                MOVX    A,@DPTR
+000AC1 FA                MOV     R2,A
+000AC2 A3                INC     DPTR
+000AC3 E0                MOVX    A,@DPTR
+000AC4 F9                MOV     R1,A
+000AC5 1203B6            LCALL   ?C?CLDPTR
+000AC8 904801            MOV     DPTR,#hidBuff+01H
+000ACB F0                MOVX    @DPTR,A
+  297: 		hidBuff[2] = 0;
+000ACC E4                CLR     A
+000ACD A3                INC     DPTR
+000ACE F0                MOVX    @DPTR,A
+  298: 
+  299: 		standard_key_release_flag = 0;
+000ACF 904DD8            MOV     DPTR,#standard_key_release_flag
+000AD2 F0                MOVX    @DPTR,A
+  300: 
+  301: 		if (pEvt->ksPool[0] == HID_KEY_FN)
+000AD3 900001            MOV     DPTR,#01H
+000AD6 1203CF            LCALL   ?C?CLDOPTR
+000AD9 B4AF1E            CJNE    A,#0AFH,?C0070?KB_PROCESS
+  302: 			xmemcpy(&hidBuff[3], &pEvt->ksPool[1], 5);
+000ADC 7E48              MOV     R6,#HIGH hidBuff+03H
+000ADE 7F03              MOV     R7,#LOW hidBuff+03H
+000AE0 904E52            MOV     DPTR,#pEvt
+000AE3 E0                MOVX    A,@DPTR
+000AE4 FB                MOV     R3,A
+000AE5 A3                INC     DPTR
+000AE6 E0                MOVX    A,@DPTR
+000AE7 FA                MOV     R2,A
+000AE8 A3                INC     DPTR
+000AE9 E0                MOVX    A,@DPTR
+000AEA 2402              ADD     A,#02H
+000AEC F9                MOV     R1,A
+000AED E4                CLR     A
+000AEE 3A                ADDC    A,R2
+000AEF FA                MOV     R2,A
+000AF0 904E51            MOV     DPTR,#?_xmemcpy?BYTE+05H
+000AF3 7405              MOV     A,#05H
+000AF5 F0                MOVX    @DPTR,A
+000AF6 11DA              ACALL   _xmemcpy
+000AF8 801C              SJMP    ?C0071?KB_PROCESS
+000AFA         ?C0070?KB_PROCESS:
+  303: 		else
+  304: 			xmemcpy(&hidBuff[3], pEvt->ksPool, 6);
+000AFA 7E48              MOV     R6,#HIGH hidBuff+03H
+000AFC 7F03              MOV     R7,#LOW hidBuff+03H
+000AFE 904E52            MOV     DPTR,#pEvt
+000B01 E0                MOVX    A,@DPTR
+000B02 FB                MOV     R3,A
+000B03 A3                INC     DPTR
+000B04 E0                MOVX    A,@DPTR
+000B05 FA                MOV     R2,A
+000B06 A3                INC     DPTR
+000B07 E0                MOVX    A,@DPTR
+000B08 2401              ADD     A,#01H
+000B0A F9                MOV     R1,A
+000B0B E4                CLR     A
+000B0C 3A                ADDC    A,R2
+000B0D FA                MOV     R2,A
+000B0E 904E51            MOV     DPTR,#?_xmemcpy?BYTE+05H
+000B11 7406              MOV     A,#06H
+000B13 F0                MOVX    @DPTR,A
+000B14 11DA              ACALL   _xmemcpy
+000B16         ?C0071?KB_PROCESS:
+  305: 		
+  306: 		for(i = 3; i<9;i++)
+000B16 904E56            MOV     DPTR,#i
+000B19 7403              MOV     A,#03H
+000B1B F0                MOVX    @DPTR,A
+000B1C         ?C0072?KB_PROCESS:
+000B1C 904E56            MOV     DPTR,#i
+000B1F E0                MOVX    A,@DPTR
+000B20 FF                MOV     R7,A
+000B21 C3                CLR     C
+000B22 9409              SUBB    A,#09H
+000B24 5025              JNC     ?C0073?KB_PROCESS
+  307: 		{
+  308: 			if (hidBuff[i] == HID_KEY_FN)
+000B26 7400              MOV     A,#LOW hidBuff
+000B28 2F                ADD     A,R7
+000B29 F582              MOV     DPL,A
+000B2B E4                CLR     A
+000B2C 3448              ADDC    A,#HIGH hidBuff
+000B2E F583              MOV     DPH,A
+000B30 E0                MOVX    A,@DPTR
+000B31 B4AF0F            CJNE    A,#0AFH,?C0074?KB_PROCESS
+  309: 				hidBuff[i] = 0;
+000B34 904E56            MOV     DPTR,#i
+000B37 E0                MOVX    A,@DPTR
+000B38 2400              ADD     A,#LOW hidBuff
+000B3A F582              MOV     DPL,A
+000B3C E4                CLR     A
+000B3D 3448              ADDC    A,#HIGH hidBuff
+000B3F F583              MOV     DPH,A
+000B41 E4                CLR     A
+000B42 F0                MOVX    @DPTR,A
+  310: 		}
+000B43         ?C0074?KB_PROCESS:
+000B43 904E56            MOV     DPTR,#i
+000B46 E0                MOVX    A,@DPTR
+000B47 04                INC     A
+000B48 F0                MOVX    @DPTR,A
+000B49 80D1              SJMP    ?C0072?KB_PROCESS
+000B4B         ?C0073?KB_PROCESS:
+  311: 		
+  312: 		IPC_TxHidData(hidBuff, 9);
+000B4B 7B01              MOV     R3,#01H
+000B4D 7A48              MOV     R2,#HIGH hidBuff
+000B4F 7900              MOV     R1,#LOW hidBuff
+000B51 7D09              MOV     R5,#09H
+000B53 B183              ACALL   _IPC_TxHidData
+  313: 	}
+  314: 	return;
+  315: }
+000B55         ?C0051?KB_PROCESS:
+000B55 22                RET     
+----- FUNCTION _kb_motion_keyscan (END) -------
+
+
+----- FUNCTION _kb_multikey_setup (BEGIN) -----
+ FILE: 'kb_process.c'
+  398: void kb_multikey_setup(tKSEVENT *pEvt)
+  399: {
+000B56 904E65            MOV     DPTR,#pEvt
+000B59 EB                MOV     A,R3
+000B5A F0                MOVX    @DPTR,A
+000B5B A3                INC     DPTR
+000B5C EA                MOV     A,R2
+000B5D F0                MOVX    @DPTR,A
+000B5E A3                INC     DPTR
+000B5F E9                MOV     A,R1
+000B60 F0                MOVX    @DPTR,A
+  400: 	byte i = 0;
+  401: 	
+000B61 E4                CLR     A
+000B62 A3                INC     DPTR
+000B63 F0                MOVX    @DPTR,A
+  402: 	for (i = 0;i < 6;i++)
+000B64 F0                MOVX    @DPTR,A
+000B65         ?C0097?KB_PROCESS:
+000B65 904E68            MOV     DPTR,#i
+000B68 E0                MOVX    A,@DPTR
+000B69 FF                MOV     R7,A
+000B6A C3                CLR     C
+000B6B 9406              SUBB    A,#06H
+000B6D 4002              JC      $ + 4H
+000B6F 81B1              AJMP    ?C0122?KB_PROCESS
+  403: 	{		
+  404: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
+000B71 904E65            MOV     DPTR,#pEvt
+000B74 E0                MOVX    A,@DPTR
+000B75 FB                MOV     R3,A
+000B76 A3                INC     DPTR
+000B77 E0                MOVX    A,@DPTR
+000B78 FA                MOV     R2,A
+000B79 A3                INC     DPTR
+000B7A E0                MOVX    A,@DPTR
+000B7B 2401              ADD     A,#01H
+000B7D F9                MOV     R1,A
+000B7E E4                CLR     A
+000B7F 3A                ADDC    A,R2
+000B80 FA                MOV     R2,A
+000B81 7E00              MOV     R6,#00H
+000B83 E9                MOV     A,R1
+000B84 2F                ADD     A,R7
+000B85 F9                MOV     R1,A
+000B86 EE                MOV     A,R6
+000B87 3A                ADDC    A,R2
+000B88 FA                MOV     R2,A
+000B89 1203B6            LCALL   ?C?CLDPTR
+000B8C FF                MOV     R7,A
+000B8D 54F0              ANL     A,#0F0H
+000B8F 64F0              XRL     A,#0F0H
+000B91 6009              JZ      ?C0101?KB_PROCESS
+000B93 EF                MOV     A,R7
+000B94 54D0              ANL     A,#0D0H
+000B96 64D0              XRL     A,#0D0H
+000B98 6002              JZ      $ + 4H
+000B9A 81A9              AJMP    ?C0099?KB_PROCESS
+000B9C         ?C0101?KB_PROCESS:
+  405: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
+  406: 		{
+  407: 			/*
+  408: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
+  409: 			{
+  410: 				kb_set_multikey(0x0183); 
+  411: 			}
+  412: 			else*/ 
+  413: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
+000B9C 1203B6            LCALL   ?C?CLDPTR
+000B9F FB                MOV     R3,A
+000BA0 B4F208            CJNE    A,#0F2H,?C0102?KB_PROCESS
+  414: 			{ 
+  415: 				kb_set_multikey(0x00cd);
+000BA3 7FCD              MOV     R7,#0CDH
+000BA5 7E00              MOV     R6,#00H
+000BA7 91B2              ACALL   _kb_set_multikey
+  416: 			}
+000BA9 817E              AJMP    ?C0103?KB_PROCESS
+000BAB         ?C0102?KB_PROCESS:
+  417: 		/*	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
+  418: 			{
+  419: 				kb_set_multikey(0x00b7);
+  420: 			}	*/
+  421: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
+000BAB EB                MOV     A,R3
+000BAC B4F408            CJNE    A,#0F4H,?C0104?KB_PROCESS
+  422: 			{
+  423: 				kb_set_multikey(0x00b6);
+000BAF 7FB6              MOV     R7,#0B6H
+000BB1 7E00              MOV     R6,#00H
+000BB3 91B2              ACALL   _kb_set_multikey
+  424: 			}
+000BB5 817E              AJMP    ?C0103?KB_PROCESS
+000BB7         ?C0104?KB_PROCESS:
+  425: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
+000BB7 904E65            MOV     DPTR,#pEvt
+000BBA E0                MOVX    A,@DPTR
+000BBB FB                MOV     R3,A
+000BBC A3                INC     DPTR
+000BBD E0                MOVX    A,@DPTR
+000BBE FA                MOV     R2,A
+000BBF A3                INC     DPTR
+000BC0 E0                MOVX    A,@DPTR
+000BC1 2401              ADD     A,#01H
+000BC3 F9                MOV     R1,A
+000BC4 E4                CLR     A
+000BC5 3A                ADDC    A,R2
+000BC6 FA                MOV     R2,A
+000BC7 A3                INC     DPTR
+000BC8 E0                MOVX    A,@DPTR
+000BC9 7E00              MOV     R6,#00H
+000BCB 29                ADD     A,R1
+000BCC F9                MOV     R1,A
+000BCD EE                MOV     A,R6
+000BCE 3A                ADDC    A,R2
+000BCF FA                MOV     R2,A
+000BD0 1203B6            LCALL   ?C?CLDPTR
+000BD3 FB                MOV     R3,A
+000BD4 B4F506            CJNE    A,#0F5H,?C0106?KB_PROCESS
+  426: 			{
+  427: 				kb_set_multikey(0x00b5);
+000BD7 7FB5              MOV     R7,#0B5H
+000BD9 91B2              ACALL   _kb_set_multikey
+  428: 			}
+000BDB 817E              AJMP    ?C0103?KB_PROCESS
+000BDD         ?C0106?KB_PROCESS:
+  429: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
+000BDD EB                MOV     A,R3
+000BDE B4F608            CJNE    A,#0F6H,?C0108?KB_PROCESS
+  430: 			{
+  431: 				kb_set_multikey(0x00ea);
+000BE1 7FEA              MOV     R7,#0EAH
+000BE3 7E00              MOV     R6,#00H
+000BE5 91B2              ACALL   _kb_set_multikey
+  432: 			}
+000BE7 817E              AJMP    ?C0103?KB_PROCESS
+000BE9         ?C0108?KB_PROCESS:
+  433: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
+000BE9 904E65            MOV     DPTR,#pEvt
+000BEC E0                MOVX    A,@DPTR
+000BED FB                MOV     R3,A
+000BEE A3                INC     DPTR
+000BEF E0                MOVX    A,@DPTR
+000BF0 FA                MOV     R2,A
+000BF1 A3                INC     DPTR
+000BF2 E0                MOVX    A,@DPTR
+000BF3 2401              ADD     A,#01H
+000BF5 F9                MOV     R1,A
+000BF6 E4                CLR     A
+000BF7 3A                ADDC    A,R2
+000BF8 FA                MOV     R2,A
+000BF9 A3                INC     DPTR
+000BFA E0                MOVX    A,@DPTR
+000BFB 7E00              MOV     R6,#00H
+000BFD 29                ADD     A,R1
+000BFE F9                MOV     R1,A
+000BFF EE                MOV     A,R6
+000C00 3A                ADDC    A,R2
+000C01 FA                MOV     R2,A
+000C02 1203B6            LCALL   ?C?CLDPTR
+000C05 FB                MOV     R3,A
+000C06 B4F706            CJNE    A,#0F7H,?C0110?KB_PROCESS
+  434: 			{
+  435: 				kb_set_multikey(0x00e9);
+000C09 7FE9              MOV     R7,#0E9H
+000C0B 91B2              ACALL   _kb_set_multikey
+  436: 			}
+000C0D 806F              SJMP    ?C0103?KB_PROCESS
+000C0F         ?C0110?KB_PROCESS:
+  437: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
+000C0F EB                MOV     A,R3
+000C10 B4F808            CJNE    A,#0F8H,?C0112?KB_PROCESS
+  438: 			{
+  439: 				kb_set_multikey(0x00e2);
+000C13 7FE2              MOV     R7,#0E2H
+000C15 7E00              MOV     R6,#00H
+000C17 91B2              ACALL   _kb_set_multikey
+  440: 			}
+000C19 8063              SJMP    ?C0103?KB_PROCESS
+000C1B         ?C0112?KB_PROCESS:
+  441: 		/*	else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
+  442: 			{
+  443: 				kb_set_multikey(0x0194);
+  444: 			}	*/
+  445: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
+000C1B 904E65            MOV     DPTR,#pEvt
+000C1E E0                MOVX    A,@DPTR
+000C1F FB                MOV     R3,A
+000C20 A3                INC     DPTR
+000C21 E0                MOVX    A,@DPTR
+000C22 FA                MOV     R2,A
+000C23 A3                INC     DPTR
+000C24 E0                MOVX    A,@DPTR
+000C25 2401              ADD     A,#01H
+000C27 F9                MOV     R1,A
+000C28 E4                CLR     A
+000C29 3A                ADDC    A,R2
+000C2A FA                MOV     R2,A
+000C2B A3                INC     DPTR
+000C2C E0                MOVX    A,@DPTR
+000C2D 7E00              MOV     R6,#00H
+000C2F 29                ADD     A,R1
+000C30 F9                MOV     R1,A
+000C31 EE                MOV     A,R6
+000C32 3A                ADDC    A,R2
+000C33 FA                MOV     R2,A
+000C34 1203B6            LCALL   ?C?CLDPTR
+000C37 FB                MOV     R3,A
+000C38 B4FA07            CJNE    A,#0FAH,?C0114?KB_PROCESS
+  446: 			{
+  447: 				kb_set_multikey(0x018a);//mail
+000C3B 7F8A              MOV     R7,#08AH
+000C3D 0E                INC     R6
+000C3E 91B2              ACALL   _kb_set_multikey
+  448: 			}
+000C40 803C              SJMP    ?C0103?KB_PROCESS
+000C42         ?C0114?KB_PROCESS:
+  449: 		/*	else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
+  450: 			{
+  451: 				kb_set_multikey(0x0192);
+  452: 			}
+  453: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
+  454: 			{
+  455: 				kb_set_multikey(0x022a);//www Favorites
+  456: 			}
+  457: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
+  458: 			{
+  459: 				kb_set_multikey(0x0225);
+  460: 			}
+  461: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
+  462: 			{
+  463: 				kb_set_multikey(0x0226);
+  464: 			}
+  465: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
+  466: 			{
+  467: 				kb_set_multikey(0x0224);
+  468: 			}
+  469: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
+  470: 			{
+  471: 				kb_set_multikey(0x0227);
+  472: 			}	*/
+  473: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
+000C42 EB                MOV     A,R3
+000C43 B4D508            CJNE    A,#0D5H,?C0116?KB_PROCESS
+  474: 			{
+  475: 				kb_set_multikey(0x0221);
+000C46 7F21              MOV     R7,#021H
+000C48 7E02              MOV     R6,#02H
+000C4A 91B2              ACALL   _kb_set_multikey
+  476: 			}
+000C4C 8030              SJMP    ?C0103?KB_PROCESS
+000C4E         ?C0116?KB_PROCESS:
+  477: 		/*	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
+  478: 			{
+  479: 				kb_set_multikey(0x0223);
+  480: 			} 	*/
+  481: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
+000C4E 904E65            MOV     DPTR,#pEvt
+000C51 E0                MOVX    A,@DPTR
+000C52 FB                MOV     R3,A
+000C53 A3                INC     DPTR
+000C54 E0                MOVX    A,@DPTR
+000C55 FA                MOV     R2,A
+000C56 A3                INC     DPTR
+000C57 E0                MOVX    A,@DPTR
+000C58 2401              ADD     A,#01H
+000C5A F9                MOV     R1,A
+000C5B E4                CLR     A
+000C5C 3A                ADDC    A,R2
+000C5D FA                MOV     R2,A
+000C5E A3                INC     DPTR
+000C5F E0                MOVX    A,@DPTR
+000C60 7E00              MOV     R6,#00H
+000C62 29                ADD     A,R1
+000C63 F9                MOV     R1,A
+000C64 EE                MOV     A,R6
+000C65 3A                ADDC    A,R2
+000C66 FA                MOV     R2,A
+000C67 1203B6            LCALL   ?C?CLDPTR
+000C6A FB                MOV     R3,A
+000C6B B4D706            CJNE    A,#0D7H,?C0118?KB_PROCESS
+  482: 			{
+  483: 				kb_set_multikey(0x0070);
+000C6E 7F70              MOV     R7,#070H
+000C70 91B2              ACALL   _kb_set_multikey
+  484: 			}
+000C72 800A              SJMP    ?C0103?KB_PROCESS
+000C74         ?C0118?KB_PROCESS:
+  485: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
+000C74 EB                MOV     A,R3
+000C75 B4D806            CJNE    A,#0D8H,?C0103?KB_PROCESS
+  486: 			{
+  487: 				kb_set_multikey(0x006f);
+000C78 7F6F              MOV     R7,#06FH
+000C7A 7E00              MOV     R6,#00H
+000C7C 91B2              ACALL   _kb_set_multikey
+  488: 			}
+000C7E         ?C0103?KB_PROCESS:
+  489: 			
+  490: 			if(mult_key_status == KEY_WAIT_RELEASE)
+000C7E 904DE4            MOV     DPTR,#mult_key_status
+000C81 E0                MOVX    A,@DPTR
+000C82 B40224            CJNE    A,#02H,?C0099?KB_PROCESS
+  491: 			{
+  492: 				mult_key_value = pEvt->ksPool[i];
+000C85 904E65            MOV     DPTR,#pEvt
+000C88 E0                MOVX    A,@DPTR
+000C89 FB                MOV     R3,A
+000C8A A3                INC     DPTR
+000C8B E0                MOVX    A,@DPTR
+000C8C FA                MOV     R2,A
+000C8D A3                INC     DPTR
+000C8E E0                MOVX    A,@DPTR
+000C8F 2401              ADD     A,#01H
+000C91 F9                MOV     R1,A
+000C92 E4                CLR     A
+000C93 3A                ADDC    A,R2
+000C94 FA                MOV     R2,A
+000C95 A3                INC     DPTR
+000C96 E0                MOVX    A,@DPTR
+000C97 7E00              MOV     R6,#00H
+000C99 29                ADD     A,R1
+000C9A F9                MOV     R1,A
+000C9B EE                MOV     A,R6
+000C9C 3A                ADDC    A,R2
+000C9D FA                MOV     R2,A
+000C9E 1203B6            LCALL   ?C?CLDPTR
+000CA1 904DE3            MOV     DPTR,#mult_key_value
+000CA4 F0                MOVX    @DPTR,A
+  493: 				pEvt->ksPool[i] = 0;
+000CA5 E4                CLR     A
+000CA6 1203FC            LCALL   ?C?CSTPTR
+  494: 			}
+  495: 		}
+  496: 	}
+000CA9         ?C0099?KB_PROCESS:
+000CA9 904E68            MOV     DPTR,#i
+000CAC E0                MOVX    A,@DPTR
+000CAD 04                INC     A
+000CAE F0                MOVX    @DPTR,A
+000CAF 6165              AJMP    ?C0097?KB_PROCESS
+  497: }
+000CB1         ?C0122?KB_PROCESS:
+000CB1 22                RET     
+----- FUNCTION _kb_multikey_setup (END) -------
+
+
+----- FUNCTION _kb_set_multikey (BEGIN) -----
+ FILE: 'kb_process.c'
+   91: void kb_set_multikey(word multikey_value)
+   92: {
+;---- Variable 'multikey_value' assigned to Register 'R4/R5' ----
+000CB2 AD07              MOV     R5,AR7
+000CB4 AC06              MOV     R4,AR6
+   93: 	if(mult_key_status != KEY_WAIT_RELEASE)
+   94: 	{
+000CB6 904DE4            MOV     DPTR,#mult_key_status
+000CB9 E0                MOVX    A,@DPTR
+000CBA 6402              XRL     A,#02H
+000CBC 600E              JZ      ?C0025?KB_PROCESS
+   95: 		mult_key_status = KEY_PRESS;
+   96: 		multikey[0] = HID_REPORTID_2;
+000CBE 7401              MOV     A,#01H
+000CC0 F0                MOVX    @DPTR,A
+   97: 		multikey[1] = (multikey_value&0xff);
+000CC1 904DE5            MOV     DPTR,#multikey
+000CC4 04                INC     A
+000CC5 F0                MOVX    @DPTR,A
+   98: 		multikey[2] = ((multikey_value>>8)&0xff);
+000CC6 EF                MOV     A,R7
+000CC7 A3                INC     DPTR
+000CC8 F0                MOVX    @DPTR,A
+   99: 	}
+000CC9 EE                MOV     A,R6
+000CCA A3                INC     DPTR
+000CCB F0                MOVX    @DPTR,A
+  100: }
+  101: 
+000CCC         ?C0025?KB_PROCESS:
+000CCC 22                RET     
+----- FUNCTION _kb_set_multikey (END) -------
+
+
+----- FUNCTION _xmemclear (BEGIN) -----
+000CCD 904E7E            MOV     DPTR,#dest
+000CD0 EB                MOV     A,R3
+000CD1 F0                MOVX    @DPTR,A
+000CD2 A3                INC     DPTR
+000CD3 EA                MOV     A,R2
+000CD4 F0                MOVX    @DPTR,A
+000CD5 A3                INC     DPTR
+000CD6 E9                MOV     A,R1
+000CD7 F0                MOVX    @DPTR,A
+;---- Variable 'len' assigned to Register 'R4/R5' ----
+000CD8         ?C0008?UTILITIES:
+000CD8 ED                MOV     A,R5
+000CD9 1D                DEC     R5
+000CDA AE04              MOV     R6,AR4
+000CDC 7001              JNZ     ?C0026?UTILITIES
+000CDE 1C                DEC     R4
+000CDF         ?C0026?UTILITIES:
+000CDF 4E                ORL     A,R6
+000CE0 6016              JZ      ?C0010?UTILITIES
+000CE2 904E7E            MOV     DPTR,#dest
+000CE5 E0                MOVX    A,@DPTR
+000CE6 FB                MOV     R3,A
+000CE7 A3                INC     DPTR
+000CE8 E4                CLR     A
+000CE9 75F001            MOV     B,#01H
+000CEC 120424            LCALL   ?C?ILDIX
+000CEF A9F0              MOV     R1,B
+000CF1 FA                MOV     R2,A
+000CF2 E4                CLR     A
+000CF3 1203FC            LCALL   ?C?CSTPTR
+000CF6 80E0              SJMP    ?C0008?UTILITIES
+000CF8         ?C0010?UTILITIES:
+000CF8 22                RET     
+----- FUNCTION _xmemclear (END) -------
+
+
+----- FUNCTION System_clear_mem (BEGIN) -----
+ FILE: 'sys.c'
+   11: static void System_clear_mem()
+   12: {
+   13: 	xmemclear((byte *)&g_variable,sizeof(G_VARIABLE_MAP));
+   14: 	xmemclear(ksSelMapOld,KB_KSCAN_COL_NUM);
+000CF9 7B01              MOV     R3,#01H
+000CFB 7A4C              MOV     R2,#HIGH g_variable
+000CFD 79BF              MOV     R1,#LOW g_variable
+000CFF 7D43              MOV     R5,#043H
+000D01 7C00              MOV     R4,#00H
+000D03 91CD              ACALL   _xmemclear
+   15: 	xmemclear(ksSelMapCheck,KB_KSCAN_COL_NUM);
+000D05 7B01              MOV     R3,#01H
+000D07 7A4D              MOV     R2,#HIGH ksSelMapOld
+000D09 7993              MOV     R1,#LOW ksSelMapOld
+000D0B 7D14              MOV     R5,#014H
+000D0D 7C00              MOV     R4,#00H
+000D0F 91CD              ACALL   _xmemclear
+   16: 	xmemclear(ksSelMapCurr,KB_KSCAN_COL_NUM);
+000D11 7B01              MOV     R3,#01H
+000D13 7A4D              MOV     R2,#HIGH ksSelMapCheck
+000D15 79A8              MOV     R1,#LOW ksSelMapCheck
+000D17 7D14              MOV     R5,#014H
+000D19 7C00              MOV     R4,#00H
+000D1B 91CD              ACALL   _xmemclear
+   17: 	xmemclear(hidBuff,9);
+000D1D 7B01              MOV     R3,#01H
+000D1F 7A4D              MOV     R2,#HIGH ksSelMapCurr
+000D21 79BC              MOV     R1,#LOW ksSelMapCurr
+000D23 7D14              MOV     R5,#014H
+000D25 7C00              MOV     R4,#00H
+000D27 91CD              ACALL   _xmemclear
+   18: 	xmemclear(multikey,9);
+000D29 7B01              MOV     R3,#01H
+000D2B 7A48              MOV     R2,#HIGH hidBuff
+000D2D 7900              MOV     R1,#LOW hidBuff
+000D2F 7D09              MOV     R5,#09H
+000D31 7C00              MOV     R4,#00H
+000D33 91CD              ACALL   _xmemclear
+   19:  
+000D35 7B01              MOV     R3,#01H
+000D37 7A4D              MOV     R2,#HIGH multikey
+000D39 79E5              MOV     R1,#LOW multikey
+000D3B 7D09              MOV     R5,#09H
+000D3D 7C00              MOV     R4,#00H
+000D3F 91CD              ACALL   _xmemclear
+   20: 	delayChgInvTimer = 0;
+000D41 E4                CLR     A
+000D42 904DDE            MOV     DPTR,#delayChgInvTimer
+000D45 F0                MOVX    @DPTR,A
+   21: 	action_timeout = 0;
+000D46 904DE2            MOV     DPTR,#action_timeout
+000D49 F0                MOVX    @DPTR,A
+   22: 
+   23: 
+   24: 	power_on_flag = 0;
+000D4A 904DE1            MOV     DPTR,#power_on_flag
+000D4D F0                MOVX    @DPTR,A
+   25: 	repeat_send_24g = 0;
+000D4E 904DD6            MOV     DPTR,#repeat_send_24g
+000D51 F0                MOVX    @DPTR,A
+   26: 	get_24g_led_send = 0;
+000D52 904DD0            MOV     DPTR,#get_24g_led_send
+000D55 F0                MOVX    @DPTR,A
+   27: 	press_long_time_flag = 0;
+000D56 904DDC            MOV     DPTR,#press_long_time_flag
+000D59 F0                MOVX    @DPTR,A
+   28: 	mult_key_status = 0;
+000D5A 904DE4            MOV     DPTR,#mult_key_status
+000D5D F0                MOVX    @DPTR,A
+   29: 	long_press_flag = 0;
+000D5E 904DD5            MOV     DPTR,#long_press_flag
+000D61 F0                MOVX    @DPTR,A
+   30: 	standard_key_release_flag = 0;
+000D62 904DD8            MOV     DPTR,#standard_key_release_flag
+000D65 F0                MOVX    @DPTR,A
+   31: 	fn_flag = 0;
+000D66 904DDB            MOV     DPTR,#fn_flag
+000D69 F0                MOVX    @DPTR,A
+   32: 	fn_flag_last = 0;
+000D6A 904DE0            MOV     DPTR,#fn_flag_last
+000D6D F0                MOVX    @DPTR,A
+   33: 	fn_tx_flag = 0;
+000D6E 904DD3            MOV     DPTR,#fn_tx_flag
+000D71 F0                MOVX    @DPTR,A
+   34: 	fn_lock_flag = 0;
+000D72 904DDF            MOV     DPTR,#fn_lock_flag
+000D75 F0                MOVX    @DPTR,A
+   35: 
+   36: 	mult_key_value = 0;
+000D76 904DE3            MOV     DPTR,#mult_key_value
+000D79 F0                MOVX    @DPTR,A
+   37: 	m_caps_num_lock_last = 0; 
+000D7A 904DD9            MOV     DPTR,#m_caps_num_lock_last
+000D7D F0                MOVX    @DPTR,A
+   38: 	m_reconnect_continue = 0;
+000D7E 904D38            MOV     DPTR,#m_reconnect_continue
+000D81 F0                MOVX    @DPTR,A
+   39: }
+000D82 22                RET     
+----- FUNCTION System_clear_mem (END) -------
+
+
+----- FUNCTION _IPC_TxHidData (BEGIN) -----
+ FILE: 'kb_process.c'
+   59: void IPC_TxHidData(byte* dt, byte len)
+   60: {
+000D83 904E61            MOV     DPTR,#dt
+000D86 EB                MOV     A,R3
+000D87 F0                MOVX    @DPTR,A
+000D88 A3                INC     DPTR
+000D89 EA                MOV     A,R2
+000D8A F0                MOVX    @DPTR,A
+000D8B A3                INC     DPTR
+000D8C E9                MOV     A,R1
+000D8D F0                MOVX    @DPTR,A
+000D8E A3                INC     DPTR
+000D8F ED                MOV     A,R5
+000D90 F0                MOVX    @DPTR,A
+   61: 	if(!YC_check_need_reconnected()) 
+   62: 		return;
+000D91 F178              ACALL   YC_check_need_reconnected
+000D93 EF                MOV     A,R7
+000D94 6076              JZ      ?C0014?KB_PROCESS
+000D96         ?C0013?KB_PROCESS:
+   63: 	if (g_variable.release_data)
+000D96 904CEB            MOV     DPTR,#g_variable+02CH
+000D99 E0                MOVX    A,@DPTR
+000D9A 7070              JNZ     ?C0014?KB_PROCESS
+000D9C         ?C0015?KB_PROCESS:
+   64: 		return;
+   65: 
+   66: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+000D9C 904CC5            MOV     DPTR,#g_variable+06H
+000D9F E0                MOVX    A,@DPTR
+000DA0 6403              XRL     A,#03H
+000DA2 7068              JNZ     ?C0014?KB_PROCESS
+   67: 	{
+   68: 		if (dt[0] == HID_REPORTID_1)
+000DA4 904E61            MOV     DPTR,#dt
+000DA7 E0                MOVX    A,@DPTR
+000DA8 FB                MOV     R3,A
+000DA9 A3                INC     DPTR
+000DAA E0                MOVX    A,@DPTR
+000DAB FA                MOV     R2,A
+000DAC A3                INC     DPTR
+000DAD E0                MOVX    A,@DPTR
+000DAE F9                MOV     R1,A
+000DAF 1203B6            LCALL   ?C?CLDPTR
+000DB2 FF                MOV     R7,A
+000DB3 6401              XRL     A,#01H
+000DB5 702E              JNZ     ?C0017?KB_PROCESS
+   69: 		{
+   70: 			if (dt[1] == 0 && dt[3] == 00 && dt[4] == 00 && dt[5] == 0)
+000DB7 900001            MOV     DPTR,#01H
+000DBA 1203CF            LCALL   ?C?CLDOPTR
+000DBD 701E              JNZ     ?C0018?KB_PROCESS
+000DBF 900003            MOV     DPTR,#03H
+000DC2 1203CF            LCALL   ?C?CLDOPTR
+000DC5 7016              JNZ     ?C0018?KB_PROCESS
+000DC7 900004            MOV     DPTR,#04H
+000DCA 1203CF            LCALL   ?C?CLDOPTR
+000DCD 700E              JNZ     ?C0018?KB_PROCESS
+000DCF 900005            MOV     DPTR,#05H
+000DD2 1203CF            LCALL   ?C?CLDOPTR
+000DD5 7006              JNZ     ?C0018?KB_PROCESS
+   71: 				repeat_send_24g = 0;
+000DD7 904DD6            MOV     DPTR,#repeat_send_24g
+000DDA F0                MOVX    @DPTR,A
+000DDB 8028              SJMP    ?C0020?KB_PROCESS
+000DDD         ?C0018?KB_PROCESS:
+   72: 			else
+   73: 				repeat_send_24g = 1;			
+000DDD 904DD6            MOV     DPTR,#repeat_send_24g
+000DE0 7401              MOV     A,#01H
+000DE2 F0                MOVX    @DPTR,A
+   74: 		}
+000DE3 8020              SJMP    ?C0020?KB_PROCESS
+000DE5         ?C0017?KB_PROCESS:
+   75: 		else if (dt[0] == HID_REPORTID_2)
+000DE5 EF                MOV     A,R7
+000DE6 B4021C            CJNE    A,#02H,?C0020?KB_PROCESS
+   76: 		{
+   77: 			if (dt[1] == 00 && dt[2] == 00)
+000DE9 900001            MOV     DPTR,#01H
+000DEC 1203CF            LCALL   ?C?CLDOPTR
+000DEF 700E              JNZ     ?C0022?KB_PROCESS
+000DF1 900002            MOV     DPTR,#02H
+000DF4 1203CF            LCALL   ?C?CLDOPTR
+000DF7 7006              JNZ     ?C0022?KB_PROCESS
+   78: 			{
+   79: 				repeat_send_24g = 0;
+000DF9 904DD6            MOV     DPTR,#repeat_send_24g
+000DFC F0                MOVX    @DPTR,A
+   80: 			}
+000DFD 8006              SJMP    ?C0020?KB_PROCESS
+000DFF         ?C0022?KB_PROCESS:
+   81: 			else
+   82: 			{
+   83: 				repeat_send_24g = 1;
+000DFF 904DD6            MOV     DPTR,#repeat_send_24g
+000E02 7401              MOV     A,#01H
+000E04 F0                MOVX    @DPTR,A
+   84: 			}
+   85: 		}
+000E05         ?C0020?KB_PROCESS:
+   86: 		IPC_Tx24GData(dt,len);
+000E05 904E64            MOV     DPTR,#len
+000E08 E0                MOVX    A,@DPTR
+000E09 FD                MOV     R5,A
+000E0A F153              ACALL   _IPC_Tx24GData
+   87: 	}
+   88: }
+000E0C         ?C0014?KB_PROCESS:
+000E0C 22                RET     
+----- FUNCTION _IPC_TxHidData (END) -------
+
+
+----- FUNCTION _kb_send_combination_key (BEGIN) -----
+ FILE: 'kb_process.c'
+  103: void kb_send_combination_key(byte ctrl_value,byte key_value)
+  104: {
+000E0D 904E87            MOV     DPTR,#ctrl_value
+000E10 EF                MOV     A,R7
+000E11 F0                MOVX    @DPTR,A
+000E12 A3                INC     DPTR
+000E13 ED                MOV     A,R5
+000E14 F0                MOVX    @DPTR,A
+  105: 	xmemclear(hidBuff,9);
+  106: 	hidBuff[0] = HID_REPORTID_1;
+000E15 7B01              MOV     R3,#01H
+000E17 7A48              MOV     R2,#HIGH hidBuff
+000E19 7900              MOV     R1,#LOW hidBuff
+000E1B 7D09              MOV     R5,#09H
+000E1D 7C00              MOV     R4,#00H
+000E1F 91CD              ACALL   _xmemclear
+  107: 	hidBuff[1] |= ctrl_value;
+000E21 904800            MOV     DPTR,#hidBuff
+000E24 7401              MOV     A,#01H
+000E26 F0                MOVX    @DPTR,A
+  108: 	hidBuff[3] = key_value; 
+000E27 A3                INC     DPTR
+000E28 E0                MOVX    A,@DPTR
+000E29 FF                MOV     R7,A
+000E2A 904E87            MOV     DPTR,#ctrl_value
+000E2D E0                MOVX    A,@DPTR
+000E2E FE                MOV     R6,A
+000E2F EF                MOV     A,R7
+000E30 4E                ORL     A,R6
+000E31 904801            MOV     DPTR,#hidBuff+01H
+000E34 F0                MOVX    @DPTR,A
+  109: 	IPC_TxHidData(hidBuff, 9);
+000E35 904E88            MOV     DPTR,#key_value
+000E38 E0                MOVX    A,@DPTR
+000E39 904803            MOV     DPTR,#hidBuff+03H
+000E3C F0                MOVX    @DPTR,A
+  110: }
+000E3D 7B01              MOV     R3,#01H
+000E3F 7A48              MOV     R2,#HIGH hidBuff
+000E41 7900              MOV     R1,#LOW hidBuff
+000E43 7D09              MOV     R5,#09H
+000E45 A183              AJMP    _IPC_TxHidData
+----- FUNCTION _kb_send_combination_key (END) -------
+
+
+----- FUNCTION kb_need_keyscan (BEGIN) -----
+ FILE: 'kb_process.c'
+  171: void kb_need_keyscan()
+  172: {
+  173: 		if((g_variable.key_combination_step == CAMBINATION_KEY_FREE)
+  174: 		||(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE)
+000E47 904CF4            MOV     DPTR,#g_variable+035H
+000E4A E0                MOVX    A,@DPTR
+000E4B FF                MOV     R7,A
+000E4C 6008              JZ      ?C0036?KB_PROCESS
+000E4E 6403              XRL     A,#03H
+000E50 6004              JZ      ?C0036?KB_PROCESS
+000E52 EF                MOV     A,R7
+000E53 B40502            CJNE    A,#05H,?C0035?KB_PROCESS
+000E56         ?C0036?KB_PROCESS:
+  175: 		|| (g_variable.key_combination_step == CAMBINATION_KEY_RELEASE)
+  176: 		)
+  177: 			kb_motion();
+000E56 E120              AJMP    kb_motion
+000E58         ?C0035?KB_PROCESS:
+  178: 		else
+  179: 		{
+  180: 			if(g_variable.key_combination_step == CAMBINATION_KEY_PRESS)
+000E58 904CF4            MOV     DPTR,#g_variable+035H
+000E5B E0                MOVX    A,@DPTR
+000E5C B4010E            CJNE    A,#01H,?C0038?KB_PROCESS
+  181: 			{
+  182: 				kb_send_combination_key(g_variable.key_combination_ctrl,0);
+000E5F A3                INC     DPTR
+000E60 E0                MOVX    A,@DPTR
+000E61 FF                MOV     R7,A
+000E62 E4                CLR     A
+000E63 FD                MOV     R5,A
+000E64 D10D              ACALL   _kb_send_combination_key
+  183: 				g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
+000E66 904CF4            MOV     DPTR,#g_variable+035H
+000E69 7402              MOV     A,#02H
+000E6B F0                MOVX    @DPTR,A
+  184: 			}
+000E6C 22                RET     
+000E6D         ?C0038?KB_PROCESS:
+  185: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_HOLD)
+000E6D 904CF4            MOV     DPTR,#g_variable+035H
+000E70 E0                MOVX    A,@DPTR
+000E71 B4020B            CJNE    A,#02H,?C0040?KB_PROCESS
+  186: 			{	
+  187: 				g_variable.key_combination_step = CAMBINATION_KEY_COMPLETE;
+000E74 7403              MOV     A,#03H
+000E76 F0                MOVX    @DPTR,A
+  188: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
+000E77 A3                INC     DPTR
+000E78 E0                MOVX    A,@DPTR
+000E79 FF                MOV     R7,A
+000E7A A3                INC     DPTR
+000E7B E0                MOVX    A,@DPTR
+000E7C FD                MOV     R5,A
+000E7D 808E              SJMP    _kb_send_combination_key
+  189: 			}
+000E7F         ?C0040?KB_PROCESS:
+  190: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE)
+000E7F 904CF4            MOV     DPTR,#g_variable+035H
+000E82 E0                MOVX    A,@DPTR
+000E83 B4041A            CJNE    A,#04H,?C0042?KB_PROCESS
+  191: 			{
+  192: 				g_variable.key_combination_keyvalue = 0;
+000E86 E4                CLR     A
+000E87 904CF6            MOV     DPTR,#g_variable+037H
+000E8A F0                MOVX    @DPTR,A
+  193: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
+000E8B 904CF5            MOV     DPTR,#g_variable+036H
+000E8E E0                MOVX    A,@DPTR
+000E8F FF                MOV     R7,A
+000E90 E4                CLR     A
+000E91 FD                MOV     R5,A
+000E92 D10D              ACALL   _kb_send_combination_key
+  194: 				g_variable.key_combination_ctrl = 0;
+000E94 E4                CLR     A
+000E95 904CF5            MOV     DPTR,#g_variable+036H
+000E98 F0                MOVX    @DPTR,A
+  195: 				g_variable.key_combination_step = CAMBINATION_KEY_RELEASE;
+000E99 904CF4            MOV     DPTR,#g_variable+035H
+000E9C 7405              MOV     A,#05H
+000E9E F0                MOVX    @DPTR,A
+  196: 			}
+000E9F 22                RET     
+000EA0         ?C0042?KB_PROCESS:
+  197: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_NULL)
+000EA0 904CF4            MOV     DPTR,#g_variable+035H
+000EA3 E0                MOVX    A,@DPTR
+000EA4 B40615            CJNE    A,#06H,?C0045?KB_PROCESS
+  198: 			{
+  199: 				g_variable.key_combination_keyvalue = 0;
+000EA7 E4                CLR     A
+000EA8 904CF6            MOV     DPTR,#g_variable+037H
+000EAB F0                MOVX    @DPTR,A
+  200: 				g_variable.key_combination_ctrl = 0;
+000EAC 904CF5            MOV     DPTR,#g_variable+036H
+000EAF F0                MOVX    @DPTR,A
+  201: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
+000EB0 A3                INC     DPTR
+000EB1 E0                MOVX    A,@DPTR
+000EB2 FD                MOV     R5,A
+000EB3 E4                CLR     A
+000EB4 FF                MOV     R7,A
+000EB5 D10D              ACALL   _kb_send_combination_key
+  202: 				g_variable.key_combination_step = CAMBINATION_KEY_FREE;
+000EB7 E4                CLR     A
+000EB8 904CF4            MOV     DPTR,#g_variable+035H
+000EBB F0                MOVX    @DPTR,A
+  203: 			}
+  204: 		}
+  205: 
+  206: }
+000EBC         ?C0045?KB_PROCESS:
+000EBC 22                RET     
+----- FUNCTION kb_need_keyscan (END) -------
+
+
+----- FUNCTION kb_24g_get_led_status (BEGIN) -----
+ FILE: 'kb_process.c'
+  129: void kb_24g_get_led_status()		//get RF Ack for get numlock/capslock status
+  130: {
+  131: 	if((get_24g_led_send == 1) && (repeat_send_24g == 0))
+  132: 	{
+000EBD 904DD0            MOV     DPTR,#get_24g_led_send
+000EC0 E0                MOVX    A,@DPTR
+000EC1 6401              XRL     A,#01H
+000EC3 702F              JNZ     ?C0027?KB_PROCESS
+000EC5 904DD6            MOV     DPTR,#repeat_send_24g
+000EC8 E0                MOVX    A,@DPTR
+000EC9 7029              JNZ     ?C0027?KB_PROCESS
+  133: 		if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+  134: 		{
+000ECB 904CC5            MOV     DPTR,#g_variable+06H
+000ECE E0                MOVX    A,@DPTR
+000ECF 6403              XRL     A,#03H
+000ED1 704C              JNZ     ?C0031?KB_PROCESS
+  135: 			xmemclear(hidBuff,9);
+  136: 			IPC_TxHidData(hidBuff, 9);
+000ED3 7B01              MOV     R3,#01H
+000ED5 7A48              MOV     R2,#HIGH hidBuff
+000ED7 7900              MOV     R1,#LOW hidBuff
+000ED9 7D09              MOV     R5,#09H
+000EDB FC                MOV     R4,A
+000EDC 91CD              ACALL   _xmemclear
+  137: 			get_24g_led_send = 2;
+000EDE 7B01              MOV     R3,#01H
+000EE0 7A48              MOV     R2,#HIGH hidBuff
+000EE2 7900              MOV     R1,#LOW hidBuff
+000EE4 7D09              MOV     R5,#09H
+000EE6 B183              ACALL   _IPC_TxHidData
+  138: 			mult_key_status = 0;
+000EE8 904DD0            MOV     DPTR,#get_24g_led_send
+000EEB 7402              MOV     A,#02H
+000EED F0                MOVX    @DPTR,A
+  139: 		}	
+000EEE E4                CLR     A
+000EEF 904DE4            MOV     DPTR,#mult_key_status
+000EF2 F0                MOVX    @DPTR,A
+  140: 	}
+  141: 	else if ((get_24g_led_send == 2) && (repeat_send_24g == 0))
+000EF3 22                RET     
+000EF4         ?C0027?KB_PROCESS:
+  142: 	{
+000EF4 904DD0            MOV     DPTR,#get_24g_led_send
+000EF7 E0                MOVX    A,@DPTR
+000EF8 B40224            CJNE    A,#02H,?C0031?KB_PROCESS
+000EFB 904DD6            MOV     DPTR,#repeat_send_24g
+000EFE E0                MOVX    A,@DPTR
+000EFF 701E              JNZ     ?C0031?KB_PROCESS
+  143: 		get_24g_led_send = 0;
+  144: 		xmemclear(hidBuff,9);
+000F01 904DD0            MOV     DPTR,#get_24g_led_send
+000F04 F0                MOVX    @DPTR,A
+  145: 		IPC_TxHidData(hidBuff, 9);
+000F05 7B01              MOV     R3,#01H
+000F07 7A48              MOV     R2,#HIGH hidBuff
+000F09 7900              MOV     R1,#LOW hidBuff
+000F0B 7D09              MOV     R5,#09H
+000F0D FC                MOV     R4,A
+000F0E 91CD              ACALL   _xmemclear
+  146: 		mult_key_status = 0;
+000F10 7B01              MOV     R3,#01H
+000F12 7A48              MOV     R2,#HIGH hidBuff
+000F14 7900              MOV     R1,#LOW hidBuff
+000F16 7D09              MOV     R5,#09H
+000F18 B183              ACALL   _IPC_TxHidData
+  147: 	}
+000F1A E4                CLR     A
+000F1B 904DE4            MOV     DPTR,#mult_key_status
+000F1E F0                MOVX    @DPTR,A
+  148: }
+  149: 
+000F1F         ?C0031?KB_PROCESS:
+000F1F 22                RET     
+----- FUNCTION kb_24g_get_led_status (END) -------
+
+
+----- FUNCTION kb_motion (BEGIN) -----
+ FILE: 'kb_process.c'
+  152: static void kb_motion()
+  153: {
+  154: 	tKSEVENT *pEvt = NULL;
+  155: 	
+000F20 904E75            MOV     DPTR,#pEvt
+000F23 E4                CLR     A
+000F24 F0                MOVX    @DPTR,A
+000F25 A3                INC     DPTR
+000F26 F0                MOVX    @DPTR,A
+000F27 A3                INC     DPTR
+000F28 F0                MOVX    @DPTR,A
+  156: 	if (!IPC_IsTxBuffEmpty())
+000F29 F1AD              ACALL   IPC_IsTxBuffEmpty
+000F2B 5025              JNC     ?C0033?KB_PROCESS
+000F2D         ?C0032?KB_PROCESS:
+  157: 		return;
+  158: 	pEvt = KS_GetCurrentEvt();
+000F2D 1218CF            LCALL   KS_GetCurrentEvt
+000F30 904E75            MOV     DPTR,#pEvt
+000F33 EB                MOV     A,R3
+000F34 F0                MOVX    @DPTR,A
+000F35 A3                INC     DPTR
+000F36 EA                MOV     A,R2
+000F37 F0                MOVX    @DPTR,A
+000F38 A3                INC     DPTR
+000F39 E9                MOV     A,R1
+000F3A F0                MOVX    @DPTR,A
+  159: 
+  160: 	if (pEvt == NULL)
+000F3B 4A                ORL     A,R2
+000F3C 7007              JNZ     ?C0034?KB_PROCESS
+  161: 	{
+  162: 		m_power_on_flag = 1;
+000F3E 904CB6            MOV     DPTR,#m_power_on_flag
+000F41 04                INC     A
+000F42 F0                MOVX    @DPTR,A
+  163: 		kb_24g_get_led_status();
+000F43 C1BD              AJMP    kb_24g_get_led_status
+  164: 		return;
+  165: 	}
+000F45         ?C0034?KB_PROCESS:
+  166: 	kb_motion_keyscan(pEvt);
+000F45 904E75            MOV     DPTR,#pEvt
+000F48 E0                MOVX    A,@DPTR
+000F49 FB                MOV     R3,A
+000F4A A3                INC     DPTR
+000F4B E0                MOVX    A,@DPTR
+000F4C FA                MOV     R2,A
+000F4D A3                INC     DPTR
+000F4E E0                MOVX    A,@DPTR
+000F4F F9                MOV     R1,A
+000F50 311D              ACALL   _kb_motion_keyscan
+  167: }
+000F52         ?C0033?KB_PROCESS:
+000F52 22                RET     
+----- FUNCTION kb_motion (END) -------
+
+
+----- FUNCTION _IPC_Tx24GData (BEGIN) -----
+;---- Variable 'len' assigned to Register 'R5' ----
+;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
+000F53 900BE7            MOV     DPTR,#ipcSendBuff
+000F56 7406              MOV     A,#06H
+000F58 F0                MOVX    @DPTR,A
+000F59 01B5              AJMP    _IPC_TxData
+----- FUNCTION _IPC_Tx24GData (END) -------
+
+
+----- FUNCTION System_Software_init (BEGIN) -----
+ FILE: 'sys.c'
+   48: void System_Software_init()
+   49: {
+   50: 	System_clear_mem();
+   51: 	YC_adc_init();
+000F5B 91F9              ACALL   System_clear_mem
+   52: 	g_variable.release_data =1;
+000F5D 122065            LCALL   YC_adc_init
+   53: 	g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
+000F60 904CEB            MOV     DPTR,#g_variable+02CH
+000F63 7401              MOV     A,#01H
+000F65 F0                MOVX    @DPTR,A
+   54: 	g_variable.recon_count = 0;
+000F66 904CE5            MOV     DPTR,#g_variable+026H
+000F69 741E              MOV     A,#01EH
+000F6B F0                MOVX    @DPTR,A
+   55: 	g_variable.test_buff = 0xff;
+000F6C E4                CLR     A
+000F6D 904CF0            MOV     DPTR,#g_variable+031H
+000F70 F0                MOVX    @DPTR,A
+   56: }
+000F71 904D01            MOV     DPTR,#g_variable+042H
+000F74 74FF              MOV     A,#0FFH
+000F76 F0                MOVX    @DPTR,A
+   57: 
+000F77 22                RET     
+----- FUNCTION System_Software_init (END) -------
 
 
 ----- FUNCTION YC_check_need_reconnected (BEGIN) -----
@@ -352,1806 +2020,849 @@
    15: 	byte return_val = 0;
    16: 
 ;---- Variable 'return_val' assigned to Register 'R7' ----
-0007FE E4                CLR     A
-0007FF FF                MOV     R7,A
+000F78 E4                CLR     A
+000F79 FF                MOV     R7,A
    17: 	if(g_variable.pairing_g24_timeout)
-000800 904CEE            MOV     DPTR,#g_variable+02FH
-000803 E0                MOVX    A,@DPTR
-000804 6001              JZ      ?C0003?BLUETOOTH
+000F7A 904CEE            MOV     DPTR,#g_variable+02FH
+000F7D E0                MOVX    A,@DPTR
+000F7E 6001              JZ      ?C0003?BLUETOOTH
    18: 		return return_val;
-000806 22                RET     
-000807         ?C0003?BLUETOOTH:
+000F80 22                RET     
+000F81         ?C0003?BLUETOOTH:
    19: 
    20: 	if (g_variable.g24_currentState != CHANGE_TO_24G_CONNECTED)
-000807 904CC5            MOV     DPTR,#g_variable+06H
-00080A E0                MOVX    A,@DPTR
-00080B 6403              XRL     A,#03H
-00080D 601C              JZ      ?C0005?BLUETOOTH
+000F81 904CC5            MOV     DPTR,#g_variable+06H
+000F84 E0                MOVX    A,@DPTR
+000F85 6403              XRL     A,#03H
+000F87 601C              JZ      ?C0005?BLUETOOTH
    21: 	{
    22: 		if(g_variable.recon_delay == 0)
-00080F 904CEF            MOV     DPTR,#g_variable+030H
-000812 E0                MOVX    A,@DPTR
-000813 701D              JNZ     ?C0008?BLUETOOTH
+000F89 904CEF            MOV     DPTR,#g_variable+030H
+000F8C E0                MOVX    A,@DPTR
+000F8D 701D              JNZ     ?C0008?BLUETOOTH
    23: 		{
    24: 			g_variable.recon_delay = 10;
-000815 740A              MOV     A,#0AH
-000817 F0                MOVX    @DPTR,A
+000F8F 740A              MOV     A,#0AH
+000F91 F0                MOVX    @DPTR,A
    25: 			if ((g_variable.recon_count == 0)
-000818 A3                INC     DPTR
-000819 E0                MOVX    A,@DPTR
-00081A 7016              JNZ     ?C0008?BLUETOOTH
-00081C 904DE1            MOV     DPTR,#power_on_flag
-00081F E0                MOVX    A,@DPTR
-000820 B4020F            CJNE    A,#02H,?C0008?BLUETOOTH
+000F92 A3                INC     DPTR
+000F93 E0                MOVX    A,@DPTR
+000F94 7016              JNZ     ?C0008?BLUETOOTH
+000F96 904DE1            MOV     DPTR,#power_on_flag
+000F99 E0                MOVX    A,@DPTR
+000F9A B4020F            CJNE    A,#02H,?C0008?BLUETOOTH
    26: 			&& (power_on_flag == 2))
    27: 			{				
    28: 				YC_key_action_handle(KEY_OPEN_24G);
-000823 7F09              MOV     R7,#09H
-000825 1133              ACALL   _YC_key_action_handle
+000F9D 7F09              MOV     R7,#09H
+000F9F F1EB              ACALL   _YC_key_action_handle
    29: 				return_val = 1;
-000827 7F01              MOV     R7,#01H
+000FA1 7F01              MOV     R7,#01H
    30: 			}
    31: 		}
    32: 	}
-000829 8007              SJMP    ?C0008?BLUETOOTH
-00082B         ?C0005?BLUETOOTH:
+000FA3 8007              SJMP    ?C0008?BLUETOOTH
+000FA5         ?C0005?BLUETOOTH:
    33: 	else
    34: 	{
    35: 		g_variable.release_data = 0;
-00082B E4                CLR     A
-00082C 904CEB            MOV     DPTR,#g_variable+02CH
-00082F F0                MOVX    @DPTR,A
+000FA5 E4                CLR     A
+000FA6 904CEB            MOV     DPTR,#g_variable+02CH
+000FA9 F0                MOVX    @DPTR,A
    36: 		return_val = 1;
-000830 7F01              MOV     R7,#01H
+000FAA 7F01              MOV     R7,#01H
    37: 	}
-000832         ?C0008?BLUETOOTH:
+000FAC         ?C0008?BLUETOOTH:
    38: 	return return_val;
    39: }
-000832 22                RET     
+000FAC 22                RET     
 ----- FUNCTION YC_check_need_reconnected (END) -------
 
 
------ FUNCTION _YC_key_action_handle (BEGIN) -----
- FILE: 'kb_process.c'
-    3: void YC_key_action_handle(byte key_num)
-    4: {
-000833 904E8D            MOV     DPTR,#key_num
-000836 EF                MOV     A,R7
-000837 F0                MOVX    @DPTR,A
-    5: 	switch (key_num)
-    6: 	{
-000838 24F7              ADD     A,#0F7H
-00083A 6009              JZ      ?C0003?KB_PROCESS
-00083C 14                DEC     A
-00083D 6061              JZ      ?C0007?KB_PROCESS
-00083F 2402              ADD     A,#02H
-000841 6002              JZ      $ + 4H
-000843 01D9              AJMP    ?C0011?KB_PROCESS
-    7: 	case KEY_START_24G:
-    8: 	case KEY_OPEN_24G:
-    9: 		g_variable.recon_count = 0;
-000845         ?C0003?KB_PROCESS:
-   10: 		if (YC_disconnect_all_link())
-000845 E4                CLR     A
-000846 904CF0            MOV     DPTR,#g_variable+031H
-000849 F0                MOVX    @DPTR,A
-   11: 		{
-00084A 11DF              ACALL   YC_disconnect_all_link
-00084C EF                MOV     A,R7
-00084D 6009              JZ      ?C0004?KB_PROCESS
-   12: 			g_variable.key_action = key_num;
+----- FUNCTION IPC_IsTxBuffEmpty (BEGIN) -----
+000FAD 904B9C            MOV     DPTR,#ipcTxWritePtr
+000FB0 E0                MOVX    A,@DPTR
+000FB1 FE                MOV     R6,A
+000FB2 A3                INC     DPTR
+000FB3 E0                MOVX    A,@DPTR
+000FB4 FF                MOV     R7,A
+000FB5 904B9A            MOV     DPTR,#ipcTxReadPtr
+000FB8 E0                MOVX    A,@DPTR
+000FB9 B50607            CJNE    A,AR6,?C0021?IPC
+000FBC A3                INC     DPTR
+000FBD E0                MOVX    A,@DPTR
+000FBE B50702            CJNE    A,AR7,?C0021?IPC
+000FC1 D3                SETB    C
+000FC2 22                RET     
+000FC3         ?C0021?IPC:
+000FC3 C3                CLR     C
+000FC4 22                RET     
+----- FUNCTION IPC_IsTxBuffEmpty (END) -------
+
+
+----- FUNCTION YC_clear_reconnect_flag (BEGIN) -----
+ FILE: 'bluetooth.c'
+   42: void YC_clear_reconnect_flag()  
+   43: {
+   44: 	g_variable.recon_count = 0;
+   45: }
+000FC5 E4                CLR     A
+000FC6 904CF0            MOV     DPTR,#g_variable+031H
+000FC9 F0                MOVX    @DPTR,A
+   46: 
+000FCA 22                RET     
+----- FUNCTION YC_clear_reconnect_flag (END) -------
+
+
+----- FUNCTION YC_disconnect_all_link (BEGIN) -----
+ FILE: 'bluetooth.c'
+   48: byte YC_disconnect_all_link()
+   49: {
+   50: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED 
+   51: 		||g_variable.g24_currentState == CHANGE_TO_24G_CONNECTING)
+000FCB 904CC5            MOV     DPTR,#g_variable+06H
+000FCE E0                MOVX    A,@DPTR
+000FCF FF                MOV     R7,A
+000FD0 6403              XRL     A,#03H
+000FD2 6004              JZ      ?C0011?BLUETOOTH
+000FD4 EF                MOV     A,R7
+000FD5 B40208            CJNE    A,#02H,?C0010?BLUETOOTH
+000FD8         ?C0011?BLUETOOTH:
+   52: 	{
+   53: 		IPC_TxControlCmd(IPC_CMD_STOP_24G);
+000FD8 7F22              MOV     R7,#022H
+000FDA 1207F8            LCALL   _IPC_TxControlCmd
+   54: 		return 1;
+000FDD 7F01              MOV     R7,#01H
+000FDF 22                RET     
+   55: 	}
+000FE0         ?C0010?BLUETOOTH:
+   56: 	return 0;
+000FE0 7F00              MOV     R7,#00H
+   57: }
+000FE2 22                RET     
+----- FUNCTION YC_disconnect_all_link (END) -------
+
+
+----- FUNCTION YC_start_reconnect (BEGIN) -----
+ FILE: 'bluetooth.c'
+   60: void YC_start_reconnect()
+   61: {
+   62: 	power_on_flag = 2;
+   63: 	YC_key_action_handle(KEY_START_24G);
+000FE3 904DE1            MOV     DPTR,#power_on_flag
+000FE6 7402              MOV     A,#02H
+000FE8 F0                MOVX    @DPTR,A
+   64: }
+000FE9 7F08              MOV     R7,#08H
+;----                  JMP     _YC_key_action_handle
+----- FUNCTION YC_start_reconnect (END) -------
+
+
+----- FUNCTION _YC_key_action_handle (BEGIN) -----
+ FILE: 'kb_process.c'
+    3: void YC_key_action_handle(byte key_num)
+    4: {
+000FEB 904E8D            MOV     DPTR,#key_num
+000FEE EF                MOV     A,R7
+000FEF F0                MOVX    @DPTR,A
+    5: 	switch (key_num)
+    6: 	{
+000FF0 24F7              ADD     A,#0F7H
+000FF2 600A              JZ      ?C0003?KB_PROCESS
+000FF4 14                DEC     A
+000FF5 6064              JZ      ?C0007?KB_PROCESS
+000FF7 2402              ADD     A,#02H
+000FF9 6003              JZ      $ + 5H
+000FFB 021096            LJMP    ?C0011?KB_PROCESS
+    7: 	case KEY_START_24G:
+    8: 	case KEY_OPEN_24G:
+    9: 		g_variable.recon_count = 0;
+000FFE         ?C0003?KB_PROCESS:
+   10: 		if (YC_disconnect_all_link())
+000FFE E4                CLR     A
+000FFF 904CF0            MOV     DPTR,#g_variable+031H
+001002 F0                MOVX    @DPTR,A
+   11: 		{
+001003 120FCB            LCALL   YC_disconnect_all_link
+001006 EF                MOV     A,R7
+001007 6009              JZ      ?C0004?KB_PROCESS
+   12: 			g_variable.key_action = key_num;
    13: 		}
-00084F 904E8D            MOV     DPTR,#key_num
-000852 E0                MOVX    A,@DPTR
-000853 904CED            MOV     DPTR,#g_variable+02EH
-000856 F0                MOVX    @DPTR,A
+001009 904E8D            MOV     DPTR,#key_num
+00100C E0                MOVX    A,@DPTR
+00100D 904CED            MOV     DPTR,#g_variable+02EH
+001010 F0                MOVX    @DPTR,A
    14: 		else
-000857 22                RET     
-000858         ?C0004?KB_PROCESS:
+001011 22                RET     
+001012         ?C0004?KB_PROCESS:
    15: 		{
    16: 			IIC_Read(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
-000858 7B01              MOV     R3,#01H
-00085A 7A4C              MOV     R2,#HIGH m_24g_addr
-00085C 7900              MOV     R1,#LOW m_24g_addr
-00085E 7D04              MOV     R5,#04H
-000860 7C00              MOV     R4,#00H
-000862 7FF2              MOV     R7,#0F2H
-000864 7E3F              MOV     R6,#03FH
-000866 716C              ACALL   _IIC_Read
+001012 7B01              MOV     R3,#01H
+001014 7A4C              MOV     R2,#HIGH m_24g_addr
+001016 7900              MOV     R1,#LOW m_24g_addr
+001018 7D04              MOV     R5,#04H
+00101A 7C00              MOV     R4,#00H
+00101C 7FF2              MOV     R7,#0F2H
+00101E 7E3F              MOV     R6,#03FH
+001020 517E              ACALL   _IIC_Read
    17: 			Delay1ms(10);
-000868 7F0A              MOV     R7,#0AH
-00086A 517E              ACALL   _Delay1ms
+001022 7F0A              MOV     R7,#0AH
+001024 119C              ACALL   _Delay1ms
    18: 			if (m_24g_addr[0] == 0xff && m_24g_addr[1] == 0xff && m_24g_addr[2] == 0xff && m_24g_addr[3] == 0xff)
-00086C 904C00            MOV     DPTR,#m_24g_addr
-00086F E0                MOVX    A,@DPTR
-000870 B4FF1B            CJNE    A,#0FFH,?C0006?KB_PROCESS
-000873 A3                INC     DPTR
-000874 E0                MOVX    A,@DPTR
-000875 B4FF16            CJNE    A,#0FFH,?C0006?KB_PROCESS
-000878 A3                INC     DPTR
-000879 E0                MOVX    A,@DPTR
-00087A B4FF11            CJNE    A,#0FFH,?C0006?KB_PROCESS
-00087D A3                INC     DPTR
-00087E E0                MOVX    A,@DPTR
-00087F B4FF0C            CJNE    A,#0FFH,?C0006?KB_PROCESS
+001026 904C00            MOV     DPTR,#m_24g_addr
+001029 E0                MOVX    A,@DPTR
+00102A B4FF1B            CJNE    A,#0FFH,?C0006?KB_PROCESS
+00102D A3                INC     DPTR
+00102E E0                MOVX    A,@DPTR
+00102F B4FF16            CJNE    A,#0FFH,?C0006?KB_PROCESS
+001032 A3                INC     DPTR
+001033 E0                MOVX    A,@DPTR
+001034 B4FF11            CJNE    A,#0FFH,?C0006?KB_PROCESS
+001037 A3                INC     DPTR
+001038 E0                MOVX    A,@DPTR
+001039 B4FF0C            CJNE    A,#0FFH,?C0006?KB_PROCESS
    19: 			{
    20: 				m_24g_addr[0] = 0x0f;
-000882 904C00            MOV     DPTR,#m_24g_addr
-000885 740F              MOV     A,#0FH
-000887 F0                MOVX    @DPTR,A
+00103C 904C00            MOV     DPTR,#m_24g_addr
+00103F 740F              MOV     A,#0FH
+001041 F0                MOVX    @DPTR,A
    21: 				m_24g_addr[1] = 0x0f;
-000888 A3                INC     DPTR
-000889 F0                MOVX    @DPTR,A
+001042 A3                INC     DPTR
+001043 F0                MOVX    @DPTR,A
    22: 				m_24g_addr[2] = 0x0f;
-00088A A3                INC     DPTR
-00088B F0                MOVX    @DPTR,A
+001044 A3                INC     DPTR
+001045 F0                MOVX    @DPTR,A
    23: 				m_24g_addr[3] = 0x0f;
-00088C A3                INC     DPTR
-00088D F0                MOVX    @DPTR,A
+001046 A3                INC     DPTR
+001047 F0                MOVX    @DPTR,A
    24: 			}
-00088E         ?C0006?KB_PROCESS:
+001048         ?C0006?KB_PROCESS:
    25: 			IPC_TxControlCmd(IPC_CMD_START_24G);
-00088E 7F21              MOV     R7,#021H
-000890 11F6              ACALL   _IPC_TxControlCmd
+001048 7F21              MOV     R7,#021H
+00104A 1207F8            LCALL   _IPC_TxControlCmd
    26: 			
    27: 			g_variable.g24_currentState = CHANGE_TO_24G_CONNECTING;
-000892 904CC5            MOV     DPTR,#g_variable+06H
-000895 7402              MOV     A,#02H
-000897 F0                MOVX    @DPTR,A
+00104D 904CC5            MOV     DPTR,#g_variable+06H
+001050 7402              MOV     A,#02H
+001052 F0                MOVX    @DPTR,A
    28: 			g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
-000898 E4                CLR     A
-000899 A3                INC     DPTR
-00089A F0                MOVX    @DPTR,A
+001053 E4                CLR     A
+001054 A3                INC     DPTR
+001055 F0                MOVX    @DPTR,A
    29: 			g_variable.key_action = KEY_NONE;
-00089B 904CED            MOV     DPTR,#g_variable+02EH
-00089E F0                MOVX    @DPTR,A
+001056 904CED            MOV     DPTR,#g_variable+02EH
+001059 F0                MOVX    @DPTR,A
    30: 		}
    31: 		break;
-00089F 22                RET     
+00105A 22                RET     
    32: 	case KEY_PAIRING_24G:
-0008A0         ?C0007?KB_PROCESS:
+00105B         ?C0007?KB_PROCESS:
    33: 		g_variable.recon_count = 0;
-0008A0 E4                CLR     A
-0008A1 904CF0            MOV     DPTR,#g_variable+031H
-0008A4 F0                MOVX    @DPTR,A
+00105B E4                CLR     A
+00105C 904CF0            MOV     DPTR,#g_variable+031H
+00105F F0                MOVX    @DPTR,A
    34: 		if (YC_disconnect_all_link())
-0008A5 11DF              ACALL   YC_disconnect_all_link
-0008A7 EF                MOV     A,R7
-0008A8 6009              JZ      ?C0008?KB_PROCESS
+001060 120FCB            LCALL   YC_disconnect_all_link
+001063 EF                MOV     A,R7
+001064 6009              JZ      ?C0008?KB_PROCESS
    35: 		{
    36: 			g_variable.key_action = key_num;
-0008AA 904E8D            MOV     DPTR,#key_num
-0008AD E0                MOVX    A,@DPTR
-0008AE 904CED            MOV     DPTR,#g_variable+02EH
-0008B1 F0                MOVX    @DPTR,A
+001066 904E8D            MOV     DPTR,#key_num
+001069 E0                MOVX    A,@DPTR
+00106A 904CED            MOV     DPTR,#g_variable+02EH
+00106D F0                MOVX    @DPTR,A
    37: 		}
-0008B2 22                RET     
-0008B3         ?C0008?KB_PROCESS:
+00106E 22                RET     
+00106F         ?C0008?KB_PROCESS:
    38: 		else
    39: 		{
    40: 			if (g_variable.g24_currentState != CHANGE_TO_24G_PAIRING)
-0008B3 904CC5            MOV     DPTR,#g_variable+06H
-0008B6 E0                MOVX    A,@DPTR
-0008B7 6401              XRL     A,#01H
-0008B9 6018              JZ      ?C0010?KB_PROCESS
+00106F 904CC5            MOV     DPTR,#g_variable+06H
+001072 E0                MOVX    A,@DPTR
+001073 6401              XRL     A,#01H
+001075 6019              JZ      ?C0010?KB_PROCESS
    41: 			{
    42: 				IPC_TxControlCmd(IPC_CMD_PAIR_24G);
-0008BB 7F23              MOV     R7,#023H
-0008BD 11F6              ACALL   _IPC_TxControlCmd
+001077 7F23              MOV     R7,#023H
+001079 1207F8            LCALL   _IPC_TxControlCmd
    43: 				g_variable.g24_currentState = CHANGE_TO_24G_PAIRING;
-0008BF 904CC5            MOV     DPTR,#g_variable+06H
-0008C2 7401              MOV     A,#01H
-0008C4 F0                MOVX    @DPTR,A
+00107C 904CC5            MOV     DPTR,#g_variable+06H
+00107F 7401              MOV     A,#01H
+001081 F0                MOVX    @DPTR,A
    44: 				g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
-0008C5 E4                CLR     A
-0008C6 A3                INC     DPTR
-0008C7 F0                MOVX    @DPTR,A
+001082 E4                CLR     A
+001083 A3                INC     DPTR
+001084 F0                MOVX    @DPTR,A
    45: 				g_variable.pairing_g24_timeout = BT_PAIRING_TIME_OUT_2MIN;
-0008C8 904CEE            MOV     DPTR,#g_variable+02FH
-0008CB 74F0              MOV     A,#0F0H
-0008CD F0                MOVX    @DPTR,A
+001085 904CEE            MOV     DPTR,#g_variable+02FH
+001088 74F0              MOV     A,#0F0H
+00108A F0                MOVX    @DPTR,A
    46: 				g_variable.pairing_timeout = 0;
-0008CE E4                CLR     A
-0008CF 904CE9            MOV     DPTR,#g_variable+02AH
-0008D2 F0                MOVX    @DPTR,A
+00108B E4                CLR     A
+00108C 904CE9            MOV     DPTR,#g_variable+02AH
+00108F F0                MOVX    @DPTR,A
    47: 			}
-0008D3         ?C0010?KB_PROCESS:
+001090         ?C0010?KB_PROCESS:
    48: 			g_variable.key_action = KEY_NONE;
-0008D3 E4                CLR     A
-0008D4 904CED            MOV     DPTR,#g_variable+02EH
-0008D7 F0                MOVX    @DPTR,A
+001090 E4                CLR     A
+001091 904CED            MOV     DPTR,#g_variable+02EH
+001094 F0                MOVX    @DPTR,A
    49: 		}
    50: 		break;
-0008D8 22                RET     
+001095 22                RET     
    51: 	default:
-0008D9         ?C0011?KB_PROCESS:
+001096         ?C0011?KB_PROCESS:
    52: 		g_variable.key_action = KEY_NONE;
-0008D9 E4                CLR     A
-0008DA 904CED            MOV     DPTR,#g_variable+02EH
-0008DD F0                MOVX    @DPTR,A
+001096 E4                CLR     A
+001097 904CED            MOV     DPTR,#g_variable+02EH
+00109A F0                MOVX    @DPTR,A
    53: 		break;
    54: 	}
    55: }
-0008DE 22                RET     
+00109B 22                RET     
 ----- FUNCTION _YC_key_action_handle (END) -------
 
 
------ FUNCTION YC_disconnect_all_link (BEGIN) -----
- FILE: 'bluetooth.c'
-   48: byte YC_disconnect_all_link()
-   49: {
-   50: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED 
-   51: 		||g_variable.g24_currentState == CHANGE_TO_24G_CONNECTING)
-0008DF 904CC5            MOV     DPTR,#g_variable+06H
-0008E2 E0                MOVX    A,@DPTR
-0008E3 FF                MOV     R7,A
-0008E4 6403              XRL     A,#03H
-0008E6 6004              JZ      ?C0011?BLUETOOTH
-0008E8 EF                MOV     A,R7
-0008E9 B40207            CJNE    A,#02H,?C0010?BLUETOOTH
-0008EC         ?C0011?BLUETOOTH:
-   52: 	{
-   53: 		IPC_TxControlCmd(IPC_CMD_STOP_24G);
-0008EC 7F22              MOV     R7,#022H
-0008EE 11F6              ACALL   _IPC_TxControlCmd
-   54: 		return 1;
-0008F0 7F01              MOV     R7,#01H
-0008F2 22                RET     
-   55: 	}
-0008F3         ?C0010?BLUETOOTH:
-   56: 	return 0;
-0008F3 7F00              MOV     R7,#00H
-   57: }
-0008F5 22                RET     
------ FUNCTION YC_disconnect_all_link (END) -------
-
-
------ FUNCTION _IPC_TxControlCmd (BEGIN) -----
-0008F6 904E71            MOV     DPTR,#cmd
-0008F9 EF                MOV     A,R7
-0008FA F0                MOVX    @DPTR,A
-0008FB 7872              MOV     R0,#LOW cmdBuff
-0008FD 7C4E              MOV     R4,#HIGH cmdBuff
-0008FF 7D01              MOV     R5,#01H
-000901 7BFF              MOV     R3,#0FFH
-000903 7A06              MOV     R2,#HIGH _?ix1000
-000905 79BF              MOV     R1,#LOW _?ix1000
-000907 7E00              MOV     R6,#00H
-000909 7F03              MOV     R7,#03H
-00090B 120390            LCALL   ?C?COPY
-00090E 904E71            MOV     DPTR,#cmd
-000911 E0                MOVX    A,@DPTR
-000912 904E74            MOV     DPTR,#cmdBuff+02H
-000915 F0                MOVX    @DPTR,A
-000916 7B01              MOV     R3,#01H
-000918 7A4E              MOV     R2,#HIGH cmdBuff
-00091A 7972              MOV     R1,#LOW cmdBuff
-00091C 7D03              MOV     R5,#03H
-;----                  JMP     _ipcTx
------ FUNCTION _IPC_TxControlCmd (END) -------
-
-
------ FUNCTION _ipcTx (BEGIN) -----
-00091E 904E46            MOV     DPTR,#src
-000921 EB                MOV     A,R3
-000922 F0                MOVX    @DPTR,A
-000923 A3                INC     DPTR
-000924 EA                MOV     A,R2
-000925 F0                MOVX    @DPTR,A
-000926 A3                INC     DPTR
-000927 E9                MOV     A,R1
-000928 F0                MOVX    @DPTR,A
-000929 A3                INC     DPTR
-00092A ED                MOV     A,R5
-00092B F0                MOVX    @DPTR,A
-00092C 904B9C            MOV     DPTR,#ipcTxWritePtr
-00092F E0                MOVX    A,@DPTR
-000930 FF                MOV     R7,A
-000931 A3                INC     DPTR
-000932 E0                MOVX    A,@DPTR
-000933 904E4A            MOV     DPTR,#dest
-000936 CF                XCH     A,R7
-000937 F0                MOVX    @DPTR,A
-000938 A3                INC     DPTR
-000939 EF                MOV     A,R7
-00093A F0                MOVX    @DPTR,A
-00093B         ?C0008?IPC:
-00093B 904B9A            MOV     DPTR,#ipcTxReadPtr
-00093E E0                MOVX    A,@DPTR
-00093F FE                MOV     R6,A
-000940 A3                INC     DPTR
-000941 E0                MOVX    A,@DPTR
-000942 FF                MOV     R7,A
-000943 904B9C            MOV     DPTR,#ipcTxWritePtr
-000946 E0                MOVX    A,@DPTR
-000947 FC                MOV     R4,A
-000948 A3                INC     DPTR
-000949 E0                MOVX    A,@DPTR
-00094A FD                MOV     R5,A
-00094B 7B64              MOV     R3,#064H
-00094D 1223FA            LCALL   _bufsize
-000950 904E49            MOV     DPTR,#len
-000953 E0                MOVX    A,@DPTR
-000954 FE                MOV     R6,A
-000955 EF                MOV     A,R7
-000956 C3                CLR     C
-000957 9E                SUBB    A,R6
-000958 40E1              JC      ?C0008?IPC
-00095A         ?C0009?IPC:
-00095A         ?C0010?IPC:
-00095A 904E49            MOV     DPTR,#len
-00095D E0                MOVX    A,@DPTR
-00095E FF                MOV     R7,A
-00095F 14                DEC     A
-000960 F0                MOVX    @DPTR,A
-000961 EF                MOV     A,R7
-000962 603F              JZ      ?C0011?IPC
-000964 904E46            MOV     DPTR,#src
-000967 E0                MOVX    A,@DPTR
-000968 FB                MOV     R3,A
-000969 A3                INC     DPTR
-00096A E4                CLR     A
-00096B 75F001            MOV     B,#01H
-00096E 120424            LCALL   ?C?ILDIX
-000971 A9F0              MOV     R1,B
-000973 FA                MOV     R2,A
-000974 1203B6            LCALL   ?C?CLDPTR
-000977 FF                MOV     R7,A
-000978 904E4A            MOV     DPTR,#dest
-00097B E4                CLR     A
-00097C 75F001            MOV     B,#01H
-00097F 120424            LCALL   ?C?ILDIX
-000982 85F082            MOV     DPL,B
-000985 F583              MOV     DPH,A
-000987 EF                MOV     A,R7
-000988 F0                MOVX    @DPTR,A
-000989 904E4A            MOV     DPTR,#dest
-00098C E0                MOVX    A,@DPTR
-00098D FE                MOV     R6,A
-00098E A3                INC     DPTR
-00098F E0                MOVX    A,@DPTR
-000990 FF                MOV     R7,A
-000991 BE4BC6            CJNE    R6,#04BH,?C0010?IPC
-000994 BF36C3            CJNE    R7,#036H,?C0010?IPC
-000997 904E4A            MOV     DPTR,#dest
-00099A 744A              MOV     A,#04AH
-00099C F0                MOVX    @DPTR,A
-00099D A3                INC     DPTR
-00099E 74A0              MOV     A,#0A0H
-0009A0 F0                MOVX    @DPTR,A
-0009A1 80B7              SJMP    ?C0010?IPC
-0009A3         ?C0011?IPC:
-0009A3 904E4A            MOV     DPTR,#dest
-0009A6 E0                MOVX    A,@DPTR
-0009A7 FF                MOV     R7,A
-0009A8 A3                INC     DPTR
-0009A9 E0                MOVX    A,@DPTR
-0009AA 904B9C            MOV     DPTR,#ipcTxWritePtr
-0009AD CF                XCH     A,R7
-0009AE F0                MOVX    @DPTR,A
-0009AF A3                INC     DPTR
-0009B0 EF                MOV     A,R7
-0009B1 F0                MOVX    @DPTR,A
-0009B2 22                RET     
------ FUNCTION _ipcTx (END) -------
-
-
------ FUNCTION YC_connect_timeout_500ms (BEGIN) -----
- FILE: 'sys.c'
-  198: void YC_connect_timeout_500ms()
-  199: {
-  200: 	
-  201: //system long sleep timer
-  202: 	if(g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
-0009B3 904CC5            MOV     DPTR,#g_variable+06H
-0009B6 E0                MOVX    A,@DPTR
-0009B7 B40310            CJNE    A,#03H,?C0037?SYS
-  203: 	{
-  204: 		if (g_variable.sleepTimer == STANDBY_TIMER_30MIN)
-0009BA 904CE3            MOV     DPTR,#g_variable+024H
-0009BD E0                MOVX    A,@DPTR
-0009BE 640E              XRL     A,#0EH
-0009C0 7004              JNZ     ?C0092?SYS
-0009C2 A3                INC     DPTR
-0009C3 E0                MOVX    A,@DPTR
-0009C4 6410              XRL     A,#010H
-0009C6         ?C0092?SYS:
-0009C6 7029              JNZ     ?C0044?SYS
-  205: 			System_long_sleep();
-0009C8 8028              SJMP    System_long_sleep
-  206: 	}
-0009CA         ?C0037?SYS:
-  207: 	else if(g_variable.g24_currentState == CHANGE_TO_24G_PAIRING)
-0009CA 904CC5            MOV     DPTR,#g_variable+06H
-0009CD E0                MOVX    A,@DPTR
-0009CE B40112            CJNE    A,#01H,?C0040?SYS
-  208: 	{
-  209: 		if (g_variable.sleepTimer == G24_PAIRING_TIME_OUT_20S)
-0009D1 904CE3            MOV     DPTR,#g_variable+024H
-0009D4 E0                MOVX    A,@DPTR
-0009D5 7004              JNZ     ?C0093?SYS
-0009D7 A3                INC     DPTR
-0009D8 E0                MOVX    A,@DPTR
-0009D9 6428              XRL     A,#028H
-0009DB         ?C0093?SYS:
-0009DB 7014              JNZ     ?C0044?SYS
-  210: 		{
-  211: 			IPC_TxControlCmd(IPC_CMD_STOP_24G);
-0009DD 7F22              MOV     R7,#022H
-0009DF 11F6              ACALL   _IPC_TxControlCmd
-  212: 			System_long_sleep();
-0009E1 800F              SJMP    System_long_sleep
-  213: 		}
-  214: 	}
-0009E3         ?C0040?SYS:
-  215: 	else
-  216: 	{
-  217: 		if (g_variable.sleepTimer == RECONNECT_TIMER_10S)
-0009E3 904CE3            MOV     DPTR,#g_variable+024H
-0009E6 E0                MOVX    A,@DPTR
-0009E7 7004              JNZ     ?C0094?SYS
-0009E9 A3                INC     DPTR
-0009EA E0                MOVX    A,@DPTR
-0009EB 6414              XRL     A,#014H
-0009ED         ?C0094?SYS:
-0009ED 7002              JNZ     ?C0044?SYS
-  218: 		{
-  219: 			System_long_sleep();
-0009EF 31F2              ACALL   System_long_sleep
-  220: 		}
-  221: 	}
-  222: }
-0009F1         ?C0044?SYS:
-0009F1 22                RET     
------ FUNCTION YC_connect_timeout_500ms (END) -------
-
-
------ FUNCTION System_long_sleep (BEGIN) -----
- FILE: 'sys.c'
-   64: void System_long_sleep()
-   65: { 
-   66: 	m_reconnect_continue = 0;
-   67: 	IPC_TxControlCmd(IPC_CMD_ENTER_HIBERNATE);
-0009F2 E4                CLR     A
-0009F3 904D38            MOV     DPTR,#m_reconnect_continue
-0009F6 F0                MOVX    @DPTR,A
-   68: }
-0009F7 7F19              MOV     R7,#019H
-0009F9 01F6              AJMP    _IPC_TxControlCmd
------ FUNCTION System_long_sleep (END) -------
-
-
------ FUNCTION kb_button_press_timer500ms (BEGIN) -----
- FILE: 'sys.c'
-  242: void kb_button_press_timer500ms()
-  243: {
-  244: 	
-  245: //key status 
-  246: 	if (g_variable.button_flag & KEY_FLAG_SAME_KEY_PRESS)
-0009FB 904CCE            MOV     DPTR,#g_variable+0FH
-0009FE E0                MOVX    A,@DPTR
-0009FF 30E13D            JNB     ACC.1,?C0048?SYS
-  247: 	{
-  248: 		if (g_variable.button_timer[1] < 250)
-000A02 904CD0            MOV     DPTR,#g_variable+011H
-000A05 E0                MOVX    A,@DPTR
-000A06 C3                CLR     C
-000A07 94FA              SUBB    A,#0FAH
-000A09 5003              JNC     ?C0049?SYS
-  249: 			g_variable.button_timer[1]++;
-000A0B E0                MOVX    A,@DPTR
-000A0C 04                INC     A
-000A0D F0                MOVX    @DPTR,A
-000A0E         ?C0049?SYS:
-  250: 		if (g_variable.button_timer[1] == 180)			// 500ms*180*3 = 4min30s
-000A0E 904CD0            MOV     DPTR,#g_variable+011H
-000A11 E0                MOVX    A,@DPTR
-000A12 64B4              XRL     A,#0B4H
-000A14 702E              JNZ     ?C0054?SYS
-  251: 		{
-  252: 			press_long_time_flag++;
-000A16 904DDC            MOV     DPTR,#press_long_time_flag
-000A19 E0                MOVX    A,@DPTR
-000A1A 04                INC     A
-000A1B F0                MOVX    @DPTR,A
-  253: 			if(press_long_time_flag <= 2)
-000A1C E0                MOVX    A,@DPTR
-000A1D D3                SETB    C
-000A1E 9402              SUBB    A,#02H
-000A20 5007              JNC     ?C0051?SYS
-  254: 			{
-  255: 				g_variable.button_timer[1] = 0;
-000A22 E4                CLR     A
-000A23 904CD0            MOV     DPTR,#g_variable+011H
-000A26 F0                MOVX    @DPTR,A
-  256: 			}
-000A27 801B              SJMP    ?C0054?SYS
-000A29         ?C0051?SYS:
-  257: 			else if(press_long_time_flag == 3)
-000A29 904DDC            MOV     DPTR,#press_long_time_flag
-000A2C E0                MOVX    A,@DPTR
-000A2D B40314            CJNE    A,#03H,?C0054?SYS
-  258: 			{
-  259: 				long_press_flag = 1;
-000A30 904DD5            MOV     DPTR,#long_press_flag
-000A33 7401              MOV     A,#01H
-000A35 F0                MOVX    @DPTR,A
-  260: 				g_variable.button_timer[1] = 0;
-000A36 E4                CLR     A
-000A37 904CD0            MOV     DPTR,#g_variable+011H
-000A3A F0                MOVX    @DPTR,A
-  261: 				System_long_sleep();
-000A3B 31F2              ACALL   System_long_sleep
-  262: 			}
-  263: 		}
-  264: 	}
-000A3D 8005              SJMP    ?C0054?SYS
-000A3F         ?C0048?SYS:
-  265: 	else
-  266: 		press_long_time_flag = 0;
-000A3F E4                CLR     A
-000A40 904DDC            MOV     DPTR,#press_long_time_flag
-000A43 F0                MOVX    @DPTR,A
-000A44         ?C0054?SYS:
-  267: 		
-  268: 	if (g_variable.button_flag & KEY_FLAG_FN_24G_DEVICE_BUTTON)		// G24 pairing
-000A44 904CCE            MOV     DPTR,#g_variable+0FH
-000A47 E0                MOVX    A,@DPTR
-000A48 30E42D            JNB     ACC.4,?C0055?SYS
-  269: 	{
-  270: 		g_variable.delay_enter_lpm_timer = 10;
-000A4B 904CEA            MOV     DPTR,#g_variable+02BH
-000A4E 740A              MOV     A,#0AH
-000A50 F0                MOVX    @DPTR,A
-  271: 		if (g_variable.button_timer[2] < 250)
-000A51 904CD1            MOV     DPTR,#g_variable+012H
-000A54 E0                MOVX    A,@DPTR
-000A55 C3                CLR     C
-000A56 94FA              SUBB    A,#0FAH
-000A58 5003              JNC     ?C0056?SYS
-  272: 			g_variable.button_timer[2]++;
-000A5A E0                MOVX    A,@DPTR
-000A5B 04                INC     A
-000A5C F0                MOVX    @DPTR,A
-000A5D         ?C0056?SYS:
-  273: 		if (g_variable.button_timer[2] == 6)
-000A5D 904CD1            MOV     DPTR,#g_variable+012H
-000A60 E0                MOVX    A,@DPTR
-000A61 B40619            CJNE    A,#06H,?C0061?SYS
-  274: 		{
-  275: 			if( !g_variable.current_device_num || (g_variable.current_device_num == 0xfe))
-000A64 904CC3            MOV     DPTR,#g_variable+04H
-000A67 E0                MOVX    A,@DPTR
-000A68 FF                MOV     R7,A
-000A69 6003              JZ      ?C0059?SYS
-000A6B B4FE0F            CJNE    A,#0FEH,?C0061?SYS
-000A6E         ?C0059?SYS:
-  276: 			{
-  277: 				YC_disconnect_all_link();
-000A6E 11DF              ACALL   YC_disconnect_all_link
-  278: 				Delay1ms(10);
-000A70 7F0A              MOV     R7,#0AH
-000A72 517E              ACALL   _Delay1ms
-  279: 				YC_key_action_handle(KEY_PAIRING_24G);
-000A74 7F0A              MOV     R7,#0AH
-000A76 0133              AJMP    _YC_key_action_handle
-  280: 			}
-  281: 		}
-  282: 	}
-000A78         ?C0055?SYS:
-  283: 	else
-  284: 		g_variable.button_timer[2] = 0;
-000A78 E4                CLR     A
-000A79 904CD1            MOV     DPTR,#g_variable+012H
-000A7C F0                MOVX    @DPTR,A
-  285: 	
-  286: }
-000A7D         ?C0061?SYS:
-000A7D 22                RET     
------ FUNCTION kb_button_press_timer500ms (END) -------
-
-
 ----- FUNCTION _Delay1ms (BEGIN) -----
 ;---- Variable 'Time' assigned to Register 'R7' ----
-000A7E         ?C0014?UTILITIES:
-000A7E EF                MOV     A,R7
-000A7F D3                SETB    C
-000A80 9400              SUBB    A,#00H
-000A82 4011              JC      ?C0020?UTILITIES
+00109C         ?C0014?UTILITIES:
+00109C EF                MOV     A,R7
+00109D D3                SETB    C
+00109E 9400              SUBB    A,#00H
+0010A0 4011              JC      ?C0020?UTILITIES
 ;---- Variable 'j' assigned to Register 'R4/R5' ----
-000A84 E4                CLR     A
-000A85 FD                MOV     R5,A
-000A86 FC                MOV     R4,A
-000A87         ?C0017?UTILITIES:
-000A87 0D                INC     R5
-000A88 BD0001            CJNE    R5,#00H,?C0028?UTILITIES
-000A8B 0C                INC     R4
-000A8C         ?C0028?UTILITIES:
-000A8C BC04F8            CJNE    R4,#04H,?C0017?UTILITIES
-000A8F BDA6F5            CJNE    R5,#0A6H,?C0017?UTILITIES
-000A92         ?C0016?UTILITIES:
-000A92 1F                DEC     R7
-000A93 80E9              SJMP    ?C0014?UTILITIES
-000A95         ?C0020?UTILITIES:
-000A95 22                RET     
+0010A2 E4                CLR     A
+0010A3 FD                MOV     R5,A
+0010A4 FC                MOV     R4,A
+0010A5         ?C0017?UTILITIES:
+0010A5 0D                INC     R5
+0010A6 BD0001            CJNE    R5,#00H,?C0028?UTILITIES
+0010A9 0C                INC     R4
+0010AA         ?C0028?UTILITIES:
+0010AA BC04F8            CJNE    R4,#04H,?C0017?UTILITIES
+0010AD BDA6F5            CJNE    R5,#0A6H,?C0017?UTILITIES
+0010B0         ?C0016?UTILITIES:
+0010B0 1F                DEC     R7
+0010B1 80E9              SJMP    ?C0014?UTILITIES
+0010B3         ?C0020?UTILITIES:
+0010B3 22                RET     
 ----- FUNCTION _Delay1ms (END) -------
 
 
------ FUNCTION _kb_cb_event (BEGIN) -----
- FILE: 'sys.c'
-   89: static void kb_cb_event(byte evt)
-   90: {
-000A96 904E92            MOV     DPTR,#evt
-000A99 EF                MOV     A,R7
-000A9A F0                MOVX    @DPTR,A
-   91: 	switch (evt) 
-   92: 	{
-000A9B 24D0              ADD     A,#0D0H
-000A9D 6047              JZ      ?C0014?SYS
-000A9F 14                DEC     A
-000AA0 6046              JZ      ?C0016?SYS
-000AA2 14                DEC     A
-000AA3 7002              JNZ     $ + 4H
-000AA5 613F              AJMP    ?C0022?SYS
-000AA7 14                DEC     A
-000AA8 600A              JZ      ?C0013?SYS
-000AAA 24F7              ADD     A,#0F7H
-000AAC 603A              JZ      ?C0016?SYS
-000AAE 240D              ADD     A,#0DH
-000AB0 6002              JZ      $ + 4H
-000AB2 616B              AJMP    ?C0025?SYS
-   93: 	case IPC_EVT_HIBERNATE_WAKE:
-   94: //		System_Hardware_init();
-   95: //		System_Software_init();
-   96: //		break;	
-   97: 	case IPC_EVT_RESET:
-000AB4         ?C0013?SYS:
-   98: 		System_Hardware_init();
-000AB4 F1EC              ACALL   System_Hardware_init
-   99: 		System_Software_init();
-000AB6 12214F            LCALL   System_Software_init
-  100: 		IIC_Read(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
-000AB9 7B01              MOV     R3,#01H
-000ABB 7A4C              MOV     R2,#HIGH m_24g_addr
-000ABD 7900              MOV     R1,#LOW m_24g_addr
-000ABF 7D04              MOV     R5,#04H
-000AC1 7C00              MOV     R4,#00H
-000AC3 7FF2              MOV     R7,#0F2H
-000AC5 7E3F              MOV     R6,#03FH
-000AC7 716C              ACALL   _IIC_Read
-  101: 		Delay1ms(10);
-000AC9 7F0A              MOV     R7,#0AH
-000ACB 517E              ACALL   _Delay1ms
-  102: 		IIC_Read(EEPROM_RECON_INFO_SYTEM_MODE,1 , (byte *)g_variable.system_mode);
-000ACD 904CC1            MOV     DPTR,#g_variable+02H
-000AD0 E0                MOVX    A,@DPTR
-000AD1 F9                MOV     R1,A
-000AD2 7A00              MOV     R2,#00H
-000AD4 7B00              MOV     R3,#00H
-000AD6 7D01              MOV     R5,#01H
-000AD8 7C00              MOV     R4,#00H
-000ADA 7FF8              MOV     R7,#0F8H
-000ADC 7E3F              MOV     R6,#03FH
-000ADE 716C              ACALL   _IIC_Read
-  103: 		Delay1ms(10);
-000AE0 7F0A              MOV     R7,#0AH
-000AE2 517E              ACALL   _Delay1ms
-  104: 		YC_start_reconnect();
-000AE4 E1AA              AJMP    YC_start_reconnect
-  105: 		break;
-  106: 	case IPC_EVT_WAKEUP:
-000AE6         ?C0014?SYS:
-  107: 		KS_Initialize();
-000AE6 E1C1              AJMP    KS_Initialize
-  108: 		break;
-  109: 
-  110: 		
-  111: // 2.4G event	
-  112: 	case IPC_EVT_24G_PAIRING_COMPLETE:
-  113: 	case IPC_EVT_24G_ATTEMPT_SUCCESS:
-000AE8         ?C0016?SYS:
-  114: 		g_variable.g24_currentState =  CHANGE_TO_24G_CONNECTED;
-000AE8 904CC5            MOV     DPTR,#g_variable+06H
-000AEB 7403              MOV     A,#03H
-000AED F0                MOVX    @DPTR,A
-  115: 		g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
-000AEE E4                CLR     A
-000AEF A3                INC     DPTR
-000AF0 F0                MOVX    @DPTR,A
-  116: 		YC_clear_reconnect_flag();
-000AF1 F169              ACALL   YC_clear_reconnect_flag
-  117: 		g_variable.pairing_g24_timeout = 0;
-000AF3 E4                CLR     A
-000AF4 904CEE            MOV     DPTR,#g_variable+02FH
-000AF7 F0                MOVX    @DPTR,A
-  118: 		g_variable.release_data = 0;
-000AF8 904CEB            MOV     DPTR,#g_variable+02CH
-000AFB F0                MOVX    @DPTR,A
-  119: 		g_variable.last_device_num = 0xfe;
-000AFC 904CC0            MOV     DPTR,#g_variable+01H
-000AFF 74FE              MOV     A,#0FEH
-000B01 F0                MOVX    @DPTR,A
-  120: 		g_variable.current_device_num = 0xfe;
-000B02 904CC3            MOV     DPTR,#g_variable+04H
-000B05 F0                MOVX    @DPTR,A
-  121: 
-  122: 		if(evt == IPC_EVT_24G_PAIRING_COMPLETE)
-000B06 904E92            MOV     DPTR,#evt
-000B09 E0                MOVX    A,@DPTR
-000B0A 6431              XRL     A,#031H
-000B0C 7024              JNZ     ?C0017?SYS
-  123: 		{
-  124: 			g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
-000B0E 904CE5            MOV     DPTR,#g_variable+026H
-000B11 741E              MOV     A,#01EH
-000B13 F0                MOVX    @DPTR,A
-  125: 			if(m_24g_paring_addr[0] != 0x0f || m_24g_paring_addr[1] != 0x0f ||
-000B14 904BEB            MOV     DPTR,#m_24g_paring_addr
-000B17 E0                MOVX    A,@DPTR
-000B18 B40F10            CJNE    A,#0FH,?C0019?SYS
-000B1B A3                INC     DPTR
-000B1C E0                MOVX    A,@DPTR
-000B1D B40F0B            CJNE    A,#0FH,?C0019?SYS
-000B20 A3                INC     DPTR
-000B21 E0                MOVX    A,@DPTR
-000B22 B40F06            CJNE    A,#0FH,?C0019?SYS
-000B25 A3                INC     DPTR
-000B26 E0                MOVX    A,@DPTR
-000B27 640F              XRL     A,#0FH
-000B29 6040              JZ      ?C0025?SYS
-000B2B         ?C0019?SYS:
-  126: 				m_24g_paring_addr[2] != 0x0f || m_24g_paring_addr[3] != 0x0f)
-  127: 				g_variable.update_eeprom_flag = 1;
-000B2B 904CBF            MOV     DPTR,#g_variable
-000B2E 7401              MOV     A,#01H
-000B30 F0                MOVX    @DPTR,A
-  128: 		}
-000B31 22                RET     
-000B32         ?C0017?SYS:
-  129: 		else
-  130: 		{
-  131: 			if(!g_variable.powerOn_timer)
-000B32 904CE5            MOV     DPTR,#g_variable+026H
-000B35 E0                MOVX    A,@DPTR
-000B36 7033              JNZ     ?C0025?SYS
-  132: 			GPIO_Setout(G24_LED_GPIO,LED_OFF);
-000B38 C201              CLR     ?_GPIO_Setout?BIT
-000B3A 7F1D              MOV     R7,#01DH
-000B3C 02078B            LJMP    _GPIO_Setout
-  133: 		}
-  134: 		break;
-  135: 	
-  136: 	case IPC_EVT_24G_ATTEMPT_FAIL:	
-000B3F         ?C0022?SYS:
-  137: 		g_variable.g24_currentState =  CHANGE_TO_24G_DISCONNECTED;
-000B3F E4                CLR     A
-000B40 904CC5            MOV     DPTR,#g_variable+06H
-000B43 F0                MOVX    @DPTR,A
-  138: 		g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
-000B44 A3                INC     DPTR
-000B45 F0                MOVX    @DPTR,A
-  139: 		g_variable.sleepTimer = 0;
-000B46 904CE3            MOV     DPTR,#g_variable+024H
-000B49 F0                MOVX    @DPTR,A
-000B4A A3                INC     DPTR
-000B4B F0                MOVX    @DPTR,A
-  140: 		g_variable.release_data = 1;
-000B4C 904CEB            MOV     DPTR,#g_variable+02CH
-000B4F 04                INC     A
-000B50 F0                MOVX    @DPTR,A
-  141: 
-  142: 		if (g_variable.key_action != KEY_NONE)
-000B51 904CED            MOV     DPTR,#g_variable+02EH
-000B54 E0                MOVX    A,@DPTR
-000B55 6009              JZ      ?C0023?SYS
-  143: 		{
-  144: 			YC_clear_reconnect_flag();
-000B57 F169              ACALL   YC_clear_reconnect_flag
-  145: 			YC_key_action_handle(g_variable.key_action);
-000B59 904CED            MOV     DPTR,#g_variable+02EH
-000B5C E0                MOVX    A,@DPTR
-000B5D FF                MOV     R7,A
-000B5E 0133              AJMP    _YC_key_action_handle
-  146: 			break;
-  147: 		}
-000B60         ?C0023?SYS:
-  148: 
-  149: 		if (g_variable.lockLpm == 1)
-000B60 904CEC            MOV     DPTR,#g_variable+02DH
-000B63 E0                MOVX    A,@DPTR
-000B64 B40104            CJNE    A,#01H,?C0025?SYS
-  150: 		{
-  151: 			g_variable.lockLpm =0;
-000B67 E4                CLR     A
-000B68 F0                MOVX    @DPTR,A
-  152: 			System_long_sleep();
-000B69 31F2              ACALL   System_long_sleep
-  153: 			break;
-  154: 		}
-  155: 		break;
-  156: 	}
-  157: }
-000B6B         ?C0025?SYS:
-000B6B 22                RET     
------ FUNCTION _kb_cb_event (END) -------
-
-
------ FUNCTION _IIC_Read (BEGIN) -----
-000B6C 904E5C            MOV     DPTR,#len
-000B6F EC                MOV     A,R4
-000B70 F0                MOVX    @DPTR,A
-000B71 A3                INC     DPTR
-000B72 ED                MOV     A,R5
-000B73 F0                MOVX    @DPTR,A
-000B74 A3                INC     DPTR
-000B75 EB                MOV     A,R3
-000B76 F0                MOVX    @DPTR,A
-000B77 A3                INC     DPTR
-000B78 EA                MOV     A,R2
-000B79 F0                MOVX    @DPTR,A
-000B7A A3                INC     DPTR
-000B7B E9                MOV     A,R1
-000B7C F0                MOVX    @DPTR,A
-;---- Variable 'addr' assigned to Register 'R6/R7' ----
-;---- Variable 'mem_src' assigned to Register 'R6/R7' ----
-000B7D 908098            MOV     DPTR,#08098H
-000B80 7404              MOV     A,#04H
-000B82 F0                MOVX    @DPTR,A
-000B83 A3                INC     DPTR
-000B84 E4                CLR     A
-000B85 F0                MOVX    @DPTR,A
-000B86 900CAF            MOV     DPTR,#YC_IICDTbuf
-000B89 74A0              MOV     A,#0A0H
-000B8B F0                MOVX    @DPTR,A
-000B8C A3                INC     DPTR
-000B8D EE                MOV     A,R6
-000B8E F0                MOVX    @DPTR,A
-000B8F A3                INC     DPTR
-000B90 EF                MOV     A,R7
-000B91 F0                MOVX    @DPTR,A
-000B92 900CB2            MOV     DPTR,#YC_IICDTbuf+03H
-000B95 74A1              MOV     A,#0A1H
-000B97 F0                MOVX    @DPTR,A
-000B98 7A0C              MOV     R2,#HIGH YC_IICDTbuf
-000B9A 79AF              MOV     R1,#LOW YC_IICDTbuf
-000B9C 7E0C              MOV     R6,#HIGH YC_IICDTbuf
-000B9E 7FAF              MOV     R7,#LOW YC_IICDTbuf
-000BA0 74AF              MOV     A,#LOW YC_IICDTbuf
-000BA2 FC                MOV     R4,A
-000BA3 740C              MOV     A,#HIGH YC_IICDTbuf
-000BA5 FF                MOV     R7,A
-000BA6 EC                MOV     A,R4
-000BA7 FE                MOV     R6,A
-000BA8 EF                MOV     A,R7
-000BA9 90809A            MOV     DPTR,#0809AH
-000BAC EE                MOV     A,R6
-000BAD F0                MOVX    @DPTR,A
-000BAE A3                INC     DPTR
-000BAF EF                MOV     A,R7
-000BB0 F0                MOVX    @DPTR,A
-000BB1 904E5C            MOV     DPTR,#len
-000BB4 E0                MOVX    A,@DPTR
-000BB5 FC                MOV     R4,A
-000BB6 A3                INC     DPTR
-000BB7 E0                MOVX    A,@DPTR
-000BB8 FA                MOV     R2,A
-000BB9 EC                MOV     A,R4
-000BBA FF                MOV     R7,A
-000BBB EA                MOV     A,R2
-000BBC FE                MOV     R6,A
-000BBD EF                MOV     A,R7
-000BBE 90809E            MOV     DPTR,#0809EH
-000BC1 EE                MOV     A,R6
-000BC2 F0                MOVX    @DPTR,A
-000BC3 A3                INC     DPTR
-000BC4 EF                MOV     A,R7
-000BC5 F0                MOVX    @DPTR,A
-000BC6 7A0B              MOV     R2,#HIGH IIC_TempBuff
-000BC8 7983              MOV     R1,#LOW IIC_TempBuff
-000BCA 7E0B              MOV     R6,#HIGH IIC_TempBuff
-000BCC 7F83              MOV     R7,#LOW IIC_TempBuff
-000BCE 7483              MOV     A,#LOW IIC_TempBuff
-000BD0 FC                MOV     R4,A
-000BD1 740B              MOV     A,#HIGH IIC_TempBuff
-000BD3 FF                MOV     R7,A
-000BD4 EC                MOV     A,R4
-000BD5 FE                MOV     R6,A
-000BD6 EF                MOV     A,R7
-000BD7 90809C            MOV     DPTR,#0809CH
-000BDA EE                MOV     A,R6
-000BDB F0                MOVX    @DPTR,A
-000BDC A3                INC     DPTR
-000BDD EF                MOV     A,R7
-000BDE F0                MOVX    @DPTR,A
-000BDF 908090            MOV     DPTR,#08090H
-000BE2 7402              MOV     A,#02H
-000BE4 F0                MOVX    @DPTR,A
-000BE5 90809C            MOV     DPTR,#0809CH
-000BE8 A3                INC     DPTR
-000BE9 E0                MOVX    A,@DPTR
-000BEA 20E707            JB      ACC.7,?C0004?IIC
-000BED 908090            MOV     DPTR,#08090H
-000BF0 E0                MOVX    A,@DPTR
-000BF1 4401              ORL     A,#01H
-000BF3 F0                MOVX    @DPTR,A
-000BF4         ?C0004?IIC:
-000BF4 908006            MOV     DPTR,#08006H
-000BF7 E0                MOVX    A,@DPTR
-000BF8 4404              ORL     A,#04H
-000BFA F0                MOVX    @DPTR,A
-000BFB 1216DB            LCALL   IIcWaitDone
-000BFE 904E5E            MOV     DPTR,#pbuff
-000C01 E0                MOVX    A,@DPTR
-000C02 A3                INC     DPTR
-000C03 E0                MOVX    A,@DPTR
-000C04 FA                MOV     R2,A
-000C05 A3                INC     DPTR
-000C06 E0                MOVX    A,@DPTR
-000C07 AE02              MOV     R6,AR2
-000C09 FF                MOV     R7,A
-000C0A 7B01              MOV     R3,#01H
-000C0C 7A0B              MOV     R2,#HIGH IIC_TempBuff
-000C0E 7983              MOV     R1,#LOW IIC_TempBuff
-000C10 904E5C            MOV     DPTR,#len
-000C13 E0                MOVX    A,@DPTR
-000C14 A3                INC     DPTR
-000C15 E0                MOVX    A,@DPTR
-000C16 904E51            MOV     DPTR,#?_xmemcpy?BYTE+05H
-000C19 F0                MOVX    @DPTR,A
-;----                  JMP     _xmemcpy
------ FUNCTION _IIC_Read (END) -------
-
-
------ FUNCTION _xmemcpy (BEGIN) -----
-000C1A 904E4C            MOV     DPTR,#dest
-000C1D EE                MOV     A,R6
-000C1E F0                MOVX    @DPTR,A
-000C1F A3                INC     DPTR
-000C20 EF                MOV     A,R7
-000C21 F0                MOVX    @DPTR,A
-000C22 A3                INC     DPTR
-000C23 EB                MOV     A,R3
-000C24 F0                MOVX    @DPTR,A
-000C25 A3                INC     DPTR
-000C26 EA                MOV     A,R2
-000C27 F0                MOVX    @DPTR,A
-000C28 A3                INC     DPTR
-000C29 E9                MOV     A,R1
-000C2A F0                MOVX    @DPTR,A
-000C2B         ?C0002?UTILITIES:
-000C2B 904E51            MOV     DPTR,#len
-000C2E E0                MOVX    A,@DPTR
-000C2F FF                MOV     R7,A
-000C30 14                DEC     A
-000C31 F0                MOVX    @DPTR,A
-000C32 EF                MOV     A,R7
-000C33 6027              JZ      ?C0004?UTILITIES
-000C35 904E4E            MOV     DPTR,#src
-000C38 E0                MOVX    A,@DPTR
-000C39 FB                MOV     R3,A
-000C3A A3                INC     DPTR
-000C3B E4                CLR     A
-000C3C 75F001            MOV     B,#01H
-000C3F 120424            LCALL   ?C?ILDIX
-000C42 A9F0              MOV     R1,B
-000C44 FA                MOV     R2,A
-000C45 1203B6            LCALL   ?C?CLDPTR
-000C48 FF                MOV     R7,A
-000C49 904E4C            MOV     DPTR,#dest
-000C4C E4                CLR     A
-000C4D 75F001            MOV     B,#01H
-000C50 120424            LCALL   ?C?ILDIX
-000C53 85F082            MOV     DPL,B
-000C56 F583              MOV     DPH,A
-000C58 EF                MOV     A,R7
-000C59 F0                MOVX    @DPTR,A
-000C5A 80CF              SJMP    ?C0002?UTILITIES
-000C5C         ?C0004?UTILITIES:
-000C5C 22                RET     
------ FUNCTION _xmemcpy (END) -------
-
-
------ FUNCTION _kb_motion_keyscan (BEGIN) -----
- FILE: 'kb_process.c'
-  204: void kb_motion_keyscan(tKSEVENT *pEvt)
-  205: {
-000C5D 904E52            MOV     DPTR,#pEvt
-000C60 EB                MOV     A,R3
-000C61 F0                MOVX    @DPTR,A
-000C62 A3                INC     DPTR
-000C63 EA                MOV     A,R2
-000C64 F0                MOVX    @DPTR,A
-000C65 A3                INC     DPTR
-000C66 E9                MOV     A,R1
-000C67 F0                MOVX    @DPTR,A
-  206: 	byte temp = 0;
-  207: 	byte i=0;
-000C68 E4                CLR     A
-000C69 A3                INC     DPTR
-000C6A F0                MOVX    @DPTR,A
-  208: 	
-000C6B A3                INC     DPTR
-000C6C F0                MOVX    @DPTR,A
-  209: 	fn_flag = 0;
-000C6D 904DDB            MOV     DPTR,#fn_flag
-000C70 F0                MOVX    @DPTR,A
-  210: 	for(i=0; i < KS_BUFF_POLL_LEN-1; i++)
-000C71 904E56            MOV     DPTR,#i
-000C74 F0                MOVX    @DPTR,A
-000C75         ?C0044?KB_PROCESS:
-000C75 904E56            MOV     DPTR,#i
-000C78 E0                MOVX    A,@DPTR
-000C79 FF                MOV     R7,A
-000C7A C3                CLR     C
-000C7B 9405              SUBB    A,#05H
-000C7D 502C              JNC     ?C0045?KB_PROCESS
-  211: 	{
-  212: 		if (pEvt->ksPool[i] == HID_KEY_FN) 		// Fn key check
-000C7F 904E52            MOV     DPTR,#pEvt
-000C82 E0                MOVX    A,@DPTR
-000C83 FB                MOV     R3,A
-000C84 A3                INC     DPTR
-000C85 E0                MOVX    A,@DPTR
-000C86 FA                MOV     R2,A
-000C87 A3                INC     DPTR
-000C88 E0                MOVX    A,@DPTR
-000C89 2401              ADD     A,#01H
-000C8B F9                MOV     R1,A
-000C8C E4                CLR     A
-000C8D 3A                ADDC    A,R2
-000C8E FA                MOV     R2,A
-000C8F 7E00              MOV     R6,#00H
-000C91 E9                MOV     A,R1
-000C92 2F                ADD     A,R7
-000C93 F9                MOV     R1,A
-000C94 EE                MOV     A,R6
-000C95 3A                ADDC    A,R2
-000C96 FA                MOV     R2,A
-000C97 1203B6            LCALL   ?C?CLDPTR
-000C9A B4AF06            CJNE    A,#0AFH,?C0046?KB_PROCESS
-  213: 		{
-  214: 			fn_flag = 1;
-000C9D 904DDB            MOV     DPTR,#fn_flag
-000CA0 7401              MOV     A,#01H
-000CA2 F0                MOVX    @DPTR,A
-  215: 		}
-  216: 	}
-000CA3         ?C0046?KB_PROCESS:
-000CA3 904E56            MOV     DPTR,#i
-000CA6 E0                MOVX    A,@DPTR
-000CA7 04                INC     A
-000CA8 F0                MOVX    @DPTR,A
-000CA9 80CA              SJMP    ?C0044?KB_PROCESS
-000CAB         ?C0045?KB_PROCESS:
-  217: 	fn_flag_last = fn_flag;
-000CAB 904DDB            MOV     DPTR,#fn_flag
-000CAE E0                MOVX    A,@DPTR
-000CAF 904DE0            MOV     DPTR,#fn_flag_last
-000CB2 F0                MOVX    @DPTR,A
-  218: 
-  219: 	
-  220: 	if (pEvt == NULL)
-000CB3 904E52            MOV     DPTR,#pEvt
-000CB6 E0                MOVX    A,@DPTR
-000CB7 A3                INC     DPTR
-000CB8 E0                MOVX    A,@DPTR
-000CB9 FA                MOV     R2,A
-000CBA A3                INC     DPTR
-000CBB E0                MOVX    A,@DPTR
-000CBC 4A                ORL     A,R2
-000CBD 7002              JNZ     $ + 4H
-000CBF C1B2              AJMP    ?C0049?KB_PROCESS
-000CC1         ?C0048?KB_PROCESS:
-  221: 		return;
-  222: 
-  223: 	delayChgInvTimer = 10;
-000CC1 904DDE            MOV     DPTR,#delayChgInvTimer
-000CC4 740A              MOV     A,#0AH
-000CC6 F0                MOVX    @DPTR,A
-  224: 	g_variable.sleepTimer = 0;
-000CC7 E4                CLR     A
-000CC8 904CE3            MOV     DPTR,#g_variable+024H
-000CCB F0                MOVX    @DPTR,A
-000CCC A3                INC     DPTR
-000CCD F0                MOVX    @DPTR,A
-  225: 	xmemclear(hidBuff,9);
-000CCE 7B01              MOV     R3,#01H
-000CD0 7A48              MOV     R2,#HIGH hidBuff
-000CD2 7900              MOV     R1,#LOW hidBuff
-000CD4 7D09              MOV     R5,#09H
-000CD6 FC                MOV     R4,A
-000CD7 D1B3              ACALL   _xmemclear
-  226: 	xmemclear(multikey,9);
-000CD9 7B01              MOV     R3,#01H
-000CDB 7A4D              MOV     R2,#HIGH multikey
-000CDD 79E5              MOV     R1,#LOW multikey
-000CDF 7D09              MOV     R5,#09H
-000CE1 7C00              MOV     R4,#00H
-000CE3 D1B3              ACALL   _xmemclear
-  227: 
-  228: 	////////////////////////////2.4g pairing////////////////////////////////////
-  229: 	if ((pEvt->ksPool[0]  == HID_KEY_EQUAL&& pEvt->ksPool[1]  == HID_KEY_ESC) 
-000CE5 904E52            MOV     DPTR,#pEvt
-000CE8 E0                MOVX    A,@DPTR
-000CE9 FB                MOV     R3,A
-000CEA A3                INC     DPTR
-000CEB E0                MOVX    A,@DPTR
-000CEC FA                MOV     R2,A
-000CED A3                INC     DPTR
-000CEE E0                MOVX    A,@DPTR
-000CEF F9                MOV     R1,A
-000CF0 900001            MOV     DPTR,#01H
-000CF3 1203CF            LCALL   ?C?CLDOPTR
-000CF6 FF                MOV     R7,A
-000CF7 B42E0A            CJNE    A,#02EH,?C0052?KB_PROCESS
-000CFA 900002            MOV     DPTR,#02H
-000CFD 1203CF            LCALL   ?C?CLDOPTR
-000D00 6429              XRL     A,#029H
-000D02 600F              JZ      ?C0051?KB_PROCESS
-000D04         ?C0052?KB_PROCESS:
-000D04 EF                MOV     A,R7
-000D05 6429              XRL     A,#029H
-000D07 7036              JNZ     ?C0050?KB_PROCESS
-000D09 900002            MOV     DPTR,#02H
-000D0C 1203CF            LCALL   ?C?CLDOPTR
-000D0F 642E              XRL     A,#02EH
-000D11 702C              JNZ     ?C0050?KB_PROCESS
-000D13         ?C0051?KB_PROCESS:
-  230: 		||(pEvt->ksPool[0]  == HID_KEY_ESC && pEvt->ksPool[1]  == HID_KEY_EQUAL) 
-  231: 		)
-  232: 	{
-  233: 		m_24g_paring_addr[0] = 0x20;
-000D13 904BEB            MOV     DPTR,#m_24g_paring_addr
-000D16 7420              MOV     A,#020H
-000D18 F0                MOVX    @DPTR,A
-  234: 		m_24g_paring_addr[1] = 0x15;
-000D19 A3                INC     DPTR
-000D1A 7415              MOV     A,#015H
-000D1C F0                MOVX    @DPTR,A
-  235: 		m_24g_paring_addr[2] = 0x10;
-000D1D A3                INC     DPTR
-000D1E 7410              MOV     A,#010H
-000D20 F0                MOVX    @DPTR,A
-  236: 		m_24g_paring_addr[3] = 0x05;
-000D21 A3                INC     DPTR
-000D22 7405              MOV     A,#05H
-000D24 F0                MOVX    @DPTR,A
-  237: 		if (g_variable.g24_currentState != CHANGE_TO_24G_PAIRING)
-000D25 904CC5            MOV     DPTR,#g_variable+06H
-000D28 E0                MOVX    A,@DPTR
-000D29 6401              XRL     A,#01H
-000D2B 6009              JZ      ?C0053?KB_PROCESS
-  238: 		{
-  239: 			g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
-000D2D 904CCE            MOV     DPTR,#g_variable+0FH
-000D30 E0                MOVX    A,@DPTR
-000D31 4410              ORL     A,#010H
-000D33 F0                MOVX    @DPTR,A
-  240: 		}
-000D34 8010              SJMP    ?C0055?KB_PROCESS
-000D36         ?C0053?KB_PROCESS:
-  241: 		else
-  242: 		{
-  243: 			g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
-000D36 904CCE            MOV     DPTR,#g_variable+0FH
-000D39 E0                MOVX    A,@DPTR
-000D3A 54EF              ANL     A,#0EFH
-000D3C F0                MOVX    @DPTR,A
-  244: 		}
-  245: 	}
-000D3D 8007              SJMP    ?C0055?KB_PROCESS
-000D3F         ?C0050?KB_PROCESS:
-  246: 	else
-  247: 	{
-  248: 		g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
-000D3F 904CCE            MOV     DPTR,#g_variable+0FH
-000D42 E0                MOVX    A,@DPTR
-000D43 54EF              ANL     A,#0EFH
-000D45 F0                MOVX    @DPTR,A
-  249: 	}
-000D46         ?C0055?KB_PROCESS:
-  250: 
-  251: 	m_power_on_flag = 1;
-000D46 904CB6            MOV     DPTR,#m_power_on_flag
-000D49 7401              MOV     A,#01H
-000D4B F0                MOVX    @DPTR,A
-  252: 	if(g_variable.key_combination_step == CAMBINATION_KEY_PRESS)
-000D4C 904CF4            MOV     DPTR,#g_variable+035H
-000D4F E0                MOVX    A,@DPTR
-000D50 B4012B            CJNE    A,#01H,?C0056?KB_PROCESS
-  253: 	{
-  254: 		hidBuff[0] = HID_REPORTID_1;
-000D53 904800            MOV     DPTR,#hidBuff
-000D56 7401              MOV     A,#01H
-000D58 F0                MOVX    @DPTR,A
-  255: 		hidBuff[1] |= g_variable.key_combination_ctrl;
-000D59 A3                INC     DPTR
-000D5A E0                MOVX    A,@DPTR
-000D5B FF                MOV     R7,A
-000D5C 904CF5            MOV     DPTR,#g_variable+036H
-000D5F E0                MOVX    A,@DPTR
-000D60 FE                MOV     R6,A
-000D61 EF                MOV     A,R7
-000D62 4E                ORL     A,R6
-000D63 904801            MOV     DPTR,#hidBuff+01H
-000D66 F0                MOVX    @DPTR,A
-  256: 		hidBuff[3] = 0x00; 
-000D67 E4                CLR     A
-000D68 904803            MOV     DPTR,#hidBuff+03H
-000D6B F0                MOVX    @DPTR,A
-  257: 		IPC_TxHidData(hidBuff, 9);
-000D6C 7B01              MOV     R3,#01H
-000D6E 7A48              MOV     R2,#HIGH hidBuff
-000D70 7900              MOV     R1,#LOW hidBuff
-000D72 7D09              MOV     R5,#09H
-000D74 12140E            LCALL   _IPC_TxHidData
-  258: 		g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
-000D77 904CF4            MOV     DPTR,#g_variable+035H
-000D7A 7402              MOV     A,#02H
-000D7C F0                MOVX    @DPTR,A
-000D7D 22                RET     
-  259: 		return;
-  260: 	}
-000D7E         ?C0056?KB_PROCESS:
-  261: 
-  262: 	// get 24g led status
-  263: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
-000D7E 904CC5            MOV     DPTR,#g_variable+06H
-000D81 E0                MOVX    A,@DPTR
-000D82 6403              XRL     A,#03H
-000D84 7045              JNZ     ?C0057?KB_PROCESS
-  264: 	{
-  265: 		for(i=0; i < KS_BUFF_POLL_LEN-1; i++)
-000D86 904E56            MOV     DPTR,#i
-000D89 F0                MOVX    @DPTR,A
-000D8A         ?C0058?KB_PROCESS:
-000D8A 904E56            MOV     DPTR,#i
-000D8D E0                MOVX    A,@DPTR
-000D8E FF                MOV     R7,A
-000D8F C3                CLR     C
-000D90 9405              SUBB    A,#05H
-000D92 5037              JNC     ?C0057?KB_PROCESS
-  266: 		{
-  267: 			if ((pEvt->ksPool[i] == HID_KEY_CAPS_LOCK) || (pEvt->ksPool[i] == HID_KEY_NUM_LOCK) 
-000D94 904E52            MOV     DPTR,#pEvt
-000D97 E0                MOVX    A,@DPTR
-000D98 FB                MOV     R3,A
-000D99 A3                INC     DPTR
-000D9A E0                MOVX    A,@DPTR
-000D9B FA                MOV     R2,A
-000D9C A3                INC     DPTR
-000D9D E0                MOVX    A,@DPTR
-000D9E 2401              ADD     A,#01H
-000DA0 F9                MOV     R1,A
-000DA1 E4                CLR     A
-000DA2 3A                ADDC    A,R2
-000DA3 FA                MOV     R2,A
-000DA4 7E00              MOV     R6,#00H
-000DA6 E9                MOV     A,R1
-000DA7 2F                ADD     A,R7
-000DA8 F9                MOV     R1,A
-000DA9 EE                MOV     A,R6
-000DAA 3A                ADDC    A,R2
-000DAB FA                MOV     R2,A
-000DAC 1203B6            LCALL   ?C?CLDPTR
-000DAF FF                MOV     R7,A
-000DB0 6439              XRL     A,#039H
-000DB2 6009              JZ      ?C0062?KB_PROCESS
-000DB4 EF                MOV     A,R7
-000DB5 6453              XRL     A,#053H
-000DB7 6004              JZ      ?C0062?KB_PROCESS
-000DB9 EF                MOV     A,R7
-000DBA B44706            CJNE    A,#047H,?C0060?KB_PROCESS
-000DBD         ?C0062?KB_PROCESS:
-  268: 			|| (pEvt->ksPool[i] == HID_KEY_SCROLL_LOCK))
-  269: 			{
-  270: 				get_24g_led_send = 1;
-000DBD 904DD0            MOV     DPTR,#get_24g_led_send
-000DC0 7401              MOV     A,#01H
-000DC2 F0                MOVX    @DPTR,A
-  271: 			}
-  272: 		}
-000DC3         ?C0060?KB_PROCESS:
-000DC3 904E56            MOV     DPTR,#i
-000DC6 E0                MOVX    A,@DPTR
-000DC7 04                INC     A
-000DC8 F0                MOVX    @DPTR,A
-000DC9 80BF              SJMP    ?C0058?KB_PROCESS
-  273: 	}
-000DCB         ?C0057?KB_PROCESS:
-  274: 
-  275: 	kb_multikey_setup(pEvt);
-000DCB 904E52            MOV     DPTR,#pEvt
-000DCE E0                MOVX    A,@DPTR
-000DCF FB                MOV     R3,A
-000DD0 A3                INC     DPTR
-000DD1 E0                MOVX    A,@DPTR
-000DD2 FA                MOV     R2,A
-000DD3 A3                INC     DPTR
-000DD4 E0                MOVX    A,@DPTR
-000DD5 F9                MOV     R1,A
-000DD6 121ED3            LCALL   _kb_multikey_setup
-  276: 	
-  277: 	if (mult_key_status == KEY_PRESS) 
-000DD9 904DE4            MOV     DPTR,#mult_key_status
-000DDC E0                MOVX    A,@DPTR
-000DDD B40112            CJNE    A,#01H,?C0063?KB_PROCESS
-  278: 	{
-  279: 		mult_key_status = KEY_WAIT_RELEASE;
-000DE0 7402              MOV     A,#02H
-000DE2 F0                MOVX    @DPTR,A
-  280: 		multikey[0] = HID_REPORTID_2;	
-000DE3 904DE5            MOV     DPTR,#multikey
-000DE6 F0                MOVX    @DPTR,A
-  281: 		IPC_TxHidData(multikey, 3);
-000DE7 7B01              MOV     R3,#01H
-000DE9 7A4D              MOV     R2,#HIGH multikey
-000DEB 79E5              MOV     R1,#LOW multikey
-000DED 7D03              MOV     R5,#03H
-000DEF 02140E            LJMP    _IPC_TxHidData
-  282: 	}
-000DF2         ?C0063?KB_PROCESS:
-  283: 	else if(mult_key_status == KEY_RELEASE)
-000DF2 904DE4            MOV     DPTR,#mult_key_status
-000DF5 E0                MOVX    A,@DPTR
-000DF6 B40317            CJNE    A,#03H,?C0065?KB_PROCESS
-  284: 	{
-  285: 		mult_key_status = KEY_STANDBY;
-000DF9 E4                CLR     A
-000DFA F0                MOVX    @DPTR,A
-  286: 		mult_key_value = 0;
-000DFB 904DE3            MOV     DPTR,#mult_key_value
-000DFE F0                MOVX    @DPTR,A
-  287: 		multikey[0] = HID_REPORTID_2;	
-000DFF 904DE5            MOV     DPTR,#multikey
-000E02 7402              MOV     A,#02H
-000E04 F0                MOVX    @DPTR,A
-  288: 		IPC_TxHidData(multikey, 3);
-000E05 7B01              MOV     R3,#01H
-000E07 7A4D              MOV     R2,#HIGH multikey
-000E09 79E5              MOV     R1,#LOW multikey
-000E0B 7D03              MOV     R5,#03H
-000E0D 02140E            LJMP    _IPC_TxHidData
-  289: 	}
-000E10         ?C0065?KB_PROCESS:
-  290: 	else 
-  291: 	{
-  292: 		hidBuff[0] = HID_REPORTID_1;
-000E10 904800            MOV     DPTR,#hidBuff
-000E13 7401              MOV     A,#01H
-000E15 F0                MOVX    @DPTR,A
-  293: 		hidBuff[1] = pEvt->standardSel;
-000E16 904E52            MOV     DPTR,#pEvt
-000E19 E0                MOVX    A,@DPTR
-000E1A FB                MOV     R3,A
-000E1B A3                INC     DPTR
-000E1C E0                MOVX    A,@DPTR
-000E1D FA                MOV     R2,A
-000E1E A3                INC     DPTR
-000E1F E0                MOVX    A,@DPTR
-000E20 F9                MOV     R1,A
-000E21 1203B6            LCALL   ?C?CLDPTR
-000E24 904801            MOV     DPTR,#hidBuff+01H
-000E27 F0                MOVX    @DPTR,A
-  294: 		hidBuff[2] = 0;
-000E28 E4                CLR     A
-000E29 A3                INC     DPTR
-000E2A F0                MOVX    @DPTR,A
-  295: 
-  296: 		standard_key_release_flag = 0;
-000E2B 904DD8            MOV     DPTR,#standard_key_release_flag
-000E2E F0                MOVX    @DPTR,A
-  297: 
-  298: 		if (pEvt->ksPool[0] == HID_KEY_FN)
-000E2F 900001            MOV     DPTR,#01H
-000E32 1203CF            LCALL   ?C?CLDOPTR
-000E35 B4AF1E            CJNE    A,#0AFH,?C0067?KB_PROCESS
-  299: 			xmemcpy(&hidBuff[3], &pEvt->ksPool[1], 5);
-000E38 7E48              MOV     R6,#HIGH hidBuff+03H
-000E3A 7F03              MOV     R7,#LOW hidBuff+03H
-000E3C 904E52            MOV     DPTR,#pEvt
-000E3F E0                MOVX    A,@DPTR
-000E40 FB                MOV     R3,A
-000E41 A3                INC     DPTR
-000E42 E0                MOVX    A,@DPTR
-000E43 FA                MOV     R2,A
-000E44 A3                INC     DPTR
-000E45 E0                MOVX    A,@DPTR
-000E46 2402              ADD     A,#02H
-000E48 F9                MOV     R1,A
-000E49 E4                CLR     A
-000E4A 3A                ADDC    A,R2
-000E4B FA                MOV     R2,A
-000E4C 904E51            MOV     DPTR,#?_xmemcpy?BYTE+05H
-000E4F 7405              MOV     A,#05H
-000E51 F0                MOVX    @DPTR,A
-000E52 911A              ACALL   _xmemcpy
-000E54 801C              SJMP    ?C0068?KB_PROCESS
-000E56         ?C0067?KB_PROCESS:
-  300: 		else
-  301: 			xmemcpy(&hidBuff[3], pEvt->ksPool, 6);
-000E56 7E48              MOV     R6,#HIGH hidBuff+03H
-000E58 7F03              MOV     R7,#LOW hidBuff+03H
-000E5A 904E52            MOV     DPTR,#pEvt
-000E5D E0                MOVX    A,@DPTR
-000E5E FB                MOV     R3,A
-000E5F A3                INC     DPTR
-000E60 E0                MOVX    A,@DPTR
-000E61 FA                MOV     R2,A
-000E62 A3                INC     DPTR
-000E63 E0                MOVX    A,@DPTR
-000E64 2401              ADD     A,#01H
-000E66 F9                MOV     R1,A
-000E67 E4                CLR     A
-000E68 3A                ADDC    A,R2
-000E69 FA                MOV     R2,A
-000E6A 904E51            MOV     DPTR,#?_xmemcpy?BYTE+05H
-000E6D 7406              MOV     A,#06H
-000E6F F0                MOVX    @DPTR,A
-000E70 911A              ACALL   _xmemcpy
-000E72         ?C0068?KB_PROCESS:
-  302: 		
-  303: 		for(i = 3; i<9;i++)
-000E72 904E56            MOV     DPTR,#i
-000E75 7403              MOV     A,#03H
-000E77 F0                MOVX    @DPTR,A
-000E78         ?C0069?KB_PROCESS:
-000E78 904E56            MOV     DPTR,#i
-000E7B E0                MOVX    A,@DPTR
-000E7C FF                MOV     R7,A
-000E7D C3                CLR     C
-000E7E 9409              SUBB    A,#09H
-000E80 5025              JNC     ?C0070?KB_PROCESS
-  304: 		{
-  305: 			if (hidBuff[i] == HID_KEY_FN)
-000E82 7400              MOV     A,#LOW hidBuff
-000E84 2F                ADD     A,R7
-000E85 F582              MOV     DPL,A
-000E87 E4                CLR     A
-000E88 3448              ADDC    A,#HIGH hidBuff
-000E8A F583              MOV     DPH,A
-000E8C E0                MOVX    A,@DPTR
-000E8D B4AF0F            CJNE    A,#0AFH,?C0071?KB_PROCESS
-  306: 				hidBuff[i] = 0;
-000E90 904E56            MOV     DPTR,#i
-000E93 E0                MOVX    A,@DPTR
-000E94 2400              ADD     A,#LOW hidBuff
-000E96 F582              MOV     DPL,A
-000E98 E4                CLR     A
-000E99 3448              ADDC    A,#HIGH hidBuff
-000E9B F583              MOV     DPH,A
-000E9D E4                CLR     A
-000E9E F0                MOVX    @DPTR,A
-  307: 		}
-000E9F         ?C0071?KB_PROCESS:
-000E9F 904E56            MOV     DPTR,#i
-000EA2 E0                MOVX    A,@DPTR
-000EA3 04                INC     A
-000EA4 F0                MOVX    @DPTR,A
-000EA5 80D1              SJMP    ?C0069?KB_PROCESS
-000EA7         ?C0070?KB_PROCESS:
-  308: 		
-  309: 		IPC_TxHidData(hidBuff, 9);
-000EA7 7B01              MOV     R3,#01H
-000EA9 7A48              MOV     R2,#HIGH hidBuff
-000EAB 7900              MOV     R1,#LOW hidBuff
-000EAD 7D09              MOV     R5,#09H
-000EAF 12140E            LCALL   _IPC_TxHidData
-  310: 	}
-  311: 	return;
-  312: }
-000EB2         ?C0049?KB_PROCESS:
-000EB2 22                RET     
------ FUNCTION _kb_motion_keyscan (END) -------
-
-
------ FUNCTION _xmemclear (BEGIN) -----
-000EB3 904E7E            MOV     DPTR,#dest
-000EB6 EB                MOV     A,R3
-000EB7 F0                MOVX    @DPTR,A
-000EB8 A3                INC     DPTR
-000EB9 EA                MOV     A,R2
-000EBA F0                MOVX    @DPTR,A
-000EBB A3                INC     DPTR
-000EBC E9                MOV     A,R1
-000EBD F0                MOVX    @DPTR,A
-;---- Variable 'len' assigned to Register 'R4/R5' ----
-000EBE         ?C0008?UTILITIES:
-000EBE ED                MOV     A,R5
-000EBF 1D                DEC     R5
-000EC0 AE04              MOV     R6,AR4
-000EC2 7001              JNZ     ?C0026?UTILITIES
-000EC4 1C                DEC     R4
-000EC5         ?C0026?UTILITIES:
-000EC5 4E                ORL     A,R6
-000EC6 6016              JZ      ?C0010?UTILITIES
-000EC8 904E7E            MOV     DPTR,#dest
-000ECB E0                MOVX    A,@DPTR
-000ECC FB                MOV     R3,A
-000ECD A3                INC     DPTR
-000ECE E4                CLR     A
-000ECF 75F001            MOV     B,#01H
-000ED2 120424            LCALL   ?C?ILDIX
-000ED5 A9F0              MOV     R1,B
-000ED7 FA                MOV     R2,A
-000ED8 E4                CLR     A
-000ED9 1203FC            LCALL   ?C?CSTPTR
-000EDC 80E0              SJMP    ?C0008?UTILITIES
-000EDE         ?C0010?UTILITIES:
-000EDE 22                RET     
------ FUNCTION _xmemclear (END) -------
-
-
------ FUNCTION System_clear_mem (BEGIN) -----
- FILE: 'sys.c'
-   11: static void System_clear_mem()
-   12: {
-   13: 	xmemclear((byte *)&g_variable,sizeof(G_VARIABLE_MAP));
-   14: 	xmemclear(ksSelMapOld,KB_KSCAN_COL_NUM);
-000EDF 7B01              MOV     R3,#01H
-000EE1 7A4C              MOV     R2,#HIGH g_variable
-000EE3 79BF              MOV     R1,#LOW g_variable
-000EE5 7D42              MOV     R5,#042H
-000EE7 7C00              MOV     R4,#00H
-000EE9 D1B3              ACALL   _xmemclear
-   15: 	xmemclear(ksSelMapCheck,KB_KSCAN_COL_NUM);
-000EEB 7B01              MOV     R3,#01H
-000EED 7A4D              MOV     R2,#HIGH ksSelMapOld
-000EEF 7993              MOV     R1,#LOW ksSelMapOld
-000EF1 7D14              MOV     R5,#014H
-000EF3 7C00              MOV     R4,#00H
-000EF5 D1B3              ACALL   _xmemclear
-   16: 	xmemclear(ksSelMapCurr,KB_KSCAN_COL_NUM);
-000EF7 7B01              MOV     R3,#01H
-000EF9 7A4D              MOV     R2,#HIGH ksSelMapCheck
-000EFB 79A8              MOV     R1,#LOW ksSelMapCheck
-000EFD 7D14              MOV     R5,#014H
-000EFF 7C00              MOV     R4,#00H
-000F01 D1B3              ACALL   _xmemclear
-   17: 	xmemclear(hidBuff,9);
-000F03 7B01              MOV     R3,#01H
-000F05 7A4D              MOV     R2,#HIGH ksSelMapCurr
-000F07 79BC              MOV     R1,#LOW ksSelMapCurr
-000F09 7D14              MOV     R5,#014H
-000F0B 7C00              MOV     R4,#00H
-000F0D D1B3              ACALL   _xmemclear
-   18: 	xmemclear(multikey,9);
-000F0F 7B01              MOV     R3,#01H
-000F11 7A48              MOV     R2,#HIGH hidBuff
-000F13 7900              MOV     R1,#LOW hidBuff
-000F15 7D09              MOV     R5,#09H
-000F17 7C00              MOV     R4,#00H
-000F19 D1B3              ACALL   _xmemclear
-   19:  
-000F1B 7B01              MOV     R3,#01H
-000F1D 7A4D              MOV     R2,#HIGH multikey
-000F1F 79E5              MOV     R1,#LOW multikey
-000F21 7D09              MOV     R5,#09H
-000F23 7C00              MOV     R4,#00H
-000F25 D1B3              ACALL   _xmemclear
-   20: 	delayChgInvTimer = 0;
-000F27 E4                CLR     A
-000F28 904DDE            MOV     DPTR,#delayChgInvTimer
-000F2B F0                MOVX    @DPTR,A
-   21: 	action_timeout = 0;
-000F2C 904DE2            MOV     DPTR,#action_timeout
-000F2F F0                MOVX    @DPTR,A
-   22: 
-   23: 
-   24: 	power_on_flag = 0;
-000F30 904DE1            MOV     DPTR,#power_on_flag
-000F33 F0                MOVX    @DPTR,A
-   25: 	repeat_send_24g = 0;
-000F34 904DD6            MOV     DPTR,#repeat_send_24g
-000F37 F0                MOVX    @DPTR,A
-   26: 	get_24g_led_send = 0;
-000F38 904DD0            MOV     DPTR,#get_24g_led_send
-000F3B F0                MOVX    @DPTR,A
-   27: 	press_long_time_flag = 0;
-000F3C 904DDC            MOV     DPTR,#press_long_time_flag
-000F3F F0                MOVX    @DPTR,A
-   28: 	mult_key_status = 0;
-000F40 904DE4            MOV     DPTR,#mult_key_status
-000F43 F0                MOVX    @DPTR,A
-   29: 	long_press_flag = 0;
-000F44 904DD5            MOV     DPTR,#long_press_flag
-000F47 F0                MOVX    @DPTR,A
-   30: 	standard_key_release_flag = 0;
-000F48 904DD8            MOV     DPTR,#standard_key_release_flag
-000F4B F0                MOVX    @DPTR,A
-   31: 	fn_flag = 0;
-000F4C 904DDB            MOV     DPTR,#fn_flag
-000F4F F0                MOVX    @DPTR,A
-   32: 	fn_flag_last = 0;
-000F50 904DE0            MOV     DPTR,#fn_flag_last
-000F53 F0                MOVX    @DPTR,A
-   33: 	fn_tx_flag = 0;
-000F54 904DD3            MOV     DPTR,#fn_tx_flag
-000F57 F0                MOVX    @DPTR,A
-   34: 	fn_lock_flag = 0;
-000F58 904DDF            MOV     DPTR,#fn_lock_flag
-000F5B F0                MOVX    @DPTR,A
-   35: 
-   36: 	mult_key_value = 0;
-000F5C 904DE3            MOV     DPTR,#mult_key_value
-000F5F F0                MOVX    @DPTR,A
-   37: 	m_caps_num_lock_last = 0; 
-000F60 904DD9            MOV     DPTR,#m_caps_num_lock_last
-000F63 F0                MOVX    @DPTR,A
-   38: 	m_reconnect_continue = 0;
-000F64 904D38            MOV     DPTR,#m_reconnect_continue
-000F67 F0                MOVX    @DPTR,A
-   39: }
-000F68 22                RET     
------ FUNCTION System_clear_mem (END) -------
-
-
------ FUNCTION YC_clear_reconnect_flag (BEGIN) -----
+----- FUNCTION YC_update_eeprom_data (BEGIN) -----
  FILE: 'bluetooth.c'
-   42: void YC_clear_reconnect_flag()  
-   43: {
-   44: 	g_variable.recon_count = 0;
-   45: }
-000F69 E4                CLR     A
-000F6A 904CF0            MOV     DPTR,#g_variable+031H
-000F6D F0                MOVX    @DPTR,A
-   46: 
-000F6E 22                RET     
------ FUNCTION YC_clear_reconnect_flag (END) -------
+   67: void YC_update_eeprom_data()
+   68: {
+   69: 	if (g_variable.update_eeprom_flag)				//bt3.0  bt4.2 record information save
+   70: 	{
+0010B4 904CBF            MOV     DPTR,#g_variable
+0010B7 E0                MOVX    A,@DPTR
+0010B8 603B              JZ      ?C0015?BLUETOOTH
+   71: 		Delay1ms(200);
+   72: 		GPIO_Setout(EEPROM_WP_GPIO,0);
+0010BA 7FC8              MOV     R7,#0C8H
+0010BC 119C              ACALL   _Delay1ms
+   73: 		IIC_WriteBlock(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
+0010BE C201              CLR     ?_GPIO_Setout?BIT
+0010C0 7FFF              MOV     R7,#0FFH
+0010C2 120784            LCALL   _GPIO_Setout
+   74: 		IIC_WriteBlock(EEPROM_RECON_INFO_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
+0010C5 7B01              MOV     R3,#01H
+0010C7 7A4C              MOV     R2,#HIGH m_24g_addr
+0010C9 7900              MOV     R1,#LOW m_24g_addr
+0010CB 7D04              MOV     R5,#04H
+0010CD 7C00              MOV     R4,#00H
+0010CF 7FF2              MOV     R7,#0F2H
+0010D1 7E3F              MOV     R6,#03FH
+0010D3 11F6              ACALL   _IIC_WriteBlock
+   75: 		GPIO_Setout(EEPROM_WP_GPIO,1);
+0010D5 7B01              MOV     R3,#01H
+0010D7 7A4C              MOV     R2,#HIGH g_variable+02H
+0010D9 79C1              MOV     R1,#LOW g_variable+02H
+0010DB 7D01              MOV     R5,#01H
+0010DD 7C00              MOV     R4,#00H
+0010DF 7FF8              MOV     R7,#0F8H
+0010E1 7E3F              MOV     R6,#03FH
+0010E3 11F6              ACALL   _IIC_WriteBlock
+   76: 		Delay1ms(10);
+0010E5 D201              SETB    ?_GPIO_Setout?BIT
+0010E7 7FFF              MOV     R7,#0FFH
+0010E9 120784            LCALL   _GPIO_Setout
+   77: 		g_variable.update_eeprom_flag = 0;
+0010EC 7F0A              MOV     R7,#0AH
+0010EE 119C              ACALL   _Delay1ms
+   78: 	}
+0010F0 E4                CLR     A
+0010F1 904CBF            MOV     DPTR,#g_variable
+0010F4 F0                MOVX    @DPTR,A
+   79: }
+   80: 
+0010F5         ?C0015?BLUETOOTH:
+0010F5 22                RET     
+----- FUNCTION YC_update_eeprom_data (END) -------
 
 
------ FUNCTION YC_pairing_timerout_500ms (BEGIN) -----
- FILE: 'sys.c'
-  226: void YC_pairing_timerout_500ms()
-  227: {
-  228: //pairing timer
-  229: 	if (g_variable.pairing_g24_timeout != 0)
-000F6F 904CEE            MOV     DPTR,#g_variable+02FH
-000F72 E0                MOVX    A,@DPTR
-000F73 601A              JZ      ?C0047?SYS
-  230: 	{
-  231: 		g_variable.sleepTimer = 0;
-000F75 E4                CLR     A
-000F76 904CE3            MOV     DPTR,#g_variable+024H
-000F79 F0                MOVX    @DPTR,A
-000F7A A3                INC     DPTR
-000F7B F0                MOVX    @DPTR,A
-  232: 		g_variable.pairing_g24_timeout--;
-000F7C 904CEE            MOV     DPTR,#g_variable+02FH
-000F7F E0                MOVX    A,@DPTR
-000F80 14                DEC     A
-000F81 F0                MOVX    @DPTR,A
-  233: 		if (g_variable.pairing_g24_timeout == 0)
-000F82 E0                MOVX    A,@DPTR
-000F83 700A              JNZ     ?C0047?SYS
-  234: 		{
-  235: 			IPC_TxControlCmd(IPC_CMD_STOP_24G);
-000F85 7F22              MOV     R7,#022H
-000F87 11F6              ACALL   _IPC_TxControlCmd
-  236: 			Delay1ms(10);
-000F89 7F0A              MOV     R7,#0AH
-000F8B 517E              ACALL   _Delay1ms
-  237: 			System_long_sleep();
-000F8D 31F2              ACALL   System_long_sleep
-  238: 		}
-  239: 	}
-  240: }
-000F8F         ?C0047?SYS:
-000F8F 22                RET     
------ FUNCTION YC_pairing_timerout_500ms (END) -------
+----- FUNCTION _IIC_WriteBlock (BEGIN) -----
+0010F6 904E20            MOV     DPTR,#addr
+0010F9 EE                MOV     A,R6
+0010FA F0                MOVX    @DPTR,A
+0010FB A3                INC     DPTR
+0010FC EF                MOV     A,R7
+0010FD F0                MOVX    @DPTR,A
+0010FE A3                INC     DPTR
+0010FF EC                MOV     A,R4
+001100 F0                MOVX    @DPTR,A
+001101 A3                INC     DPTR
+001102 ED                MOV     A,R5
+001103 F0                MOVX    @DPTR,A
+001104 A3                INC     DPTR
+001105 EB                MOV     A,R3
+001106 F0                MOVX    @DPTR,A
+001107 A3                INC     DPTR
+001108 EA                MOV     A,R2
+001109 F0                MOVX    @DPTR,A
+00110A A3                INC     DPTR
+00110B E9                MOV     A,R1
+00110C F0                MOVX    @DPTR,A
+00110D         ?C0007?IIC:
+00110D 904E22            MOV     DPTR,#len
+001110 E0                MOVX    A,@DPTR
+001111 7002              JNZ     ?C0012?IIC
+001113 A3                INC     DPTR
+001114 E0                MOVX    A,@DPTR
+001115         ?C0012?IIC:
+001115 7002              JNZ     $ + 4H
+001117 21A2              AJMP    ?C0011?IIC
+001119 904E20            MOV     DPTR,#addr
+00111C E0                MOVX    A,@DPTR
+00111D FE                MOV     R6,A
+00111E A3                INC     DPTR
+00111F E0                MOVX    A,@DPTR
+001120 FF                MOV     R7,A
+001121 440F              ORL     A,#0FH
+001123 2401              ADD     A,#01H
+001125 FD                MOV     R5,A
+001126 E4                CLR     A
+001127 3E                ADDC    A,R6
+001128 FC                MOV     R4,A
+;---- Variable 'cris' assigned to Register 'R4/R5' ----
+001129 C3                CLR     C
+00112A ED                MOV     A,R5
+00112B 9F                SUBB    A,R7
+00112C FF                MOV     R7,A
+00112D EC                MOV     A,R4
+00112E 9E                SUBB    A,R6
+00112F FE                MOV     R6,A
+001130 904E27            MOV     DPTR,#curr_len
+001133 F0                MOVX    @DPTR,A
+001134 A3                INC     DPTR
+001135 EF                MOV     A,R7
+001136 F0                MOVX    @DPTR,A
+001137 904E22            MOV     DPTR,#len
+00113A E0                MOVX    A,@DPTR
+00113B FC                MOV     R4,A
+00113C A3                INC     DPTR
+00113D E0                MOVX    A,@DPTR
+00113E FD                MOV     R5,A
+00113F D3                SETB    C
+001140 9F                SUBB    A,R7
+001141 EC                MOV     A,R4
+001142 9E                SUBB    A,R6
+001143 400A              JC      ?C0009?IIC
+001145 904E27            MOV     DPTR,#curr_len
+001148 E0                MOVX    A,@DPTR
+001149 FE                MOV     R6,A
+00114A A3                INC     DPTR
+00114B E0                MOVX    A,@DPTR
+00114C FF                MOV     R7,A
+00114D 8004              SJMP    ?C0010?IIC
+00114F         ?C0009?IIC:
+00114F AE04              MOV     R6,AR4
+001151 AF05              MOV     R7,AR5
+001153         ?C0010?IIC:
+001153 904E27            MOV     DPTR,#curr_len
+001156 EE                MOV     A,R6
+001157 F0                MOVX    @DPTR,A
+001158 FC                MOV     R4,A
+001159 A3                INC     DPTR
+00115A EF                MOV     A,R7
+00115B F0                MOVX    @DPTR,A
+00115C FD                MOV     R5,A
+00115D C3                CLR     C
+00115E 904E23            MOV     DPTR,#len+01H
+001161 E0                MOVX    A,@DPTR
+001162 9D                SUBB    A,R5
+001163 F0                MOVX    @DPTR,A
+001164 904E22            MOV     DPTR,#len
+001167 E0                MOVX    A,@DPTR
+001168 9C                SUBB    A,R4
+001169 F0                MOVX    @DPTR,A
+00116A 904E20            MOV     DPTR,#addr
+00116D E0                MOVX    A,@DPTR
+00116E FE                MOV     R6,A
+00116F A3                INC     DPTR
+001170 E0                MOVX    A,@DPTR
+001171 FF                MOV     R7,A
+001172 904E24            MOV     DPTR,#pbuff
+001175 E0                MOVX    A,@DPTR
+001176 FB                MOV     R3,A
+001177 A3                INC     DPTR
+001178 E0                MOVX    A,@DPTR
+001179 FA                MOV     R2,A
+00117A A3                INC     DPTR
+00117B E0                MOVX    A,@DPTR
+00117C F9                MOV     R1,A
+00117D D14D              ACALL   _IIC_write
+00117F 7F0A              MOV     R7,#0AH
+001181 119C              ACALL   _Delay1ms
+001183 904E27            MOV     DPTR,#curr_len
+001186 E0                MOVX    A,@DPTR
+001187 FE                MOV     R6,A
+001188 A3                INC     DPTR
+001189 E0                MOVX    A,@DPTR
+00118A FF                MOV     R7,A
+00118B 904E25            MOV     DPTR,#pbuff+01H
+00118E EE                MOV     A,R6
+00118F 8FF0              MOV     B,R7
+001191 12040E            LCALL   ?C?IILDX
+001194 904E21            MOV     DPTR,#addr+01H
+001197 E0                MOVX    A,@DPTR
+001198 2F                ADD     A,R7
+001199 F0                MOVX    @DPTR,A
+00119A 904E20            MOV     DPTR,#addr
+00119D E0                MOVX    A,@DPTR
+00119E 3E                ADDC    A,R6
+00119F F0                MOVX    @DPTR,A
+0011A0 210D              AJMP    ?C0007?IIC
+0011A2         ?C0011?IIC:
+0011A2 22                RET     
+----- FUNCTION _IIC_WriteBlock (END) -------
 
 
------ FUNCTION kb_cb_Timer500ms (BEGIN) -----
+----- FUNCTION _kb_cb_event (BEGIN) -----
  FILE: 'sys.c'
-  290: static void kb_cb_Timer500ms()
-  291: {
-  292: 	LED_timer500ms();	
-  293: 
-000F90 12079D            LCALL   LED_timer500ms
-  294: 	g_variable.sleepTimer++;
-000F93 904CE4            MOV     DPTR,#g_variable+025H
-000F96 E0                MOVX    A,@DPTR
-000F97 04                INC     A
-000F98 F0                MOVX    @DPTR,A
-000F99 7006              JNZ     ?C0095?SYS
-000F9B 904CE3            MOV     DPTR,#g_variable+024H
-000F9E E0                MOVX    A,@DPTR
-000F9F 04                INC     A
-000FA0 F0                MOVX    @DPTR,A
-000FA1         ?C0095?SYS:
-  295: 
-  296: 	YC_adc_check_timer500ms();
-000FA1 1223E9            LCALL   YC_adc_check_timer500ms
-  297: 	YC_connect_timeout_500ms();
-000FA4 31B3              ACALL   YC_connect_timeout_500ms
-  298: 	kb_button_press_timer500ms();
-000FA6 31FB              ACALL   kb_button_press_timer500ms
-  299: 	YC_pairing_timerout_500ms();
-000FA8 80C5              SJMP    YC_pairing_timerout_500ms
-  300: 	
-  301: 	return;
------ FUNCTION kb_cb_Timer500ms (END) -------
-
-
------ FUNCTION YC_start_reconnect (BEGIN) -----
- FILE: 'bluetooth.c'
-   60: void YC_start_reconnect()
-   61: {
-   62: 	power_on_flag = 2;
-   63: 	YC_key_action_handle(KEY_START_24G);
-000FAA 904DE1            MOV     DPTR,#power_on_flag
-000FAD 7402              MOV     A,#02H
-000FAF F0                MOVX    @DPTR,A
-   64: }
-000FB0 7F08              MOV     R7,#08H
-000FB2 0133              AJMP    _YC_key_action_handle
------ FUNCTION YC_start_reconnect (END) -------
-
-
------ FUNCTION IPC_WaitLpm (BEGIN) -----
-000FB4 E4                CLR     A
-000FB5 900B7F            MOV     DPTR,#lpm_flag
-000FB8 F0                MOVX    @DPTR,A
-000FB9 900B7E            MOV     DPTR,#current_task
-000FBC F0                MOVX    @DPTR,A
-000FBD 7F01              MOV     R7,#01H
-000FBF 417E              AJMP    _Delay1ms
------ FUNCTION IPC_WaitLpm (END) -------
-
-
------ FUNCTION KS_Initialize (BEGIN) -----
- FILE: 'keyscan.c'
-  191: void KS_Initialize()
-  192: {
-  193: 	REG_GPIO_SELECT(0) = 0;
-  194: 	REG_GPIO_SELECT(1) = 0;
-000FC1 908080            MOV     DPTR,#08080H
-000FC4 E4                CLR     A
-000FC5 F0                MOVX    @DPTR,A
-  195: 	REG_GPIO_SELECT(2) = 0;
-000FC6 A3                INC     DPTR
-000FC7 F0                MOVX    @DPTR,A
-  196: 	ksRawInitialize();
-000FC8 A3                INC     DPTR
-000FC9 F0                MOVX    @DPTR,A
-  197: 	ksColInitialize();
-000FCA 1210D4            LCALL   ksRawInitialize
-;----                  JMP     ksColInitialize
-  198: }
------ FUNCTION KS_Initialize (END) -------
+   89: static void kb_cb_event(byte evt)
+   90: {
+0011A3 904E92            MOV     DPTR,#evt
+0011A6 EF                MOV     A,R7
+0011A7 F0                MOVX    @DPTR,A
+   91: 	switch (evt) 
+   92: 	{
+0011A8 24D0              ADD     A,#0D0H
+0011AA 6048              JZ      ?C0014?SYS
+0011AC 14                DEC     A
+0011AD 6047              JZ      ?C0016?SYS
+0011AF 14                DEC     A
+0011B0 7002              JNZ     $ + 4H
+0011B2 414E              AJMP    ?C0022?SYS
+0011B4 14                DEC     A
+0011B5 600A              JZ      ?C0013?SYS
+0011B7 24F7              ADD     A,#0F7H
+0011B9 603B              JZ      ?C0016?SYS
+0011BB 240D              ADD     A,#0DH
+0011BD 6002              JZ      $ + 4H
+0011BF 417D              AJMP    ?C0025?SYS
+   93: 	case IPC_EVT_HIBERNATE_WAKE:
+   94: //		System_Hardware_init();
+   95: //		System_Software_init();
+   96: //		break;	
+   97: 	case IPC_EVT_RESET:
+0011C1         ?C0013?SYS:
+   98: 		System_Hardware_init();
+0011C1 712E              ACALL   System_Hardware_init
+   99: 		System_Software_init();
+0011C3 120F5B            LCALL   System_Software_init
+  100: 		IIC_Read(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
+0011C6 7B01              MOV     R3,#01H
+0011C8 7A4C              MOV     R2,#HIGH m_24g_addr
+0011CA 7900              MOV     R1,#LOW m_24g_addr
+0011CC 7D04              MOV     R5,#04H
+0011CE 7C00              MOV     R4,#00H
+0011D0 7FF2              MOV     R7,#0F2H
+0011D2 7E3F              MOV     R6,#03FH
+0011D4 517E              ACALL   _IIC_Read
+  101: 		Delay1ms(10);
+0011D6 7F0A              MOV     R7,#0AH
+0011D8 119C              ACALL   _Delay1ms
+  102: 		IIC_Read(EEPROM_RECON_INFO_SYTEM_MODE,1 , (byte *)g_variable.system_mode);
+0011DA 904CC1            MOV     DPTR,#g_variable+02H
+0011DD E0                MOVX    A,@DPTR
+0011DE F9                MOV     R1,A
+0011DF 7A00              MOV     R2,#00H
+0011E1 7B00              MOV     R3,#00H
+0011E3 7D01              MOV     R5,#01H
+0011E5 7C00              MOV     R4,#00H
+0011E7 7FF8              MOV     R7,#0F8H
+0011E9 7E3F              MOV     R6,#03FH
+0011EB 517E              ACALL   _IIC_Read
+  103: 		Delay1ms(10);
+0011ED 7F0A              MOV     R7,#0AH
+0011EF 119C              ACALL   _Delay1ms
+  104: 		YC_start_reconnect();
+0011F1 020FE3            LJMP    YC_start_reconnect
+  105: 		break;
+  106: 	case IPC_EVT_WAKEUP:
+0011F4         ?C0014?SYS:
+  107: 		KS_Initialize();
+0011F4 6162              AJMP    KS_Initialize
+  108: 		break;
+  109: 
+  110: 		
+  111: // 2.4G event	
+  112: 	case IPC_EVT_24G_PAIRING_COMPLETE:
+  113: 	case IPC_EVT_24G_ATTEMPT_SUCCESS:
+0011F6         ?C0016?SYS:
+  114: 		g_variable.g24_currentState =  CHANGE_TO_24G_CONNECTED;
+0011F6 904CC5            MOV     DPTR,#g_variable+06H
+0011F9 7403              MOV     A,#03H
+0011FB F0                MOVX    @DPTR,A
+  115: 		g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
+0011FC E4                CLR     A
+0011FD A3                INC     DPTR
+0011FE F0                MOVX    @DPTR,A
+  116: 		YC_clear_reconnect_flag();
+0011FF 120FC5            LCALL   YC_clear_reconnect_flag
+  117: 		g_variable.pairing_g24_timeout = 0;
+001202 E4                CLR     A
+001203 904CEE            MOV     DPTR,#g_variable+02FH
+001206 F0                MOVX    @DPTR,A
+  118: 		g_variable.release_data = 0;
+001207 904CEB            MOV     DPTR,#g_variable+02CH
+00120A F0                MOVX    @DPTR,A
+  119: 		g_variable.last_device_num = 0xfe;
+00120B 904CC0            MOV     DPTR,#g_variable+01H
+00120E 74FE              MOV     A,#0FEH
+001210 F0                MOVX    @DPTR,A
+  120: 		g_variable.current_device_num = 0xfe;
+001211 904CC3            MOV     DPTR,#g_variable+04H
+001214 F0                MOVX    @DPTR,A
+  121: 
+  122: 		if(evt == IPC_EVT_24G_PAIRING_COMPLETE)
+001215 904E92            MOV     DPTR,#evt
+001218 E0                MOVX    A,@DPTR
+001219 6431              XRL     A,#031H
+00121B 7024              JNZ     ?C0017?SYS
+  123: 		{
+  124: 			g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
+00121D 904CE5            MOV     DPTR,#g_variable+026H
+001220 741E              MOV     A,#01EH
+001222 F0                MOVX    @DPTR,A
+  125: 			if(m_24g_paring_addr[0] != 0x0f || m_24g_paring_addr[1] != 0x0f ||
+001223 904BEB            MOV     DPTR,#m_24g_paring_addr
+001226 E0                MOVX    A,@DPTR
+001227 B40F10            CJNE    A,#0FH,?C0019?SYS
+00122A A3                INC     DPTR
+00122B E0                MOVX    A,@DPTR
+00122C B40F0B            CJNE    A,#0FH,?C0019?SYS
+00122F A3                INC     DPTR
+001230 E0                MOVX    A,@DPTR
+001231 B40F06            CJNE    A,#0FH,?C0019?SYS
+001234 A3                INC     DPTR
+001235 E0                MOVX    A,@DPTR
+001236 640F              XRL     A,#0FH
+001238 6043              JZ      ?C0025?SYS
+00123A         ?C0019?SYS:
+  126: 				m_24g_paring_addr[2] != 0x0f || m_24g_paring_addr[3] != 0x0f)
+  127: 				g_variable.update_eeprom_flag = 1;
+00123A 904CBF            MOV     DPTR,#g_variable
+00123D 7401              MOV     A,#01H
+00123F F0                MOVX    @DPTR,A
+  128: 		}
+001240 22                RET     
+001241         ?C0017?SYS:
+  129: 		else
+  130: 		{
+  131: 			if(!g_variable.powerOn_timer)
+001241 904CE5            MOV     DPTR,#g_variable+026H
+001244 E0                MOVX    A,@DPTR
+001245 7036              JNZ     ?C0025?SYS
+  132: 			GPIO_Setout(G24_LED_GPIO,LED_OFF);
+001247 C201              CLR     ?_GPIO_Setout?BIT
+001249 7F1E              MOV     R7,#01EH
+00124B 020784            LJMP    _GPIO_Setout
+  133: 		}
+  134: 		break;
+  135: 	
+  136: 	case IPC_EVT_24G_ATTEMPT_FAIL:	
+00124E         ?C0022?SYS:
+  137: 		g_variable.g24_currentState =  CHANGE_TO_24G_DISCONNECTED;
+00124E E4                CLR     A
+00124F 904CC5            MOV     DPTR,#g_variable+06H
+001252 F0                MOVX    @DPTR,A
+  138: 		g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
+001253 A3                INC     DPTR
+001254 F0                MOVX    @DPTR,A
+  139: 		g_variable.sleepTimer = 0;
+001255 904CE3            MOV     DPTR,#g_variable+024H
+001258 F0                MOVX    @DPTR,A
+001259 A3                INC     DPTR
+00125A F0                MOVX    @DPTR,A
+  140: 		g_variable.release_data = 1;
+00125B 904CEB            MOV     DPTR,#g_variable+02CH
+00125E 04                INC     A
+00125F F0                MOVX    @DPTR,A
+  141: 
+  142: 		if (g_variable.key_action != KEY_NONE)
+001260 904CED            MOV     DPTR,#g_variable+02EH
+001263 E0                MOVX    A,@DPTR
+001264 600B              JZ      ?C0023?SYS
+  143: 		{
+  144: 			YC_clear_reconnect_flag();
+001266 120FC5            LCALL   YC_clear_reconnect_flag
+  145: 			YC_key_action_handle(g_variable.key_action);
+001269 904CED            MOV     DPTR,#g_variable+02EH
+00126C E0                MOVX    A,@DPTR
+00126D FF                MOV     R7,A
+00126E 020FEB            LJMP    _YC_key_action_handle
+  146: 			break;
+  147: 		}
+001271         ?C0023?SYS:
+  148: 
+  149: 		if (g_variable.lockLpm == 1)
+001271 904CEC            MOV     DPTR,#g_variable+02DH
+001274 E0                MOVX    A,@DPTR
+001275 B40105            CJNE    A,#01H,?C0025?SYS
+  150: 		{
+  151: 			g_variable.lockLpm =0;
+001278 E4                CLR     A
+001279 F0                MOVX    @DPTR,A
+  152: 			System_long_sleep();
+00127A 1207F1            LCALL   System_long_sleep
+  153: 			break;
+  154: 		}
+  155: 		break;
+  156: 	}
+  157: }
+00127D         ?C0025?SYS:
+00127D 22                RET     
+----- FUNCTION _kb_cb_event (END) -------
 
 
------ FUNCTION ksColInitialize (BEGIN) -----
- FILE: 'keyscan.c'
-  183: static void ksColInitialize()
-  184: {
-  185: 	byte i = 0;
-  186: 	for (i=0; col[i]!=0; i++) {
-000FCD E4                CLR     A
-000FCE 904E90            MOV     DPTR,#i
-000FD1 F0                MOVX    @DPTR,A
-  187: 		GPIO_SetInput(col[i], 0);
-000FD2 F0                MOVX    @DPTR,A
-000FD3         ?C0060?KEYSCAN:
-000FD3 904E90            MOV     DPTR,#i
-000FD6 E0                MOVX    A,@DPTR
-000FD7 90060C            MOV     DPTR,#col
-000FDA 93                MOVC    A,@A+DPTR
-000FDB FF                MOV     R7,A
-000FDC 600D              JZ      ?C0063?KEYSCAN
-  188: 	}
-000FDE C205              CLR     ?_GPIO_SetInput?BIT
-000FE0 121044            LCALL   _GPIO_SetInput
-  189: }
-000FE3 904E90            MOV     DPTR,#i
-000FE6 E0                MOVX    A,@DPTR
-000FE7 04                INC     A
-000FE8 F0                MOVX    @DPTR,A
-000FE9 80E8              SJMP    ?C0060?KEYSCAN
-  190: 
-000FEB         ?C0063?KEYSCAN:
-000FEB 22                RET     
------ FUNCTION ksColInitialize (END) -------
+----- FUNCTION _IIC_Read (BEGIN) -----
+00127E 904E5C            MOV     DPTR,#len
+001281 EC                MOV     A,R4
+001282 F0                MOVX    @DPTR,A
+001283 A3                INC     DPTR
+001284 ED                MOV     A,R5
+001285 F0                MOVX    @DPTR,A
+001286 A3                INC     DPTR
+001287 EB                MOV     A,R3
+001288 F0                MOVX    @DPTR,A
+001289 A3                INC     DPTR
+00128A EA                MOV     A,R2
+00128B F0                MOVX    @DPTR,A
+00128C A3                INC     DPTR
+00128D E9                MOV     A,R1
+00128E F0                MOVX    @DPTR,A
+;---- Variable 'addr' assigned to Register 'R6/R7' ----
+;---- Variable 'mem_src' assigned to Register 'R6/R7' ----
+00128F 908098            MOV     DPTR,#08098H
+001292 7404              MOV     A,#04H
+001294 F0                MOVX    @DPTR,A
+001295 A3                INC     DPTR
+001296 E4                CLR     A
+001297 F0                MOVX    @DPTR,A
+001298 900CAF            MOV     DPTR,#YC_IICDTbuf
+00129B 74A0              MOV     A,#0A0H
+00129D F0                MOVX    @DPTR,A
+00129E A3                INC     DPTR
+00129F EE                MOV     A,R6
+0012A0 F0                MOVX    @DPTR,A
+0012A1 A3                INC     DPTR
+0012A2 EF                MOV     A,R7
+0012A3 F0                MOVX    @DPTR,A
+0012A4 900CB2            MOV     DPTR,#YC_IICDTbuf+03H
+0012A7 74A1              MOV     A,#0A1H
+0012A9 F0                MOVX    @DPTR,A
+0012AA 7A0C              MOV     R2,#HIGH YC_IICDTbuf
+0012AC 79AF              MOV     R1,#LOW YC_IICDTbuf
+0012AE 7E0C              MOV     R6,#HIGH YC_IICDTbuf
+0012B0 7FAF              MOV     R7,#LOW YC_IICDTbuf
+0012B2 74AF              MOV     A,#LOW YC_IICDTbuf
+0012B4 FC                MOV     R4,A
+0012B5 740C              MOV     A,#HIGH YC_IICDTbuf
+0012B7 FF                MOV     R7,A
+0012B8 EC                MOV     A,R4
+0012B9 FE                MOV     R6,A
+0012BA EF                MOV     A,R7
+0012BB 90809A            MOV     DPTR,#0809AH
+0012BE EE                MOV     A,R6
+0012BF F0                MOVX    @DPTR,A
+0012C0 A3                INC     DPTR
+0012C1 EF                MOV     A,R7
+0012C2 F0                MOVX    @DPTR,A
+0012C3 904E5C            MOV     DPTR,#len
+0012C6 E0                MOVX    A,@DPTR
+0012C7 FC                MOV     R4,A
+0012C8 A3                INC     DPTR
+0012C9 E0                MOVX    A,@DPTR
+0012CA FA                MOV     R2,A
+0012CB EC                MOV     A,R4
+0012CC FF                MOV     R7,A
+0012CD EA                MOV     A,R2
+0012CE FE                MOV     R6,A
+0012CF EF                MOV     A,R7
+0012D0 90809E            MOV     DPTR,#0809EH
+0012D3 EE                MOV     A,R6
+0012D4 F0                MOVX    @DPTR,A
+0012D5 A3                INC     DPTR
+0012D6 EF                MOV     A,R7
+0012D7 F0                MOVX    @DPTR,A
+0012D8 7A0B              MOV     R2,#HIGH IIC_TempBuff
+0012DA 7983              MOV     R1,#LOW IIC_TempBuff
+0012DC 7E0B              MOV     R6,#HIGH IIC_TempBuff
+0012DE 7F83              MOV     R7,#LOW IIC_TempBuff
+0012E0 7483              MOV     A,#LOW IIC_TempBuff
+0012E2 FC                MOV     R4,A
+0012E3 740B              MOV     A,#HIGH IIC_TempBuff
+0012E5 FF                MOV     R7,A
+0012E6 EC                MOV     A,R4
+0012E7 FE                MOV     R6,A
+0012E8 EF                MOV     A,R7
+0012E9 90809C            MOV     DPTR,#0809CH
+0012EC EE                MOV     A,R6
+0012ED F0                MOVX    @DPTR,A
+0012EE A3                INC     DPTR
+0012EF EF                MOV     A,R7
+0012F0 F0                MOVX    @DPTR,A
+0012F1 908090            MOV     DPTR,#08090H
+0012F4 7402              MOV     A,#02H
+0012F6 F0                MOVX    @DPTR,A
+0012F7 90809C            MOV     DPTR,#0809CH
+0012FA A3                INC     DPTR
+0012FB E0                MOVX    A,@DPTR
+0012FC 20E707            JB      ACC.7,?C0004?IIC
+0012FF 908090            MOV     DPTR,#08090H
+001302 E0                MOVX    A,@DPTR
+001303 4401              ORL     A,#01H
+001305 F0                MOVX    @DPTR,A
+001306         ?C0004?IIC:
+001306 908006            MOV     DPTR,#08006H
+001309 E0                MOVX    A,@DPTR
+00130A 4404              ORL     A,#04H
+00130C F0                MOVX    @DPTR,A
+00130D D1E6              ACALL   IIcWaitDone
+00130F 904E5E            MOV     DPTR,#pbuff
+001312 E0                MOVX    A,@DPTR
+001313 A3                INC     DPTR
+001314 E0                MOVX    A,@DPTR
+001315 FA                MOV     R2,A
+001316 A3                INC     DPTR
+001317 E0                MOVX    A,@DPTR
+001318 AE02              MOV     R6,AR2
+00131A FF                MOV     R7,A
+00131B 7B01              MOV     R3,#01H
+00131D 7A0B              MOV     R2,#HIGH IIC_TempBuff
+00131F 7983              MOV     R1,#LOW IIC_TempBuff
+001321 904E5C            MOV     DPTR,#len
+001324 E0                MOVX    A,@DPTR
+001325 A3                INC     DPTR
+001326 E0                MOVX    A,@DPTR
+001327 904E51            MOV     DPTR,#?_xmemcpy?BYTE+05H
+00132A F0                MOVX    @DPTR,A
+00132B 0208DA            LJMP    _xmemcpy
+----- FUNCTION _IIC_Read (END) -------
 
 
 ----- FUNCTION System_Hardware_init (BEGIN) -----
@@ -2160,7 +2871,7 @@
    42: {
    43: 	KS_Initialize();
    44: 	LED_all_shutdown();
-000FEC F1C1              ACALL   KS_Initialize
+00132E 7162              ACALL   KS_Initialize
 ;----                  JMP     LED_all_shutdown
    45: }
 ----- FUNCTION System_Hardware_init (END) -------
@@ -2172,1739 +2883,1027 @@
     5: {
     6: 	GPIO_SetOutput(NUM_LOCK_LED_GPIO,LED_OFF);
     7: 	GPIO_SetOutput(CAPS_LED_GPIO,LED_OFF);
-000FEE C206              CLR     ?_GPIO_SetOutput?BIT
-000FF0 7F10              MOV     R7,#010H
-000FF2 121006            LCALL   _GPIO_SetOutput
+001330 C206              CLR     ?_GPIO_SetOutput?BIT
+001332 7FFF              MOV     R7,#0FFH
+001334 7146              ACALL   _GPIO_SetOutput
     8: 	GPIO_SetOutput(LOWPOWER_LED_GPIO,LED_OFF);
-000FF5 C206              CLR     ?_GPIO_SetOutput?BIT
-000FF7 7F0F              MOV     R7,#0FH
-000FF9 121006            LCALL   _GPIO_SetOutput
+001336 C206              CLR     ?_GPIO_SetOutput?BIT
+001338 7FFF              MOV     R7,#0FFH
+00133A 7146              ACALL   _GPIO_SetOutput
     9: 	GPIO_SetOutput(G24_LED_GPIO,LED_OFF);
-000FFC C206              CLR     ?_GPIO_SetOutput?BIT
-000FFE 7F1D              MOV     R7,#01DH
-001000 1106              ACALL   _GPIO_SetOutput
+00133C C206              CLR     ?_GPIO_SetOutput?BIT
+00133E 7F1E              MOV     R7,#01EH
+001340 7146              ACALL   _GPIO_SetOutput
    10: }
-001002 C206              CLR     ?_GPIO_SetOutput?BIT
-001004 7F1D              MOV     R7,#01DH
+001342 C206              CLR     ?_GPIO_SetOutput?BIT
+001344 7F1E              MOV     R7,#01EH
 ;----                  JMP     _GPIO_SetOutput
 ----- FUNCTION LED_all_shutdown (END) -------
 
 
 ----- FUNCTION _GPIO_SetOutput (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R4' ----
-001006 AC07              MOV     R4,AR7
-001008 EC                MOV     A,R4
-001009 F4                CPL     A
-00100A 6015              JZ      ?C0017?GPIO
-00100C         ?C0016?GPIO:
-00100C AF04              MOV     R7,AR4
-00100E D204              SETB    ?_GPIO_Setoe?BIT
-001010 1133              ACALL   _GPIO_Setoe
-001012 AF04              MOV     R7,AR4
-001014 A206              MOV     C,st
-001016 9201              MOV     ?_GPIO_Setout?BIT,C
-001018 12078B            LCALL   _GPIO_Setout
-00101B AF04              MOV     R7,AR4
-00101D C202              CLR     ?_GPIO_SetPu?BIT
-00101F 1122              ACALL   _GPIO_SetPu
-001021         ?C0017?GPIO:
-001021 22                RET     
+001346 AC07              MOV     R4,AR7
+001348 EC                MOV     A,R4
+001349 F4                CPL     A
+00134A 6015              JZ      ?C0017?GPIO
+00134C         ?C0016?GPIO:
+00134C AF04              MOV     R7,AR4
+00134E D204              SETB    ?_GPIO_Setoe?BIT
+001350 B1AD              ACALL   _GPIO_Setoe
+001352 AF04              MOV     R7,AR4
+001354 A206              MOV     C,st
+001356 9201              MOV     ?_GPIO_Setout?BIT,C
+001358 120784            LCALL   _GPIO_Setout
+00135B AF04              MOV     R7,AR4
+00135D C202              CLR     ?_GPIO_SetPu?BIT
+00135F B17E              ACALL   _GPIO_SetPu
+001361         ?C0017?GPIO:
+001361 22                RET     
 ----- FUNCTION _GPIO_SetOutput (END) -------
 
 
------ FUNCTION _GPIO_SetPu (BEGIN) -----
-;---- Variable 'gpio_num' assigned to Register 'R7' ----
-001022 EF                MOV     A,R7
-001023 F4                CPL     A
-001024 600C              JZ      ?C0009?GPIO
-001026         ?C0008?GPIO:
-001026 7B01              MOV     R3,#01H
-001028 7A80              MOV     R2,#080H
-00102A 7978              MOV     R1,#078H
-00102C A202              MOV     C,bit_val
-00102E 9200              MOV     ?_gpioSetBit?BIT,C
-001030 1173              ACALL   _gpioSetBit
-001032         ?C0009?GPIO:
-001032 22                RET     
------ FUNCTION _GPIO_SetPu (END) -------
-
-
------ FUNCTION _GPIO_Setoe (BEGIN) -----
-;---- Variable 'gpio_num' assigned to Register 'R7' ----
-001033 EF                MOV     A,R7
-001034 F4                CPL     A
-001035 600C              JZ      ?C0013?GPIO
-001037         ?C0012?GPIO:
-001037 7B01              MOV     R3,#01H
-001039 7A80              MOV     R2,#080H
-00103B 7970              MOV     R1,#070H
-00103D A204              MOV     C,bit_val
-00103F 9200              MOV     ?_gpioSetBit?BIT,C
-001041 1173              ACALL   _gpioSetBit
-001043         ?C0013?GPIO:
-001043 22                RET     
------ FUNCTION _GPIO_Setoe (END) -------
-
-
------ FUNCTION _GPIO_SetInput (BEGIN) -----
-;---- Variable 'gpio_num' assigned to Register 'R4' ----
-001044 AC07              MOV     R4,AR7
-001046 EC                MOV     A,R4
-001047 F4                CPL     A
-001048 6017              JZ      ?C0015?GPIO
-00104A         ?C0014?GPIO:
-00104A AF04              MOV     R7,AR4
-00104C A205              MOV     C,st
-00104E 9203              MOV     ?_GPIO_SetPd?BIT,C
-001050 1162              ACALL   _GPIO_SetPd
-001052 AF04              MOV     R7,AR4
-001054 A205              MOV     C,st
-001056 B3                CPL     C
-001057 9202              MOV     ?_GPIO_SetPu?BIT,C
-001059 1122              ACALL   _GPIO_SetPu
-00105B AF04              MOV     R7,AR4
-00105D C204              CLR     ?_GPIO_Setoe?BIT
-00105F 1133              ACALL   _GPIO_Setoe
-001061         ?C0015?GPIO:
-001061 22                RET     
------ FUNCTION _GPIO_SetInput (END) -------
-
-
------ FUNCTION _GPIO_SetPd (BEGIN) -----
-;---- Variable 'gpio_num' assigned to Register 'R7' ----
-001062 EF                MOV     A,R7
-001063 F4                CPL     A
-001064 600C              JZ      ?C0011?GPIO
-001066         ?C0010?GPIO:
-001066 7B01              MOV     R3,#01H
-001068 7A80              MOV     R2,#080H
-00106A 797C              MOV     R1,#07CH
-00106C A203              MOV     C,bit_val
-00106E 9200              MOV     ?_gpioSetBit?BIT,C
-001070 1173              ACALL   _gpioSetBit
-001072         ?C0011?GPIO:
-001072 22                RET     
------ FUNCTION _GPIO_SetPd (END) -------
-
-
------ FUNCTION _gpioSetBit (BEGIN) -----
-001073 904E84            MOV     DPTR,#reg_base
-001076 EB                MOV     A,R3
-001077 F0                MOVX    @DPTR,A
-001078 A3                INC     DPTR
-001079 EA                MOV     A,R2
-00107A F0                MOVX    @DPTR,A
-00107B A3                INC     DPTR
-00107C E9                MOV     A,R1
-00107D F0                MOVX    @DPTR,A
-;---- Variable 'gpio_num' assigned to Register 'R7' ----
-;---- Variable 'queue' assigned to Register 'R6' ----
-00107E E4                CLR     A
-00107F FE                MOV     R6,A
-;---- Variable 'group' assigned to Register 'R5' ----
-001080 FD                MOV     R5,A
-001081 EF                MOV     A,R7
-001082 5407              ANL     A,#07H
-001084 FE                MOV     R6,A
-001085 EF                MOV     A,R7
-001086 13                RRC     A
-001087 13                RRC     A
-001088 13                RRC     A
-001089 5403              ANL     A,#03H
-00108B FD                MOV     R5,A
-00108C 300022            JNB     bit_val,?C0001?GPIO
-00108F 904E84            MOV     DPTR,#reg_base
-001092 E0                MOVX    A,@DPTR
-001093 FB                MOV     R3,A
-001094 A3                INC     DPTR
-001095 E0                MOVX    A,@DPTR
-001096 FA                MOV     R2,A
-001097 A3                INC     DPTR
-001098 E0                MOVX    A,@DPTR
-001099 2D                ADD     A,R5
-00109A F9                MOV     R1,A
-00109B E4                CLR     A
-00109C 3A                ADDC    A,R2
-00109D FA                MOV     R2,A
-00109E 1203B6            LCALL   ?C?CLDPTR
-0010A1 FF                MOV     R7,A
-0010A2 7401              MOV     A,#01H
-0010A4 A806              MOV     R0,AR6
-0010A6 08                INC     R0
-0010A7 8002              SJMP    ?C0031?GPIO
-0010A9         ?C0030?GPIO:
-0010A9 C3                CLR     C
-0010AA 33                RLC     A
-0010AB         ?C0031?GPIO:
-0010AB D8FC              DJNZ    R0,?C0030?GPIO
-0010AD 4F                ORL     A,R7
-0010AE 0203FC            LJMP    ?C?CSTPTR
-0010B1         ?C0001?GPIO:
-0010B1 904E84            MOV     DPTR,#reg_base
-0010B4 E0                MOVX    A,@DPTR
-0010B5 FB                MOV     R3,A
-0010B6 A3                INC     DPTR
-0010B7 E0                MOVX    A,@DPTR
-0010B8 FA                MOV     R2,A
-0010B9 A3                INC     DPTR
-0010BA E0                MOVX    A,@DPTR
-0010BB 2D                ADD     A,R5
-0010BC F9                MOV     R1,A
-0010BD E4                CLR     A
-0010BE 3A                ADDC    A,R2
-0010BF FA                MOV     R2,A
-0010C0 1203B6            LCALL   ?C?CLDPTR
-0010C3 FF                MOV     R7,A
-0010C4 7401              MOV     A,#01H
-0010C6 A806              MOV     R0,AR6
-0010C8 08                INC     R0
-0010C9 8002              SJMP    ?C0033?GPIO
-0010CB         ?C0032?GPIO:
-0010CB C3                CLR     C
-0010CC 33                RLC     A
-0010CD         ?C0033?GPIO:
-0010CD D8FC              DJNZ    R0,?C0032?GPIO
-0010CF F4                CPL     A
-0010D0 5F                ANL     A,R7
-0010D1 0203FC            LJMP    ?C?CSTPTR
------ FUNCTION _gpioSetBit (END) -------
-
-
------ FUNCTION ksRawInitialize (BEGIN) -----
+----- FUNCTION KS_Initialize (BEGIN) -----
  FILE: 'keyscan.c'
-  174: static void ksRawInitialize()
-  175: {
-  176: 	byte i = 0;
-  177: 	
-0010D4 E4                CLR     A
-0010D5 904E8F            MOV     DPTR,#i
-0010D8 F0                MOVX    @DPTR,A
-  178: 	for (i=0; i<8; i++) {
-0010D9 F0                MOVX    @DPTR,A
-0010DA         ?C0056?KEYSCAN:
-0010DA 904E8F            MOV     DPTR,#i
-0010DD E0                MOVX    A,@DPTR
-0010DE FF                MOV     R7,A
-0010DF C3                CLR     C
-0010E0 9408              SUBB    A,#08H
-0010E2 500C              JNC     ?C0059?KEYSCAN
-  179: 		GPIO_SetInput(i, 0);
-0010E4 C205              CLR     ?_GPIO_SetInput?BIT
-0010E6 1144              ACALL   _GPIO_SetInput
-  180: 	}
-0010E8 904E8F            MOV     DPTR,#i
-0010EB E0                MOVX    A,@DPTR
-0010EC 04                INC     A
-0010ED F0                MOVX    @DPTR,A
-0010EE 80EA              SJMP    ?C0056?KEYSCAN
-  181: }
-0010F0         ?C0059?KEYSCAN:
-0010F0 22                RET     
------ FUNCTION ksRawInitialize (END) -------
-
-
------ FUNCTION YC_update_eeprom_data (BEGIN) -----
- FILE: 'bluetooth.c'
-   67: void YC_update_eeprom_data()
-   68: {
-   69: 	if (g_variable.update_eeprom_flag)				//bt3.0  bt4.2 record information save
-   70: 	{
-0010F1 904CBF            MOV     DPTR,#g_variable
-0010F4 E0                MOVX    A,@DPTR
-0010F5 603D              JZ      ?C0015?BLUETOOTH
-   71: 		Delay1ms(200);
-   72: 		GPIO_Setout(EEPROM_WP_GPIO,0);
-0010F7 7FC8              MOV     R7,#0C8H
-0010F9 120A7E            LCALL   _Delay1ms
-   73: 		IIC_WriteBlock(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
-0010FC C201              CLR     ?_GPIO_Setout?BIT
-0010FE 7FFF              MOV     R7,#0FFH
-001100 12078B            LCALL   _GPIO_Setout
-   74: 		IIC_WriteBlock(EEPROM_RECON_INFO_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
-001103 7B01              MOV     R3,#01H
-001105 7A4C              MOV     R2,#HIGH m_24g_addr
-001107 7900              MOV     R1,#LOW m_24g_addr
-001109 7D04              MOV     R5,#04H
-00110B 7C00              MOV     R4,#00H
-00110D 7FF2              MOV     R7,#0F2H
-00110F 7E3F              MOV     R6,#03FH
-001111 3135              ACALL   _IIC_WriteBlock
-   75: 		GPIO_Setout(EEPROM_WP_GPIO,1);
-001113 7B01              MOV     R3,#01H
-001115 7A4C              MOV     R2,#HIGH g_variable+02H
-001117 79C1              MOV     R1,#LOW g_variable+02H
-001119 7D01              MOV     R5,#01H
-00111B 7C00              MOV     R4,#00H
-00111D 7FF8              MOV     R7,#0F8H
-00111F 7E3F              MOV     R6,#03FH
-001121 3135              ACALL   _IIC_WriteBlock
-   76: 		Delay1ms(10);
-001123 D201              SETB    ?_GPIO_Setout?BIT
-001125 7FFF              MOV     R7,#0FFH
-001127 12078B            LCALL   _GPIO_Setout
-   77: 		g_variable.update_eeprom_flag = 0;
-00112A 7F0A              MOV     R7,#0AH
-00112C 120A7E            LCALL   _Delay1ms
-   78: 	}
-00112F E4                CLR     A
-001130 904CBF            MOV     DPTR,#g_variable
-001133 F0                MOVX    @DPTR,A
-   79: }
-   80: 
-001134         ?C0015?BLUETOOTH:
-001134 22                RET     
------ FUNCTION YC_update_eeprom_data (END) -------
+  206: void KS_Initialize()
+  207: {
+  208: 	REG_GPIO_SELECT(0) = 0;
+  209: 	REG_GPIO_SELECT(1) = 0;
+001362 908080            MOV     DPTR,#08080H
+001365 E4                CLR     A
+001366 F0                MOVX    @DPTR,A
+  210: 	REG_GPIO_SELECT(2) = 0;
+001367 A3                INC     DPTR
+001368 F0                MOVX    @DPTR,A
+  211: 	ksRawInitialize();
+001369 A3                INC     DPTR
+00136A F0                MOVX    @DPTR,A
+  212: 	ksColInitialize();
+00136B D130              ACALL   ksRawInitialize
+;----                  JMP     ksColInitialize
+  213: }
+----- FUNCTION KS_Initialize (END) -------
 
 
------ FUNCTION _IIC_WriteBlock (BEGIN) -----
-001135 904E20            MOV     DPTR,#addr
-001138 EE                MOV     A,R6
-001139 F0                MOVX    @DPTR,A
-00113A A3                INC     DPTR
-00113B EF                MOV     A,R7
-00113C F0                MOVX    @DPTR,A
-00113D A3                INC     DPTR
-00113E EC                MOV     A,R4
-00113F F0                MOVX    @DPTR,A
-001140 A3                INC     DPTR
-001141 ED                MOV     A,R5
-001142 F0                MOVX    @DPTR,A
-001143 A3                INC     DPTR
-001144 EB                MOV     A,R3
-001145 F0                MOVX    @DPTR,A
-001146 A3                INC     DPTR
-001147 EA                MOV     A,R2
-001148 F0                MOVX    @DPTR,A
-001149 A3                INC     DPTR
-00114A E9                MOV     A,R1
-00114B F0                MOVX    @DPTR,A
-00114C         ?C0007?IIC:
-00114C 904E22            MOV     DPTR,#len
-00114F E0                MOVX    A,@DPTR
-001150 7002              JNZ     ?C0012?IIC
-001152 A3                INC     DPTR
-001153 E0                MOVX    A,@DPTR
-001154         ?C0012?IIC:
-001154 7002              JNZ     $ + 4H
-001156 21E2              AJMP    ?C0011?IIC
-001158 904E20            MOV     DPTR,#addr
-00115B E0                MOVX    A,@DPTR
-00115C FE                MOV     R6,A
-00115D A3                INC     DPTR
-00115E E0                MOVX    A,@DPTR
-00115F FF                MOV     R7,A
-001160 440F              ORL     A,#0FH
-001162 2401              ADD     A,#01H
-001164 FD                MOV     R5,A
-001165 E4                CLR     A
-001166 3E                ADDC    A,R6
-001167 FC                MOV     R4,A
-;---- Variable 'cris' assigned to Register 'R4/R5' ----
-001168 C3                CLR     C
-001169 ED                MOV     A,R5
-00116A 9F                SUBB    A,R7
-00116B FF                MOV     R7,A
-00116C EC                MOV     A,R4
-00116D 9E                SUBB    A,R6
-00116E FE                MOV     R6,A
-00116F 904E27            MOV     DPTR,#curr_len
-001172 F0                MOVX    @DPTR,A
-001173 A3                INC     DPTR
-001174 EF                MOV     A,R7
-001175 F0                MOVX    @DPTR,A
-001176 904E22            MOV     DPTR,#len
-001179 E0                MOVX    A,@DPTR
-00117A FC                MOV     R4,A
-00117B A3                INC     DPTR
-00117C E0                MOVX    A,@DPTR
-00117D FD                MOV     R5,A
-00117E D3                SETB    C
-00117F 9F                SUBB    A,R7
-001180 EC                MOV     A,R4
-001181 9E                SUBB    A,R6
-001182 400A              JC      ?C0009?IIC
-001184 904E27            MOV     DPTR,#curr_len
-001187 E0                MOVX    A,@DPTR
-001188 FE                MOV     R6,A
-001189 A3                INC     DPTR
-00118A E0                MOVX    A,@DPTR
-00118B FF                MOV     R7,A
-00118C 8004              SJMP    ?C0010?IIC
-00118E         ?C0009?IIC:
-00118E AE04              MOV     R6,AR4
-001190 AF05              MOV     R7,AR5
-001192         ?C0010?IIC:
-001192 904E27            MOV     DPTR,#curr_len
-001195 EE                MOV     A,R6
-001196 F0                MOVX    @DPTR,A
-001197 FC                MOV     R4,A
-001198 A3                INC     DPTR
-001199 EF                MOV     A,R7
-00119A F0                MOVX    @DPTR,A
-00119B FD                MOV     R5,A
-00119C C3                CLR     C
-00119D 904E23            MOV     DPTR,#len+01H
-0011A0 E0                MOVX    A,@DPTR
-0011A1 9D                SUBB    A,R5
-0011A2 F0                MOVX    @DPTR,A
-0011A3 904E22            MOV     DPTR,#len
-0011A6 E0                MOVX    A,@DPTR
-0011A7 9C                SUBB    A,R4
-0011A8 F0                MOVX    @DPTR,A
-0011A9 904E20            MOV     DPTR,#addr
-0011AC E0                MOVX    A,@DPTR
-0011AD FE                MOV     R6,A
-0011AE A3                INC     DPTR
-0011AF E0                MOVX    A,@DPTR
-0011B0 FF                MOV     R7,A
-0011B1 904E24            MOV     DPTR,#pbuff
-0011B4 E0                MOVX    A,@DPTR
-0011B5 FB                MOV     R3,A
-0011B6 A3                INC     DPTR
-0011B7 E0                MOVX    A,@DPTR
-0011B8 FA                MOV     R2,A
-0011B9 A3                INC     DPTR
-0011BA E0                MOVX    A,@DPTR
-0011BB F9                MOV     R1,A
-0011BC D142              ACALL   _IIC_write
-0011BE 7F0A              MOV     R7,#0AH
-0011C0 120A7E            LCALL   _Delay1ms
-0011C3 904E27            MOV     DPTR,#curr_len
-0011C6 E0                MOVX    A,@DPTR
-0011C7 FE                MOV     R6,A
-0011C8 A3                INC     DPTR
-0011C9 E0                MOVX    A,@DPTR
-0011CA FF                MOV     R7,A
-0011CB 904E25            MOV     DPTR,#pbuff+01H
-0011CE EE                MOV     A,R6
-0011CF 8FF0              MOV     B,R7
-0011D1 12040E            LCALL   ?C?IILDX
-0011D4 904E21            MOV     DPTR,#addr+01H
-0011D7 E0                MOVX    A,@DPTR
-0011D8 2F                ADD     A,R7
-0011D9 F0                MOVX    @DPTR,A
-0011DA 904E20            MOV     DPTR,#addr
-0011DD E0                MOVX    A,@DPTR
-0011DE 3E                ADDC    A,R6
-0011DF F0                MOVX    @DPTR,A
-0011E0 214C              AJMP    ?C0007?IIC
-0011E2         ?C0011?IIC:
-0011E2 22                RET     
------ FUNCTION _IIC_WriteBlock (END) -------
+----- FUNCTION ksColInitialize (BEGIN) -----
+ FILE: 'keyscan.c'
+  198: static void ksColInitialize()
+  199: {
+  200: 	byte i = 0;
+  201: 	for (i=0; col[i]!=0; i++) {
+00136D E4                CLR     A
+00136E 904E90            MOV     DPTR,#i
+001371 F0                MOVX    @DPTR,A
+  202: 		GPIO_SetInput(col[i], 0);
+001372 F0                MOVX    @DPTR,A
+001373         ?C0032?KEYSCAN:
+001373 904E90            MOV     DPTR,#i
+001376 E0                MOVX    A,@DPTR
+001377 90060C            MOV     DPTR,#col
+00137A 93                MOVC    A,@A+DPTR
+00137B FF                MOV     R7,A
+00137C 600C              JZ      ?C0035?KEYSCAN
+  203: 	}
+00137E C205              CLR     ?_GPIO_SetInput?BIT
+001380 B18F              ACALL   _GPIO_SetInput
+  204: }
+001382 904E90            MOV     DPTR,#i
+001385 E0                MOVX    A,@DPTR
+001386 04                INC     A
+001387 F0                MOVX    @DPTR,A
+001388 80E9              SJMP    ?C0032?KEYSCAN
+  205: 
+00138A         ?C0035?KEYSCAN:
+00138A 22                RET     
+----- FUNCTION ksColInitialize (END) -------
 
 
 ----- FUNCTION YC_System_Main (BEGIN) -----
  FILE: 'sys.c'
-  385: void YC_System_Main(void)
-  386: {
-  387: 	kb_cb_init();
-  388: 	while(1) {
-0011E3 9199              ACALL   kb_cb_init
-0011E5         ?C0081?SYS:
-  389: 		IPC_DealSingleStep();
-  390: 		kb_need_keyscan();
-0011E5 D1E3              ACALL   IPC_DealSingleStep
-  391: 		YC_update_eeprom_data();
-0011E7 717F              ACALL   kb_need_keyscan
-  392: 		LED_handle();
-0011E9 11F1              ACALL   YC_update_eeprom_data
-  393: 		
-0011EB 1206CF            LCALL   LED_handle
-  394: 		switch (current_task) {
-0011EE 900B7E            MOV     DPTR,#current_task
-0011F1 E0                MOVX    A,@DPTR
-0011F2 14                DEC     A
-0011F3 600E              JZ      ?C0087?SYS
-0011F5 24FE              ADD     A,#0FEH
-0011F7 70EC              JNZ     ?C0081?SYS
-  395: 		case FIX_ENTER_HIBERNATE:
-0011F9         ?C0084?SYS:
-  396: 			KS_Unistall();
-0011F9 5135              ACALL   KS_Unistall
-  397: 			//GPIO_SetWakeupByCurrentState(BT_BUTTON_GPIO);
-  398: 			LED_all_shutdown();
-0011FB 120FEE            LCALL   LED_all_shutdown
-  399: 			IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
-0011FE 120FB4            LCALL   IPC_WaitLpm
-001201         ?C0085?SYS:
-  400: 			while(1);
-001201 80FE              SJMP    ?C0085?SYS
-  401: 			break;
-  402: 			
-  403: 		case FIX_ENTER_LPM:
-001203         ?C0087?SYS:
-  404: 			if (g_variable.delay_enter_lpm_timer ||g_variable.lockLpm ||g_variable.powerOn_timer ||
-001203 904CEA            MOV     DPTR,#g_variable+02BH
-001206 E0                MOVX    A,@DPTR
-001207 701E              JNZ     ?C0089?SYS
-001209 904CEC            MOV     DPTR,#g_variable+02DH
-00120C E0                MOVX    A,@DPTR
-00120D 7018              JNZ     ?C0089?SYS
-00120F 904CE5            MOV     DPTR,#g_variable+026H
-001212 E0                MOVX    A,@DPTR
-001213 7012              JNZ     ?C0089?SYS
-001215 904CE7            MOV     DPTR,#g_variable+028H
-001218 E0                MOVX    A,@DPTR
-001219 700C              JNZ     ?C0089?SYS
-00121B 904CE6            MOV     DPTR,#g_variable+027H
-00121E E0                MOVX    A,@DPTR
-00121F 7006              JNZ     ?C0089?SYS
-001221 904CE8            MOV     DPTR,#g_variable+029H
-001224 E0                MOVX    A,@DPTR
-001225 6004              JZ      ?C0088?SYS
-001227         ?C0089?SYS:
-  405: 			g_variable.sys_capslockled_on_timer ||g_variable.sys_numlockled_on_timer || g_variable.sys_scrolllockled_on_ti
->> mer) 
-  406: 			{
-  407: 				IPC_AbandonLpm();
-001227 F1B3              ACALL   IPC_AbandonLpm
-  408: 				break;
-001229 80BA              SJMP    ?C0081?SYS
-  409: 			}
-00122B         ?C0088?SYS:
-  410: 			else
-  411: 			{
-  412: 				KS_Unistall();
-00122B 5135              ACALL   KS_Unistall
-  413: 				IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
-00122D 120FB4            LCALL   IPC_WaitLpm
-  414: 				break;
-001230 80B3              SJMP    ?C0081?SYS
-  415: 			}
-  416: 		}
-  417: 	}
-001232 80B1              SJMP    ?C0081?SYS
-001234 22                RET     
+  386: void YC_System_Main(void)
+  387: {
+  388: 	kb_cb_init();
+  389: 	while(1) {
+00138B B126              ACALL   kb_cb_init
+00138D         ?C0081?SYS:
+  390: 		IPC_DealSingleStep();
+  391: 		kb_need_keyscan();
+00138D D1EE              ACALL   IPC_DealSingleStep
+  392: 		YC_update_eeprom_data();
+00138F 120E47            LCALL   kb_need_keyscan
+  393: 		LED_handle();
+001392 11B4              ACALL   YC_update_eeprom_data
+  394: 		
+001394 1206CF            LCALL   LED_handle
+  395: 		switch (current_task) {
+001397 900B7E            MOV     DPTR,#current_task
+00139A E0                MOVX    A,@DPTR
+00139B 14                DEC     A
+00139C 600C              JZ      ?C0087?SYS
+00139E 24FE              ADD     A,#0FEH
+0013A0 70EB              JNZ     ?C0081?SYS
+  396: 		case FIX_ENTER_HIBERNATE:
+0013A2         ?C0084?SYS:
+  397: 			KS_Unistall();
+0013A2 71CF              ACALL   KS_Unistall
+  398: 			//GPIO_SetWakeupByCurrentState(BT_BUTTON_GPIO);
+  399: 			LED_all_shutdown();
+0013A4 7130              ACALL   LED_all_shutdown
+  400: 			IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
+0013A6 B119              ACALL   IPC_WaitLpm
+0013A8         ?C0085?SYS:
+  401: 			while(1);
+0013A8 80FE              SJMP    ?C0085?SYS
+  402: 			break;
+  403: 			
+  404: 		case FIX_ENTER_LPM:
+0013AA         ?C0087?SYS:
+  405: 			if (g_variable.delay_enter_lpm_timer ||g_variable.lockLpm ||g_variable.powerOn_timer ||g_variable.one_key_pres
+>> s_wait_release_timer
+0013AA 904CEA            MOV     DPTR,#g_variable+02BH
+0013AD E0                MOVX    A,@DPTR
+0013AE 7012              JNZ     ?C0089?SYS
+0013B0 904CEC            MOV     DPTR,#g_variable+02DH
+0013B3 E0                MOVX    A,@DPTR
+0013B4 700C              JNZ     ?C0089?SYS
+0013B6 904CE5            MOV     DPTR,#g_variable+026H
+0013B9 E0                MOVX    A,@DPTR
+0013BA 7006              JNZ     ?C0089?SYS
+0013BC 904CF8            MOV     DPTR,#g_variable+039H
+0013BF E0                MOVX    A,@DPTR
+0013C0 6004              JZ      ?C0088?SYS
+0013C2         ?C0089?SYS:
+  406: 			) 
+  407: 			{
+  408: 				IPC_AbandonLpm();
+0013C2 F1B7              ACALL   IPC_AbandonLpm
+  409: 				break;
+0013C4 80C7              SJMP    ?C0081?SYS
+  410: 			}
+0013C6         ?C0088?SYS:
+  411: 			else
+  412: 			{
+  413: 				KS_Unistall();
+0013C6 71CF              ACALL   KS_Unistall
+  414: 				IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
+0013C8 B119              ACALL   IPC_WaitLpm
+  415: 				break;
+0013CA 80C1              SJMP    ?C0081?SYS
+  416: 			}
+  417: 		}
+  418: 	}
+0013CC 80BF              SJMP    ?C0081?SYS
+0013CE 22                RET     
 ----- FUNCTION YC_System_Main (END) -------
 
 
 ----- FUNCTION KS_Unistall (BEGIN) -----
  FILE: 'keyscan.c'
-  200: void KS_Unistall()
-  201: {
-  202: 	byte i = 0;
-  203: 	byte temp = 0;
+  215: void KS_Unistall()
+  216: {
+  217: 	byte i = 0;
+  218: 	byte temp = 0;
 ;---- Variable 'i' assigned to Register 'R7' ----
-001235 E4                CLR     A
-001236 FF                MOV     R7,A
-  204: 	byte tgroup = 0;
-001237 904E91            MOV     DPTR,#temp
-00123A F0                MOVX    @DPTR,A
-  205: 	byte tgpionum = 0;
+0013CF E4                CLR     A
+0013D0 FF                MOV     R7,A
+  219: 	byte tgroup = 0;
+0013D1 904E91            MOV     DPTR,#temp
+0013D4 F0                MOVX    @DPTR,A
+  220: 	byte tgpionum = 0;
 ;---- Variable 'tgroup' assigned to Register 'R6' ----
-00123B FE                MOV     R6,A
-  206: 	for (i=0; col[i]!=0; i++) {
+0013D5 FE                MOV     R6,A
+  221: 	for (i=0; col[i]!=0; i++) {
 ;---- Variable 'tgpionum' assigned to Register 'R5' ----
-00123C FD                MOV     R5,A
-  207: 		tgroup = col[i]  >> 3;
-00123D         ?C0065?KEYSCAN:
-00123D EF                MOV     A,R7
-00123E 90060C            MOV     DPTR,#col
-001241 93                MOVC    A,@A+DPTR
-001242 6049              JZ      ?C0066?KEYSCAN
-  208: 		tgpionum = 1 << (col[i] & 7);
-001244 EF                MOV     A,R7
-001245 93                MOVC    A,@A+DPTR
-001246 FD                MOV     R5,A
-001247 13                RRC     A
-001248 13                RRC     A
-001249 13                RRC     A
-00124A 541F              ANL     A,#01FH
-00124C FE                MOV     R6,A
-  209: 		REG_GPIO_PUP (tgroup) &= ~tgpionum;
-00124D ED                MOV     A,R5
-00124E 5407              ANL     A,#07H
-001250 FD                MOV     R5,A
-001251 7401              MOV     A,#01H
-001253 A805              MOV     R0,AR5
-001255 08                INC     R0
-001256 8002              SJMP    ?C0117?KEYSCAN
-001258         ?C0116?KEYSCAN:
-001258 C3                CLR     C
-001259 33                RLC     A
-00125A         ?C0117?KEYSCAN:
-00125A D8FC              DJNZ    R0,?C0116?KEYSCAN
-00125C FD                MOV     R5,A
-  210: 		REG_GPIO_OE(tgroup) |= tgpionum;
-00125D EE                MOV     A,R6
-00125E 2478              ADD     A,#078H
-001260 FB                MOV     R3,A
-001261 E4                CLR     A
-001262 3480              ADDC    A,#080H
-001264 8B82              MOV     DPL,R3
-001266 F583              MOV     DPH,A
-001268 E0                MOVX    A,@DPTR
-001269 FC                MOV     R4,A
-00126A ED                MOV     A,R5
-00126B F4                CPL     A
-00126C FB                MOV     R3,A
-00126D EC                MOV     A,R4
-00126E 5B                ANL     A,R3
-00126F F0                MOVX    @DPTR,A
-  211: 		REG_GPIO_OUT(tgroup) &= ~tgpionum;
-001270 EE                MOV     A,R6
-001271 2470              ADD     A,#070H
-001273 F582              MOV     DPL,A
-001275 E4                CLR     A
-001276 3480              ADDC    A,#080H
-001278 F583              MOV     DPH,A
-00127A E0                MOVX    A,@DPTR
-00127B 4D                ORL     A,R5
-00127C F0                MOVX    @DPTR,A
-  212: 	}
-00127D EE                MOV     A,R6
-00127E 2474              ADD     A,#074H
-001280 F582              MOV     DPL,A
-001282 E4                CLR     A
-001283 3480              ADDC    A,#080H
-001285 F583              MOV     DPH,A
-001287 E0                MOVX    A,@DPTR
-001288 5B                ANL     A,R3
-001289 F0                MOVX    @DPTR,A
-  213: 	
-00128A 0F                INC     R7
-00128B 80B0              SJMP    ?C0065?KEYSCAN
-00128D         ?C0066?KEYSCAN:
-  214: 	GPIO_fillpd();
-00128D 12257E            LCALL   GPIO_fillpd
-  215: 	
-  216: 	temp = REG_GPIO_IN(0);
-001290 90811C            MOV     DPTR,#0811CH
-001293 E0                MOVX    A,@DPTR
-001294 904E91            MOV     DPTR,#temp
-001297 F0                MOVX    @DPTR,A
-  217: 	if (g_variable.battery_status != 2)
-001298 904CD5            MOV     DPTR,#g_variable+016H
-00129B E0                MOVX    A,@DPTR
-00129C 6402              XRL     A,#02H
-00129E 6036              JZ      ?C0068?KEYSCAN
-  218: 	{
-  219: 		if(long_press_flag)
-0012A0 904DD5            MOV     DPTR,#long_press_flag
-0012A3 E0                MOVX    A,@DPTR
-0012A4 6020              JZ      ?C0069?KEYSCAN
-  220: 		{
-  221: 			GPIO_SetWakeupByCurrentState(0);
-0012A6 E4                CLR     A
-0012A7 FF                MOV     R7,A
-0012A8 51E0              ACALL   _GPIO_SetWakeupByCurrentState
-  222: 			GPIO_SetWakeupByCurrentState(1);
-0012AA 7F01              MOV     R7,#01H
-0012AC 51E0              ACALL   _GPIO_SetWakeupByCurrentState
-  223: 			GPIO_SetWakeupByCurrentState(2);
-0012AE 7F02              MOV     R7,#02H
-0012B0 51E0              ACALL   _GPIO_SetWakeupByCurrentState
-  224: 			GPIO_SetWakeupByCurrentState(3);
-0012B2 7F03              MOV     R7,#03H
-0012B4 51E0              ACALL   _GPIO_SetWakeupByCurrentState
-  225: 			GPIO_SetWakeupByCurrentState(4);
-0012B6 7F04              MOV     R7,#04H
-0012B8 51E0              ACALL   _GPIO_SetWakeupByCurrentState
-  226: 			GPIO_SetWakeupByCurrentState(5);
-0012BA 7F05              MOV     R7,#05H
-0012BC 51E0              ACALL   _GPIO_SetWakeupByCurrentState
-  227: 			GPIO_SetWakeupByCurrentState(6);
-0012BE 7F06              MOV     R7,#06H
-0012C0 51E0              ACALL   _GPIO_SetWakeupByCurrentState
-  228: 			GPIO_SetWakeupByCurrentState(7);
-0012C2 7F07              MOV     R7,#07H
-0012C4 801A              SJMP    _GPIO_SetWakeupByCurrentState
-  229: 		}
-0012C6         ?C0069?KEYSCAN:
-  230: 		else
-  231: 		{
-  232: 			YC_GPIOWakeupL[0] = temp;
-0012C6 904E91            MOV     DPTR,#temp
-0012C9 E0                MOVX    A,@DPTR
-0012CA FF                MOV     R7,A
-0012CB 9000A3            MOV     DPTR,#YC_GPIOWakeupL
-0012CE F0                MOVX    @DPTR,A
-  233: 			YC_GPIOWakeupH[0] = ~temp;
-0012CF EF                MOV     A,R7
-0012D0 F4                CPL     A
-0012D1 9000A7            MOV     DPTR,#YC_GPIOWakeupH
-0012D4 F0                MOVX    @DPTR,A
-  234: 		}
-  235: 
-  236: 	}
-0012D5 22                RET     
-0012D6         ?C0068?KEYSCAN:
-  237: 	else
-  238: 	{
-  239: 		YC_GPIOWakeupL[0] = 0;
-0012D6 E4                CLR     A
-0012D7 9000A3            MOV     DPTR,#YC_GPIOWakeupL
-0012DA F0                MOVX    @DPTR,A
-  240: 		YC_GPIOWakeupH[0] = 0;
-0012DB 9000A7            MOV     DPTR,#YC_GPIOWakeupH
-0012DE F0                MOVX    @DPTR,A
-  241: 	}
-  242: }
-0012DF 22                RET     
+0013D6 FD                MOV     R5,A
+  222: 		tgroup = col[i]  >> 3;
+0013D7         ?C0037?KEYSCAN:
+0013D7 EF                MOV     A,R7
+0013D8 90060C            MOV     DPTR,#col
+0013DB 93                MOVC    A,@A+DPTR
+0013DC 6049              JZ      ?C0038?KEYSCAN
+  223: 		tgpionum = 1 << (col[i] & 7);
+0013DE EF                MOV     A,R7
+0013DF 93                MOVC    A,@A+DPTR
+0013E0 FD                MOV     R5,A
+0013E1 13                RRC     A
+0013E2 13                RRC     A
+0013E3 13                RRC     A
+0013E4 541F              ANL     A,#01FH
+0013E6 FE                MOV     R6,A
+  224: 		REG_GPIO_PUP (tgroup) &= ~tgpionum;
+0013E7 ED                MOV     A,R5
+0013E8 5407              ANL     A,#07H
+0013EA FD                MOV     R5,A
+0013EB 7401              MOV     A,#01H
+0013ED A805              MOV     R0,AR5
+0013EF 08                INC     R0
+0013F0 8002              SJMP    ?C0093?KEYSCAN
+0013F2         ?C0092?KEYSCAN:
+0013F2 C3                CLR     C
+0013F3 33                RLC     A
+0013F4         ?C0093?KEYSCAN:
+0013F4 D8FC              DJNZ    R0,?C0092?KEYSCAN
+0013F6 FD                MOV     R5,A
+  225: 		REG_GPIO_OE(tgroup) |= tgpionum;
+0013F7 EE                MOV     A,R6
+0013F8 2478              ADD     A,#078H
+0013FA FB                MOV     R3,A
+0013FB E4                CLR     A
+0013FC 3480              ADDC    A,#080H
+0013FE 8B82              MOV     DPL,R3
+001400 F583              MOV     DPH,A
+001402 E0                MOVX    A,@DPTR
+001403 FC                MOV     R4,A
+001404 ED                MOV     A,R5
+001405 F4                CPL     A
+001406 FB                MOV     R3,A
+001407 EC                MOV     A,R4
+001408 5B                ANL     A,R3
+001409 F0                MOVX    @DPTR,A
+  226: 		REG_GPIO_OUT(tgroup) &= ~tgpionum;
+00140A EE                MOV     A,R6
+00140B 2470              ADD     A,#070H
+00140D F582              MOV     DPL,A
+00140F E4                CLR     A
+001410 3480              ADDC    A,#080H
+001412 F583              MOV     DPH,A
+001414 E0                MOVX    A,@DPTR
+001415 4D                ORL     A,R5
+001416 F0                MOVX    @DPTR,A
+  227: 	}
+001417 EE                MOV     A,R6
+001418 2474              ADD     A,#074H
+00141A F582              MOV     DPL,A
+00141C E4                CLR     A
+00141D 3480              ADDC    A,#080H
+00141F F583              MOV     DPH,A
+001421 E0                MOVX    A,@DPTR
+001422 5B                ANL     A,R3
+001423 F0                MOVX    @DPTR,A
+  228: 	
+001424 0F                INC     R7
+001425 80B0              SJMP    ?C0037?KEYSCAN
+001427         ?C0038?KEYSCAN:
+  229: 	GPIO_fillpd();
+001427 122290            LCALL   GPIO_fillpd
+  230: 	
+  231: 	temp = REG_GPIO_IN(0);
+00142A 90811C            MOV     DPTR,#0811CH
+00142D E0                MOVX    A,@DPTR
+00142E 904E91            MOV     DPTR,#temp
+001431 F0                MOVX    @DPTR,A
+  232: 	if (g_variable.battery_status != 2)
+001432 904CD5            MOV     DPTR,#g_variable+016H
+001435 E0                MOVX    A,@DPTR
+001436 6402              XRL     A,#02H
+001438 6036              JZ      ?C0040?KEYSCAN
+  233: 	{
+  234: 		if(long_press_flag)
+00143A 904DD5            MOV     DPTR,#long_press_flag
+00143D E0                MOVX    A,@DPTR
+00143E 6020              JZ      ?C0041?KEYSCAN
+  235: 		{
+  236: 			GPIO_SetWakeupByCurrentState(0);
+001440 E4                CLR     A
+001441 FF                MOV     R7,A
+001442 917A              ACALL   _GPIO_SetWakeupByCurrentState
+  237: 			GPIO_SetWakeupByCurrentState(1);
+001444 7F01              MOV     R7,#01H
+001446 917A              ACALL   _GPIO_SetWakeupByCurrentState
+  238: 			GPIO_SetWakeupByCurrentState(2);
+001448 7F02              MOV     R7,#02H
+00144A 917A              ACALL   _GPIO_SetWakeupByCurrentState
+  239: 			GPIO_SetWakeupByCurrentState(3);
+00144C 7F03              MOV     R7,#03H
+00144E 917A              ACALL   _GPIO_SetWakeupByCurrentState
+  240: 			GPIO_SetWakeupByCurrentState(4);
+001450 7F04              MOV     R7,#04H
+001452 917A              ACALL   _GPIO_SetWakeupByCurrentState
+  241: 			GPIO_SetWakeupByCurrentState(5);
+001454 7F05              MOV     R7,#05H
+001456 917A              ACALL   _GPIO_SetWakeupByCurrentState
+  242: 			GPIO_SetWakeupByCurrentState(6);
+001458 7F06              MOV     R7,#06H
+00145A 917A              ACALL   _GPIO_SetWakeupByCurrentState
+  243: 			GPIO_SetWakeupByCurrentState(7);
+00145C 7F07              MOV     R7,#07H
+00145E 801A              SJMP    _GPIO_SetWakeupByCurrentState
+  244: 		}
+001460         ?C0041?KEYSCAN:
+  245: 		else
+  246: 		{
+  247: 			YC_GPIOWakeupL[0] = temp;
+001460 904E91            MOV     DPTR,#temp
+001463 E0                MOVX    A,@DPTR
+001464 FF                MOV     R7,A
+001465 9000A3            MOV     DPTR,#YC_GPIOWakeupL
+001468 F0                MOVX    @DPTR,A
+  248: 			YC_GPIOWakeupH[0] = ~temp;
+001469 EF                MOV     A,R7
+00146A F4                CPL     A
+00146B 9000A7            MOV     DPTR,#YC_GPIOWakeupH
+00146E F0                MOVX    @DPTR,A
+  249: 		}
+  250: 
+  251: 	}
+00146F 22                RET     
+001470         ?C0040?KEYSCAN:
+  252: 	else
+  253: 	{
+  254: 		YC_GPIOWakeupL[0] = 0;
+001470 E4                CLR     A
+001471 9000A3            MOV     DPTR,#YC_GPIOWakeupL
+001474 F0                MOVX    @DPTR,A
+  255: 		YC_GPIOWakeupH[0] = 0;
+001475 9000A7            MOV     DPTR,#YC_GPIOWakeupH
+001478 F0                MOVX    @DPTR,A
+  256: 	}
+  257: }
+001479 22                RET     
 ----- FUNCTION KS_Unistall (END) -------
 
 
 ----- FUNCTION _GPIO_SetWakeupByCurrentState (BEGIN) -----
-0012E0 904E95            MOV     DPTR,#gpio_num
-0012E3 EF                MOV     A,R7
-0012E4 F0                MOVX    @DPTR,A
-0012E5 91D9              ACALL   _GPIO_GetInputStatus
-0012E7 9208              MOV     st,C
-0012E9 904E95            MOV     DPTR,#gpio_num
-0012EC E0                MOVX    A,@DPTR
-0012ED FF                MOV     R7,A
-0012EE A208              MOV     C,st
-0012F0 B3                CPL     C
-0012F1 9207              MOV     ?_GPIO_SetWakeup?BIT,C
+00147A 904E95            MOV     DPTR,#gpio_num
+00147D EF                MOV     A,R7
+00147E F0                MOVX    @DPTR,A
+00147F B139              ACALL   _GPIO_GetInputStatus
+001481 9208              MOV     st,C
+001483 904E95            MOV     DPTR,#gpio_num
+001486 E0                MOVX    A,@DPTR
+001487 FF                MOV     R7,A
+001488 A208              MOV     C,st
+00148A B3                CPL     C
+00148B 9207              MOV     ?_GPIO_SetWakeup?BIT,C
 ;----                  JMP     _GPIO_SetWakeup
 ----- FUNCTION _GPIO_SetWakeupByCurrentState (END) -------
 
 
 ----- FUNCTION _GPIO_SetWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-0012F3 EF                MOV     A,R7
-0012F4 F4                CPL     A
-0012F5 7002              JNZ     $ + 4H
-0012F7 617E              AJMP    ?C0019?GPIO
-0012F9         ?C0018?GPIO:
-0012F9 EF                MOV     A,R7
-0012FA 5407              ANL     A,#07H
-0012FC FE                MOV     R6,A
+00148D EF                MOV     A,R7
+00148E F4                CPL     A
+00148F 7002              JNZ     $ + 4H
+001491 A118              AJMP    ?C0019?GPIO
+001493         ?C0018?GPIO:
+001493 EF                MOV     A,R7
+001494 5407              ANL     A,#07H
+001496 FE                MOV     R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-0012FD EF                MOV     A,R7
-0012FE 13                RRC     A
-0012FF 13                RRC     A
-001300 13                RRC     A
-001301 5403              ANL     A,#03H
-001303 FF                MOV     R7,A
+001497 EF                MOV     A,R7
+001498 13                RRC     A
+001499 13                RRC     A
+00149A 13                RRC     A
+00149B 5403              ANL     A,#03H
+00149D FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-001304 300743            JNB     st,?C0020?GPIO
-001307 24A3              ADD     A,#LOW YC_GPIOWakeupL
-001309 F582              MOV     DPL,A
-00130B E4                CLR     A
-00130C 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-00130E F583              MOV     DPH,A
-001310 C083              PUSH    DPH
-001312 C082              PUSH    DPL
-001314 E0                MOVX    A,@DPTR
-001315 FD                MOV     R5,A
-001316 7401              MOV     A,#01H
-001318 A806              MOV     R0,AR6
-00131A 08                INC     R0
-00131B 8002              SJMP    ?C0037?GPIO
-00131D         ?C0036?GPIO:
-00131D C3                CLR     C
-00131E 33                RLC     A
-00131F         ?C0037?GPIO:
-00131F D8FC              DJNZ    R0,?C0036?GPIO
-001321 F4                CPL     A
-001322 5D                ANL     A,R5
-001323 D082              POP     DPL
-001325 D083              POP     DPH
-001327 F0                MOVX    @DPTR,A
-001328 74A7              MOV     A,#LOW YC_GPIOWakeupH
-00132A 2F                ADD     A,R7
-00132B F582              MOV     DPL,A
-00132D E4                CLR     A
-00132E 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-001330 F583              MOV     DPH,A
-001332 C083              PUSH    DPH
-001334 C082              PUSH    DPL
-001336 E0                MOVX    A,@DPTR
-001337 FF                MOV     R7,A
-001338 7401              MOV     A,#01H
-00133A A806              MOV     R0,AR6
-00133C 08                INC     R0
-00133D 8002              SJMP    ?C0039?GPIO
-00133F         ?C0038?GPIO:
-00133F C3                CLR     C
-001340 33                RLC     A
-001341         ?C0039?GPIO:
-001341 D8FC              DJNZ    R0,?C0038?GPIO
-001343 4F                ORL     A,R7
-001344 D082              POP     DPL
-001346 D083              POP     DPH
-001348 F0                MOVX    @DPTR,A
-001349 22                RET     
-00134A         ?C0020?GPIO:
-00134A 74A3              MOV     A,#LOW YC_GPIOWakeupL
-00134C 2F                ADD     A,R7
-00134D F582              MOV     DPL,A
-00134F E4                CLR     A
-001350 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-001352 F583              MOV     DPH,A
-001354 C083              PUSH    DPH
-001356 C082              PUSH    DPL
-001358 E0                MOVX    A,@DPTR
-001359 FD                MOV     R5,A
-00135A 7401              MOV     A,#01H
-00135C A806              MOV     R0,AR6
-00135E 08                INC     R0
-00135F 8002              SJMP    ?C0041?GPIO
-001361         ?C0040?GPIO:
-001361 C3                CLR     C
-001362 33                RLC     A
-001363         ?C0041?GPIO:
-001363 D8FC              DJNZ    R0,?C0040?GPIO
-001365 FC                MOV     R4,A
-001366 4D                ORL     A,R5
-001367 D082              POP     DPL
-001369 D083              POP     DPH
-00136B F0                MOVX    @DPTR,A
-00136C 74A7              MOV     A,#LOW YC_GPIOWakeupH
-00136E 2F                ADD     A,R7
-00136F F582              MOV     DPL,A
-001371 E4                CLR     A
-001372 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-001374 F583              MOV     DPH,A
-001376 E0                MOVX    A,@DPTR
-001377 FF                MOV     R7,A
-001378 EC                MOV     A,R4
-001379 F4                CPL     A
-00137A FE                MOV     R6,A
-00137B EF                MOV     A,R7
-00137C 5E                ANL     A,R6
-00137D F0                MOVX    @DPTR,A
-00137E         ?C0019?GPIO:
-00137E 22                RET     
+00149E 300743            JNB     st,?C0020?GPIO
+0014A1 24A3              ADD     A,#LOW YC_GPIOWakeupL
+0014A3 F582              MOV     DPL,A
+0014A5 E4                CLR     A
+0014A6 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+0014A8 F583              MOV     DPH,A
+0014AA C083              PUSH    DPH
+0014AC C082              PUSH    DPL
+0014AE E0                MOVX    A,@DPTR
+0014AF FD                MOV     R5,A
+0014B0 7401              MOV     A,#01H
+0014B2 A806              MOV     R0,AR6
+0014B4 08                INC     R0
+0014B5 8002              SJMP    ?C0037?GPIO
+0014B7         ?C0036?GPIO:
+0014B7 C3                CLR     C
+0014B8 33                RLC     A
+0014B9         ?C0037?GPIO:
+0014B9 D8FC              DJNZ    R0,?C0036?GPIO
+0014BB F4                CPL     A
+0014BC 5D                ANL     A,R5
+0014BD D082              POP     DPL
+0014BF D083              POP     DPH
+0014C1 F0                MOVX    @DPTR,A
+0014C2 74A7              MOV     A,#LOW YC_GPIOWakeupH
+0014C4 2F                ADD     A,R7
+0014C5 F582              MOV     DPL,A
+0014C7 E4                CLR     A
+0014C8 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+0014CA F583              MOV     DPH,A
+0014CC C083              PUSH    DPH
+0014CE C082              PUSH    DPL
+0014D0 E0                MOVX    A,@DPTR
+0014D1 FF                MOV     R7,A
+0014D2 7401              MOV     A,#01H
+0014D4 A806              MOV     R0,AR6
+0014D6 08                INC     R0
+0014D7 8002              SJMP    ?C0039?GPIO
+0014D9         ?C0038?GPIO:
+0014D9 C3                CLR     C
+0014DA 33                RLC     A
+0014DB         ?C0039?GPIO:
+0014DB D8FC              DJNZ    R0,?C0038?GPIO
+0014DD 4F                ORL     A,R7
+0014DE D082              POP     DPL
+0014E0 D083              POP     DPH
+0014E2 F0                MOVX    @DPTR,A
+0014E3 22                RET     
+0014E4         ?C0020?GPIO:
+0014E4 74A3              MOV     A,#LOW YC_GPIOWakeupL
+0014E6 2F                ADD     A,R7
+0014E7 F582              MOV     DPL,A
+0014E9 E4                CLR     A
+0014EA 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+0014EC F583              MOV     DPH,A
+0014EE C083              PUSH    DPH
+0014F0 C082              PUSH    DPL
+0014F2 E0                MOVX    A,@DPTR
+0014F3 FD                MOV     R5,A
+0014F4 7401              MOV     A,#01H
+0014F6 A806              MOV     R0,AR6
+0014F8 08                INC     R0
+0014F9 8002              SJMP    ?C0041?GPIO
+0014FB         ?C0040?GPIO:
+0014FB C3                CLR     C
+0014FC 33                RLC     A
+0014FD         ?C0041?GPIO:
+0014FD D8FC              DJNZ    R0,?C0040?GPIO
+0014FF FC                MOV     R4,A
+001500 4D                ORL     A,R5
+001501 D082              POP     DPL
+001503 D083              POP     DPH
+001505 F0                MOVX    @DPTR,A
+001506 74A7              MOV     A,#LOW YC_GPIOWakeupH
+001508 2F                ADD     A,R7
+001509 F582              MOV     DPL,A
+00150B E4                CLR     A
+00150C 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+00150E F583              MOV     DPH,A
+001510 E0                MOVX    A,@DPTR
+001511 FF                MOV     R7,A
+001512 EC                MOV     A,R4
+001513 F4                CPL     A
+001514 FE                MOV     R6,A
+001515 EF                MOV     A,R7
+001516 5E                ANL     A,R6
+001517 F0                MOVX    @DPTR,A
+001518         ?C0019?GPIO:
+001518 22                RET     
 ----- FUNCTION _GPIO_SetWakeup (END) -------
 
 
------ FUNCTION kb_need_keyscan (BEGIN) -----
- FILE: 'kb_process.c'
-  171: void kb_need_keyscan()
-  172: {
-  173: 	if((g_variable.key_combination_step == CAMBINATION_KEY_FREE)
-  174: 	||(g_variable.key_combination_step == CAMBINATION_KEY_PRESS)
-00137F 904CF4            MOV     DPTR,#g_variable+035H
-001382 E0                MOVX    A,@DPTR
-001383 FF                MOV     R7,A
-001384 6008              JZ      ?C0036?KB_PROCESS
-001386 6401              XRL     A,#01H
-001388 6004              JZ      ?C0036?KB_PROCESS
-00138A EF                MOV     A,R7
-00138B B40302            CJNE    A,#03H,?C0035?KB_PROCESS
-00138E         ?C0036?KB_PROCESS:
-  175: 	||(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE)
-  176: 	)
-  177: 		kb_motion();
-00138E A11E              AJMP    kb_motion
-001390         ?C0035?KB_PROCESS:
-  178: 	else
-  179: 	{
-  180: 		
-  181: 		if(g_variable.key_combination_step == CAMBINATION_KEY_HOLD)
-001390 904CF4            MOV     DPTR,#g_variable+035H
-001393 E0                MOVX    A,@DPTR
-001394 B4020B            CJNE    A,#02H,?C0038?KB_PROCESS
-  182: 		{	
-  183: 			g_variable.key_combination_step = CAMBINATION_KEY_COMPLETE;
-001397 7403              MOV     A,#03H
-001399 F0                MOVX    @DPTR,A
-  184: 			kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
-00139A A3                INC     DPTR
-00139B E0                MOVX    A,@DPTR
-00139C FF                MOV     R7,A
-00139D A3                INC     DPTR
-00139E E0                MOVX    A,@DPTR
-00139F FD                MOV     R5,A
-0013A0 8033              SJMP    _kb_send_combination_key
-  185: 		}
-0013A2         ?C0038?KB_PROCESS:
-  186: 		else if(g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE)
-0013A2 904CF4            MOV     DPTR,#g_variable+035H
-0013A5 E0                MOVX    A,@DPTR
-0013A6 B40413            CJNE    A,#04H,?C0040?KB_PROCESS
-  187: 		{
-  188: 			g_variable.key_combination_keyvalue = 0;
-0013A9 E4                CLR     A
-0013AA 904CF6            MOV     DPTR,#g_variable+037H
-0013AD F0                MOVX    @DPTR,A
-  189: 			g_variable.key_combination_step = CAMBINATION_KEY_RELEASE;
-0013AE 904CF4            MOV     DPTR,#g_variable+035H
-0013B1 7405              MOV     A,#05H
-0013B3 F0                MOVX    @DPTR,A
-  190: 			kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
-0013B4 A3                INC     DPTR
-0013B5 E0                MOVX    A,@DPTR
-0013B6 FF                MOV     R7,A
-0013B7 A3                INC     DPTR
-0013B8 E0                MOVX    A,@DPTR
-0013B9 FD                MOV     R5,A
-0013BA 8019              SJMP    _kb_send_combination_key
-  191: 		}
-0013BC         ?C0040?KB_PROCESS:
-  192: 		else if(g_variable.key_combination_step == CAMBINATION_KEY_RELEASE)
-0013BC 904CF4            MOV     DPTR,#g_variable+035H
-0013BF E0                MOVX    A,@DPTR
-0013C0 B40511            CJNE    A,#05H,?C0043?KB_PROCESS
-  193: 		{
-  194: 			g_variable.key_combination_ctrl = 0;
-0013C3 E4                CLR     A
-0013C4 A3                INC     DPTR
-0013C5 F0                MOVX    @DPTR,A
-  195: 			g_variable.key_combination_keyvalue = 0;
-0013C6 A3                INC     DPTR
-0013C7 F0                MOVX    @DPTR,A
-  196: 			g_variable.key_combination_step = CAMBINATION_KEY_FREE;
-0013C8 904CF4            MOV     DPTR,#g_variable+035H
-0013CB F0                MOVX    @DPTR,A
-  197: 			kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
-0013CC A3                INC     DPTR
-0013CD E0                MOVX    A,@DPTR
-0013CE FF                MOV     R7,A
-0013CF A3                INC     DPTR
-0013D0 E0                MOVX    A,@DPTR
-0013D1 FD                MOV     R5,A
-0013D2 71D5              ACALL   _kb_send_combination_key
-  198: 		}
-  199: 	}
-  200: }
-0013D4         ?C0043?KB_PROCESS:
-0013D4 22                RET     
------ FUNCTION kb_need_keyscan (END) -------
-
-
------ FUNCTION _kb_send_combination_key (BEGIN) -----
- FILE: 'kb_process.c'
-  103: void kb_send_combination_key(byte ctrl_value,byte key_value)
-  104: {
-0013D5 904E87            MOV     DPTR,#ctrl_value
-0013D8 EF                MOV     A,R7
-0013D9 F0                MOVX    @DPTR,A
-0013DA A3                INC     DPTR
-0013DB ED                MOV     A,R5
-0013DC F0                MOVX    @DPTR,A
-  105: 	xmemclear(hidBuff,9);
-  106: 	hidBuff[0] = HID_REPORTID_1;
-0013DD 7B01              MOV     R3,#01H
-0013DF 7A48              MOV     R2,#HIGH hidBuff
-0013E1 7900              MOV     R1,#LOW hidBuff
-0013E3 7D09              MOV     R5,#09H
-0013E5 7C00              MOV     R4,#00H
-0013E7 120EB3            LCALL   _xmemclear
-  107: 	hidBuff[1] |= ctrl_value;
-0013EA 904800            MOV     DPTR,#hidBuff
-0013ED 7401              MOV     A,#01H
-0013EF F0                MOVX    @DPTR,A
-  108: 	hidBuff[3] = key_value; 
-0013F0 A3                INC     DPTR
-0013F1 E0                MOVX    A,@DPTR
-0013F2 FF                MOV     R7,A
-0013F3 904E87            MOV     DPTR,#ctrl_value
-0013F6 E0                MOVX    A,@DPTR
-0013F7 FE                MOV     R6,A
-0013F8 EF                MOV     A,R7
-0013F9 4E                ORL     A,R6
-0013FA 904801            MOV     DPTR,#hidBuff+01H
-0013FD F0                MOVX    @DPTR,A
-  109: 	IPC_TxHidData(hidBuff, 9);
-0013FE 904E88            MOV     DPTR,#key_value
-001401 E0                MOVX    A,@DPTR
-001402 904803            MOV     DPTR,#hidBuff+03H
-001405 F0                MOVX    @DPTR,A
-  110: }
-001406 7B01              MOV     R3,#01H
-001408 7A48              MOV     R2,#HIGH hidBuff
-00140A 7900              MOV     R1,#LOW hidBuff
-00140C 7D09              MOV     R5,#09H
-;----                  JMP     _IPC_TxHidData
------ FUNCTION _kb_send_combination_key (END) -------
-
-
------ FUNCTION _IPC_TxHidData (BEGIN) -----
- FILE: 'kb_process.c'
-   59: void IPC_TxHidData(byte* dt, byte len)
-   60: {
-00140E 904E61            MOV     DPTR,#dt
-001411 EB                MOV     A,R3
-001412 F0                MOVX    @DPTR,A
-001413 A3                INC     DPTR
-001414 EA                MOV     A,R2
-001415 F0                MOVX    @DPTR,A
-001416 A3                INC     DPTR
-001417 E9                MOV     A,R1
-001418 F0                MOVX    @DPTR,A
-001419 A3                INC     DPTR
-00141A ED                MOV     A,R5
-00141B F0                MOVX    @DPTR,A
-   61: 	if(!YC_check_need_reconnected()) 
-   62: 		return;
-00141C 1207FE            LCALL   YC_check_need_reconnected
-00141F EF                MOV     A,R7
-001420 6076              JZ      ?C0014?KB_PROCESS
-001422         ?C0013?KB_PROCESS:
-   63: 	if (g_variable.release_data)
-001422 904CEB            MOV     DPTR,#g_variable+02CH
-001425 E0                MOVX    A,@DPTR
-001426 7070              JNZ     ?C0014?KB_PROCESS
-001428         ?C0015?KB_PROCESS:
-   64: 		return;
-   65: 
-   66: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
-001428 904CC5            MOV     DPTR,#g_variable+06H
-00142B E0                MOVX    A,@DPTR
-00142C 6403              XRL     A,#03H
-00142E 7068              JNZ     ?C0014?KB_PROCESS
-   67: 	{
-   68: 		if (dt[0] == HID_REPORTID_1)
-001430 904E61            MOV     DPTR,#dt
-001433 E0                MOVX    A,@DPTR
-001434 FB                MOV     R3,A
-001435 A3                INC     DPTR
-001436 E0                MOVX    A,@DPTR
-001437 FA                MOV     R2,A
-001438 A3                INC     DPTR
-001439 E0                MOVX    A,@DPTR
-00143A F9                MOV     R1,A
-00143B 1203B6            LCALL   ?C?CLDPTR
-00143E FF                MOV     R7,A
-00143F 6401              XRL     A,#01H
-001441 702E              JNZ     ?C0017?KB_PROCESS
-   69: 		{
-   70: 			if (dt[1] == 0 && dt[3] == 00 && dt[4] == 00 && dt[5] == 0)
-001443 900001            MOV     DPTR,#01H
-001446 1203CF            LCALL   ?C?CLDOPTR
-001449 701E              JNZ     ?C0018?KB_PROCESS
-00144B 900003            MOV     DPTR,#03H
-00144E 1203CF            LCALL   ?C?CLDOPTR
-001451 7016              JNZ     ?C0018?KB_PROCESS
-001453 900004            MOV     DPTR,#04H
-001456 1203CF            LCALL   ?C?CLDOPTR
-001459 700E              JNZ     ?C0018?KB_PROCESS
-00145B 900005            MOV     DPTR,#05H
-00145E 1203CF            LCALL   ?C?CLDOPTR
-001461 7006              JNZ     ?C0018?KB_PROCESS
-   71: 				repeat_send_24g = 0;
-001463 904DD6            MOV     DPTR,#repeat_send_24g
-001466 F0                MOVX    @DPTR,A
-001467 8028              SJMP    ?C0020?KB_PROCESS
-001469         ?C0018?KB_PROCESS:
-   72: 			else
-   73: 				repeat_send_24g = 1;			
-001469 904DD6            MOV     DPTR,#repeat_send_24g
-00146C 7401              MOV     A,#01H
-00146E F0                MOVX    @DPTR,A
-   74: 		}
-00146F 8020              SJMP    ?C0020?KB_PROCESS
-001471         ?C0017?KB_PROCESS:
-   75: 		else if (dt[0] == HID_REPORTID_2)
-001471 EF                MOV     A,R7
-001472 B4021C            CJNE    A,#02H,?C0020?KB_PROCESS
-   76: 		{
-   77: 			if (dt[1] == 00 && dt[2] == 00)
-001475 900001            MOV     DPTR,#01H
-001478 1203CF            LCALL   ?C?CLDOPTR
-00147B 700E              JNZ     ?C0022?KB_PROCESS
-00147D 900002            MOV     DPTR,#02H
-001480 1203CF            LCALL   ?C?CLDOPTR
-001483 7006              JNZ     ?C0022?KB_PROCESS
-   78: 			{
-   79: 				repeat_send_24g = 0;
-001485 904DD6            MOV     DPTR,#repeat_send_24g
-001488 F0                MOVX    @DPTR,A
-   80: 			}
-001489 8006              SJMP    ?C0020?KB_PROCESS
-00148B         ?C0022?KB_PROCESS:
-   81: 			else
-   82: 			{
-   83: 				repeat_send_24g = 1;
-00148B 904DD6            MOV     DPTR,#repeat_send_24g
-00148E 7401              MOV     A,#01H
-001490 F0                MOVX    @DPTR,A
-   84: 			}
-   85: 		}
-001491         ?C0020?KB_PROCESS:
-   86: 		IPC_Tx24GData(dt,len);
-001491 904E64            MOV     DPTR,#len
-001494 E0                MOVX    A,@DPTR
-001495 FD                MOV     R5,A
-001496 91AC              ACALL   _IPC_Tx24GData
-   87: 	}
-   88: }
-001498         ?C0014?KB_PROCESS:
-001498 22                RET     
------ FUNCTION _IPC_TxHidData (END) -------
+----- FUNCTION IPC_WaitLpm (BEGIN) -----
+001519 E4                CLR     A
+00151A 900B7F            MOV     DPTR,#lpm_flag
+00151D F0                MOVX    @DPTR,A
+00151E 900B7E            MOV     DPTR,#current_task
+001521 F0                MOVX    @DPTR,A
+001522 7F01              MOV     R7,#01H
+001524 019C              AJMP    _Delay1ms
+----- FUNCTION IPC_WaitLpm (END) -------
 
 
 ----- FUNCTION kb_cb_init (BEGIN) -----
  FILE: 'sys.c'
-  378: static void kb_cb_init()
-  379: {
-  380: 	IPC_Initialize(&cb);
-  381: }
-001499 7B01              MOV     R3,#01H
-00149B 7A4D              MOV     R2,#HIGH cb
-00149D 79EE              MOV     R1,#LOW cb
+  379: static void kb_cb_init()
+  380: {
+  381: 	IPC_Initialize(&cb);
+  382: }
+001526 7B01              MOV     R3,#01H
+001528 7A4D              MOV     R2,#HIGH cb
+00152A 79EE              MOV     R1,#LOW cb
 ;----                  JMP     _IPC_Initialize
 ----- FUNCTION kb_cb_init (END) -------
 
 
 ----- FUNCTION _IPC_Initialize (BEGIN) -----
 ;---- Variable 'cb' assigned to Register 'R1/R2/R3' ----
-00149F 7800              MOV     R0,#LOW ipcCb
-0014A1 7C4E              MOV     R4,#HIGH ipcCb
-0014A3 7D01              MOV     R5,#01H
-0014A5 7E00              MOV     R6,#00H
-0014A7 7F12              MOV     R7,#012H
-0014A9 020390            LJMP    ?C?COPY
+00152C 7800              MOV     R0,#LOW ipcCb
+00152E 7C4E              MOV     R4,#HIGH ipcCb
+001530 7D01              MOV     R5,#01H
+001532 7E00              MOV     R6,#00H
+001534 7F12              MOV     R7,#012H
+001536 020390            LJMP    ?C?COPY
 ----- FUNCTION _IPC_Initialize (END) -------
 
 
------ FUNCTION _IPC_Tx24GData (BEGIN) -----
-;---- Variable 'len' assigned to Register 'R5' ----
-;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-0014AC 900BE7            MOV     DPTR,#ipcSendBuff
-0014AF 7406              MOV     A,#06H
-0014B1 F0                MOVX    @DPTR,A
-;----                  JMP     _IPC_TxData
------ FUNCTION _IPC_Tx24GData (END) -------
-
-
------ FUNCTION _IPC_TxData (BEGIN) -----
-0014B2 904E93            MOV     DPTR,#len
-0014B5 ED                MOV     A,R5
-0014B6 F0                MOVX    @DPTR,A
-;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-0014B7 E0                MOVX    A,@DPTR
-0014B8 FD                MOV     R5,A
-0014B9 900BE8            MOV     DPTR,#ipcSendBuff+01H
-0014BC F0                MOVX    @DPTR,A
-0014BD 7E0B              MOV     R6,#HIGH ipcSendBuff+02H
-0014BF 7FE9              MOV     R7,#LOW ipcSendBuff+02H
-0014C1 904E51            MOV     DPTR,#?_xmemcpy?BYTE+05H
-0014C4 ED                MOV     A,R5
-0014C5 F0                MOVX    @DPTR,A
-0014C6 120C1A            LCALL   _xmemcpy
-0014C9 7B01              MOV     R3,#01H
-0014CB 7A0B              MOV     R2,#HIGH ipcSendBuff
-0014CD 79E7              MOV     R1,#LOW ipcSendBuff
-0014CF 904E93            MOV     DPTR,#len
-0014D2 E0                MOVX    A,@DPTR
-0014D3 2402              ADD     A,#02H
-0014D5 FD                MOV     R5,A
-0014D6 02091E            LJMP    _ipcTx
------ FUNCTION _IPC_TxData (END) -------
-
-
 ----- FUNCTION _GPIO_GetInputStatus (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-0014D9 7B01              MOV     R3,#01H
-0014DB 7A81              MOV     R2,#081H
-0014DD 791C              MOV     R1,#01CH
+001539 7B01              MOV     R3,#01H
+00153B 7A81              MOV     R2,#081H
+00153D 791C              MOV     R1,#01CH
 ;----                  JMP     _gpioGetBit
 ----- FUNCTION _GPIO_GetInputStatus (END) -------
 
 
 ----- FUNCTION _gpioGetBit (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R5' ----
-0014DF AD07              MOV     R5,AR7
+00153F AD07              MOV     R5,AR7
 ;---- Variable 'reg_base' assigned to Register 'R1/R2/R3' ----
-0014E1 E4                CLR     A
-0014E2 904E94            MOV     DPTR,#queue
-0014E5 F0                MOVX    @DPTR,A
+001541 E4                CLR     A
+001542 904E94            MOV     DPTR,#queue
+001545 F0                MOVX    @DPTR,A
 ;---- Variable 'group' assigned to Register 'R6' ----
-0014E6 FE                MOV     R6,A
-0014E7 EF                MOV     A,R7
-0014E8 5407              ANL     A,#07H
-0014EA F0                MOVX    @DPTR,A
-0014EB EF                MOV     A,R7
-0014EC 13                RRC     A
-0014ED 13                RRC     A
-0014EE 13                RRC     A
-0014EF 5403              ANL     A,#03H
-0014F1 FE                MOV     R6,A
-0014F2 F582              MOV     DPL,A
-0014F4 758300            MOV     DPH,#00H
-0014F7 1203CF            LCALL   ?C?CLDOPTR
-0014FA FD                MOV     R5,A
-0014FB 33                RLC     A
-0014FC 95E0              SUBB    A,ACC
-0014FE FC                MOV     R4,A
-0014FF 904E94            MOV     DPTR,#queue
-001502 E0                MOVX    A,@DPTR
-001503 FF                MOV     R7,A
-001504 7401              MOV     A,#01H
-001506 7E00              MOV     R6,#00H
-001508 A807              MOV     R0,AR7
-00150A 08                INC     R0
-00150B 8005              SJMP    ?C0035?GPIO
-00150D         ?C0034?GPIO:
-00150D C3                CLR     C
-00150E 33                RLC     A
-00150F CE                XCH     A,R6
-001510 33                RLC     A
-001511 CE                XCH     A,R6
-001512         ?C0035?GPIO:
-001512 D8F9              DJNZ    R0,?C0034?GPIO
-001514 FF                MOV     R7,A
-001515 EE                MOV     A,R6
-001516 5C                ANL     A,R4
-001517 FE                MOV     R6,A
-001518 EF                MOV     A,R7
-001519 5D                ANL     A,R5
-00151A 4E                ORL     A,R6
-00151B 24FF              ADD     A,#0FFH
-00151D 22                RET     
+001546 FE                MOV     R6,A
+001547 EF                MOV     A,R7
+001548 5407              ANL     A,#07H
+00154A F0                MOVX    @DPTR,A
+00154B EF                MOV     A,R7
+00154C 13                RRC     A
+00154D 13                RRC     A
+00154E 13                RRC     A
+00154F 5403              ANL     A,#03H
+001551 FE                MOV     R6,A
+001552 F582              MOV     DPL,A
+001554 758300            MOV     DPH,#00H
+001557 1203CF            LCALL   ?C?CLDOPTR
+00155A FD                MOV     R5,A
+00155B 33                RLC     A
+00155C 95E0              SUBB    A,ACC
+00155E FC                MOV     R4,A
+00155F 904E94            MOV     DPTR,#queue
+001562 E0                MOVX    A,@DPTR
+001563 FF                MOV     R7,A
+001564 7401              MOV     A,#01H
+001566 7E00              MOV     R6,#00H
+001568 A807              MOV     R0,AR7
+00156A 08                INC     R0
+00156B 8005              SJMP    ?C0035?GPIO
+00156D         ?C0034?GPIO:
+00156D C3                CLR     C
+00156E 33                RLC     A
+00156F CE                XCH     A,R6
+001570 33                RLC     A
+001571 CE                XCH     A,R6
+001572         ?C0035?GPIO:
+001572 D8F9              DJNZ    R0,?C0034?GPIO
+001574 FF                MOV     R7,A
+001575 EE                MOV     A,R6
+001576 5C                ANL     A,R4
+001577 FE                MOV     R6,A
+001578 EF                MOV     A,R7
+001579 5D                ANL     A,R5
+00157A 4E                ORL     A,R6
+00157B 24FF              ADD     A,#0FFH
+00157D 22                RET     
 ----- FUNCTION _gpioGetBit (END) -------
 
 
------ FUNCTION kb_motion (BEGIN) -----
- FILE: 'kb_process.c'
-  152: static void kb_motion()
-  153: {
-  154: 	tKSEVENT *pEvt = NULL;
-  155: 	
-00151E 904E75            MOV     DPTR,#pEvt
-001521 E4                CLR     A
-001522 F0                MOVX    @DPTR,A
-001523 A3                INC     DPTR
-001524 F0                MOVX    @DPTR,A
-001525 A3                INC     DPTR
-001526 F0                MOVX    @DPTR,A
-  156: 	if (!IPC_IsTxBuffEmpty())
-001527 F1BF              ACALL   IPC_IsTxBuffEmpty
-001529 5026              JNC     ?C0033?KB_PROCESS
-00152B         ?C0032?KB_PROCESS:
-  157: 		return;
-  158: 	pEvt = KS_GetCurrentEvt();
-00152B 12197C            LCALL   KS_GetCurrentEvt
-00152E 904E75            MOV     DPTR,#pEvt
-001531 EB                MOV     A,R3
-001532 F0                MOVX    @DPTR,A
-001533 A3                INC     DPTR
-001534 EA                MOV     A,R2
-001535 F0                MOVX    @DPTR,A
-001536 A3                INC     DPTR
-001537 E9                MOV     A,R1
-001538 F0                MOVX    @DPTR,A
-  159: 
-  160: 	if (pEvt == NULL)
-001539 4A                ORL     A,R2
-00153A 7007              JNZ     ?C0034?KB_PROCESS
-  161: 	{
-  162: 		m_power_on_flag = 1;
-00153C 904CB6            MOV     DPTR,#m_power_on_flag
-00153F 04                INC     A
-001540 F0                MOVX    @DPTR,A
-  163: 		kb_24g_get_led_status();
-001541 800F              SJMP    kb_24g_get_led_status
-  164: 		return;
-  165: 	}
-001543         ?C0034?KB_PROCESS:
-  166: 	kb_motion_keyscan(pEvt);
-001543 904E75            MOV     DPTR,#pEvt
-001546 E0                MOVX    A,@DPTR
-001547 FB                MOV     R3,A
-001548 A3                INC     DPTR
-001549 E0                MOVX    A,@DPTR
-00154A FA                MOV     R2,A
-00154B A3                INC     DPTR
-00154C E0                MOVX    A,@DPTR
-00154D F9                MOV     R1,A
-00154E 120C5D            LCALL   _kb_motion_keyscan
-  167: }
-001551         ?C0033?KB_PROCESS:
-001551 22                RET     
------ FUNCTION kb_motion (END) -------
+----- FUNCTION _GPIO_SetPu (BEGIN) -----
+;---- Variable 'gpio_num' assigned to Register 'R7' ----
+00157E EF                MOV     A,R7
+00157F F4                CPL     A
+001580 600C              JZ      ?C0009?GPIO
+001582         ?C0008?GPIO:
+001582 7B01              MOV     R3,#01H
+001584 7A80              MOV     R2,#080H
+001586 7978              MOV     R1,#078H
+001588 A202              MOV     C,bit_val
+00158A 9200              MOV     ?_gpioSetBit?BIT,C
+00158C B1CF              ACALL   _gpioSetBit
+00158E         ?C0009?GPIO:
+00158E 22                RET     
+----- FUNCTION _GPIO_SetPu (END) -------
+
+
+----- FUNCTION _GPIO_SetInput (BEGIN) -----
+;---- Variable 'gpio_num' assigned to Register 'R4' ----
+00158F AC07              MOV     R4,AR7
+001591 EC                MOV     A,R4
+001592 F4                CPL     A
+001593 6017              JZ      ?C0015?GPIO
+001595         ?C0014?GPIO:
+001595 AF04              MOV     R7,AR4
+001597 A205              MOV     C,st
+001599 9203              MOV     ?_GPIO_SetPd?BIT,C
+00159B B1BE              ACALL   _GPIO_SetPd
+00159D AF04              MOV     R7,AR4
+00159F A205              MOV     C,st
+0015A1 B3                CPL     C
+0015A2 9202              MOV     ?_GPIO_SetPu?BIT,C
+0015A4 B17E              ACALL   _GPIO_SetPu
+0015A6 AF04              MOV     R7,AR4
+0015A8 C204              CLR     ?_GPIO_Setoe?BIT
+0015AA B1AD              ACALL   _GPIO_Setoe
+0015AC         ?C0015?GPIO:
+0015AC 22                RET     
+----- FUNCTION _GPIO_SetInput (END) -------
 
 
------ FUNCTION kb_24g_get_led_status (BEGIN) -----
- FILE: 'kb_process.c'
-  129: void kb_24g_get_led_status()		//get RF Ack for get numlock/capslock status
-  130: {
-  131: 	if((get_24g_led_send == 1) && (repeat_send_24g == 0))
-  132: 	{
-001552 904DD0            MOV     DPTR,#get_24g_led_send
-001555 E0                MOVX    A,@DPTR
-001556 6401              XRL     A,#01H
-001558 7030              JNZ     ?C0027?KB_PROCESS
-00155A 904DD6            MOV     DPTR,#repeat_send_24g
-00155D E0                MOVX    A,@DPTR
-00155E 702A              JNZ     ?C0027?KB_PROCESS
-  133: 		if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
-  134: 		{
-001560 904CC5            MOV     DPTR,#g_variable+06H
-001563 E0                MOVX    A,@DPTR
-001564 6403              XRL     A,#03H
-001566 704E              JNZ     ?C0031?KB_PROCESS
-  135: 			xmemclear(hidBuff,9);
-  136: 			IPC_TxHidData(hidBuff, 9);
-001568 7B01              MOV     R3,#01H
-00156A 7A48              MOV     R2,#HIGH hidBuff
-00156C 7900              MOV     R1,#LOW hidBuff
-00156E 7D09              MOV     R5,#09H
-001570 FC                MOV     R4,A
-001571 120EB3            LCALL   _xmemclear
-  137: 			get_24g_led_send = 2;
-001574 7B01              MOV     R3,#01H
-001576 7A48              MOV     R2,#HIGH hidBuff
-001578 7900              MOV     R1,#LOW hidBuff
-00157A 7D09              MOV     R5,#09H
-00157C 910E              ACALL   _IPC_TxHidData
-  138: 			mult_key_status = 0;
-00157E 904DD0            MOV     DPTR,#get_24g_led_send
-001581 7402              MOV     A,#02H
-001583 F0                MOVX    @DPTR,A
-  139: 		}	
-001584 E4                CLR     A
-001585 904DE4            MOV     DPTR,#mult_key_status
-001588 F0                MOVX    @DPTR,A
-  140: 	}
-  141: 	else if ((get_24g_led_send == 2) && (repeat_send_24g == 0))
-001589 22                RET     
-00158A         ?C0027?KB_PROCESS:
-  142: 	{
-00158A 904DD0            MOV     DPTR,#get_24g_led_send
-00158D E0                MOVX    A,@DPTR
-00158E B40225            CJNE    A,#02H,?C0031?KB_PROCESS
-001591 904DD6            MOV     DPTR,#repeat_send_24g
-001594 E0                MOVX    A,@DPTR
-001595 701F              JNZ     ?C0031?KB_PROCESS
-  143: 		get_24g_led_send = 0;
-  144: 		xmemclear(hidBuff,9);
-001597 904DD0            MOV     DPTR,#get_24g_led_send
-00159A F0                MOVX    @DPTR,A
-  145: 		IPC_TxHidData(hidBuff, 9);
-00159B 7B01              MOV     R3,#01H
-00159D 7A48              MOV     R2,#HIGH hidBuff
-00159F 7900              MOV     R1,#LOW hidBuff
-0015A1 7D09              MOV     R5,#09H
-0015A3 FC                MOV     R4,A
-0015A4 120EB3            LCALL   _xmemclear
-  146: 		mult_key_status = 0;
-0015A7 7B01              MOV     R3,#01H
-0015A9 7A48              MOV     R2,#HIGH hidBuff
-0015AB 7900              MOV     R1,#LOW hidBuff
-0015AD 7D09              MOV     R5,#09H
-0015AF 910E              ACALL   _IPC_TxHidData
-  147: 	}
-0015B1 E4                CLR     A
-0015B2 904DE4            MOV     DPTR,#mult_key_status
-0015B5 F0                MOVX    @DPTR,A
-  148: }
-  149: 
-0015B6         ?C0031?KB_PROCESS:
-0015B6 22                RET     
------ FUNCTION kb_24g_get_led_status (END) -------
+----- FUNCTION _GPIO_Setoe (BEGIN) -----
+;---- Variable 'gpio_num' assigned to Register 'R7' ----
+0015AD EF                MOV     A,R7
+0015AE F4                CPL     A
+0015AF 600C              JZ      ?C0013?GPIO
+0015B1         ?C0012?GPIO:
+0015B1 7B01              MOV     R3,#01H
+0015B3 7A80              MOV     R2,#080H
+0015B5 7970              MOV     R1,#070H
+0015B7 A204              MOV     C,bit_val
+0015B9 9200              MOV     ?_gpioSetBit?BIT,C
+0015BB B1CF              ACALL   _gpioSetBit
+0015BD         ?C0013?GPIO:
+0015BD 22                RET     
+----- FUNCTION _GPIO_Setoe (END) -------
 
 
------ FUNCTION kb_cb_Timer100ms (BEGIN) -----
- FILE: 'sys.c'
-  305: static void kb_cb_Timer100ms()
-  306: {
-  307: 
-  308: 	if (g_variable.delay_enter_lpm_timer) 
-0015B7 904CEA            MOV     DPTR,#g_variable+02BH
-0015BA E0                MOVX    A,@DPTR
-0015BB 6002              JZ      ?C0063?SYS
-  309: 	{
-  310: 		g_variable.delay_enter_lpm_timer --;
-0015BD 14                DEC     A
-0015BE F0                MOVX    @DPTR,A
-  311: 	}
-0015BF         ?C0063?SYS:
-  312: 
-  313: 	if(g_variable.recon_delay)
-0015BF 904CEF            MOV     DPTR,#g_variable+030H
-0015C2 E0                MOVX    A,@DPTR
-0015C3 6002              JZ      ?C0064?SYS
-  314: 		g_variable.recon_delay--;
-0015C5 14                DEC     A
-0015C6 F0                MOVX    @DPTR,A
-0015C7         ?C0064?SYS:
-  315: 
-  316: 	if (g_variable.powerOn_timer != 0)
-0015C7 904CE5            MOV     DPTR,#g_variable+026H
-0015CA E0                MOVX    A,@DPTR
-0015CB 600F              JZ      ?C0065?SYS
-  317: 	{	
-  318: 		g_variable.powerOn_timer--;
-0015CD 14                DEC     A
-0015CE F0                MOVX    @DPTR,A
-  319: 		LED_device_poweron();
-0015CF 1207F8            LCALL   LED_device_poweron
-  320: 		if (!g_variable.powerOn_timer)
-0015D2 904CE5            MOV     DPTR,#g_variable+026H
-0015D5 E0                MOVX    A,@DPTR
-0015D6 702F              JNZ     ?C0067?SYS
-  321: 		{
-  322: 			LED_device_poweroff();
-0015D8 F1AC              ACALL   LED_device_poweroff
-  323: 		}
-  324: 	}
-0015DA 802B              SJMP    ?C0067?SYS
-0015DC         ?C0065?SYS:
-  325: 	else
-  326: 	if (g_variable.pairing_g24_timeout == 0) //bt  pairing
-0015DC 904CEE            MOV     DPTR,#g_variable+02FH
-0015DF E0                MOVX    A,@DPTR
-0015E0 7025              JNZ     ?C0067?SYS
-  327: 	{
-  328: 		if(g_variable.battery_low_led_flash_interval)
-0015E2 904CE2            MOV     DPTR,#g_variable+023H
-0015E5 E0                MOVX    A,@DPTR
-0015E6 601F              JZ      ?C0067?SYS
-  329: 		{
-  330: 			g_variable.battery_low_led_flash_interval--;
-0015E8 14                DEC     A
-0015E9 F0                MOVX    @DPTR,A
-  331: 			if(g_variable.battery_low_led_flash_interval & 0x02)
-0015EA E0                MOVX    A,@DPTR
-0015EB 30E109            JNB     ACC.1,?C0070?SYS
-  332: 			{
-  333: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_ON);
-0015EE D201              SETB    ?_GPIO_Setout?BIT
-0015F0 7F1D              MOV     R7,#01DH
-0015F2 12078B            LCALL   _GPIO_Setout
-  334: 			}
-0015F5 8007              SJMP    ?C0071?SYS
-0015F7         ?C0070?SYS:
-  335: 			else
-  336: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);	
-0015F7 C201              CLR     ?_GPIO_Setout?BIT
-0015F9 7F1D              MOV     R7,#01DH
-0015FB 12078B            LCALL   _GPIO_Setout
-0015FE         ?C0071?SYS:
-  337: 			if(!g_variable.battery_low_led_flash_interval)
-0015FE 904CE2            MOV     DPTR,#g_variable+023H
-001601 E0                MOVX    A,@DPTR
-001602 7003              JNZ     ?C0067?SYS
-  338: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
-001604 7404              MOV     A,#04H
-001606 F0                MOVX    @DPTR,A
-  339: 		}
-  340: 	}
-001607         ?C0067?SYS:
-  341: 	
-  342: // The dongle must receive data within 200ms, otherwise it will be forced to lift
-  343: 	if(!long_press_flag)
-001607 904DD5            MOV     DPTR,#long_press_flag
-00160A E0                MOVX    A,@DPTR
-00160B 702B              JNZ     ?C0073?SYS
-  344: 	{
-  345: 		if (repeat_send_24g == 1)
-00160D 904DD6            MOV     DPTR,#repeat_send_24g
+----- FUNCTION _GPIO_SetPd (BEGIN) -----
+;---- Variable 'gpio_num' assigned to Register 'R7' ----
+0015BE EF                MOV     A,R7
+0015BF F4                CPL     A
+0015C0 600C              JZ      ?C0011?GPIO
+0015C2         ?C0010?GPIO:
+0015C2 7B01              MOV     R3,#01H
+0015C4 7A80              MOV     R2,#080H
+0015C6 797C              MOV     R1,#07CH
+0015C8 A203              MOV     C,bit_val
+0015CA 9200              MOV     ?_gpioSetBit?BIT,C
+0015CC B1CF              ACALL   _gpioSetBit
+0015CE         ?C0011?GPIO:
+0015CE 22                RET     
+----- FUNCTION _GPIO_SetPd (END) -------
+
+
+----- FUNCTION _gpioSetBit (BEGIN) -----
+0015CF 904E84            MOV     DPTR,#reg_base
+0015D2 EB                MOV     A,R3
+0015D3 F0                MOVX    @DPTR,A
+0015D4 A3                INC     DPTR
+0015D5 EA                MOV     A,R2
+0015D6 F0                MOVX    @DPTR,A
+0015D7 A3                INC     DPTR
+0015D8 E9                MOV     A,R1
+0015D9 F0                MOVX    @DPTR,A
+;---- Variable 'gpio_num' assigned to Register 'R7' ----
+;---- Variable 'queue' assigned to Register 'R6' ----
+0015DA E4                CLR     A
+0015DB FE                MOV     R6,A
+;---- Variable 'group' assigned to Register 'R5' ----
+0015DC FD                MOV     R5,A
+0015DD EF                MOV     A,R7
+0015DE 5407              ANL     A,#07H
+0015E0 FE                MOV     R6,A
+0015E1 EF                MOV     A,R7
+0015E2 13                RRC     A
+0015E3 13                RRC     A
+0015E4 13                RRC     A
+0015E5 5403              ANL     A,#03H
+0015E7 FD                MOV     R5,A
+0015E8 300022            JNB     bit_val,?C0001?GPIO
+0015EB 904E84            MOV     DPTR,#reg_base
+0015EE E0                MOVX    A,@DPTR
+0015EF FB                MOV     R3,A
+0015F0 A3                INC     DPTR
+0015F1 E0                MOVX    A,@DPTR
+0015F2 FA                MOV     R2,A
+0015F3 A3                INC     DPTR
+0015F4 E0                MOVX    A,@DPTR
+0015F5 2D                ADD     A,R5
+0015F6 F9                MOV     R1,A
+0015F7 E4                CLR     A
+0015F8 3A                ADDC    A,R2
+0015F9 FA                MOV     R2,A
+0015FA 1203B6            LCALL   ?C?CLDPTR
+0015FD FF                MOV     R7,A
+0015FE 7401              MOV     A,#01H
+001600 A806              MOV     R0,AR6
+001602 08                INC     R0
+001603 8002              SJMP    ?C0031?GPIO
+001605         ?C0030?GPIO:
+001605 C3                CLR     C
+001606 33                RLC     A
+001607         ?C0031?GPIO:
+001607 D8FC              DJNZ    R0,?C0030?GPIO
+001609 4F                ORL     A,R7
+00160A 0203FC            LJMP    ?C?CSTPTR
+00160D         ?C0001?GPIO:
+00160D 904E84            MOV     DPTR,#reg_base
 001610 E0                MOVX    A,@DPTR
-001611 6401              XRL     A,#01H
-001613 7023              JNZ     ?C0073?SYS
-  346: 		{
-  347: 			repeat_send_24g = 0;
-001615 F0                MOVX    @DPTR,A
-  348: 
-  349: 			 if (multikey[0] != 0)
-001616 904DE5            MOV     DPTR,#multikey
-001619 E0                MOVX    A,@DPTR
-00161A 600C              JZ      ?C0075?SYS
-  350: 			{
-  351: 				IPC_TxHidData(multikey, 3);
-00161C 7B01              MOV     R3,#01H
-00161E 7A4D              MOV     R2,#HIGH multikey
-001620 79E5              MOV     R1,#LOW multikey
-001622 7D03              MOV     R5,#03H
-001624 910E              ACALL   _IPC_TxHidData
-  352: 			}
-001626 8010              SJMP    ?C0073?SYS
-001628         ?C0075?SYS:
-  353: 			else if (hidBuff[0] != 0)
-001628 904800            MOV     DPTR,#hidBuff
-00162B E0                MOVX    A,@DPTR
-00162C 600A              JZ      ?C0073?SYS
-  354: 			{
-  355: 
-  356: 				IPC_TxHidData(hidBuff,9);
-00162E 7B01              MOV     R3,#01H
-001630 7A48              MOV     R2,#HIGH hidBuff
-001632 7900              MOV     R1,#LOW hidBuff
-001634 7D09              MOV     R5,#09H
-001636 910E              ACALL   _IPC_TxHidData
-  357: 			}
-  358: 		}
-  359: 	}
-001638         ?C0073?SYS:
-  360: 
-  361: 	if (delayChgInvTimer != 0){
-001638 904DDE            MOV     DPTR,#delayChgInvTimer
-00163B E0                MOVX    A,@DPTR
-00163C 6003              JZ      ?C0079?SYS
-  362: 		delayChgInvTimer--;
-00163E E0                MOVX    A,@DPTR
-00163F 14                DEC     A
-001640 F0                MOVX    @DPTR,A
-  363: 	}
-  364: }
-001641         ?C0079?SYS:
-001641 22                RET     
------ FUNCTION kb_cb_Timer100ms (END) -------
+001611 FB                MOV     R3,A
+001612 A3                INC     DPTR
+001613 E0                MOVX    A,@DPTR
+001614 FA                MOV     R2,A
+001615 A3                INC     DPTR
+001616 E0                MOVX    A,@DPTR
+001617 2D                ADD     A,R5
+001618 F9                MOV     R1,A
+001619 E4                CLR     A
+00161A 3A                ADDC    A,R2
+00161B FA                MOV     R2,A
+00161C 1203B6            LCALL   ?C?CLDPTR
+00161F FF                MOV     R7,A
+001620 7401              MOV     A,#01H
+001622 A806              MOV     R0,AR6
+001624 08                INC     R0
+001625 8002              SJMP    ?C0033?GPIO
+001627         ?C0032?GPIO:
+001627 C3                CLR     C
+001628 33                RLC     A
+001629         ?C0033?GPIO:
+001629 D8FC              DJNZ    R0,?C0032?GPIO
+00162B F4                CPL     A
+00162C 5F                ANL     A,R7
+00162D 0203FC            LJMP    ?C?CSTPTR
+----- FUNCTION _gpioSetBit (END) -------
 
 
------ FUNCTION _IIC_write (BEGIN) -----
-001642 904E3F            MOV     DPTR,#addr
-001645 EE                MOV     A,R6
-001646 F0                MOVX    @DPTR,A
-001647 A3                INC     DPTR
-001648 EF                MOV     A,R7
+----- FUNCTION ksRawInitialize (BEGIN) -----
+ FILE: 'keyscan.c'
+  189: static void ksRawInitialize()
+  190: {
+  191: 	byte i = 0;
+  192: 	
+001630 E4                CLR     A
+001631 904E8F            MOV     DPTR,#i
+001634 F0                MOVX    @DPTR,A
+  193: 	for (i=0; i<8; i++) {
+001635 F0                MOVX    @DPTR,A
+001636         ?C0028?KEYSCAN:
+001636 904E8F            MOV     DPTR,#i
+001639 E0                MOVX    A,@DPTR
+00163A FF                MOV     R7,A
+00163B C3                CLR     C
+00163C 9408              SUBB    A,#08H
+00163E 500C              JNC     ?C0031?KEYSCAN
+  194: 		GPIO_SetInput(i, 0);
+001640 C205              CLR     ?_GPIO_SetInput?BIT
+001642 B18F              ACALL   _GPIO_SetInput
+  195: 	}
+001644 904E8F            MOV     DPTR,#i
+001647 E0                MOVX    A,@DPTR
+001648 04                INC     A
 001649 F0                MOVX    @DPTR,A
-00164A 904E43            MOV     DPTR,#pbuff
-00164D EB                MOV     A,R3
-00164E F0                MOVX    @DPTR,A
-00164F A3                INC     DPTR
-001650 EA                MOV     A,R2
+00164A 80EA              SJMP    ?C0028?KEYSCAN
+  196: }
+00164C         ?C0031?KEYSCAN:
+00164C 22                RET     
+----- FUNCTION ksRawInitialize (END) -------
+
+
+----- FUNCTION _IIC_write (BEGIN) -----
+00164D 904E3F            MOV     DPTR,#addr
+001650 EE                MOV     A,R6
 001651 F0                MOVX    @DPTR,A
 001652 A3                INC     DPTR
-001653 E9                MOV     A,R1
+001653 EF                MOV     A,R7
 001654 F0                MOVX    @DPTR,A
-001655 904E41            MOV     DPTR,#len
-001658 EC                MOV     A,R4
+001655 904E43            MOV     DPTR,#pbuff
+001658 EB                MOV     A,R3
 001659 F0                MOVX    @DPTR,A
 00165A A3                INC     DPTR
-00165B ED                MOV     A,R5
+00165B EA                MOV     A,R2
 00165C F0                MOVX    @DPTR,A
 00165D A3                INC     DPTR
-00165E E0                MOVX    A,@DPTR
-00165F F9                MOV     R1,A
-001660 A3                INC     DPTR
-001661 E0                MOVX    A,@DPTR
-001662 FA                MOV     R2,A
-001663 A3                INC     DPTR
-001664 E0                MOVX    A,@DPTR
-001665 904E2C            MOV     DPTR,#?_dmemcpy?BYTE+03H
-001668 C9                XCH     A,R1
-001669 F0                MOVX    @DPTR,A
-00166A A3                INC     DPTR
-00166B EA                MOV     A,R2
-00166C F0                MOVX    @DPTR,A
-00166D A3                INC     DPTR
-00166E E9                MOV     A,R1
-00166F F0                MOVX    @DPTR,A
-001670 A3                INC     DPTR
-001671 EC                MOV     A,R4
-001672 F0                MOVX    @DPTR,A
-001673 A3                INC     DPTR
-001674 ED                MOV     A,R5
-001675 F0                MOVX    @DPTR,A
-001676 7B01              MOV     R3,#01H
-001678 7A0B              MOV     R2,#HIGH IIC_TempBuff+03H
-00167A 7986              MOV     R1,#LOW IIC_TempBuff+03H
-00167C 1224B1            LCALL   _dmemcpy
-00167F 900B83            MOV     DPTR,#IIC_TempBuff
-001682 74A0              MOV     A,#0A0H
-001684 F0                MOVX    @DPTR,A
-001685 904E3F            MOV     DPTR,#addr
-001688 E0                MOVX    A,@DPTR
-001689 FF                MOV     R7,A
-00168A A3                INC     DPTR
-00168B E0                MOVX    A,@DPTR
-00168C 900B84            MOV     DPTR,#IIC_TempBuff+01H
-00168F CF                XCH     A,R7
-001690 F0                MOVX    @DPTR,A
-001691 A3                INC     DPTR
-001692 EF                MOV     A,R7
-001693 F0                MOVX    @DPTR,A
-001694 904E42            MOV     DPTR,#len+01H
-001697 E0                MOVX    A,@DPTR
-001698 2403              ADD     A,#03H
-00169A FD                MOV     R5,A
-00169B 904E41            MOV     DPTR,#len
-00169E E0                MOVX    A,@DPTR
-00169F 3400              ADDC    A,#00H
-0016A1 FC                MOV     R4,A
-0016A2 ED                MOV     A,R5
-0016A3 FA                MOV     R2,A
-0016A4 EC                MOV     A,R4
-0016A5 FF                MOV     R7,A
-0016A6 EA                MOV     A,R2
-0016A7 FE                MOV     R6,A
-0016A8 EF                MOV     A,R7
-0016A9 908098            MOV     DPTR,#08098H
-0016AC EE                MOV     A,R6
-0016AD F0                MOVX    @DPTR,A
-0016AE A3                INC     DPTR
-0016AF EF                MOV     A,R7
-0016B0 F0                MOVX    @DPTR,A
-0016B1 7A0B              MOV     R2,#HIGH IIC_TempBuff
-0016B3 7983              MOV     R1,#LOW IIC_TempBuff
-0016B5 7E0B              MOV     R6,#HIGH IIC_TempBuff
-0016B7 7F83              MOV     R7,#LOW IIC_TempBuff
-0016B9 7483              MOV     A,#LOW IIC_TempBuff
-0016BB FC                MOV     R4,A
-0016BC 740B              MOV     A,#HIGH IIC_TempBuff
-0016BE FF                MOV     R7,A
-0016BF EC                MOV     A,R4
-0016C0 FE                MOV     R6,A
-0016C1 EF                MOV     A,R7
-0016C2 A3                INC     DPTR
-0016C3 EE                MOV     A,R6
-0016C4 F0                MOVX    @DPTR,A
-0016C5 A3                INC     DPTR
-0016C6 EF                MOV     A,R7
-0016C7 F0                MOVX    @DPTR,A
-0016C8 90809E            MOV     DPTR,#0809EH
-0016CB E4                CLR     A
-0016CC F0                MOVX    @DPTR,A
+00165E E9                MOV     A,R1
+00165F F0                MOVX    @DPTR,A
+001660 904E41            MOV     DPTR,#len
+001663 EC                MOV     A,R4
+001664 F0                MOVX    @DPTR,A
+001665 A3                INC     DPTR
+001666 ED                MOV     A,R5
+001667 F0                MOVX    @DPTR,A
+001668 A3                INC     DPTR
+001669 E0                MOVX    A,@DPTR
+00166A F9                MOV     R1,A
+00166B A3                INC     DPTR
+00166C E0                MOVX    A,@DPTR
+00166D FA                MOV     R2,A
+00166E A3                INC     DPTR
+00166F E0                MOVX    A,@DPTR
+001670 904E2C            MOV     DPTR,#?_dmemcpy?BYTE+03H
+001673 C9                XCH     A,R1
+001674 F0                MOVX    @DPTR,A
+001675 A3                INC     DPTR
+001676 EA                MOV     A,R2
+001677 F0                MOVX    @DPTR,A
+001678 A3                INC     DPTR
+001679 E9                MOV     A,R1
+00167A F0                MOVX    @DPTR,A
+00167B A3                INC     DPTR
+00167C EC                MOV     A,R4
+00167D F0                MOVX    @DPTR,A
+00167E A3                INC     DPTR
+00167F ED                MOV     A,R5
+001680 F0                MOVX    @DPTR,A
+001681 7B01              MOV     R3,#01H
+001683 7A0B              MOV     R2,#HIGH IIC_TempBuff+03H
+001685 7986              MOV     R1,#LOW IIC_TempBuff+03H
+001687 1221E0            LCALL   _dmemcpy
+00168A 900B83            MOV     DPTR,#IIC_TempBuff
+00168D 74A0              MOV     A,#0A0H
+00168F F0                MOVX    @DPTR,A
+001690 904E3F            MOV     DPTR,#addr
+001693 E0                MOVX    A,@DPTR
+001694 FF                MOV     R7,A
+001695 A3                INC     DPTR
+001696 E0                MOVX    A,@DPTR
+001697 900B84            MOV     DPTR,#IIC_TempBuff+01H
+00169A CF                XCH     A,R7
+00169B F0                MOVX    @DPTR,A
+00169C A3                INC     DPTR
+00169D EF                MOV     A,R7
+00169E F0                MOVX    @DPTR,A
+00169F 904E42            MOV     DPTR,#len+01H
+0016A2 E0                MOVX    A,@DPTR
+0016A3 2403              ADD     A,#03H
+0016A5 FD                MOV     R5,A
+0016A6 904E41            MOV     DPTR,#len
+0016A9 E0                MOVX    A,@DPTR
+0016AA 3400              ADDC    A,#00H
+0016AC FC                MOV     R4,A
+0016AD ED                MOV     A,R5
+0016AE FA                MOV     R2,A
+0016AF EC                MOV     A,R4
+0016B0 FF                MOV     R7,A
+0016B1 EA                MOV     A,R2
+0016B2 FE                MOV     R6,A
+0016B3 EF                MOV     A,R7
+0016B4 908098            MOV     DPTR,#08098H
+0016B7 EE                MOV     A,R6
+0016B8 F0                MOVX    @DPTR,A
+0016B9 A3                INC     DPTR
+0016BA EF                MOV     A,R7
+0016BB F0                MOVX    @DPTR,A
+0016BC 7A0B              MOV     R2,#HIGH IIC_TempBuff
+0016BE 7983              MOV     R1,#LOW IIC_TempBuff
+0016C0 7E0B              MOV     R6,#HIGH IIC_TempBuff
+0016C2 7F83              MOV     R7,#LOW IIC_TempBuff
+0016C4 7483              MOV     A,#LOW IIC_TempBuff
+0016C6 FC                MOV     R4,A
+0016C7 740B              MOV     A,#HIGH IIC_TempBuff
+0016C9 FF                MOV     R7,A
+0016CA EC                MOV     A,R4
+0016CB FE                MOV     R6,A
+0016CC EF                MOV     A,R7
 0016CD A3                INC     DPTR
-0016CE F0                MOVX    @DPTR,A
-0016CF 908090            MOV     DPTR,#08090H
-0016D2 04                INC     A
-0016D3 F0                MOVX    @DPTR,A
-0016D4 908006            MOV     DPTR,#08006H
-0016D7 E0                MOVX    A,@DPTR
-0016D8 4404              ORL     A,#04H
-0016DA F0                MOVX    @DPTR,A
+0016CE EE                MOV     A,R6
+0016CF F0                MOVX    @DPTR,A
+0016D0 A3                INC     DPTR
+0016D1 EF                MOV     A,R7
+0016D2 F0                MOVX    @DPTR,A
+0016D3 90809E            MOV     DPTR,#0809EH
+0016D6 E4                CLR     A
+0016D7 F0                MOVX    @DPTR,A
+0016D8 A3                INC     DPTR
+0016D9 F0                MOVX    @DPTR,A
+0016DA 908090            MOV     DPTR,#08090H
+0016DD 04                INC     A
+0016DE F0                MOVX    @DPTR,A
+0016DF 908006            MOV     DPTR,#08006H
+0016E2 E0                MOVX    A,@DPTR
+0016E3 4404              ORL     A,#04H
+0016E5 F0                MOVX    @DPTR,A
 ;----                  JMP     IIcWaitDone
 ----- FUNCTION _IIC_write (END) -------
 
 
 ----- FUNCTION IIcWaitDone (BEGIN) -----
-0016DB         ?C0001?IIC:
-0016DB 90812C            MOV     DPTR,#0812CH
-0016DE E0                MOVX    A,@DPTR
-0016DF 30E5F9            JNB     ACC.5,?C0001?IIC
-0016E2 22                RET     
+0016E6         ?C0001?IIC:
+0016E6 90812C            MOV     DPTR,#0812CH
+0016E9 E0                MOVX    A,@DPTR
+0016EA 30E5F9            JNB     ACC.5,?C0001?IIC
+0016ED 22                RET     
 ----- FUNCTION IIcWaitDone (END) -------
 
 
 ----- FUNCTION IPC_DealSingleStep (BEGIN) -----
-0016E3 7A0C              MOV     R2,#HIGH ipcReadBuff
-0016E5 794B              MOV     R1,#LOW ipcReadBuff
-0016E7 904E7B            MOV     DPTR,#pbuff
-0016EA 7401              MOV     A,#01H
-0016EC F0                MOVX    @DPTR,A
-0016ED A3                INC     DPTR
-0016EE 740C              MOV     A,#HIGH ipcReadBuff
-0016F0 F0                MOVX    @DPTR,A
-0016F1 A3                INC     DPTR
-0016F2 744B              MOV     A,#LOW ipcReadBuff
-0016F4 F0                MOVX    @DPTR,A
-0016F5 904BA0            MOV     DPTR,#ipcRxWritePtr
-0016F8 E0                MOVX    A,@DPTR
-0016F9 FE                MOV     R6,A
-0016FA A3                INC     DPTR
-0016FB E0                MOVX    A,@DPTR
-0016FC FF                MOV     R7,A
-0016FD 904B9E            MOV     DPTR,#ipcRxReadPtr
-001700 E0                MOVX    A,@DPTR
-001701 6E                XRL     A,R6
-001702 7003              JNZ     ?C0038?IPC
-001704 A3                INC     DPTR
-001705 E0                MOVX    A,@DPTR
-001706 6F                XRL     A,R7
-001707         ?C0038?IPC:
-001707 6047              JZ      ?C0029?IPC
-001709         ?C0023?IPC:
-001709 7E0C              MOV     R6,#HIGH ipcReadBuff
-00170B 7F4B              MOV     R7,#LOW ipcReadBuff
-00170D 7D03              MOV     R5,#03H
-00170F 122454            LCALL   _ipcRx
-001712 904E7B            MOV     DPTR,#pbuff
-001715 E0                MOVX    A,@DPTR
-001716 FB                MOV     R3,A
-001717 A3                INC     DPTR
-001718 E0                MOVX    A,@DPTR
-001719 FA                MOV     R2,A
-00171A A3                INC     DPTR
-00171B E0                MOVX    A,@DPTR
-00171C F9                MOV     R1,A
-00171D 1203B6            LCALL   ?C?CLDPTR
-001720 B4022B            CJNE    A,#02H,?C0027?IPC
-001723 904E7C            MOV     DPTR,#pbuff+01H
-001726 E4                CLR     A
-001727 75F002            MOV     B,#02H
-00172A 12040E            LCALL   ?C?IILDX
-00172D 904E7B            MOV     DPTR,#pbuff
-001730 E0                MOVX    A,@DPTR
-001731 FB                MOV     R3,A
-001732 A3                INC     DPTR
-001733 E0                MOVX    A,@DPTR
-001734 FA                MOV     R2,A
-001735 A3                INC     DPTR
-001736 E0                MOVX    A,@DPTR
-001737 F9                MOV     R1,A
-001738 1203B6            LCALL   ?C?CLDPTR
-00173B FF                MOV     R7,A
-00173C 904E00            MOV     DPTR,#ipcCb
-00173F E0                MOVX    A,@DPTR
+0016EE 7A0C              MOV     R2,#HIGH ipcReadBuff
+0016F0 794B              MOV     R1,#LOW ipcReadBuff
+0016F2 904E7B            MOV     DPTR,#pbuff
+0016F5 7401              MOV     A,#01H
+0016F7 F0                MOVX    @DPTR,A
+0016F8 A3                INC     DPTR
+0016F9 740C              MOV     A,#HIGH ipcReadBuff
+0016FB F0                MOVX    @DPTR,A
+0016FC A3                INC     DPTR
+0016FD 744B              MOV     A,#LOW ipcReadBuff
+0016FF F0                MOVX    @DPTR,A
+001700 904BA0            MOV     DPTR,#ipcRxWritePtr
+001703 E0                MOVX    A,@DPTR
+001704 FE                MOV     R6,A
+001705 A3                INC     DPTR
+001706 E0                MOVX    A,@DPTR
+001707 FF                MOV     R7,A
+001708 904B9E            MOV     DPTR,#ipcRxReadPtr
+00170B E0                MOVX    A,@DPTR
+00170C 6E                XRL     A,R6
+00170D 7003              JNZ     ?C0038?IPC
+00170F A3                INC     DPTR
+001710 E0                MOVX    A,@DPTR
+001711 6F                XRL     A,R7
+001712         ?C0038?IPC:
+001712 6047              JZ      ?C0029?IPC
+001714         ?C0023?IPC:
+001714 7E0C              MOV     R6,#HIGH ipcReadBuff
+001716 7F4B              MOV     R7,#LOW ipcReadBuff
+001718 7D03              MOV     R5,#03H
+00171A 122183            LCALL   _ipcRx
+00171D 904E7B            MOV     DPTR,#pbuff
+001720 E0                MOVX    A,@DPTR
+001721 FB                MOV     R3,A
+001722 A3                INC     DPTR
+001723 E0                MOVX    A,@DPTR
+001724 FA                MOV     R2,A
+001725 A3                INC     DPTR
+001726 E0                MOVX    A,@DPTR
+001727 F9                MOV     R1,A
+001728 1203B6            LCALL   ?C?CLDPTR
+00172B B4022B            CJNE    A,#02H,?C0027?IPC
+00172E 904E7C            MOV     DPTR,#pbuff+01H
+001731 E4                CLR     A
+001732 75F002            MOV     B,#02H
+001735 12040E            LCALL   ?C?IILDX
+001738 904E7B            MOV     DPTR,#pbuff
+00173B E0                MOVX    A,@DPTR
+00173C FB                MOV     R3,A
+00173D A3                INC     DPTR
+00173E E0                MOVX    A,@DPTR
+00173F FA                MOV     R2,A
 001740 A3                INC     DPTR
 001741 E0                MOVX    A,@DPTR
-001742 FA                MOV     R2,A
-001743 A3                INC     DPTR
-001744 E0                MOVX    A,@DPTR
-001745 F582              MOV     DPL,A
-001747 8A83              MOV     DPH,R2
-001749 120568            LCALL   ?C?ICALL2
-00174C 8002              SJMP    ?C0029?IPC
-00174E         ?C0027?IPC:
-00174E 80FE              SJMP    ?C0027?IPC
-001750         IPC_TIMER:
-001750         ?C0029?IPC:
-001750 904BA5            MOV     DPTR,#bttimer
-001753 E0                MOVX    A,@DPTR
-001754 FE                MOV     R6,A
-001755 A3                INC     DPTR
-001756 E0                MOVX    A,@DPTR
-001757 FF                MOV     R7,A
-001758 904C5E            MOV     DPTR,#c51timer
-00175B E0                MOVX    A,@DPTR
-00175C 6E                XRL     A,R6
-00175D 7003              JNZ     ?C0039?IPC
-00175F A3                INC     DPTR
-001760 E0                MOVX    A,@DPTR
-001761 6F                XRL     A,R7
-001762         ?C0039?IPC:
-001762 6022              JZ      ?C0033?IPC
-001764 904E06            MOV     DPTR,#ipcCb+06H
-001767 E0                MOVX    A,@DPTR
-001768 FB                MOV     R3,A
-001769 A3                INC     DPTR
-00176A E0                MOVX    A,@DPTR
-00176B FA                MOV     R2,A
-00176C A3                INC     DPTR
-00176D E0                MOVX    A,@DPTR
-00176E F9                MOV     R1,A
-00176F 4A                ORL     A,R2
-001770 6037              JZ      ?C0032?IPC
-001772         ?C0031?IPC:
-001772 120564            LCALL   ?C?ICALL
-001775 904BA5            MOV     DPTR,#bttimer
+001742 F9                MOV     R1,A
+001743 1203B6            LCALL   ?C?CLDPTR
+001746 FF                MOV     R7,A
+001747 904E00            MOV     DPTR,#ipcCb
+00174A E0                MOVX    A,@DPTR
+00174B A3                INC     DPTR
+00174C E0                MOVX    A,@DPTR
+00174D FA                MOV     R2,A
+00174E A3                INC     DPTR
+00174F E0                MOVX    A,@DPTR
+001750 F582              MOV     DPL,A
+001752 8A83              MOV     DPH,R2
+001754 120568            LCALL   ?C?ICALL2
+001757 8002              SJMP    ?C0029?IPC
+001759         ?C0027?IPC:
+001759 80FE              SJMP    ?C0027?IPC
+00175B         IPC_TIMER:
+00175B         ?C0029?IPC:
+00175B 904BA5            MOV     DPTR,#bttimer
+00175E E0                MOVX    A,@DPTR
+00175F FE                MOV     R6,A
+001760 A3                INC     DPTR
+001761 E0                MOVX    A,@DPTR
+001762 FF                MOV     R7,A
+001763 904C5E            MOV     DPTR,#c51timer
+001766 E0                MOVX    A,@DPTR
+001767 6E                XRL     A,R6
+001768 7003              JNZ     ?C0039?IPC
+00176A A3                INC     DPTR
+00176B E0                MOVX    A,@DPTR
+00176C 6F                XRL     A,R7
+00176D         ?C0039?IPC:
+00176D 6022              JZ      ?C0033?IPC
+00176F 904E06            MOV     DPTR,#ipcCb+06H
+001772 E0                MOVX    A,@DPTR
+001773 FB                MOV     R3,A
+001774 A3                INC     DPTR
+001775 E0                MOVX    A,@DPTR
+001776 FA                MOV     R2,A
+001777 A3                INC     DPTR
 001778 E0                MOVX    A,@DPTR
-001779 FF                MOV     R7,A
-00177A A3                INC     DPTR
-00177B E0                MOVX    A,@DPTR
-00177C 904C5E            MOV     DPTR,#c51timer
-00177F CF                XCH     A,R7
-001780 F0                MOVX    @DPTR,A
-001781 A3                INC     DPTR
-001782 EF                MOV     A,R7
-001783 F0                MOVX    @DPTR,A
-001784 80CA              SJMP    ?C0029?IPC
-001786         ?C0033?IPC:
-001786 904C8D            MOV     DPTR,#btstimer
-001789 E0                MOVX    A,@DPTR
-00178A FF                MOV     R7,A
-00178B A3                INC     DPTR
-00178C E0                MOVX    A,@DPTR
-00178D 6F                XRL     A,R7
-00178E 6019              JZ      ?C0032?IPC
-001790 904E09            MOV     DPTR,#ipcCb+09H
-001793 E0                MOVX    A,@DPTR
-001794 FB                MOV     R3,A
-001795 A3                INC     DPTR
-001796 E0                MOVX    A,@DPTR
-001797 FA                MOV     R2,A
-001798 A3                INC     DPTR
-001799 E0                MOVX    A,@DPTR
-00179A F9                MOV     R1,A
-00179B 4A                ORL     A,R2
-00179C 600B              JZ      ?C0032?IPC
-00179E         ?C0035?IPC:
-00179E 120564            LCALL   ?C?ICALL
-0017A1 904C8D            MOV     DPTR,#btstimer
+001779 F9                MOV     R1,A
+00177A 4A                ORL     A,R2
+00177B 6037              JZ      ?C0032?IPC
+00177D         ?C0031?IPC:
+00177D 120564            LCALL   ?C?ICALL
+001780 904BA5            MOV     DPTR,#bttimer
+001783 E0                MOVX    A,@DPTR
+001784 FF                MOV     R7,A
+001785 A3                INC     DPTR
+001786 E0                MOVX    A,@DPTR
+001787 904C5E            MOV     DPTR,#c51timer
+00178A CF                XCH     A,R7
+00178B F0                MOVX    @DPTR,A
+00178C A3                INC     DPTR
+00178D EF                MOV     A,R7
+00178E F0                MOVX    @DPTR,A
+00178F 80CA              SJMP    ?C0029?IPC
+001791         ?C0033?IPC:
+001791 904C8D            MOV     DPTR,#btstimer
+001794 E0                MOVX    A,@DPTR
+001795 FF                MOV     R7,A
+001796 A3                INC     DPTR
+001797 E0                MOVX    A,@DPTR
+001798 6F                XRL     A,R7
+001799 6019              JZ      ?C0032?IPC
+00179B 904E09            MOV     DPTR,#ipcCb+09H
+00179E E0                MOVX    A,@DPTR
+00179F FB                MOV     R3,A
+0017A0 A3                INC     DPTR
+0017A1 E0                MOVX    A,@DPTR
+0017A2 FA                MOV     R2,A
+0017A3 A3                INC     DPTR
 0017A4 E0                MOVX    A,@DPTR
-0017A5 A3                INC     DPTR
-0017A6 F0                MOVX    @DPTR,A
-0017A7 80DD              SJMP    ?C0033?IPC
-0017A9         ?C0032?IPC:
-0017A9 22                RET     
+0017A5 F9                MOV     R1,A
+0017A6 4A                ORL     A,R2
+0017A7 600B              JZ      ?C0032?IPC
+0017A9         ?C0035?IPC:
+0017A9 120564            LCALL   ?C?ICALL
+0017AC 904C8D            MOV     DPTR,#btstimer
+0017AF E0                MOVX    A,@DPTR
+0017B0 A3                INC     DPTR
+0017B1 F0                MOVX    @DPTR,A
+0017B2 80DD              SJMP    ?C0033?IPC
+0017B4         ?C0032?IPC:
+0017B4 22                RET     
 ----- FUNCTION IPC_DealSingleStep (END) -------
 
 
@@ -3914,883 +3913,707 @@
     6: {
     7: 	YC_System_Main();
     8: }
-0017AA 21E3              AJMP    YC_System_Main
+0017B5 618B              AJMP    YC_System_Main
 ----- FUNCTION main (END) -------
 
 
------ FUNCTION LED_device_poweroff (BEGIN) -----
- FILE: 'led.c'
-   19: void LED_device_poweroff()
-   20: {
-   21: 	GPIO_Setout(G24_LED_GPIO,LED_OFF);
-   22: }
-0017AC C201              CLR     ?_GPIO_Setout?BIT
-0017AE 7F1D              MOV     R7,#01DH
-0017B0 02078B            LJMP    _GPIO_Setout
------ FUNCTION LED_device_poweroff (END) -------
-
-
 ----- FUNCTION IPC_AbandonLpm (BEGIN) -----
-0017B3 900B7F            MOV     DPTR,#lpm_flag
-0017B6 7401              MOV     A,#01H
-0017B8 F0                MOVX    @DPTR,A
-0017B9 E4                CLR     A
-0017BA 900B7E            MOV     DPTR,#current_task
-0017BD F0                MOVX    @DPTR,A
-0017BE 22                RET     
+0017B7 900B7F            MOV     DPTR,#lpm_flag
+0017BA 7401              MOV     A,#01H
+0017BC F0                MOVX    @DPTR,A
+0017BD E4                CLR     A
+0017BE 900B7E            MOV     DPTR,#current_task
+0017C1 F0                MOVX    @DPTR,A
+0017C2 22                RET     
 ----- FUNCTION IPC_AbandonLpm (END) -------
 
 
------ FUNCTION IPC_IsTxBuffEmpty (BEGIN) -----
-0017BF 904B9C            MOV     DPTR,#ipcTxWritePtr
-0017C2 E0                MOVX    A,@DPTR
-0017C3 FE                MOV     R6,A
-0017C4 A3                INC     DPTR
-0017C5 E0                MOVX    A,@DPTR
-0017C6 FF                MOV     R7,A
-0017C7 904B9A            MOV     DPTR,#ipcTxReadPtr
-0017CA E0                MOVX    A,@DPTR
-0017CB B50607            CJNE    A,AR6,?C0021?IPC
-0017CE A3                INC     DPTR
-0017CF E0                MOVX    A,@DPTR
-0017D0 B50702            CJNE    A,AR7,?C0021?IPC
-0017D3 D3                SETB    C
-0017D4 22                RET     
-0017D5         ?C0021?IPC:
-0017D5 C3                CLR     C
-0017D6 22                RET     
------ FUNCTION IPC_IsTxBuffEmpty (END) -------
-
-
------ FUNCTION _kb_set_multikey (BEGIN) -----
- FILE: 'kb_process.c'
-   91: void kb_set_multikey(word multikey_value)
-   92: {
-;---- Variable 'multikey_value' assigned to Register 'R4/R5' ----
-0017D7 AD07              MOV     R5,AR7
-0017D9 AC06              MOV     R4,AR6
-   93: 	if(mult_key_status != KEY_WAIT_RELEASE)
-   94: 	{
-0017DB 904DE4            MOV     DPTR,#mult_key_status
-0017DE E0                MOVX    A,@DPTR
-0017DF 6402              XRL     A,#02H
-0017E1 600E              JZ      ?C0025?KB_PROCESS
-   95: 		mult_key_status = KEY_PRESS;
-   96: 		multikey[0] = HID_REPORTID_2;
-0017E3 7401              MOV     A,#01H
-0017E5 F0                MOVX    @DPTR,A
-   97: 		multikey[1] = (multikey_value&0xff);
-0017E6 904DE5            MOV     DPTR,#multikey
-0017E9 04                INC     A
-0017EA F0                MOVX    @DPTR,A
-   98: 		multikey[2] = ((multikey_value>>8)&0xff);
-0017EB EF                MOV     A,R7
-0017EC A3                INC     DPTR
-0017ED F0                MOVX    @DPTR,A
-   99: 	}
-0017EE EE                MOV     A,R6
-0017EF A3                INC     DPTR
-0017F0 F0                MOVX    @DPTR,A
-  100: }
-  101: 
-0017F1         ?C0025?KB_PROCESS:
-0017F1 22                RET     
------ FUNCTION _kb_set_multikey (END) -------
+----- FUNCTION _GPIO_FlipOutBit (BEGIN) -----
+0017C3 904E96            MOV     DPTR,#gpio_num
+0017C6 EF                MOV     A,R7
+0017C7 F0                MOVX    @DPTR,A
+0017C8 7B01              MOV     R3,#01H
+0017CA 7A80              MOV     R2,#080H
+0017CC 7974              MOV     R1,#074H
+0017CE B13F              ACALL   _gpioGetBit
+0017D0 9209              MOV     st,C
+0017D2 904E96            MOV     DPTR,#gpio_num
+0017D5 E0                MOVX    A,@DPTR
+0017D6 FF                MOV     R7,A
+0017D7 A209              MOV     C,st
+0017D9 B3                CPL     C
+0017DA 9201              MOV     ?_GPIO_Setout?BIT,C
+0017DC 020784            LJMP    _GPIO_Setout
+----- FUNCTION _GPIO_FlipOutBit (END) -------
 
 
------ FUNCTION _key_replace (BEGIN) -----
+----- FUNCTION _kb_combination_key_press (BEGIN) -----
  FILE: 'kb_process.c'
-  316: byte key_replace(byte key_state, byte key_value , byte key_replace_value )
-  317: {
-;---- Variable 'key_state' assigned to Register 'R7' ----
-;---- Variable 'key_replace_value' assigned to Register 'R3' ----
-;---- Variable 'key_value' assigned to Register 'R5' ----
-  318: 	byte temp_value;
-  319: 
-  320: 	temp_value = key_value;
-0017F2 AE05              MOV     R6,AR5
-;---- Variable 'temp_value' assigned to Register 'R6' ----
-  321: 	if (key_state & 1)
-0017F4 EF                MOV     A,R7
-0017F5 30E00A            JNB     ACC.0,?C0073?KB_PROCESS
-  322: 	{
-  323: 		fn_tx_flag++;
-0017F8 904DD3            MOV     DPTR,#fn_tx_flag
-0017FB E0                MOVX    A,@DPTR
-0017FC 04                INC     A
-0017FD F0                MOVX    @DPTR,A
-  324: 		temp_value = key_replace_value;
-0017FE AE03              MOV     R6,AR3
-  325: 	}
-001800 800D              SJMP    ?C0074?KB_PROCESS
-001802         ?C0073?KB_PROCESS:
-  326: 	else
-  327: 	{
-  328: 		if(fn_tx_flag != 0)
-001802 904DD3            MOV     DPTR,#fn_tx_flag
-001805 E0                MOVX    A,@DPTR
-001806 6007              JZ      ?C0074?KB_PROCESS
-  329: 		{	
-  330: 			fn_tx_flag--;
-001808 E0                MOVX    A,@DPTR
-001809 14                DEC     A
-00180A F0                MOVX    @DPTR,A
-  331: 			temp_value = key_replace_value;
-00180B AF03              MOV     R7,AR3
-00180D AE07              MOV     R6,AR7
-  332: 		}
-  333: 	}
-00180F         ?C0074?KB_PROCESS:
-  334: 
-  335: 	return temp_value;
-00180F AF06              MOV     R7,AR6
+  319: void kb_combination_key_press(byte press_state,byte special_key,byte standrad_key)
+  320: {
+;---- Variable 'press_state' assigned to Register 'R7' ----
+;---- Variable 'standrad_key' assigned to Register 'R3' ----
+;---- Variable 'special_key' assigned to Register 'R5' ----
+  321: 	g_variable.key_combination_ctrl = special_key;	
+  322: 	g_variable.key_combination_keyvalue = standrad_key;
+0017DF 904CF5            MOV     DPTR,#g_variable+036H
+0017E2 ED                MOV     A,R5
+0017E3 F0                MOVX    @DPTR,A
+  323: 
+0017E4 A3                INC     DPTR
+0017E5 EB                MOV     A,R3
+0017E6 F0                MOVX    @DPTR,A
+  324: 	if(press_state & 1)
+0017E7 EF                MOV     A,R7
+0017E8 30E012            JNB     ACC.0,?C0076?KB_PROCESS
+  325: 	{
+  326: 		if(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE) 
+0017EB 904CF4            MOV     DPTR,#g_variable+035H
+0017EE E0                MOVX    A,@DPTR
+0017EF B40304            CJNE    A,#03H,?C0077?KB_PROCESS
+  327: 			g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
+0017F2 7402              MOV     A,#02H
+0017F4 F0                MOVX    @DPTR,A
+0017F5 22                RET     
+0017F6         ?C0077?KB_PROCESS:
+  328: 		else	
+  329: 			g_variable.key_combination_step = CAMBINATION_KEY_PRESS;
+0017F6 904CF4            MOV     DPTR,#g_variable+035H
+0017F9 7401              MOV     A,#01H
+0017FB F0                MOVX    @DPTR,A
+  330: 	}
+0017FC 22                RET     
+0017FD         ?C0076?KB_PROCESS:
+  331: 	else
+  332: 	{
+  333: 		g_variable.key_combination_step = CAMBINATION_KEY_WAIT_RELEASE;
+0017FD 904CF4            MOV     DPTR,#g_variable+035H
+001800 7404              MOV     A,#04H
+001802 F0                MOVX    @DPTR,A
+  334: 	}
+  335: 
   336: }
-001811 22                RET     
------ FUNCTION _key_replace (END) -------
+001803 22                RET     
+----- FUNCTION _kb_combination_key_press (END) -------
 
 
 ----- FUNCTION _key_fn_function (BEGIN) -----
  FILE: 'kb_process.c'
-  341: byte key_fn_function(byte state ,byte key_value)
-  342: {
+  339: byte key_fn_function(byte state ,byte key_value)
+  340: {
 ;---- Variable 'state' assigned to Register 'R6' ----
-001812 AE07              MOV     R6,AR7
-;---- Variable 'key_value' assigned to Register 'R4' ----
-001814 AC05              MOV     R4,AR5
-  343: 	byte temp = 0;
-  344: 
-001816 E4                CLR     A
-001817 904E8E            MOV     DPTR,#temp
-00181A F0                MOVX    @DPTR,A
-  345: 	temp = key_value;
-00181B EC                MOV     A,R4
-00181C F0                MOVX    @DPTR,A
-  346: 	if(fn_flag == 1)			// Fn lock
-00181D 904DDB            MOV     DPTR,#fn_flag
-001820 E0                MOVX    A,@DPTR
-001821 6401              XRL     A,#01H
-001823 6002              JZ      $ + 4H
-001825 2176              AJMP    ?C0077?KB_PROCESS
-  347: 	{
-  348: 		
-  349: 		switch (key_value)
-001827 EC                MOV     A,R4
-001828 24C6              ADD     A,#0C6H
-00182A B40C00            CJNE    A,#0CH,?C0145?KB_PROCESS
-00182D         ?C0145?KB_PROCESS:
-00182D 4002              JC      $ + 4H
-00182F 2176              AJMP    ?C0077?KB_PROCESS
-001831 90183F            MOV     DPTR,#0183FH
-001834 75F003            MOV     B,#03H
-001837 A4                MUL     AB
-001838 C583              XCH     A,DPH
-00183A 25F0              ADD     A,B
-00183C C583              XCH     A,DPH
-00183E 73                JMP     @A+DPTR
-00183F         ?C0146?KB_PROCESS:
-00183F 021863            LJMP    ?C0079?KB_PROCESS
-001842 021873            LJMP    ?C0080?KB_PROCESS
-001845 021883            LJMP    ?C0081?KB_PROCESS
-001848 0218AF            LJMP    ?C0084?KB_PROCESS
-00184B 0218DA            LJMP    ?C0087?KB_PROCESS
-00184E 021906            LJMP    ?C0090?KB_PROCESS
-001851 021916            LJMP    ?C0091?KB_PROCESS
-001854 021926            LJMP    ?C0092?KB_PROCESS
-001857 021936            LJMP    ?C0093?KB_PROCESS
-00185A 021946            LJMP    ?C0094?KB_PROCESS
-00185D 021956            LJMP    ?C0095?KB_PROCESS
-001860 021966            LJMP    ?C0096?KB_PROCESS
-  350: 		{ 
-  351: 			case HID_KEY_F1:
-001863         ?C0079?KB_PROCESS:
-  352: 				temp = key_replace(state,key_value,HID_MULTIKEY_LIGHT_DOWN);
+001804 AE07              MOV     R6,AR7
+;---- Variable 'key_value' assigned to Register 'R5' ----
+  341: 	byte temp = 0;
+  342: 
+001806 E4                CLR     A
+001807 904E8E            MOV     DPTR,#temp
+00180A F0                MOVX    @DPTR,A
+  343: 	temp = key_value;
+00180B ED                MOV     A,R5
+00180C F0                MOVX    @DPTR,A
+  344: 	if(fn_flag == 1)			// Fn lock
+00180D 904DDB            MOV     DPTR,#fn_flag
+001810 E0                MOVX    A,@DPTR
+001811 6401              XRL     A,#01H
+001813 6002              JZ      $ + 4H
+001815 01C9              AJMP    ?C0081?KB_PROCESS
+  345: 	{
+  346: 		
+  347: 		switch (key_value)
+001817 ED                MOV     A,R5
+001818 24C6              ADD     A,#0C6H
+00181A B40C00            CJNE    A,#0CH,?C0123?KB_PROCESS
+00181D         ?C0123?KB_PROCESS:
+00181D 4002              JC      $ + 4H
+00181F 01C9              AJMP    ?C0081?KB_PROCESS
+001821 90182F            MOV     DPTR,#0182FH
+001824 75F003            MOV     B,#03H
+001827 A4                MUL     AB
+001828 C583              XCH     A,DPH
+00182A 25F0              ADD     A,B
+00182C C583              XCH     A,DPH
+00182E 73                JMP     @A+DPTR
+00182F         ?C0124?KB_PROCESS:
+00182F 021853            LJMP    ?C0083?KB_PROCESS
+001832 02185B            LJMP    ?C0084?KB_PROCESS
+001835 021863            LJMP    ?C0085?KB_PROCESS
+001838 021873            LJMP    ?C0086?KB_PROCESS
+00183B 021883            LJMP    ?C0087?KB_PROCESS
+00183E 021893            LJMP    ?C0088?KB_PROCESS
+001841 02189B            LJMP    ?C0089?KB_PROCESS
+001844 0218A3            LJMP    ?C0090?KB_PROCESS
+001847 0218AB            LJMP    ?C0091?KB_PROCESS
+00184A 0218B3            LJMP    ?C0092?KB_PROCESS
+00184D 0218BB            LJMP    ?C0093?KB_PROCESS
+001850 0218C3            LJMP    ?C0094?KB_PROCESS
+  348: 		{ 
+  349: 			case HID_KEY_F1:
+001853         ?C0083?KB_PROCESS:
+  350: 				temp = HID_MULTIKEY_LIGHT_DOWN;
+001853 904E8E            MOV     DPTR,#temp
+001856 74D7              MOV     A,#0D7H
+001858 F0                MOVX    @DPTR,A
+  351: 				break;
+001859 806E              SJMP    ?C0081?KB_PROCESS
+  352: 			case HID_KEY_F2:
+00185B         ?C0084?KB_PROCESS:
+  353: 				temp = HID_MULTIKEY_LIGHT_UP;
+00185B 904E8E            MOV     DPTR,#temp
+00185E 74D8              MOV     A,#0D8H
+001860 F0                MOVX    @DPTR,A
+  354: 				break;
+001861 8066              SJMP    ?C0081?KB_PROCESS
+  355: 			case HID_KEY_F3:
+001863         ?C0085?KB_PROCESS:
+  356: 				kb_combination_key_press(state,KS_SEL_LALT,HID_KEY_TAB);
 001863 AF06              MOV     R7,AR6
-001865 AD04              MOV     R5,AR4
-001867 7BD7              MOV     R3,#0D7H
-001869 1217F2            LCALL   _key_replace
-00186C 904E8E            MOV     DPTR,#temp
-00186F EF                MOV     A,R7
+001865 7B2B              MOV     R3,#02BH
+001867 7D04              MOV     R5,#04H
+001869 1217DF            LCALL   _kb_combination_key_press
+  357: 				temp = HID_KEY_NULL;
+00186C E4                CLR     A
+00186D 904E8E            MOV     DPTR,#temp
 001870 F0                MOVX    @DPTR,A
-  353: 				break;
-001871 2176              AJMP    ?C0077?KB_PROCESS
-  354: 			case HID_KEY_F2:
-001873         ?C0080?KB_PROCESS:
-  355: 				temp = key_replace(state,key_value,HID_MULTIKEY_LIGHT_UP);
+  358: 				break;
+001871 8056              SJMP    ?C0081?KB_PROCESS
+  359: 			case HID_KEY_F4:
+001873         ?C0086?KB_PROCESS:
+  360: 				kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_D);
 001873 AF06              MOV     R7,AR6
-001875 AD04              MOV     R5,AR4
-001877 7BD8              MOV     R3,#0D8H
-001879 1217F2            LCALL   _key_replace
-00187C 904E8E            MOV     DPTR,#temp
-00187F EF                MOV     A,R7
+001875 7B07              MOV     R3,#07H
+001877 7D08              MOV     R5,#08H
+001879 1217DF            LCALL   _kb_combination_key_press
+  361: 				temp = HID_KEY_NULL;
+00187C E4                CLR     A
+00187D 904E8E            MOV     DPTR,#temp
 001880 F0                MOVX    @DPTR,A
-  356: 				break;
-001881 2176              AJMP    ?C0077?KB_PROCESS
-  357: 			case HID_KEY_F3:
-001883         ?C0081?KB_PROCESS:
-  358: 				g_variable.key_combination_ctrl = KS_SEL_LALT;
-001883 904CF5            MOV     DPTR,#g_variable+036H
-001886 7404              MOV     A,#04H
-001888 F0                MOVX    @DPTR,A
-  359: 					
-  360: 				g_variable.key_combination_keyvalue = HID_KEY_TAB;
-001889 A3                INC     DPTR
-00188A 742B              MOV     A,#02BH
-00188C F0                MOVX    @DPTR,A
-  361: 				
-  362: 				if(state & 1)
-00188D EE                MOV     A,R6
-00188E 30E008            JNB     ACC.0,?C0082?KB_PROCESS
-  363: 				{
-  364: 					g_variable.key_combination_step = CAMBINATION_KEY_PRESS;
-001891 904CF4            MOV     DPTR,#g_variable+035H
-001894 7401              MOV     A,#01H
-001896 F0                MOVX    @DPTR,A
-  365: 				}
-001897 8006              SJMP    ?C0083?KB_PROCESS
-001899         ?C0082?KB_PROCESS:
-  366: 				else
-  367: 				{
-  368: 					g_variable.key_combination_step = CAMBINATION_KEY_WAIT_RELEASE;
-001899 904CF4            MOV     DPTR,#g_variable+035H
-00189C 7404              MOV     A,#04H
-00189E F0                MOVX    @DPTR,A
-  369: 				}
-00189F         ?C0083?KB_PROCESS:
-  370: 				
-  371: 				temp = key_replace(state,key_value,HID_KEY_NULL);
-00189F AF06              MOV     R7,AR6
-0018A1 AD04              MOV     R5,AR4
-0018A3 E4                CLR     A
-0018A4 FB                MOV     R3,A
-0018A5 1217F2            LCALL   _key_replace
-0018A8 904E8E            MOV     DPTR,#temp
-0018AB EF                MOV     A,R7
-0018AC F0                MOVX    @DPTR,A
+  362: 				break;
+001881 8046              SJMP    ?C0081?KB_PROCESS
+  363: 			case HID_KEY_F5:
+001883         ?C0087?KB_PROCESS:
+  364: 				kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_LEFT_ARROW);
+001883 AF06              MOV     R7,AR6
+001885 7B50              MOV     R3,#050H
+001887 7D08              MOV     R5,#08H
+001889 1217DF            LCALL   _kb_combination_key_press
+  365: 				temp = HID_KEY_NULL;
+00188C E4                CLR     A
+00188D 904E8E            MOV     DPTR,#temp
+001890 F0                MOVX    @DPTR,A
+  366: 				break;
+001891 8036              SJMP    ?C0081?KB_PROCESS
+  367: 			case HID_KEY_F6:
+001893         ?C0088?KB_PROCESS:
+  368: 				temp = HID_MULTIKEY_AC_SEARCH;
+001893 904E8E            MOV     DPTR,#temp
+001896 74D5              MOV     A,#0D5H
+001898 F0                MOVX    @DPTR,A
+  369: 				break;
+001899 802E              SJMP    ?C0081?KB_PROCESS
+  370: 			case HID_KEY_F7:
+00189B         ?C0089?KB_PROCESS:
+  371: 				temp = HID_MULTIKEY_PRE_TRACK;
+00189B 904E8E            MOV     DPTR,#temp
+00189E 74F4              MOV     A,#0F4H
+0018A0 F0                MOVX    @DPTR,A
   372: 				break;
-0018AD 2176              AJMP    ?C0077?KB_PROCESS
-  373: 			case HID_KEY_F4:
-0018AF         ?C0084?KB_PROCESS:
-  374: 				g_variable.key_combination_ctrl = KS_SEL_LGUI;
-0018AF 904CF5            MOV     DPTR,#g_variable+036H
-0018B2 7408              MOV     A,#08H
-0018B4 F0                MOVX    @DPTR,A
-  375: 				g_variable.key_combination_keyvalue = HID_KEY_D;
-0018B5 A3                INC     DPTR
-0018B6 14                DEC     A
-0018B7 F0                MOVX    @DPTR,A
-  376: 				
-  377: 				if(state & 1)
-0018B8 EE                MOV     A,R6
-0018B9 30E008            JNB     ACC.0,?C0085?KB_PROCESS
-  378: 				{
-  379: 					g_variable.key_combination_step = CAMBINATION_KEY_PRESS;
-0018BC 904CF4            MOV     DPTR,#g_variable+035H
-0018BF 7401              MOV     A,#01H
-0018C1 F0                MOVX    @DPTR,A
-  380: 				}
-0018C2 8006              SJMP    ?C0086?KB_PROCESS
-0018C4         ?C0085?KB_PROCESS:
-  381: 				else
-  382: 				{
-  383: 					g_variable.key_combination_step = CAMBINATION_KEY_WAIT_RELEASE;
-0018C4 904CF4            MOV     DPTR,#g_variable+035H
-0018C7 7404              MOV     A,#04H
-0018C9 F0                MOVX    @DPTR,A
-  384: 				}
-0018CA         ?C0086?KB_PROCESS:
-  385: 				temp = key_replace(state,key_value,HID_KEY_NULL);
-0018CA AF06              MOV     R7,AR6
-0018CC AD04              MOV     R5,AR4
-0018CE E4                CLR     A
-0018CF FB                MOV     R3,A
-0018D0 1217F2            LCALL   _key_replace
-0018D3 904E8E            MOV     DPTR,#temp
-0018D6 EF                MOV     A,R7
-0018D7 F0                MOVX    @DPTR,A
-  386: 
+0018A1 8026              SJMP    ?C0081?KB_PROCESS
+  373: 			case HID_KEY_F8:
+0018A3         ?C0090?KB_PROCESS:
+  374: 				temp = HID_MULTIKEY_PALY;
+0018A3 904E8E            MOV     DPTR,#temp
+0018A6 74F2              MOV     A,#0F2H
+0018A8 F0                MOVX    @DPTR,A
+  375: 				break;
+0018A9 801E              SJMP    ?C0081?KB_PROCESS
+  376: 			case HID_KEY_F9:
+0018AB         ?C0091?KB_PROCESS:
+  377: 				temp = HID_MULTIKEY_NEXT_TRACK;
+0018AB 904E8E            MOV     DPTR,#temp
+0018AE 74F5              MOV     A,#0F5H
+0018B0 F0                MOVX    @DPTR,A
+  378: 				break;
+0018B1 8016              SJMP    ?C0081?KB_PROCESS
+  379: 			case HID_KEY_F10:
+0018B3         ?C0092?KB_PROCESS:
+  380: 				temp = HID_MULTIKEY_MUTE;
+0018B3 904E8E            MOV     DPTR,#temp
+0018B6 74F8              MOV     A,#0F8H
+0018B8 F0                MOVX    @DPTR,A
+  381: 				break;
+0018B9 800E              SJMP    ?C0081?KB_PROCESS
+  382: 			case HID_KEY_F11:
+0018BB         ?C0093?KB_PROCESS:
+  383: 				temp = HID_MULTIKEY_VOL_DOWN;
+0018BB 904E8E            MOV     DPTR,#temp
+0018BE 74F6              MOV     A,#0F6H
+0018C0 F0                MOVX    @DPTR,A
+  384: 				break;
+0018C1 8006              SJMP    ?C0081?KB_PROCESS
+  385: 			case HID_KEY_F12:
+0018C3         ?C0094?KB_PROCESS:
+  386: 				temp = HID_MULTIKEY_VOL_UP;
+0018C3 904E8E            MOV     DPTR,#temp
+0018C6 74F7              MOV     A,#0F7H
+0018C8 F0                MOVX    @DPTR,A
   387: 				break;
-0018D8 2176              AJMP    ?C0077?KB_PROCESS
-  388: 			case HID_KEY_F5:
-0018DA         ?C0087?KB_PROCESS:
-  389: 				g_variable.key_combination_ctrl = KS_SEL_LGUI;
-0018DA 904CF5            MOV     DPTR,#g_variable+036H
-0018DD 7408              MOV     A,#08H
-0018DF F0                MOVX    @DPTR,A
-  390: 				g_variable.key_combination_keyvalue = HID_KEY_LEFT_ARROW;
-0018E0 A3                INC     DPTR
-0018E1 7450              MOV     A,#050H
-0018E3 F0                MOVX    @DPTR,A
-  391: 				
-  392: 				if(state & 1)
-0018E4 EE                MOV     A,R6
-0018E5 30E008            JNB     ACC.0,?C0088?KB_PROCESS
-  393: 				{
-  394: 					g_variable.key_combination_step = CAMBINATION_KEY_PRESS;
-0018E8 904CF4            MOV     DPTR,#g_variable+035H
-0018EB 7401              MOV     A,#01H
-0018ED F0                MOVX    @DPTR,A
-  395: 				}
-0018EE 8006              SJMP    ?C0089?KB_PROCESS
-0018F0         ?C0088?KB_PROCESS:
-  396: 				else
-  397: 				{
-  398: 					g_variable.key_combination_step = CAMBINATION_KEY_WAIT_RELEASE;
-0018F0 904CF4            MOV     DPTR,#g_variable+035H
-0018F3 7404              MOV     A,#04H
-0018F5 F0                MOVX    @DPTR,A
-  399: 				}
-0018F6         ?C0089?KB_PROCESS:
-  400: 				temp = key_replace(state,key_value,HID_KEY_NULL);
-0018F6 AF06              MOV     R7,AR6
-0018F8 AD04              MOV     R5,AR4
-0018FA E4                CLR     A
-0018FB FB                MOV     R3,A
-0018FC 1217F2            LCALL   _key_replace
-0018FF 904E8E            MOV     DPTR,#temp
-001902 EF                MOV     A,R7
-001903 F0                MOVX    @DPTR,A
-  401: 				break;
-001904 8070              SJMP    ?C0077?KB_PROCESS
-  402: 			case HID_KEY_F6:
-001906         ?C0090?KB_PROCESS:
-  403: 				temp = key_replace(state,key_value,HID_MULTIKEY_AC_SEARCH);
-001906 AF06              MOV     R7,AR6
-001908 AD04              MOV     R5,AR4
-00190A 7BD5              MOV     R3,#0D5H
-00190C 1217F2            LCALL   _key_replace
-00190F 904E8E            MOV     DPTR,#temp
-001912 EF                MOV     A,R7
-001913 F0                MOVX    @DPTR,A
-  404: 				break;
-001914 8060              SJMP    ?C0077?KB_PROCESS
-  405: 			case HID_KEY_F7:
-001916         ?C0091?KB_PROCESS:
-  406: 				temp = key_replace(state,key_value,HID_MULTIKEY_PRE_TRACK);
-001916 AF06              MOV     R7,AR6
-001918 AD04              MOV     R5,AR4
-00191A 7BF4              MOV     R3,#0F4H
-00191C 1217F2            LCALL   _key_replace
-00191F 904E8E            MOV     DPTR,#temp
-001922 EF                MOV     A,R7
-001923 F0                MOVX    @DPTR,A
-  407: 				break;
-001924 8050              SJMP    ?C0077?KB_PROCESS
-  408: 			case HID_KEY_F8:
-001926         ?C0092?KB_PROCESS:
-  409: 				temp = key_replace(state,key_value,HID_MULTIKEY_PALY);
-001926 AF06              MOV     R7,AR6
-001928 AD04              MOV     R5,AR4
-00192A 7BF2              MOV     R3,#0F2H
-00192C 1217F2            LCALL   _key_replace
-00192F 904E8E            MOV     DPTR,#temp
-001932 EF                MOV     A,R7
-001933 F0                MOVX    @DPTR,A
-  410: 				break;
-001934 8040              SJMP    ?C0077?KB_PROCESS
-  411: 			case HID_KEY_F9:
-001936         ?C0093?KB_PROCESS:
-  412: 				temp = key_replace(state,key_value,HID_MULTIKEY_NEXT_TRACK);
-001936 AF06              MOV     R7,AR6
-001938 AD04              MOV     R5,AR4
-00193A 7BF5              MOV     R3,#0F5H
-00193C 1217F2            LCALL   _key_replace
-00193F 904E8E            MOV     DPTR,#temp
-001942 EF                MOV     A,R7
-001943 F0                MOVX    @DPTR,A
-  413: 				break;
-001944 8030              SJMP    ?C0077?KB_PROCESS
-  414: 			case HID_KEY_F10:
-001946         ?C0094?KB_PROCESS:
-  415: 				temp = key_replace(state,key_value,HID_MULTIKEY_MUTE);
-001946 AF06              MOV     R7,AR6
-001948 AD04              MOV     R5,AR4
-00194A 7BF8              MOV     R3,#0F8H
-00194C 1217F2            LCALL   _key_replace
-00194F 904E8E            MOV     DPTR,#temp
-001952 EF                MOV     A,R7
-001953 F0                MOVX    @DPTR,A
-  416: 				break;
-001954 8020              SJMP    ?C0077?KB_PROCESS
-  417: 			case HID_KEY_F11:
-001956         ?C0095?KB_PROCESS:
-  418: 				temp = key_replace(state,key_value,HID_MULTIKEY_VOL_DOWN);
-001956 AF06              MOV     R7,AR6
-001958 AD04              MOV     R5,AR4
-00195A 7BF6              MOV     R3,#0F6H
-00195C 1217F2            LCALL   _key_replace
-00195F 904E8E            MOV     DPTR,#temp
-001962 EF                MOV     A,R7
-001963 F0                MOVX    @DPTR,A
-  419: 				break;
-001964 8010              SJMP    ?C0077?KB_PROCESS
-  420: 			case HID_KEY_F12:
-001966         ?C0096?KB_PROCESS:
-  421: 				temp = key_replace(state,key_value,HID_MULTIKEY_VOL_UP);
-001966 AF06              MOV     R7,AR6
-001968 AE04              MOV     R6,AR4
-00196A AD06              MOV     R5,AR6
-00196C 7BF7              MOV     R3,#0F7H
-00196E 1217F2            LCALL   _key_replace
-001971 904E8E            MOV     DPTR,#temp
-001974 EF                MOV     A,R7
-001975 F0                MOVX    @DPTR,A
-  422: 				break;
-  423: 			default :
-  424: 				break;
-  425: 		}
-  426: 	}
-001976         ?C0077?KB_PROCESS:
-  427: 
-  428: 	return temp;
-001976 904E8E            MOV     DPTR,#temp
-001979 E0                MOVX    A,@DPTR
-00197A FF                MOV     R7,A
-  429: }
-00197B 22                RET     
+  388: 			default :
+  389: 				break;
+  390: 		}
+  391: 	}
+0018C9         ?C0081?KB_PROCESS:
+  392: 
+  393: 	return temp;
+0018C9 904E8E            MOV     DPTR,#temp
+0018CC E0                MOVX    A,@DPTR
+0018CD FF                MOV     R7,A
+  394: }
+0018CE 22                RET     
 ----- FUNCTION _key_fn_function (END) -------
 
 
 ----- FUNCTION KS_GetCurrentEvt (BEGIN) -----
  FILE: 'keyscan.c'
-  285: tKSEVENT *KS_GetCurrentEvt()
-  286: {
-  287: 	//
-  288: 	byte i = 0;
-00197C E4                CLR     A
-00197D 904E12            MOV     DPTR,#i
-001980 F0                MOVX    @DPTR,A
-  289: 	byte j = 0;
-001981 A3                INC     DPTR
-001982 F0                MOVX    @DPTR,A
-  290: 	byte temp = 0;
-001983 A3                INC     DPTR
-001984 F0                MOVX    @DPTR,A
-  291: 	byte flag = 0;
-001985 A3                INC     DPTR
-001986 F0                MOVX    @DPTR,A
-  292: 	byte offset = 0;
-001987 A3                INC     DPTR
-001988 F0                MOVX    @DPTR,A
-  293: 	byte state = 0;
-001989 A3                INC     DPTR
-00198A F0                MOVX    @DPTR,A
-  294: 	byte colCounttemp = 0;
-00198B A3                INC     DPTR
-00198C F0                MOVX    @DPTR,A
-  295: 	byte rawSel =0;
-00198D A3                INC     DPTR
-00198E F0                MOVX    @DPTR,A
-  296: 	byte keyCounttemp = 0;
-00198F A3                INC     DPTR
-001990 F0                MOVX    @DPTR,A
-  297: 	byte key_value_temp = 0;
-001991 A3                INC     DPTR
-001992 F0                MOVX    @DPTR,A
-  298: 	byte ghost = 0;
-001993 A3                INC     DPTR
-001994 F0                MOVX    @DPTR,A
-  299: 	byte rawCount = 0;
-001995 A3                INC     DPTR
-001996 F0                MOVX    @DPTR,A
-  300: 	byte colCount = 0;
-001997 A3                INC     DPTR
-001998 F0                MOVX    @DPTR,A
-  301: 	byte keyCount = 0;
-001999 A3                INC     DPTR
-00199A F0                MOVX    @DPTR,A
-  302: 	
-  303: 	KS_ScanMatrix();
-00199B B173              ACALL   KS_ScanMatrix
-  304: 
-  305: 	if (compare_str(ksSelMapCurr,ksSelMapCheck,KB_KSCAN_COL_NUM) 
-00199D 7A4D              MOV     R2,#HIGH ksSelMapCheck
-00199F 79A8              MOV     R1,#LOW ksSelMapCheck
-0019A1 904E3B            MOV     DPTR,#?_compare_str?BYTE+03H
-0019A4 7401              MOV     A,#01H
-0019A6 F0                MOVX    @DPTR,A
-0019A7 A3                INC     DPTR
-0019A8 744D              MOV     A,#HIGH ksSelMapCheck
-0019AA F0                MOVX    @DPTR,A
-0019AB A3                INC     DPTR
-0019AC 74A8              MOV     A,#LOW ksSelMapCheck
-0019AE F0                MOVX    @DPTR,A
-0019AF A3                INC     DPTR
-0019B0 7414              MOV     A,#014H
+  300: tKSEVENT *KS_GetCurrentEvt()
+  301: {
+  302: 	//
+  303: 	byte i = 0;
+0018CF E4                CLR     A
+0018D0 904E12            MOV     DPTR,#i
+0018D3 F0                MOVX    @DPTR,A
+  304: 	byte j = 0;
+0018D4 A3                INC     DPTR
+0018D5 F0                MOVX    @DPTR,A
+  305: 	byte temp = 0;
+0018D6 A3                INC     DPTR
+0018D7 F0                MOVX    @DPTR,A
+  306: 	byte flag = 0;
+0018D8 A3                INC     DPTR
+0018D9 F0                MOVX    @DPTR,A
+  307: 	byte offset = 0;
+0018DA A3                INC     DPTR
+0018DB F0                MOVX    @DPTR,A
+  308: 	byte state = 0;
+0018DC A3                INC     DPTR
+0018DD F0                MOVX    @DPTR,A
+  309: 	byte colCounttemp = 0;
+0018DE A3                INC     DPTR
+0018DF F0                MOVX    @DPTR,A
+  310: 	byte rawSel =0;
+0018E0 A3                INC     DPTR
+0018E1 F0                MOVX    @DPTR,A
+  311: 	byte keyCounttemp = 0;
+0018E2 A3                INC     DPTR
+0018E3 F0                MOVX    @DPTR,A
+  312: 	byte key_value_temp = 0;
+0018E4 A3                INC     DPTR
+0018E5 F0                MOVX    @DPTR,A
+  313: 	byte ghost = 0;
+0018E6 A3                INC     DPTR
+0018E7 F0                MOVX    @DPTR,A
+  314: 	byte rawCount = 0;
+0018E8 A3                INC     DPTR
+0018E9 F0                MOVX    @DPTR,A
+  315: 	byte colCount = 0;
+0018EA A3                INC     DPTR
+0018EB F0                MOVX    @DPTR,A
+  316: 	byte keyCount = 0;
+0018EC A3                INC     DPTR
+0018ED F0                MOVX    @DPTR,A
+  317: 	
+  318: 	KS_ScanMatrix();
+0018EE 9152              ACALL   KS_ScanMatrix
+  319: 
+  320: 	if (compare_str(ksSelMapCurr,ksSelMapCheck,KB_KSCAN_COL_NUM) 
+0018F0 7A4D              MOV     R2,#HIGH ksSelMapCheck
+0018F2 79A8              MOV     R1,#LOW ksSelMapCheck
+0018F4 904E3B            MOV     DPTR,#?_compare_str?BYTE+03H
+0018F7 7401              MOV     A,#01H
+0018F9 F0                MOVX    @DPTR,A
+0018FA A3                INC     DPTR
+0018FB 744D              MOV     A,#HIGH ksSelMapCheck
+0018FD F0                MOVX    @DPTR,A
+0018FE A3                INC     DPTR
+0018FF 74A8              MOV     A,#LOW ksSelMapCheck
+001901 F0                MOVX    @DPTR,A
+001902 A3                INC     DPTR
+001903 7414              MOV     A,#014H
+001905 F0                MOVX    @DPTR,A
+001906 7B01              MOV     R3,#01H
+001908 7A4D              MOV     R2,#HIGH ksSelMapCurr
+00190A 79BC              MOV     R1,#LOW ksSelMapCurr
+00190C 7109              ACALL   _compare_str
+00190E EF                MOV     A,R7
+00190F 6016              JZ      ?C0061?KEYSCAN
+001911 7B01              MOV     R3,#01H
+001913 7A4D              MOV     R2,#HIGH ksSelMapCurr
+001915 79BC              MOV     R1,#LOW ksSelMapCurr
+001917 7D14              MOV     R5,#014H
+001919 51D9              ACALL   _array_is_empty
+00191B EF                MOV     A,R7
+00191C 7009              JNZ     ?C0061?KEYSCAN
+  321: 		&& !array_is_empty(ksSelMapCurr,KB_KSCAN_COL_NUM))
+  322: 	{
+  323: 		g_variable.button_flag |= 0x02;
+00191E 904CCE            MOV     DPTR,#g_variable+0FH
+001921 E0                MOVX    A,@DPTR
+001922 4402              ORL     A,#02H
+001924 F0                MOVX    @DPTR,A
+  324: 	}
+001925 800C              SJMP    ?C0062?KEYSCAN
+001927         ?C0061?KEYSCAN:
+  325: 	else
+  326: 	{	
+  327: 		g_variable.button_flag &= 0xFD;
+001927 904CCE            MOV     DPTR,#g_variable+0FH
+00192A E0                MOVX    A,@DPTR
+00192B 54FD              ANL     A,#0FDH
+00192D F0                MOVX    @DPTR,A
+  328: 		g_variable.button_timer[1] = 0;
+00192E E4                CLR     A
+00192F 904CD0            MOV     DPTR,#g_variable+011H
+001932 F0                MOVX    @DPTR,A
+  329: 	}
+001933         ?C0062?KEYSCAN:
+  330: 
+  331: 	for (i=0; col[i]!=0; i++) {
+001933 E4                CLR     A
+001934 904E12            MOV     DPTR,#i
+001937 F0                MOVX    @DPTR,A
+001938         ?C0063?KEYSCAN:
+001938 904E12            MOV     DPTR,#i
+00193B E0                MOVX    A,@DPTR
+00193C FF                MOV     R7,A
+00193D 90060C            MOV     DPTR,#col
+001940 93                MOVC    A,@A+DPTR
+001941 602F              JZ      ?C0064?KEYSCAN
+  332: 		temp = ksSelMapCurr[i];
+001943 74BC              MOV     A,#LOW ksSelMapCurr
+001945 2F                ADD     A,R7
+001946 F582              MOV     DPL,A
+001948 E4                CLR     A
+001949 344D              ADDC    A,#HIGH ksSelMapCurr
+00194B F583              MOV     DPH,A
+00194D E0                MOVX    A,@DPTR
+00194E 904E14            MOV     DPTR,#temp
+001951 F0                MOVX    @DPTR,A
+  333: 		if (temp!=0) {
+001952 E0                MOVX    A,@DPTR
+001953 FD                MOV     R5,A
+001954 6014              JZ      ?C0065?KEYSCAN
+  334: 			colCounttemp++;
+001956 904E18            MOV     DPTR,#colCounttemp
+001959 E0                MOVX    A,@DPTR
+00195A 04                INC     A
+00195B F0                MOVX    @DPTR,A
+  335: 			rawSel = temp|rawSel;
+00195C A3                INC     DPTR
+00195D E0                MOVX    A,@DPTR
+00195E FE                MOV     R6,A
+00195F ED                MOV     A,R5
+001960 4E                ORL     A,R6
+001961 F0                MOVX    @DPTR,A
+  336: 			keyCounttemp += bit_count(temp);
+001962 AF05              MOV     R7,AR5
+001964 51CB              ACALL   _bit_count
+001966 A3                INC     DPTR
+001967 E0                MOVX    A,@DPTR
+001968 2F                ADD     A,R7
+001969 F0                MOVX    @DPTR,A
+  337: 		}
+  338: 	}
+00196A         ?C0065?KEYSCAN:
+00196A 904E12            MOV     DPTR,#i
+00196D E0                MOVX    A,@DPTR
+00196E 04                INC     A
+00196F F0                MOVX    @DPTR,A
+001970 80C6              SJMP    ?C0063?KEYSCAN
+001972         ?C0064?KEYSCAN:
+  339: 	keyCount = keyCounttemp;
+001972 904E1A            MOV     DPTR,#keyCounttemp
+001975 E0                MOVX    A,@DPTR
+001976 904E1F            MOV     DPTR,#keyCount
+001979 F0                MOVX    @DPTR,A
+  340: 	colCount = colCounttemp;
+00197A 904E18            MOV     DPTR,#colCounttemp
+00197D E0                MOVX    A,@DPTR
+00197E 904E1E            MOV     DPTR,#colCount
+001981 F0                MOVX    @DPTR,A
+  341: 	rawCount = bit_count(rawSel);
+001982 904E19            MOV     DPTR,#rawSel
+001985 E0                MOVX    A,@DPTR
+001986 FF                MOV     R7,A
+001987 51CB              ACALL   _bit_count
+001989 904E1D            MOV     DPTR,#rawCount
+00198C EF                MOV     A,R7
+00198D F0                MOVX    @DPTR,A
+  342: 	if (keyCount >2 && keyCount > MAX(colCount, rawCount)) {
+00198E 904E1F            MOV     DPTR,#keyCount
+001991 E0                MOVX    A,@DPTR
+001992 FF                MOV     R7,A
+001993 D3                SETB    C
+001994 9402              SUBB    A,#02H
+001996 401D              JC      ?C0067?KEYSCAN
+001998 904E1D            MOV     DPTR,#rawCount
+00199B E0                MOVX    A,@DPTR
+00199C FE                MOV     R6,A
+00199D A3                INC     DPTR
+00199E E0                MOVX    A,@DPTR
+00199F FD                MOV     R5,A
+0019A0 D3                SETB    C
+0019A1 9E                SUBB    A,R6
+0019A2 4004              JC      ?C0068?KEYSCAN
+0019A4 AE05              MOV     R6,AR5
+0019A6 8000              SJMP    ?C0069?KEYSCAN
+0019A8         ?C0068?KEYSCAN:
+0019A8         ?C0069?KEYSCAN:
+0019A8 EF                MOV     A,R7
+0019A9 D3                SETB    C
+0019AA 9E                SUBB    A,R6
+0019AB 4008              JC      ?C0067?KEYSCAN
+  343: 		ghost = 1;
+0019AD 904E1C            MOV     DPTR,#ghost
+0019B0 7401              MOV     A,#01H
 0019B2 F0                MOVX    @DPTR,A
-0019B3 7B01              MOV     R3,#01H
-0019B5 7A4D              MOV     R2,#HIGH ksSelMapCurr
-0019B7 79BC              MOV     R1,#LOW ksSelMapCurr
-0019B9 71B6              ACALL   _compare_str
-0019BB EF                MOV     A,R7
-0019BC 6016              JZ      ?C0089?KEYSCAN
-0019BE 7B01              MOV     R3,#01H
-0019C0 7A4D              MOV     R2,#HIGH ksSelMapCurr
-0019C2 79BC              MOV     R1,#LOW ksSelMapCurr
-0019C4 7D14              MOV     R5,#014H
-0019C6 7186              ACALL   _array_is_empty
-0019C8 EF                MOV     A,R7
-0019C9 7009              JNZ     ?C0089?KEYSCAN
-  306: 		&& !array_is_empty(ksSelMapCurr,KB_KSCAN_COL_NUM))
-  307: 	{
-  308: 		g_variable.button_flag |= 0x02;
-0019CB 904CCE            MOV     DPTR,#g_variable+0FH
-0019CE E0                MOVX    A,@DPTR
-0019CF 4402              ORL     A,#02H
-0019D1 F0                MOVX    @DPTR,A
-  309: 	}
-0019D2 800C              SJMP    ?C0090?KEYSCAN
-0019D4         ?C0089?KEYSCAN:
-  310: 	else
-  311: 	{	
-  312: 		g_variable.button_flag &= 0xFD;
-0019D4 904CCE            MOV     DPTR,#g_variable+0FH
-0019D7 E0                MOVX    A,@DPTR
-0019D8 54FD              ANL     A,#0FDH
-0019DA F0                MOVX    @DPTR,A
-  313: 		g_variable.button_timer[1] = 0;
-0019DB E4                CLR     A
-0019DC 904CD0            MOV     DPTR,#g_variable+011H
-0019DF F0                MOVX    @DPTR,A
-  314: 	}
-0019E0         ?C0090?KEYSCAN:
-  315: 
-  316: 	for (i=0; col[i]!=0; i++) {
-0019E0 E4                CLR     A
-0019E1 904E12            MOV     DPTR,#i
-0019E4 F0                MOVX    @DPTR,A
-0019E5         ?C0091?KEYSCAN:
-0019E5 904E12            MOV     DPTR,#i
-0019E8 E0                MOVX    A,@DPTR
-0019E9 FF                MOV     R7,A
-0019EA 90060C            MOV     DPTR,#col
-0019ED 93                MOVC    A,@A+DPTR
-0019EE 602F              JZ      ?C0092?KEYSCAN
-  317: 		temp = ksSelMapCurr[i];
-0019F0 74BC              MOV     A,#LOW ksSelMapCurr
-0019F2 2F                ADD     A,R7
-0019F3 F582              MOV     DPL,A
-0019F5 E4                CLR     A
-0019F6 344D              ADDC    A,#HIGH ksSelMapCurr
-0019F8 F583              MOV     DPH,A
-0019FA E0                MOVX    A,@DPTR
+  344: 	}
+0019B3 8005              SJMP    ?C0070?KEYSCAN
+0019B5         ?C0067?KEYSCAN:
+  345: 	else {
+  346: 		ghost = 0;
+0019B5 E4                CLR     A
+0019B6 904E1C            MOV     DPTR,#ghost
+0019B9 F0                MOVX    @DPTR,A
+  347: 	}
+0019BA         ?C0070?KEYSCAN:
+  348: 	
+  349: 	for (i=0; col[i]!=0; i++)
+0019BA E4                CLR     A
+0019BB 904E12            MOV     DPTR,#i
+0019BE F0                MOVX    @DPTR,A
+0019BF         ?C0071?KEYSCAN:
+0019BF 904E12            MOV     DPTR,#i
+0019C2 E0                MOVX    A,@DPTR
+0019C3 FF                MOV     R7,A
+0019C4 90060C            MOV     DPTR,#col
+0019C7 93                MOVC    A,@A+DPTR
+0019C8 7002              JNZ     $ + 4H
+0019CA 419F              AJMP    ?C0072?KEYSCAN
+  350: 	{
+  351: 		temp = ksSelMapCurr[i] ^ ksSelMapOld[i];
+0019CC 7493              MOV     A,#LOW ksSelMapOld
+0019CE 2F                ADD     A,R7
+0019CF F582              MOV     DPL,A
+0019D1 E4                CLR     A
+0019D2 344D              ADDC    A,#HIGH ksSelMapOld
+0019D4 F583              MOV     DPH,A
+0019D6 E0                MOVX    A,@DPTR
+0019D7 FE                MOV     R6,A
+0019D8 74BC              MOV     A,#LOW ksSelMapCurr
+0019DA 2F                ADD     A,R7
+0019DB F582              MOV     DPL,A
+0019DD E4                CLR     A
+0019DE 344D              ADDC    A,#HIGH ksSelMapCurr
+0019E0 F583              MOV     DPH,A
+0019E2 E0                MOVX    A,@DPTR
+0019E3 6E                XRL     A,R6
+0019E4 904E14            MOV     DPTR,#temp
+0019E7 F0                MOVX    @DPTR,A
+  352: 		state = ksSelMapCurr[i];
+0019E8 904E12            MOV     DPTR,#i
+0019EB E0                MOVX    A,@DPTR
+0019EC FF                MOV     R7,A
+0019ED 24BC              ADD     A,#LOW ksSelMapCurr
+0019EF F582              MOV     DPL,A
+0019F1 E4                CLR     A
+0019F2 344D              ADDC    A,#HIGH ksSelMapCurr
+0019F4 F583              MOV     DPH,A
+0019F6 E0                MOVX    A,@DPTR
+0019F7 904E17            MOV     DPTR,#state
+0019FA F0                MOVX    @DPTR,A
+  353: 		if (temp == 0) 
 0019FB 904E14            MOV     DPTR,#temp
-0019FE F0                MOVX    @DPTR,A
-  318: 		if (temp!=0) {
-0019FF E0                MOVX    A,@DPTR
-001A00 FD                MOV     R5,A
-001A01 6014              JZ      ?C0093?KEYSCAN
-  319: 			colCounttemp++;
-001A03 904E18            MOV     DPTR,#colCounttemp
-001A06 E0                MOVX    A,@DPTR
-001A07 04                INC     A
-001A08 F0                MOVX    @DPTR,A
-  320: 			rawSel = temp|rawSel;
-001A09 A3                INC     DPTR
-001A0A E0                MOVX    A,@DPTR
-001A0B FE                MOV     R6,A
-001A0C ED                MOV     A,R5
-001A0D 4E                ORL     A,R6
-001A0E F0                MOVX    @DPTR,A
-  321: 			keyCounttemp += bit_count(temp);
-001A0F AF05              MOV     R7,AR5
-001A11 7178              ACALL   _bit_count
-001A13 A3                INC     DPTR
-001A14 E0                MOVX    A,@DPTR
-001A15 2F                ADD     A,R7
-001A16 F0                MOVX    @DPTR,A
-  322: 		}
-  323: 	}
-001A17         ?C0093?KEYSCAN:
-001A17 904E12            MOV     DPTR,#i
-001A1A E0                MOVX    A,@DPTR
-001A1B 04                INC     A
-001A1C F0                MOVX    @DPTR,A
-001A1D 80C6              SJMP    ?C0091?KEYSCAN
-001A1F         ?C0092?KEYSCAN:
-  324: 	keyCount = keyCounttemp;
-001A1F 904E1A            MOV     DPTR,#keyCounttemp
-001A22 E0                MOVX    A,@DPTR
-001A23 904E1F            MOV     DPTR,#keyCount
-001A26 F0                MOVX    @DPTR,A
-  325: 	colCount = colCounttemp;
-001A27 904E18            MOV     DPTR,#colCounttemp
-001A2A E0                MOVX    A,@DPTR
-001A2B 904E1E            MOV     DPTR,#colCount
+0019FE E0                MOVX    A,@DPTR
+0019FF 7004              JNZ     ?C0074?KEYSCAN
+  354: 		{
+  355: 			continue;
+001A01 4197              AJMP    ?C0073?KEYSCAN
+  356: 		}
+001A03 4197              AJMP    ?C0073?KEYSCAN
+001A05         ?C0074?KEYSCAN:
+  357: 		else 
+  358: 		{
+  359: 
+  360: 			if (ghost) 
+001A05 904E1C            MOV     DPTR,#ghost
+001A08 E0                MOVX    A,@DPTR
+001A09 6007              JZ      ?C0076?KEYSCAN
+  361: 				return NULL;
+001A0B 7B00              MOV     R3,#00H
+001A0D 7A00              MOV     R2,#00H
+001A0F 7900              MOV     R1,#00H
+001A11 22                RET     
+001A12         ?C0076?KEYSCAN:
+  362: 			ksSelMapOld[i] = ksSelMapCurr[i];
+001A12 74BC              MOV     A,#LOW ksSelMapCurr
+001A14 2F                ADD     A,R7
+001A15 F582              MOV     DPL,A
+001A17 E4                CLR     A
+001A18 344D              ADDC    A,#HIGH ksSelMapCurr
+001A1A F583              MOV     DPH,A
+001A1C E0                MOVX    A,@DPTR
+001A1D FE                MOV     R6,A
+001A1E 7493              MOV     A,#LOW ksSelMapOld
+001A20 2F                ADD     A,R7
+001A21 F582              MOV     DPL,A
+001A23 E4                CLR     A
+001A24 344D              ADDC    A,#HIGH ksSelMapOld
+001A26 F583              MOV     DPH,A
+001A28 EE                MOV     A,R6
+001A29 F0                MOVX    @DPTR,A
+  363: 			for (j = 0 ; j<8 ; j++) 
+001A2A E4                CLR     A
+001A2B 904E13            MOV     DPTR,#j
 001A2E F0                MOVX    @DPTR,A
-  326: 	rawCount = bit_count(rawSel);
-001A2F 904E19            MOV     DPTR,#rawSel
+001A2F         ?C0078?KEYSCAN:
+001A2F 904E13            MOV     DPTR,#j
 001A32 E0                MOVX    A,@DPTR
 001A33 FF                MOV     R7,A
-001A34 7178              ACALL   _bit_count
-001A36 904E1D            MOV     DPTR,#rawCount
-001A39 EF                MOV     A,R7
-001A3A F0                MOVX    @DPTR,A
-  327: 	if (keyCount >2 && keyCount > MAX(colCount, rawCount)) {
-001A3B 904E1F            MOV     DPTR,#keyCount
-001A3E E0                MOVX    A,@DPTR
-001A3F FF                MOV     R7,A
-001A40 D3                SETB    C
-001A41 9402              SUBB    A,#02H
-001A43 401D              JC      ?C0095?KEYSCAN
-001A45 904E1D            MOV     DPTR,#rawCount
-001A48 E0                MOVX    A,@DPTR
-001A49 FE                MOV     R6,A
-001A4A A3                INC     DPTR
-001A4B E0                MOVX    A,@DPTR
-001A4C FD                MOV     R5,A
-001A4D D3                SETB    C
-001A4E 9E                SUBB    A,R6
-001A4F 4004              JC      ?C0096?KEYSCAN
-001A51 AE05              MOV     R6,AR5
-001A53 8000              SJMP    ?C0097?KEYSCAN
-001A55         ?C0096?KEYSCAN:
-001A55         ?C0097?KEYSCAN:
-001A55 EF                MOV     A,R7
-001A56 D3                SETB    C
-001A57 9E                SUBB    A,R6
-001A58 4008              JC      ?C0095?KEYSCAN
-  328: 		ghost = 1;
-001A5A 904E1C            MOV     DPTR,#ghost
-001A5D 7401              MOV     A,#01H
-001A5F F0                MOVX    @DPTR,A
-  329: 	}
-001A60 8005              SJMP    ?C0098?KEYSCAN
-001A62         ?C0095?KEYSCAN:
-  330: 	else {
-  331: 		ghost = 0;
-001A62 E4                CLR     A
-001A63 904E1C            MOV     DPTR,#ghost
-001A66 F0                MOVX    @DPTR,A
-  332: 	}
-001A67         ?C0098?KEYSCAN:
-  333: 	
-  334: 	for (i=0; col[i]!=0; i++)
-001A67 E4                CLR     A
-001A68 904E12            MOV     DPTR,#i
-001A6B F0                MOVX    @DPTR,A
-001A6C         ?C0099?KEYSCAN:
-001A6C 904E12            MOV     DPTR,#i
-001A6F E0                MOVX    A,@DPTR
-001A70 FF                MOV     R7,A
-001A71 90060C            MOV     DPTR,#col
-001A74 93                MOVC    A,@A+DPTR
-001A75 7002              JNZ     $ + 4H
-001A77 614C              AJMP    ?C0100?KEYSCAN
-  335: 	{
-  336: 		temp = ksSelMapCurr[i] ^ ksSelMapOld[i];
-001A79 7493              MOV     A,#LOW ksSelMapOld
-001A7B 2F                ADD     A,R7
-001A7C F582              MOV     DPL,A
-001A7E E4                CLR     A
-001A7F 344D              ADDC    A,#HIGH ksSelMapOld
-001A81 F583              MOV     DPH,A
-001A83 E0                MOVX    A,@DPTR
-001A84 FE                MOV     R6,A
-001A85 74BC              MOV     A,#LOW ksSelMapCurr
-001A87 2F                ADD     A,R7
-001A88 F582              MOV     DPL,A
-001A8A E4                CLR     A
-001A8B 344D              ADDC    A,#HIGH ksSelMapCurr
-001A8D F583              MOV     DPH,A
-001A8F E0                MOVX    A,@DPTR
-001A90 6E                XRL     A,R6
-001A91 904E14            MOV     DPTR,#temp
-001A94 F0                MOVX    @DPTR,A
-  337: 		state = ksSelMapCurr[i];
-001A95 904E12            MOV     DPTR,#i
-001A98 E0                MOVX    A,@DPTR
-001A99 FF                MOV     R7,A
-001A9A 24BC              ADD     A,#LOW ksSelMapCurr
-001A9C F582              MOV     DPL,A
-001A9E E4                CLR     A
-001A9F 344D              ADDC    A,#HIGH ksSelMapCurr
-001AA1 F583              MOV     DPH,A
-001AA3 E0                MOVX    A,@DPTR
-001AA4 904E17            MOV     DPTR,#state
-001AA7 F0                MOVX    @DPTR,A
-  338: 		if (temp == 0) 
-001AA8 904E14            MOV     DPTR,#temp
-001AAB E0                MOVX    A,@DPTR
-001AAC 7004              JNZ     ?C0102?KEYSCAN
-  339: 		{
-  340: 			continue;
-001AAE 6144              AJMP    ?C0101?KEYSCAN
-  341: 		}
-001AB0 6144              AJMP    ?C0101?KEYSCAN
-001AB2         ?C0102?KEYSCAN:
-  342: 		else 
-  343: 		{
-  344: 
-  345: 			if (ghost) 
-001AB2 904E1C            MOV     DPTR,#ghost
-001AB5 E0                MOVX    A,@DPTR
-001AB6 6007              JZ      ?C0104?KEYSCAN
-  346: 				return NULL;
-001AB8 7B00              MOV     R3,#00H
-001ABA 7A00              MOV     R2,#00H
-001ABC 7900              MOV     R1,#00H
-001ABE 22                RET     
-001ABF         ?C0104?KEYSCAN:
-  347: 			ksSelMapOld[i] = ksSelMapCurr[i];
-001ABF 74BC              MOV     A,#LOW ksSelMapCurr
-001AC1 2F                ADD     A,R7
-001AC2 F582              MOV     DPL,A
-001AC4 E4                CLR     A
-001AC5 344D              ADDC    A,#HIGH ksSelMapCurr
-001AC7 F583              MOV     DPH,A
-001AC9 E0                MOVX    A,@DPTR
-001ACA FE                MOV     R6,A
-001ACB 7493              MOV     A,#LOW ksSelMapOld
-001ACD 2F                ADD     A,R7
-001ACE F582              MOV     DPL,A
-001AD0 E4                CLR     A
-001AD1 344D              ADDC    A,#HIGH ksSelMapOld
-001AD3 F583              MOV     DPH,A
-001AD5 EE                MOV     A,R6
-001AD6 F0                MOVX    @DPTR,A
-  348: 			for (j = 0 ; j<8 ; j++) 
-001AD7 E4                CLR     A
-001AD8 904E13            MOV     DPTR,#j
-001ADB F0                MOVX    @DPTR,A
-001ADC         ?C0106?KEYSCAN:
-001ADC 904E13            MOV     DPTR,#j
-001ADF E0                MOVX    A,@DPTR
-001AE0 FF                MOV     R7,A
-001AE1 C3                CLR     C
-001AE2 9408              SUBB    A,#08H
-001AE4 5058              JNC     ?C0107?KEYSCAN
-  349: 			{
-  350: 				if (temp&1)
-001AE6 A3                INC     DPTR
-001AE7 E0                MOVX    A,@DPTR
-001AE8 30E03B            JNB     ACC.0,?C0109?KEYSCAN
-  351: 				{
-  352: 					offset = i<<3 |j;
-001AEB 904E12            MOV     DPTR,#i
-001AEE E0                MOVX    A,@DPTR
-001AEF FE                MOV     R6,A
-001AF0 33                RLC     A
-001AF1 33                RLC     A
-001AF2 33                RLC     A
-001AF3 54F8              ANL     A,#0F8H
-001AF5 FE                MOV     R6,A
-001AF6 EF                MOV     A,R7
-001AF7 4E                ORL     A,R6
-001AF8 904E16            MOV     DPTR,#offset
-001AFB F0                MOVX    @DPTR,A
-  353: 					key_value_temp = key_fn_function(state,ksMap[offset]);
-001AFC A3                INC     DPTR
-001AFD E0                MOVX    A,@DPTR
-001AFE FF                MOV     R7,A
-001AFF 904E16            MOV     DPTR,#offset
-001B02 E0                MOVX    A,@DPTR
-001B03 900621            MOV     DPTR,#ksMap
-001B06 93                MOVC    A,@A+DPTR
-001B07 FD                MOV     R5,A
-001B08 1112              ACALL   _key_fn_function
-001B0A 904E1B            MOV     DPTR,#key_value_temp
-001B0D EF                MOV     A,R7
-001B0E F0                MOVX    @DPTR,A
-  354: 					if (state & 1)
-001B0F 904E17            MOV     DPTR,#state
-001B12 E0                MOVX    A,@DPTR
-001B13 30E009            JNB     ACC.0,?C0110?KEYSCAN
-  355: 					{
-  356: 						keyIn(key_value_temp);
-001B16 904E1B            MOV     DPTR,#key_value_temp
-001B19 E0                MOVX    A,@DPTR
-001B1A FF                MOV     R7,A
-001B1B 9100              ACALL   _keyIn
-  357: 					}
-001B1D 8007              SJMP    ?C0109?KEYSCAN
-001B1F         ?C0110?KEYSCAN:
-  358: 					else
-  359: 					{
-  360: 						keyOut(key_value_temp);
-001B1F 904E1B            MOV     DPTR,#key_value_temp
-001B22 E0                MOVX    A,@DPTR
-001B23 FF                MOV     R7,A
-001B24 9190              ACALL   _keyOut
-  361: 					}
-  362: 				}
-001B26         ?C0109?KEYSCAN:
-  363: 				temp = temp >>1;
-001B26 904E14            MOV     DPTR,#temp
-001B29 E0                MOVX    A,@DPTR
-001B2A FF                MOV     R7,A
-001B2B C3                CLR     C
-001B2C 13                RRC     A
-001B2D F0                MOVX    @DPTR,A
-  364: 				state = state>>1;
-001B2E 904E17            MOV     DPTR,#state
-001B31 E0                MOVX    A,@DPTR
-001B32 FF                MOV     R7,A
-001B33 C3                CLR     C
-001B34 13                RRC     A
-001B35 F0                MOVX    @DPTR,A
-  365: 			}
-001B36 904E13            MOV     DPTR,#j
-001B39 E0                MOVX    A,@DPTR
-001B3A 04                INC     A
-001B3B F0                MOVX    @DPTR,A
-001B3C 809E              SJMP    ?C0106?KEYSCAN
-001B3E         ?C0107?KEYSCAN:
-  366: 			flag = 1;
-001B3E 904E15            MOV     DPTR,#flag
-001B41 7401              MOV     A,#01H
-001B43 F0                MOVX    @DPTR,A
-  367: 		}
-  368: 	}
-001B44         ?C0101?KEYSCAN:
-001B44 904E12            MOV     DPTR,#i
-001B47 E0                MOVX    A,@DPTR
-001B48 04                INC     A
-001B49 F0                MOVX    @DPTR,A
-001B4A 416C              AJMP    ?C0099?KEYSCAN
-001B4C         ?C0100?KEYSCAN:
-  369: 	
-  370: 	if((mult_key_status == KEY_RELEASE) && (standard_key_release_flag == 1))
-001B4C 904DE4            MOV     DPTR,#mult_key_status
-001B4F E0                MOVX    A,@DPTR
-001B50 B4030A            CJNE    A,#03H,?C0112?KEYSCAN
-001B53 904DD8            MOV     DPTR,#standard_key_release_flag
-001B56 E0                MOVX    A,@DPTR
-001B57 B40103            CJNE    A,#01H,?C0112?KEYSCAN
-  371: 	{
-  372: 		standard_key_release_flag = 2;		//media key and standard key  release the same time
-001B5A 7402              MOV     A,#02H
-001B5C F0                MOVX    @DPTR,A
-  373: 	}
-001B5D         ?C0112?KEYSCAN:
-  374: 
-  375: 	
-  376: 	if (flag || standard_key_release_flag == 2) 
-001B5D 904E15            MOV     DPTR,#flag
-001B60 E0                MOVX    A,@DPTR
-001B61 7007              JNZ     ?C0114?KEYSCAN
-001B63 904DD8            MOV     DPTR,#standard_key_release_flag
-001B66 E0                MOVX    A,@DPTR
-001B67 B40207            CJNE    A,#02H,?C0113?KEYSCAN
-001B6A         ?C0114?KEYSCAN:
-  377: 	{
-  378: 		return &ksEvtPool;
-001B6A 7B01              MOV     R3,#01H
-001B6C 7A4E              MOV     R2,#HIGH ksEvtPool
-001B6E 7931              MOV     R1,#LOW ksEvtPool
-001B70 22                RET     
-  379: 	}
-001B71         ?C0113?KEYSCAN:
-  380: 	else
-  381: 	{
-  382: 		return NULL;
-001B71 7B00              MOV     R3,#00H
-001B73 7A00              MOV     R2,#00H
-001B75 7900              MOV     R1,#00H
+001A34 C3                CLR     C
+001A35 9408              SUBB    A,#08H
+001A37 5058              JNC     ?C0079?KEYSCAN
+  364: 			{
+  365: 				if (temp&1)
+001A39 A3                INC     DPTR
+001A3A E0                MOVX    A,@DPTR
+001A3B 30E03B            JNB     ACC.0,?C0081?KEYSCAN
+  366: 				{
+  367: 					offset = i<<3 |j;
+001A3E 904E12            MOV     DPTR,#i
+001A41 E0                MOVX    A,@DPTR
+001A42 FE                MOV     R6,A
+001A43 33                RLC     A
+001A44 33                RLC     A
+001A45 33                RLC     A
+001A46 54F8              ANL     A,#0F8H
+001A48 FE                MOV     R6,A
+001A49 EF                MOV     A,R7
+001A4A 4E                ORL     A,R6
+001A4B 904E16            MOV     DPTR,#offset
+001A4E F0                MOVX    @DPTR,A
+  368: 					key_value_temp = key_fn_function(state,ksMap[offset]);
+001A4F A3                INC     DPTR
+001A50 E0                MOVX    A,@DPTR
+001A51 FF                MOV     R7,A
+001A52 904E16            MOV     DPTR,#offset
+001A55 E0                MOVX    A,@DPTR
+001A56 900621            MOV     DPTR,#ksMap
+001A59 93                MOVC    A,@A+DPTR
+001A5A FD                MOV     R5,A
+001A5B 1104              ACALL   _key_fn_function
+001A5D 904E1B            MOV     DPTR,#key_value_temp
+001A60 EF                MOV     A,R7
+001A61 F0                MOVX    @DPTR,A
+  369: 					if (state & 1)
+001A62 904E17            MOV     DPTR,#state
+001A65 E0                MOVX    A,@DPTR
+001A66 30E009            JNB     ACC.0,?C0082?KEYSCAN
+  370: 					{
+  371: 						keyIn(key_value_temp);
+001A69 904E1B            MOV     DPTR,#key_value_temp
+001A6C E0                MOVX    A,@DPTR
+001A6D FF                MOV     R7,A
+001A6E 7153              ACALL   _keyIn
+  372: 					}
+001A70 8007              SJMP    ?C0081?KEYSCAN
+001A72         ?C0082?KEYSCAN:
+  373: 					else
+  374: 					{
+  375: 						keyOut(key_value_temp);
+001A72 904E1B            MOV     DPTR,#key_value_temp
+001A75 E0                MOVX    A,@DPTR
+001A76 FF                MOV     R7,A
+001A77 71A9              ACALL   _keyOut
+  376: 					}
+  377: 				}
+001A79         ?C0081?KEYSCAN:
+  378: 				temp = temp >>1;
+001A79 904E14            MOV     DPTR,#temp
+001A7C E0                MOVX    A,@DPTR
+001A7D FF                MOV     R7,A
+001A7E C3                CLR     C
+001A7F 13                RRC     A
+001A80 F0                MOVX    @DPTR,A
+  379: 				state = state>>1;
+001A81 904E17            MOV     DPTR,#state
+001A84 E0                MOVX    A,@DPTR
+001A85 FF                MOV     R7,A
+001A86 C3                CLR     C
+001A87 13                RRC     A
+001A88 F0                MOVX    @DPTR,A
+  380: 			}
+001A89 904E13            MOV     DPTR,#j
+001A8C E0                MOVX    A,@DPTR
+001A8D 04                INC     A
+001A8E F0                MOVX    @DPTR,A
+001A8F 809E              SJMP    ?C0078?KEYSCAN
+001A91         ?C0079?KEYSCAN:
+  381: 			flag = 1;
+001A91 904E15            MOV     DPTR,#flag
+001A94 7401              MOV     A,#01H
+001A96 F0                MOVX    @DPTR,A
+  382: 		}
   383: 	}
+001A97         ?C0073?KEYSCAN:
+001A97 904E12            MOV     DPTR,#i
+001A9A E0                MOVX    A,@DPTR
+001A9B 04                INC     A
+001A9C F0                MOVX    @DPTR,A
+001A9D 21BF              AJMP    ?C0071?KEYSCAN
+001A9F         ?C0072?KEYSCAN:
   384: 	
-  385: 
-  386: }
-001B77 22                RET     
+  385: 	if((mult_key_status == KEY_RELEASE) && (standard_key_release_flag == 1))
+001A9F 904DE4            MOV     DPTR,#mult_key_status
+001AA2 E0                MOVX    A,@DPTR
+001AA3 B4030A            CJNE    A,#03H,?C0084?KEYSCAN
+001AA6 904DD8            MOV     DPTR,#standard_key_release_flag
+001AA9 E0                MOVX    A,@DPTR
+001AAA B40103            CJNE    A,#01H,?C0084?KEYSCAN
+  386: 	{
+  387: 		standard_key_release_flag = 2;		//media key and standard key  release the same time
+001AAD 7402              MOV     A,#02H
+001AAF F0                MOVX    @DPTR,A
+  388: 	}
+001AB0         ?C0084?KEYSCAN:
+  389: 
+  390: 	
+  391: 	if (flag || standard_key_release_flag == 2) 
+001AB0 904E15            MOV     DPTR,#flag
+001AB3 E0                MOVX    A,@DPTR
+001AB4 7007              JNZ     ?C0086?KEYSCAN
+001AB6 904DD8            MOV     DPTR,#standard_key_release_flag
+001AB9 E0                MOVX    A,@DPTR
+001ABA B40207            CJNE    A,#02H,?C0085?KEYSCAN
+001ABD         ?C0086?KEYSCAN:
+  392: 	{
+  393: 		return &ksEvtPool;
+001ABD 7B01              MOV     R3,#01H
+001ABF 7A4E              MOV     R2,#HIGH ksEvtPool
+001AC1 7931              MOV     R1,#LOW ksEvtPool
+001AC3 22                RET     
+  394: 	}
+001AC4         ?C0085?KEYSCAN:
+  395: 	else
+  396: 	{
+  397: 		return NULL;
+001AC4 7B00              MOV     R3,#00H
+001AC6 7A00              MOV     R2,#00H
+001AC8 7900              MOV     R1,#00H
+  398: 	}
+  399: 	
+  400: 
+  401: }
+001ACA 22                RET     
 ----- FUNCTION KS_GetCurrentEvt (END) -------
 
 
@@ -4802,136 +4625,136 @@
    26: 	unsigned char c;
    27: 	for (c = 0; v; c++) {
 ;---- Variable 'c' assigned to Register 'R6' ----
-001B78 E4                CLR     A
-001B79 FE                MOV     R6,A
-001B7A         ?C0001?KEYSCAN:
-001B7A EF                MOV     A,R7
-001B7B 6006              JZ      ?C0002?KEYSCAN
+001ACB E4                CLR     A
+001ACC FE                MOV     R6,A
+001ACD         ?C0001?KEYSCAN:
+001ACD EF                MOV     A,R7
+001ACE 6006              JZ      ?C0002?KEYSCAN
    28:     	v &= v - 1;
-001B7D 14                DEC     A
-001B7E 5F                ANL     A,R7
-001B7F FF                MOV     R7,A
+001AD0 14                DEC     A
+001AD1 5F                ANL     A,R7
+001AD2 FF                MOV     R7,A
    29:     }
-001B80 0E                INC     R6
-001B81 80F7              SJMP    ?C0001?KEYSCAN
-001B83         ?C0002?KEYSCAN:
+001AD3 0E                INC     R6
+001AD4 80F7              SJMP    ?C0001?KEYSCAN
+001AD6         ?C0002?KEYSCAN:
    30:     return c;
-001B83 AF06              MOV     R7,AR6
+001AD6 AF06              MOV     R7,AR6
    31: }
-001B85 22                RET     
+001AD8 22                RET     
 ----- FUNCTION _bit_count (END) -------
 
 
 ----- FUNCTION _array_is_empty (BEGIN) -----
  FILE: 'keyscan.c'
-  273: byte array_is_empty(byte * str1,byte len)
-  274: {
-001B86 904E78            MOV     DPTR,#str1
-001B89 EB                MOV     A,R3
-001B8A F0                MOVX    @DPTR,A
-001B8B A3                INC     DPTR
-001B8C EA                MOV     A,R2
-001B8D F0                MOVX    @DPTR,A
-001B8E A3                INC     DPTR
-001B8F E9                MOV     A,R1
-001B90 F0                MOVX    @DPTR,A
+  288: byte array_is_empty(byte * str1,byte len)
+  289: {
+001AD9 904E78            MOV     DPTR,#str1
+001ADC EB                MOV     A,R3
+001ADD F0                MOVX    @DPTR,A
+001ADE A3                INC     DPTR
+001ADF EA                MOV     A,R2
+001AE0 F0                MOVX    @DPTR,A
+001AE1 A3                INC     DPTR
+001AE2 E9                MOV     A,R1
+001AE3 F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R5' ----
-  275: 	byte i;
-  276: 	for (i=0;i < len;i++)
+  290: 	byte i;
+  291: 	for (i=0;i < len;i++)
 ;---- Variable 'i' assigned to Register 'R7' ----
-001B91 E4                CLR     A
-001B92 FF                MOV     R7,A
-001B93         ?C0084?KEYSCAN:
-001B93 EF                MOV     A,R7
-001B94 C3                CLR     C
-001B95 9D                SUBB    A,R5
-001B96 501B              JNC     ?C0085?KEYSCAN
-  277: 	{
-  278: 		if (str1[i] != 0)
-001B98 904E78            MOV     DPTR,#str1
-001B9B E0                MOVX    A,@DPTR
-001B9C FB                MOV     R3,A
-001B9D A3                INC     DPTR
-001B9E E0                MOVX    A,@DPTR
-001B9F FA                MOV     R2,A
-001BA0 A3                INC     DPTR
-001BA1 E0                MOVX    A,@DPTR
-001BA2 F9                MOV     R1,A
-001BA3 8F82              MOV     DPL,R7
-001BA5 758300            MOV     DPH,#00H
-001BA8 1203CF            LCALL   ?C?CLDOPTR
-001BAB 6003              JZ      ?C0086?KEYSCAN
-  279: 			return 0x00;
-001BAD 7F00              MOV     R7,#00H
-001BAF 22                RET     
-  280: 	}
-001BB0         ?C0086?KEYSCAN:
-001BB0 0F                INC     R7
-001BB1 80E0              SJMP    ?C0084?KEYSCAN
-001BB3         ?C0085?KEYSCAN:
-  281: 	return 0x01;
-001BB3 7F01              MOV     R7,#01H
-  282: }
-001BB5 22                RET     
+001AE4 E4                CLR     A
+001AE5 FF                MOV     R7,A
+001AE6         ?C0056?KEYSCAN:
+001AE6 EF                MOV     A,R7
+001AE7 C3                CLR     C
+001AE8 9D                SUBB    A,R5
+001AE9 501B              JNC     ?C0057?KEYSCAN
+  292: 	{
+  293: 		if (str1[i] != 0)
+001AEB 904E78            MOV     DPTR,#str1
+001AEE E0                MOVX    A,@DPTR
+001AEF FB                MOV     R3,A
+001AF0 A3                INC     DPTR
+001AF1 E0                MOVX    A,@DPTR
+001AF2 FA                MOV     R2,A
+001AF3 A3                INC     DPTR
+001AF4 E0                MOVX    A,@DPTR
+001AF5 F9                MOV     R1,A
+001AF6 8F82              MOV     DPL,R7
+001AF8 758300            MOV     DPH,#00H
+001AFB 1203CF            LCALL   ?C?CLDOPTR
+001AFE 6003              JZ      ?C0058?KEYSCAN
+  294: 			return 0x00;
+001B00 7F00              MOV     R7,#00H
+001B02 22                RET     
+  295: 	}
+001B03         ?C0058?KEYSCAN:
+001B03 0F                INC     R7
+001B04 80E0              SJMP    ?C0056?KEYSCAN
+001B06         ?C0057?KEYSCAN:
+  296: 	return 0x01;
+001B06 7F01              MOV     R7,#01H
+  297: }
+001B08 22                RET     
 ----- FUNCTION _array_is_empty (END) -------
 
 
 ----- FUNCTION _compare_str (BEGIN) -----
-001BB6 904E38            MOV     DPTR,#str1
-001BB9 EB                MOV     A,R3
-001BBA F0                MOVX    @DPTR,A
-001BBB A3                INC     DPTR
-001BBC EA                MOV     A,R2
-001BBD F0                MOVX    @DPTR,A
-001BBE A3                INC     DPTR
-001BBF E9                MOV     A,R1
-001BC0 F0                MOVX    @DPTR,A
+001B09 904E38            MOV     DPTR,#str1
+001B0C EB                MOV     A,R3
+001B0D F0                MOVX    @DPTR,A
+001B0E A3                INC     DPTR
+001B0F EA                MOV     A,R2
+001B10 F0                MOVX    @DPTR,A
+001B11 A3                INC     DPTR
+001B12 E9                MOV     A,R1
+001B13 F0                MOVX    @DPTR,A
 ;---- Variable 'i' assigned to Register 'R7' ----
-001BC1 E4                CLR     A
-001BC2 FF                MOV     R7,A
-001BC3         ?C0021?UTILITIES:
-001BC3 904E3E            MOV     DPTR,#len
-001BC6 E0                MOVX    A,@DPTR
-001BC7 FE                MOV     R6,A
-001BC8 EF                MOV     A,R7
-001BC9 C3                CLR     C
-001BCA 9E                SUBB    A,R6
-001BCB 5030              JNC     ?C0022?UTILITIES
-001BCD 904E3B            MOV     DPTR,#str2
-001BD0 E0                MOVX    A,@DPTR
-001BD1 FB                MOV     R3,A
-001BD2 A3                INC     DPTR
-001BD3 E0                MOVX    A,@DPTR
-001BD4 FA                MOV     R2,A
-001BD5 A3                INC     DPTR
-001BD6 E0                MOVX    A,@DPTR
-001BD7 F9                MOV     R1,A
-001BD8 8F82              MOV     DPL,R7
-001BDA 758300            MOV     DPH,#00H
-001BDD 1203CF            LCALL   ?C?CLDOPTR
-001BE0 FE                MOV     R6,A
-001BE1 904E38            MOV     DPTR,#str1
-001BE4 E0                MOVX    A,@DPTR
-001BE5 FB                MOV     R3,A
-001BE6 A3                INC     DPTR
-001BE7 E0                MOVX    A,@DPTR
-001BE8 FA                MOV     R2,A
-001BE9 A3                INC     DPTR
-001BEA E0                MOVX    A,@DPTR
-001BEB F9                MOV     R1,A
-001BEC 8F82              MOV     DPL,R7
-001BEE 758300            MOV     DPH,#00H
-001BF1 1203CF            LCALL   ?C?CLDOPTR
-001BF4 6E                XRL     A,R6
-001BF5 6003              JZ      ?C0023?UTILITIES
-001BF7 7F00              MOV     R7,#00H
-001BF9 22                RET     
-001BFA         ?C0023?UTILITIES:
-001BFA 0F                INC     R7
-001BFB 80C6              SJMP    ?C0021?UTILITIES
-001BFD         ?C0022?UTILITIES:
-001BFD 7F01              MOV     R7,#01H
-001BFF 22                RET     
+001B14 E4                CLR     A
+001B15 FF                MOV     R7,A
+001B16         ?C0021?UTILITIES:
+001B16 904E3E            MOV     DPTR,#len
+001B19 E0                MOVX    A,@DPTR
+001B1A FE                MOV     R6,A
+001B1B EF                MOV     A,R7
+001B1C C3                CLR     C
+001B1D 9E                SUBB    A,R6
+001B1E 5030              JNC     ?C0022?UTILITIES
+001B20 904E3B            MOV     DPTR,#str2
+001B23 E0                MOVX    A,@DPTR
+001B24 FB                MOV     R3,A
+001B25 A3                INC     DPTR
+001B26 E0                MOVX    A,@DPTR
+001B27 FA                MOV     R2,A
+001B28 A3                INC     DPTR
+001B29 E0                MOVX    A,@DPTR
+001B2A F9                MOV     R1,A
+001B2B 8F82              MOV     DPL,R7
+001B2D 758300            MOV     DPH,#00H
+001B30 1203CF            LCALL   ?C?CLDOPTR
+001B33 FE                MOV     R6,A
+001B34 904E38            MOV     DPTR,#str1
+001B37 E0                MOVX    A,@DPTR
+001B38 FB                MOV     R3,A
+001B39 A3                INC     DPTR
+001B3A E0                MOVX    A,@DPTR
+001B3B FA                MOV     R2,A
+001B3C A3                INC     DPTR
+001B3D E0                MOVX    A,@DPTR
+001B3E F9                MOV     R1,A
+001B3F 8F82              MOV     DPL,R7
+001B41 758300            MOV     DPH,#00H
+001B44 1203CF            LCALL   ?C?CLDOPTR
+001B47 6E                XRL     A,R6
+001B48 6003              JZ      ?C0023?UTILITIES
+001B4A 7F00              MOV     R7,#00H
+001B4C 22                RET     
+001B4D         ?C0023?UTILITIES:
+001B4D 0F                INC     R7
+001B4E 80C6              SJMP    ?C0021?UTILITIES
+001B50         ?C0022?UTILITIES:
+001B50 7F01              MOV     R7,#01H
+001B52 22                RET     
 ----- FUNCTION _compare_str (END) -------
 
 
@@ -4943,1537 +4766,660 @@
    37: 	byte i = 0;
    38: 
 ;---- Variable 'i' assigned to Register 'R6' ----
-001C00 E4                CLR     A
-001C01 FE                MOV     R6,A
-   39: 	if (key == HID_KEY_RIGHT_GUI)
-001C02 EF                MOV     A,R7
-001C03 B4E708            CJNE    A,#0E7H,?C0005?KEYSCAN
+001B53 E4                CLR     A
+001B54 FE                MOV     R6,A
+   39: 	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
+001B55 EF                MOV     A,R7
+001B56 C3                CLR     C
+001B57 94E0              SUBB    A,#0E0H
+001B59 4020              JC      ?C0005?KEYSCAN
+001B5B EF                MOV     A,R7
+001B5C D3                SETB    C
+001B5D 94E7              SUBB    A,#0E7H
+001B5F 501A              JNC     ?C0005?KEYSCAN
    40: 	{
-   41: 		ksEvtPool.standardSel |= KS_SEL_RGUI;
-001C06 904E31            MOV     DPTR,#ksEvtPool
-001C09 E0                MOVX    A,@DPTR
-001C0A 4480              ORL     A,#080H
-001C0C F0                MOVX    @DPTR,A
-001C0D 22                RET     
+   41: 		ksEvtPool.standardSel  |=  0x01 << (key & 0x07);
+001B61 904E31            MOV     DPTR,#ksEvtPool
+001B64 E0                MOVX    A,@DPTR
+001B65 FE                MOV     R6,A
+001B66 EF                MOV     A,R7
+001B67 5407              ANL     A,#07H
+001B69 FF                MOV     R7,A
+001B6A 7401              MOV     A,#01H
+001B6C A807              MOV     R0,AR7
+001B6E 08                INC     R0
+001B6F 8002              SJMP    ?C0089?KEYSCAN
+001B71         ?C0088?KEYSCAN:
+001B71 C3                CLR     C
+001B72 33                RLC     A
+001B73         ?C0089?KEYSCAN:
+001B73 D8FC              DJNZ    R0,?C0088?KEYSCAN
+001B75 4E                ORL     A,R6
+001B76 904E31            MOV     DPTR,#ksEvtPool
+001B79 F0                MOVX    @DPTR,A
+001B7A 22                RET     
    42: 		return;
    43: 	}
-001C0E         ?C0005?KEYSCAN:
-   44: 	else if (key ==HID_KEY_RIGHT_ALT) 
-001C0E EF                MOV     A,R7
-001C0F B4E608            CJNE    A,#0E6H,?C0008?KEYSCAN
-   45: 	{
-   46: 		ksEvtPool.standardSel |= KS_SEL_RALT;
-001C12 904E31            MOV     DPTR,#ksEvtPool
-001C15 E0                MOVX    A,@DPTR
-001C16 4440              ORL     A,#040H
-001C18 F0                MOVX    @DPTR,A
-001C19 22                RET     
-   47: 		return;
-   48: 	}
-001C1A         ?C0008?KEYSCAN:
-   49: 	else if (key ==HID_KEY_RIGHT_SHIFT) 
-001C1A EF                MOV     A,R7
-001C1B B4E508            CJNE    A,#0E5H,?C0010?KEYSCAN
-   50: 	{
-   51: 		ksEvtPool.standardSel |= KS_SEL_RSHIFT;
-001C1E 904E31            MOV     DPTR,#ksEvtPool
-001C21 E0                MOVX    A,@DPTR
-001C22 4420              ORL     A,#020H
-001C24 F0                MOVX    @DPTR,A
-001C25 22                RET     
-   52: 		return;
-   53: 	}
-001C26         ?C0010?KEYSCAN:
-   54: 	else if (key ==HID_KEY_RIGHT_CTL) 
-001C26 EF                MOV     A,R7
-001C27 B4E408            CJNE    A,#0E4H,?C0012?KEYSCAN
-   55: 	{
-   56: 		ksEvtPool.standardSel |= KS_SEL_RCTRL;
-001C2A 904E31            MOV     DPTR,#ksEvtPool
-001C2D E0                MOVX    A,@DPTR
-001C2E 4410              ORL     A,#010H
-001C30 F0                MOVX    @DPTR,A
-001C31 22                RET     
-   57: 		return;
-   58: 	}
-001C32         ?C0012?KEYSCAN:
-   59: 	else if (key ==HID_KEY_LEFT_GUI) 
-001C32 EF                MOV     A,R7
-001C33 B4E308            CJNE    A,#0E3H,?C0014?KEYSCAN
-   60: 	{
-   61: 		ksEvtPool.standardSel |= KS_SEL_LGUI;
-001C36 904E31            MOV     DPTR,#ksEvtPool
-001C39 E0                MOVX    A,@DPTR
-001C3A 4408              ORL     A,#08H
-001C3C F0                MOVX    @DPTR,A
-001C3D 22                RET     
-   62: 		return;
-   63: 	}
-001C3E         ?C0014?KEYSCAN:
-   64: 	else if (key ==HID_KEY_LEFT_ALT) 
-001C3E EF                MOV     A,R7
-001C3F B4E208            CJNE    A,#0E2H,?C0016?KEYSCAN
-   65: 	{
-   66: 		ksEvtPool.standardSel |= KS_SEL_LALT;
-001C42 904E31            MOV     DPTR,#ksEvtPool
-001C45 E0                MOVX    A,@DPTR
-001C46 4404              ORL     A,#04H
-001C48 F0                MOVX    @DPTR,A
-001C49 22                RET     
-   67: 		return;
-   68: 	}
-001C4A         ?C0016?KEYSCAN:
-   69: 	else if (key ==HID_KEY_LEFT_SHIFT)
-001C4A EF                MOV     A,R7
-001C4B B4E108            CJNE    A,#0E1H,?C0018?KEYSCAN
-   70: 	{
-   71: 		ksEvtPool.standardSel |= KS_SEL_LSHIFT;
-001C4E 904E31            MOV     DPTR,#ksEvtPool
-001C51 E0                MOVX    A,@DPTR
-001C52 4402              ORL     A,#02H
-001C54 F0                MOVX    @DPTR,A
-001C55 22                RET     
-   72: 		return;
-   73: 	}
-001C56         ?C0018?KEYSCAN:
-   74: 	else if (key ==HID_KEY_LEFT_CTL) 
-001C56 EF                MOV     A,R7
-001C57 B4E008            CJNE    A,#0E0H,?C0007?KEYSCAN
-   75: 	{
-   76: 		ksEvtPool.standardSel |= KS_SEL_LCTRL;
-001C5A 904E31            MOV     DPTR,#ksEvtPool
-001C5D E0                MOVX    A,@DPTR
-001C5E 4401              ORL     A,#01H
-001C60 F0                MOVX    @DPTR,A
-001C61 22                RET     
-   77: 		return;
-   78: 	}
-001C62         ?C0007?KEYSCAN:
-   79: 	//special key
-   80: 
-   81: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
-001C62 E4                CLR     A
-001C63 FE                MOV     R6,A
-001C64         ?C0021?KEYSCAN:
-   82: 	{
-   83: 		if (ksEvtPool.ksPool[i] == key)
-001C64 7432              MOV     A,#LOW ksEvtPool+01H
-001C66 2E                ADD     A,R6
-001C67 F582              MOV     DPL,A
-001C69 E4                CLR     A
-001C6A 344E              ADDC    A,#HIGH ksEvtPool+01H
-001C6C F583              MOV     DPH,A
-001C6E E0                MOVX    A,@DPTR
-001C6F FD                MOV     R5,A
-001C70 6F                XRL     A,R7
-001C71 601C              JZ      ?C0006?KEYSCAN
-   84: 			break;
-001C73         ?C0024?KEYSCAN:
-   85: 		if (ksEvtPool.ksPool[i] == 0) 
-001C73 ED                MOV     A,R5
-001C74 7014              JNZ     ?C0023?KEYSCAN
-   86: 		{
-   87: 			if(mult_key_value != key)
-001C76 904DE3            MOV     DPTR,#mult_key_value
-001C79 E0                MOVX    A,@DPTR
-001C7A 6F                XRL     A,R7
-001C7B 6012              JZ      ?C0006?KEYSCAN
-   88: 				ksEvtPool.ksPool[i] = key;
-001C7D 7432              MOV     A,#LOW ksEvtPool+01H
-001C7F 2E                ADD     A,R6
-001C80 F582              MOV     DPL,A
-001C82 E4                CLR     A
-001C83 344E              ADDC    A,#HIGH ksEvtPool+01H
-001C85 F583              MOV     DPH,A
-001C87 EF                MOV     A,R7
-001C88 F0                MOVX    @DPTR,A
-   89: 			break;
-001C89 22                RET     
-   90: 		}
-   91: 	}
-001C8A         ?C0023?KEYSCAN:
-001C8A 0E                INC     R6
-001C8B EE                MOV     A,R6
-001C8C B406D5            CJNE    A,#06H,?C0021?KEYSCAN
-   92: }
-001C8F         ?C0006?KEYSCAN:
-001C8F 22                RET     
+001B7B         ?C0005?KEYSCAN:
+   44: 
+   45: /*
+   46: 
+   47: 	if (key == HID_KEY_RIGHT_GUI)
+   48: 	{
+   49: 		ksEvtPool.standardSel |= KS_SEL_RGUI;
+   50: 		return;
+   51: 	}
+   52: 	else if (key ==HID_KEY_RIGHT_ALT) 
+   53: 	{
+   54: 		ksEvtPool.standardSel |= KS_SEL_RALT;
+   55: 		return;
+   56: 	}
+   57: 	else if (key ==HID_KEY_RIGHT_SHIFT) 
+   58: 	{
+   59: 		ksEvtPool.standardSel |= KS_SEL_RSHIFT;
+   60: 		return;
+   61: 	}
+   62: 	else if (key ==HID_KEY_RIGHT_CTL) 
+   63: 	{
+   64: 		ksEvtPool.standardSel |= KS_SEL_RCTRL;
+   65: 		return;
+   66: 	}
+   67: 	else if (key ==HID_KEY_LEFT_GUI) 
+   68: 	{
+   69: 		ksEvtPool.standardSel |= KS_SEL_LGUI;
+   70: 		return;
+   71: 	}
+   72: 	else if (key ==HID_KEY_LEFT_ALT) 
+   73: 	{
+   74: 		ksEvtPool.standardSel |= KS_SEL_LALT;
+   75: 		return;
+   76: 	}
+   77: 	else if (key ==HID_KEY_LEFT_SHIFT)
+   78: 	{
+   79: 		ksEvtPool.standardSel |= KS_SEL_LSHIFT;
+   80: 		return;
+   81: 	}
+   82: 	else if (key ==HID_KEY_LEFT_CTL) 
+   83: 	{
+   84: 		ksEvtPool.standardSel |= KS_SEL_LCTRL;
+   85: 		return;
+   86: 	}
+   87: */	
+   88: 	//special key
+   89: 
+   90: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
+001B7B E4                CLR     A
+001B7C FE                MOV     R6,A
+001B7D         ?C0007?KEYSCAN:
+   91: 	{
+   92: 		if (ksEvtPool.ksPool[i] == key)
+001B7D 7432              MOV     A,#LOW ksEvtPool+01H
+001B7F 2E                ADD     A,R6
+001B80 F582              MOV     DPL,A
+001B82 E4                CLR     A
+001B83 344E              ADDC    A,#HIGH ksEvtPool+01H
+001B85 F583              MOV     DPH,A
+001B87 E0                MOVX    A,@DPTR
+001B88 FD                MOV     R5,A
+001B89 6F                XRL     A,R7
+001B8A 601C              JZ      ?C0006?KEYSCAN
+   93: 			break;
+001B8C         ?C0010?KEYSCAN:
+   94: 		if (ksEvtPool.ksPool[i] == 0) 
+001B8C ED                MOV     A,R5
+001B8D 7014              JNZ     ?C0009?KEYSCAN
+   95: 		{
+   96: 			if(mult_key_value != key)
+001B8F 904DE3            MOV     DPTR,#mult_key_value
+001B92 E0                MOVX    A,@DPTR
+001B93 6F                XRL     A,R7
+001B94 6012              JZ      ?C0006?KEYSCAN
+   97: 				ksEvtPool.ksPool[i] = key;
+001B96 7432              MOV     A,#LOW ksEvtPool+01H
+001B98 2E                ADD     A,R6
+001B99 F582              MOV     DPL,A
+001B9B E4                CLR     A
+001B9C 344E              ADDC    A,#HIGH ksEvtPool+01H
+001B9E F583              MOV     DPH,A
+001BA0 EF                MOV     A,R7
+001BA1 F0                MOVX    @DPTR,A
+   98: 			break;
+001BA2 22                RET     
+   99: 		}
+  100: 	}
+001BA3         ?C0009?KEYSCAN:
+001BA3 0E                INC     R6
+001BA4 EE                MOV     A,R6
+001BA5 B406D5            CJNE    A,#06H,?C0007?KEYSCAN
+  101: }
+001BA8         ?C0006?KEYSCAN:
+001BA8 22                RET     
 ----- FUNCTION _keyIn (END) -------
 
 
 ----- FUNCTION _keyOut (BEGIN) -----
  FILE: 'keyscan.c'
-   94: static void keyOut(byte key)
-   95: {
+  103: static void keyOut(byte key)
+  104: {
 ;---- Variable 'key' assigned to Register 'R7' ----
-   96: 	byte i = 0 ;
-   97: 	byte found = 0;
+  105: 	byte i = 0 ;
+  106: 	byte found = 0;
 ;---- Variable 'i' assigned to Register 'R6' ----
-001C90 E4                CLR     A
-001C91 FE                MOV     R6,A
-   98: 
+001BA9 E4                CLR     A
+001BAA FE                MOV     R6,A
+  107: 
 ;---- Variable 'found' assigned to Register 'R5' ----
-001C92 FD                MOV     R5,A
-   99: 	if ((key &0xF0) == 0xf0 || (key &0xD0) == 0xD0)
-001C93 EF                MOV     A,R7
-001C94 54F0              ANL     A,#0F0H
-001C96 64F0              XRL     A,#0F0H
-001C98 6007              JZ      ?C0028?KEYSCAN
-001C9A EF                MOV     A,R7
-001C9B 54D0              ANL     A,#0D0H
-001C9D FC                MOV     R4,A
-001C9E BCD00C            CJNE    R4,#0D0H,?C0027?KEYSCAN
-001CA1         ?C0028?KEYSCAN:
-  100: 	{
-  101: 		if(mult_key_status == KEY_WAIT_RELEASE)
-001CA1 904DE4            MOV     DPTR,#mult_key_status
-001CA4 E0                MOVX    A,@DPTR
-001CA5 B4020B            CJNE    A,#02H,?C0030?KEYSCAN
-  102: 		{
-  103: 			mult_key_status = KEY_RELEASE;
-001CA8 7403              MOV     A,#03H
-001CAA F0                MOVX    @DPTR,A
-  104: 		}
-  105: 	}
-001CAB 8006              SJMP    ?C0030?KEYSCAN
-001CAD         ?C0027?KEYSCAN:
-  106: 	else
-  107: 		standard_key_release_flag = 1;
-001CAD 904DD8            MOV     DPTR,#standard_key_release_flag
-001CB0 7401              MOV     A,#01H
-001CB2 F0                MOVX    @DPTR,A
-001CB3         ?C0030?KEYSCAN:
-  108: 
-  109: 
-  110: 	if (key == HID_KEY_RIGHT_GUI ) 
-001CB3 EF                MOV     A,R7
-001CB4 B4E708            CJNE    A,#0E7H,?C0031?KEYSCAN
-  111: 	{
-  112: 		ksEvtPool.standardSel &= ~KS_SEL_RGUI;
-001CB7 904E31            MOV     DPTR,#ksEvtPool
-001CBA E0                MOVX    A,@DPTR
-001CBB 547F              ANL     A,#07FH
-001CBD F0                MOVX    @DPTR,A
-001CBE 22                RET     
-  113: 		return;
+001BAB FD                MOV     R5,A
+  108: 	if ((key &0xF0) == 0xf0 || (key &0xD0) == 0xD0)
+001BAC EF                MOV     A,R7
+001BAD 54F0              ANL     A,#0F0H
+001BAF 64F0              XRL     A,#0F0H
+001BB1 6007              JZ      ?C0014?KEYSCAN
+001BB3 EF                MOV     A,R7
+001BB4 54D0              ANL     A,#0D0H
+001BB6 FC                MOV     R4,A
+001BB7 BCD00C            CJNE    R4,#0D0H,?C0013?KEYSCAN
+001BBA         ?C0014?KEYSCAN:
+  109: 	{
+  110: 		if(mult_key_status == KEY_WAIT_RELEASE)
+001BBA 904DE4            MOV     DPTR,#mult_key_status
+001BBD E0                MOVX    A,@DPTR
+001BBE B4020B            CJNE    A,#02H,?C0016?KEYSCAN
+  111: 		{
+  112: 			mult_key_status = KEY_RELEASE;
+001BC1 7403              MOV     A,#03H
+001BC3 F0                MOVX    @DPTR,A
+  113: 		}
   114: 	}
-001CBF         ?C0031?KEYSCAN:
-  115: 	else if (key ==HID_KEY_RIGHT_ALT ) 
-001CBF EF                MOV     A,R7
-001CC0 B4E608            CJNE    A,#0E6H,?C0034?KEYSCAN
-  116: 	{
-  117: 		ksEvtPool.standardSel &= ~KS_SEL_RALT;
-001CC3 904E31            MOV     DPTR,#ksEvtPool
-001CC6 E0                MOVX    A,@DPTR
-001CC7 54BF              ANL     A,#0BFH
-001CC9 F0                MOVX    @DPTR,A
-001CCA 22                RET     
-  118: 		return;
-  119: 	}
-001CCB         ?C0034?KEYSCAN:
-  120: 	else if (key ==HID_KEY_RIGHT_SHIFT) 
-001CCB EF                MOV     A,R7
-001CCC B4E508            CJNE    A,#0E5H,?C0036?KEYSCAN
-  121: 	{
-  122: 		ksEvtPool.standardSel &= ~KS_SEL_RSHIFT;
-001CCF 904E31            MOV     DPTR,#ksEvtPool
-001CD2 E0                MOVX    A,@DPTR
-001CD3 54DF              ANL     A,#0DFH
-001CD5 F0                MOVX    @DPTR,A
-001CD6 22                RET     
-  123: 		return;
-  124: 	}
-001CD7         ?C0036?KEYSCAN:
-  125: 	else if (key ==HID_KEY_RIGHT_CTL) 
-001CD7 EF                MOV     A,R7
-001CD8 B4E408            CJNE    A,#0E4H,?C0038?KEYSCAN
+001BC4 8006              SJMP    ?C0016?KEYSCAN
+001BC6         ?C0013?KEYSCAN:
+  115: 	else
+  116: 		standard_key_release_flag = 1;
+001BC6 904DD8            MOV     DPTR,#standard_key_release_flag
+001BC9 7401              MOV     A,#01H
+001BCB F0                MOVX    @DPTR,A
+001BCC         ?C0016?KEYSCAN:
+  117: 
+  118: 	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
+001BCC EF                MOV     A,R7
+001BCD C3                CLR     C
+001BCE 94E0              SUBB    A,#0E0H
+001BD0 4020              JC      ?C0017?KEYSCAN
+001BD2 EF                MOV     A,R7
+001BD3 D3                SETB    C
+001BD4 94E7              SUBB    A,#0E7H
+001BD6 501A              JNC     ?C0017?KEYSCAN
+  119: 	{
+  120: 		ksEvtPool.standardSel  &= ~0x01 << (key & 0x07);
+001BD8 904E31            MOV     DPTR,#ksEvtPool
+001BDB E0                MOVX    A,@DPTR
+001BDC FE                MOV     R6,A
+001BDD EF                MOV     A,R7
+001BDE 5407              ANL     A,#07H
+001BE0 FF                MOV     R7,A
+001BE1 74FE              MOV     A,#0FEH
+001BE3 A807              MOV     R0,AR7
+001BE5 08                INC     R0
+001BE6 8002              SJMP    ?C0091?KEYSCAN
+001BE8         ?C0090?KEYSCAN:
+001BE8 C3                CLR     C
+001BE9 33                RLC     A
+001BEA         ?C0091?KEYSCAN:
+001BEA D8FC              DJNZ    R0,?C0090?KEYSCAN
+001BEC 5E                ANL     A,R6
+001BED 904E31            MOV     DPTR,#ksEvtPool
+001BF0 F0                MOVX    @DPTR,A
+001BF1 22                RET     
+  121: 		return;
+  122: 	}
+001BF2         ?C0017?KEYSCAN:
+  123: 
+  124: /*
+  125: 	if (key == HID_KEY_RIGHT_GUI ) 
   126: 	{
-  127: 		ksEvtPool.standardSel &= ~KS_SEL_RCTRL;
-001CDB 904E31            MOV     DPTR,#ksEvtPool
-001CDE E0                MOVX    A,@DPTR
-001CDF 54EF              ANL     A,#0EFH
-001CE1 F0                MOVX    @DPTR,A
-001CE2 22                RET     
+  127: 		ksEvtPool.standardSel &= ~KS_SEL_RGUI;
   128: 		return;
   129: 	}
-001CE3         ?C0038?KEYSCAN:
-  130: 	else if (key ==HID_KEY_LEFT_GUI)
-001CE3 EF                MOV     A,R7
-001CE4 B4E308            CJNE    A,#0E3H,?C0040?KEYSCAN
+  130: 	else if (key ==HID_KEY_RIGHT_ALT ) 
   131: 	{
-  132: 		ksEvtPool.standardSel &= ~KS_SEL_LGUI;
-001CE7 904E31            MOV     DPTR,#ksEvtPool
-001CEA E0                MOVX    A,@DPTR
-001CEB 54F7              ANL     A,#0F7H
-001CED F0                MOVX    @DPTR,A
-001CEE 22                RET     
+  132: 		ksEvtPool.standardSel &= ~KS_SEL_RALT;
   133: 		return;
   134: 	}
-001CEF         ?C0040?KEYSCAN:
-  135: 	else if (key ==HID_KEY_LEFT_ALT)
-001CEF EF                MOV     A,R7
-001CF0 B4E208            CJNE    A,#0E2H,?C0042?KEYSCAN
+  135: 	else if (key ==HID_KEY_RIGHT_SHIFT) 
   136: 	{
-  137: 		ksEvtPool.standardSel &= ~KS_SEL_LALT;
-001CF3 904E31            MOV     DPTR,#ksEvtPool
-001CF6 E0                MOVX    A,@DPTR
-001CF7 54FB              ANL     A,#0FBH
-001CF9 F0                MOVX    @DPTR,A
-001CFA 22                RET     
+  137: 		ksEvtPool.standardSel &= ~KS_SEL_RSHIFT;
   138: 		return;
   139: 	}
-001CFB         ?C0042?KEYSCAN:
-  140: 	else if (key ==HID_KEY_LEFT_SHIFT) 
-001CFB EF                MOV     A,R7
-001CFC B4E108            CJNE    A,#0E1H,?C0044?KEYSCAN
+  140: 	else if (key ==HID_KEY_RIGHT_CTL) 
   141: 	{
-  142: 		ksEvtPool.standardSel &= ~KS_SEL_LSHIFT;
-001CFF 904E31            MOV     DPTR,#ksEvtPool
-001D02 E0                MOVX    A,@DPTR
-001D03 54FD              ANL     A,#0FDH
-001D05 F0                MOVX    @DPTR,A
-001D06 22                RET     
+  142: 		ksEvtPool.standardSel &= ~KS_SEL_RCTRL;
   143: 		return;
   144: 	}
-001D07         ?C0044?KEYSCAN:
-  145: 	else if (key ==HID_KEY_LEFT_CTL) 
-001D07 EF                MOV     A,R7
-001D08 B4E008            CJNE    A,#0E0H,?C0033?KEYSCAN
+  145: 	else if (key ==HID_KEY_LEFT_GUI)
   146: 	{
-  147: 		ksEvtPool.standardSel &= ~ KS_SEL_LCTRL;
-001D0B 904E31            MOV     DPTR,#ksEvtPool
-001D0E E0                MOVX    A,@DPTR
-001D0F 54FE              ANL     A,#0FEH
-001D11 F0                MOVX    @DPTR,A
-001D12 22                RET     
+  147: 		ksEvtPool.standardSel &= ~KS_SEL_LGUI;
   148: 		return;
   149: 	}
-001D13         ?C0033?KEYSCAN:
-  150: 	
-  151: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
-001D13 E4                CLR     A
-001D14 FE                MOV     R6,A
-001D15         ?C0047?KEYSCAN:
-  152: 	{
-  153: 		if (found == 0) 
-001D15 ED                MOV     A,R5
-001D16 7021              JNZ     ?C0050?KEYSCAN
-  154: 		{
-  155: 			if (ksEvtPool.ksPool[i] == key) {
-001D18 7432              MOV     A,#LOW ksEvtPool+01H
-001D1A 2E                ADD     A,R6
-001D1B F582              MOV     DPL,A
-001D1D E4                CLR     A
-001D1E 344E              ADDC    A,#HIGH ksEvtPool+01H
-001D20 F583              MOV     DPH,A
-001D22 E0                MOVX    A,@DPTR
-001D23 6F                XRL     A,R7
-001D24 7047              JNZ     ?C0049?KEYSCAN
-  156: 				if (i == KS_BUFF_POLL_LEN-1) {
-001D26 EE                MOV     A,R6
-001D27 B4050B            CJNE    A,#05H,?C0052?KEYSCAN
-  157: 					ksEvtPool.ksPool[i] = 0;
-001D2A 2432              ADD     A,#LOW ksEvtPool+01H
-001D2C F582              MOV     DPL,A
-001D2E E4                CLR     A
-001D2F 344E              ADDC    A,#HIGH ksEvtPool+01H
-001D31 F583              MOV     DPH,A
-001D33 E4                CLR     A
-001D34 F0                MOVX    @DPTR,A
-  158: 				}
-001D35         ?C0052?KEYSCAN:
-  159: 				found = 1;
-001D35 7D01              MOV     R5,#01H
-  160: 			}
-  161: 		}
-001D37 8034              SJMP    ?C0049?KEYSCAN
-001D39         ?C0050?KEYSCAN:
-  162: 		else 
-  163: 		{
-  164: 			ksEvtPool.ksPool[i-1] = ksEvtPool.ksPool[i];
-001D39 7432              MOV     A,#LOW ksEvtPool+01H
-001D3B 2E                ADD     A,R6
-001D3C F582              MOV     DPL,A
-001D3E E4                CLR     A
-001D3F 344E              ADDC    A,#HIGH ksEvtPool+01H
-001D41 F583              MOV     DPH,A
-001D43 E0                MOVX    A,@DPTR
-001D44 FC                MOV     R4,A
-001D45 7431              MOV     A,#LOW ksEvtPool
-001D47 2E                ADD     A,R6
-001D48 F582              MOV     DPL,A
-001D4A E4                CLR     A
-001D4B 344E              ADDC    A,#HIGH ksEvtPool
-001D4D F583              MOV     DPH,A
-001D4F EC                MOV     A,R4
-001D50 F0                MOVX    @DPTR,A
-  165: 			if (ksEvtPool.ksPool[i] == 0)
-001D51 7432              MOV     A,#LOW ksEvtPool+01H
-001D53 2E                ADD     A,R6
-001D54 F582              MOV     DPL,A
-001D56 E4                CLR     A
-001D57 344E              ADDC    A,#HIGH ksEvtPool+01H
-001D59 F583              MOV     DPH,A
-001D5B E0                MOVX    A,@DPTR
-001D5C 6014              JZ      ?C0032?KEYSCAN
-  166: 				break;
-001D5E         ?C0054?KEYSCAN:
-  167: 			if (i == KS_BUFF_POLL_LEN-1) {
-001D5E EE                MOV     A,R6
-001D5F B4050B            CJNE    A,#05H,?C0049?KEYSCAN
-  168: 				ksEvtPool.ksPool[i] = 0;
-001D62 2432              ADD     A,#LOW ksEvtPool+01H
-001D64 F582              MOV     DPL,A
-001D66 E4                CLR     A
-001D67 344E              ADDC    A,#HIGH ksEvtPool+01H
-001D69 F583              MOV     DPH,A
-001D6B E4                CLR     A
-001D6C F0                MOVX    @DPTR,A
-  169: 			}
-  170: 		}
-  171: 	}
-001D6D         ?C0049?KEYSCAN:
-001D6D 0E                INC     R6
-001D6E EE                MOV     A,R6
-001D6F B406A3            CJNE    A,#06H,?C0047?KEYSCAN
-  172: }
-001D72         ?C0032?KEYSCAN:
-001D72 22                RET     
+  150: 	else if (key ==HID_KEY_LEFT_ALT)
+  151: 	{
+  152: 		ksEvtPool.standardSel &= ~KS_SEL_LALT;
+  153: 		return;
+  154: 	}
+  155: 	else if (key ==HID_KEY_LEFT_SHIFT) 
+  156: 	{
+  157: 		ksEvtPool.standardSel &= ~KS_SEL_LSHIFT;
+  158: 		return;
+  159: 	}
+  160: 	else if (key ==HID_KEY_LEFT_CTL) 
+  161: 	{
+  162: 		ksEvtPool.standardSel &= ~ KS_SEL_LCTRL;
+  163: 		return;
+  164: 	}
+  165: */	
+  166: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
+001BF2 E4                CLR     A
+001BF3 FE                MOV     R6,A
+001BF4         ?C0019?KEYSCAN:
+  167: 	{
+  168: 		if (found == 0) 
+001BF4 ED                MOV     A,R5
+001BF5 7021              JNZ     ?C0022?KEYSCAN
+  169: 		{
+  170: 			if (ksEvtPool.ksPool[i] == key) {
+001BF7 7432              MOV     A,#LOW ksEvtPool+01H
+001BF9 2E                ADD     A,R6
+001BFA F582              MOV     DPL,A
+001BFC E4                CLR     A
+001BFD 344E              ADDC    A,#HIGH ksEvtPool+01H
+001BFF F583              MOV     DPH,A
+001C01 E0                MOVX    A,@DPTR
+001C02 6F                XRL     A,R7
+001C03 7047              JNZ     ?C0021?KEYSCAN
+  171: 				if (i == KS_BUFF_POLL_LEN-1) {
+001C05 EE                MOV     A,R6
+001C06 B4050B            CJNE    A,#05H,?C0024?KEYSCAN
+  172: 					ksEvtPool.ksPool[i] = 0;
+001C09 2432              ADD     A,#LOW ksEvtPool+01H
+001C0B F582              MOV     DPL,A
+001C0D E4                CLR     A
+001C0E 344E              ADDC    A,#HIGH ksEvtPool+01H
+001C10 F583              MOV     DPH,A
+001C12 E4                CLR     A
+001C13 F0                MOVX    @DPTR,A
+  173: 				}
+001C14         ?C0024?KEYSCAN:
+  174: 				found = 1;
+001C14 7D01              MOV     R5,#01H
+  175: 			}
+  176: 		}
+001C16 8034              SJMP    ?C0021?KEYSCAN
+001C18         ?C0022?KEYSCAN:
+  177: 		else 
+  178: 		{
+  179: 			ksEvtPool.ksPool[i-1] = ksEvtPool.ksPool[i];
+001C18 7432              MOV     A,#LOW ksEvtPool+01H
+001C1A 2E                ADD     A,R6
+001C1B F582              MOV     DPL,A
+001C1D E4                CLR     A
+001C1E 344E              ADDC    A,#HIGH ksEvtPool+01H
+001C20 F583              MOV     DPH,A
+001C22 E0                MOVX    A,@DPTR
+001C23 FC                MOV     R4,A
+001C24 7431              MOV     A,#LOW ksEvtPool
+001C26 2E                ADD     A,R6
+001C27 F582              MOV     DPL,A
+001C29 E4                CLR     A
+001C2A 344E              ADDC    A,#HIGH ksEvtPool
+001C2C F583              MOV     DPH,A
+001C2E EC                MOV     A,R4
+001C2F F0                MOVX    @DPTR,A
+  180: 			if (ksEvtPool.ksPool[i] == 0)
+001C30 7432              MOV     A,#LOW ksEvtPool+01H
+001C32 2E                ADD     A,R6
+001C33 F582              MOV     DPL,A
+001C35 E4                CLR     A
+001C36 344E              ADDC    A,#HIGH ksEvtPool+01H
+001C38 F583              MOV     DPH,A
+001C3A E0                MOVX    A,@DPTR
+001C3B 6014              JZ      ?C0018?KEYSCAN
+  181: 				break;
+001C3D         ?C0026?KEYSCAN:
+  182: 			if (i == KS_BUFF_POLL_LEN-1) {
+001C3D EE                MOV     A,R6
+001C3E B4050B            CJNE    A,#05H,?C0021?KEYSCAN
+  183: 				ksEvtPool.ksPool[i] = 0;
+001C41 2432              ADD     A,#LOW ksEvtPool+01H
+001C43 F582              MOV     DPL,A
+001C45 E4                CLR     A
+001C46 344E              ADDC    A,#HIGH ksEvtPool+01H
+001C48 F583              MOV     DPH,A
+001C4A E4                CLR     A
+001C4B F0                MOVX    @DPTR,A
+  184: 			}
+  185: 		}
+  186: 	}
+001C4C         ?C0021?KEYSCAN:
+001C4C 0E                INC     R6
+001C4D EE                MOV     A,R6
+001C4E B406A3            CJNE    A,#06H,?C0019?KEYSCAN
+  187: }
+001C51         ?C0018?KEYSCAN:
+001C51 22                RET     
 ----- FUNCTION _keyOut (END) -------
 
 
 ----- FUNCTION KS_ScanMatrix (BEGIN) -----
  FILE: 'keyscan.c'
-  245: void KS_ScanMatrix()
-  246: {
-  247: 	byte i = 0;
-  248: 	byte j = 0;
+  260: void KS_ScanMatrix()
+  261: {
+  262: 	byte i = 0;
+  263: 	byte j = 0;
 ;---- Variable 'i' assigned to Register 'R7' ----
-001D73 E4                CLR     A
-001D74 FF                MOV     R7,A
-  249: 	byte tgroup = 0;
-001D75 904E69            MOV     DPTR,#j
-001D78 F0                MOVX    @DPTR,A
-  250: 	byte tgpionum = 0;
+001C52 E4                CLR     A
+001C53 FF                MOV     R7,A
+  264: 	byte tgroup = 0;
+001C54 904E69            MOV     DPTR,#j
+001C57 F0                MOVX    @DPTR,A
+  265: 	byte tgpionum = 0;
 ;---- Variable 'tgroup' assigned to Register 'R6' ----
-001D79 FE                MOV     R6,A
-  251: 	byte temp = 0;
+001C58 FE                MOV     R6,A
+  266: 	byte temp = 0;
 ;---- Variable 'tgpionum' assigned to Register 'R5' ----
-001D7A FD                MOV     R5,A
-  252: 	byte check = 0;
-001D7B A3                INC     DPTR
-001D7C F0                MOVX    @DPTR,A
-  253: 	byte rawSel = 0;
-001D7D A3                INC     DPTR
-001D7E F0                MOVX    @DPTR,A
-  254: 	for (i=0; col[i]!=0; i++) {
-001D7F A3                INC     DPTR
-001D80 F0                MOVX    @DPTR,A
-  255: 		tgroup = col[i]  >> 3;
-001D81         ?C0073?KEYSCAN:
-001D81 EF                MOV     A,R7
-001D82 90060C            MOV     DPTR,#col
-001D85 93                MOVC    A,@A+DPTR
-001D86 607C              JZ      ?C0074?KEYSCAN
-  256: 		tgpionum = 1 << (col[i] & 7);
-001D88 EF                MOV     A,R7
-001D89 93                MOVC    A,@A+DPTR
-001D8A FD                MOV     R5,A
-001D8B 13                RRC     A
-001D8C 13                RRC     A
-001D8D 13                RRC     A
-001D8E 541F              ANL     A,#01FH
-001D90 FE                MOV     R6,A
-  257: 		GET_RAW_KEY_SEL(ksSelMapCurr[i], tgroup, tgpionum);
-001D91 ED                MOV     A,R5
-001D92 5407              ANL     A,#07H
-001D94 FD                MOV     R5,A
-001D95 7401              MOV     A,#01H
-001D97 A805              MOV     R0,AR5
-001D99 08                INC     R0
-001D9A 8002              SJMP    ?C0119?KEYSCAN
-001D9C         ?C0118?KEYSCAN:
-001D9C C3                CLR     C
-001D9D 33                RLC     A
-001D9E         ?C0119?KEYSCAN:
-001D9E D8FC              DJNZ    R0,?C0118?KEYSCAN
-001DA0 FD                MOV     R5,A
-  258: 	}
-001DA1 EE                MOV     A,R6
-001DA2 2478              ADD     A,#078H
-001DA4 FB                MOV     R3,A
-001DA5 E4                CLR     A
-001DA6 3480              ADDC    A,#080H
-001DA8 8B82              MOV     DPL,R3
-001DAA F583              MOV     DPH,A
-001DAC E0                MOVX    A,@DPTR
-001DAD FC                MOV     R4,A
-001DAE ED                MOV     A,R5
-001DAF F4                CPL     A
-001DB0 FB                MOV     R3,A
-001DB1 EC                MOV     A,R4
-001DB2 5B                ANL     A,R3
-001DB3 F0                MOVX    @DPTR,A
-001DB4 EE                MOV     A,R6
-001DB5 2470              ADD     A,#070H
-001DB7 F582              MOV     DPL,A
-001DB9 E4                CLR     A
-001DBA 3480              ADDC    A,#080H
-001DBC F583              MOV     DPH,A
-001DBE E0                MOVX    A,@DPTR
-001DBF 4D                ORL     A,R5
-001DC0 F0                MOVX    @DPTR,A
-001DC1 EE                MOV     A,R6
-001DC2 2474              ADD     A,#074H
-001DC4 F582              MOV     DPL,A
-001DC6 E4                CLR     A
-001DC7 3480              ADDC    A,#080H
-001DC9 F583              MOV     DPH,A
-001DCB E0                MOVX    A,@DPTR
-001DCC 5B                ANL     A,R3
-001DCD F0                MOVX    @DPTR,A
-001DCE 90811C            MOV     DPTR,#0811CH
-001DD1 E0                MOVX    A,@DPTR
-001DD2 F4                CPL     A
-001DD3 FC                MOV     R4,A
-001DD4 74BC              MOV     A,#LOW ksSelMapCurr
-001DD6 2F                ADD     A,R7
-001DD7 F582              MOV     DPL,A
-001DD9 E4                CLR     A
-001DDA 344D              ADDC    A,#HIGH ksSelMapCurr
-001DDC F583              MOV     DPH,A
-001DDE EC                MOV     A,R4
-001DDF F0                MOVX    @DPTR,A
-001DE0 EE                MOV     A,R6
-001DE1 2478              ADD     A,#078H
-001DE3 FB                MOV     R3,A
-001DE4 E4                CLR     A
-001DE5 3480              ADDC    A,#080H
-001DE7 8B82              MOV     DPL,R3
-001DE9 F583              MOV     DPH,A
-001DEB E0                MOVX    A,@DPTR
-001DEC 4D                ORL     A,R5
-001DED F0                MOVX    @DPTR,A
-001DEE EE                MOV     A,R6
-001DEF 2470              ADD     A,#070H
-001DF1 FB                MOV     R3,A
-001DF2 E4                CLR     A
-001DF3 3480              ADDC    A,#080H
-001DF5 8B82              MOV     DPL,R3
-001DF7 F583              MOV     DPH,A
-001DF9 E0                MOVX    A,@DPTR
-001DFA FC                MOV     R4,A
-001DFB ED                MOV     A,R5
-001DFC F4                CPL     A
-001DFD FB                MOV     R3,A
-001DFE EC                MOV     A,R4
-001DFF 5B                ANL     A,R3
-001E00 F0                MOVX    @DPTR,A
-  259: 
-001E01 0F                INC     R7
-001E02 A181              AJMP    ?C0073?KEYSCAN
-001E04         ?C0074?KEYSCAN:
-  260: 	for (i=0; col[i]!=0; i++) {
-001E04 E4                CLR     A
-001E05 FF                MOV     R7,A
-001E06         ?C0076?KEYSCAN:
-001E06 EF                MOV     A,R7
-001E07 90060C            MOV     DPTR,#col
-001E0A 93                MOVC    A,@A+DPTR
-001E0B 607C              JZ      ?C0077?KEYSCAN
-  261: 		tgroup = col[i]  >> 3;
-001E0D EF                MOV     A,R7
-001E0E 93                MOVC    A,@A+DPTR
-001E0F FD                MOV     R5,A
-001E10 13                RRC     A
-001E11 13                RRC     A
-001E12 13                RRC     A
-001E13 541F              ANL     A,#01FH
-001E15 FE                MOV     R6,A
-  262: 		tgpionum = 1 << (col[i] & 7);
-001E16 ED                MOV     A,R5
-001E17 5407              ANL     A,#07H
-001E19 FD                MOV     R5,A
-001E1A 7401              MOV     A,#01H
-001E1C A805              MOV     R0,AR5
-001E1E 08                INC     R0
-001E1F 8002              SJMP    ?C0121?KEYSCAN
-001E21         ?C0120?KEYSCAN:
-001E21 C3                CLR     C
-001E22 33                RLC     A
-001E23         ?C0121?KEYSCAN:
-001E23 D8FC              DJNZ    R0,?C0120?KEYSCAN
-001E25 FD                MOV     R5,A
-  263: 		GET_RAW_KEY_SEL(ksSelMapCheck[i], tgroup, tgpionum);
-001E26 EE                MOV     A,R6
-001E27 2478              ADD     A,#078H
-001E29 FB                MOV     R3,A
-001E2A E4                CLR     A
-001E2B 3480              ADDC    A,#080H
-001E2D 8B82              MOV     DPL,R3
-001E2F F583              MOV     DPH,A
-001E31 E0                MOVX    A,@DPTR
-001E32 FC                MOV     R4,A
-001E33 ED                MOV     A,R5
-001E34 F4                CPL     A
-001E35 FB                MOV     R3,A
-001E36 EC                MOV     A,R4
-001E37 5B                ANL     A,R3
-001E38 F0                MOVX    @DPTR,A
-001E39 EE                MOV     A,R6
-001E3A 2470              ADD     A,#070H
-001E3C F582              MOV     DPL,A
-001E3E E4                CLR     A
-001E3F 3480              ADDC    A,#080H
-001E41 F583              MOV     DPH,A
-001E43 E0                MOVX    A,@DPTR
-001E44 4D                ORL     A,R5
-001E45 F0                MOVX    @DPTR,A
-001E46 EE                MOV     A,R6
-001E47 2474              ADD     A,#074H
-001E49 F582              MOV     DPL,A
-001E4B E4                CLR     A
-001E4C 3480              ADDC    A,#080H
-001E4E F583              MOV     DPH,A
-001E50 E0                MOVX    A,@DPTR
-001E51 5B                ANL     A,R3
-001E52 F0                MOVX    @DPTR,A
-001E53 90811C            MOV     DPTR,#0811CH
-001E56 E0                MOVX    A,@DPTR
-001E57 F4                CPL     A
-001E58 FC                MOV     R4,A
-001E59 74A8              MOV     A,#LOW ksSelMapCheck
-001E5B 2F                ADD     A,R7
-001E5C F582              MOV     DPL,A
-001E5E E4                CLR     A
-001E5F 344D              ADDC    A,#HIGH ksSelMapCheck
-001E61 F583              MOV     DPH,A
-001E63 EC                MOV     A,R4
-001E64 F0                MOVX    @DPTR,A
-001E65 EE                MOV     A,R6
-001E66 2478              ADD     A,#078H
-001E68 FB                MOV     R3,A
-001E69 E4                CLR     A
-001E6A 3480              ADDC    A,#080H
-001E6C 8B82              MOV     DPL,R3
-001E6E F583              MOV     DPH,A
-001E70 E0                MOVX    A,@DPTR
-001E71 4D                ORL     A,R5
-001E72 F0                MOVX    @DPTR,A
-001E73 EE                MOV     A,R6
-001E74 2470              ADD     A,#070H
-001E76 FB                MOV     R3,A
-001E77 E4                CLR     A
-001E78 3480              ADDC    A,#080H
-001E7A 8B82              MOV     DPL,R3
-001E7C F583              MOV     DPH,A
-001E7E E0                MOVX    A,@DPTR
-001E7F FC                MOV     R4,A
-001E80 ED                MOV     A,R5
-001E81 F4                CPL     A
-001E82 FB                MOV     R3,A
-001E83 EC                MOV     A,R4
-001E84 5B                ANL     A,R3
-001E85 F0                MOVX    @DPTR,A
-  264: 	}
-001E86 0F                INC     R7
-001E87 C106              AJMP    ?C0076?KEYSCAN
-001E89         ?C0077?KEYSCAN:
-  265: 
-  266: 	for (i=0; col[i]!=0; i++) {
-001E89 E4                CLR     A
-001E8A FF                MOV     R7,A
-001E8B         ?C0079?KEYSCAN:
-001E8B EF                MOV     A,R7
-001E8C 90060C            MOV     DPTR,#col
-001E8F 93                MOVC    A,@A+DPTR
-001E90 6040              JZ      ?C0083?KEYSCAN
-  267: 		if (ksSelMapCheck[i]!=ksSelMapCurr[i]) {
-001E92 74BC              MOV     A,#LOW ksSelMapCurr
-001E94 2F                ADD     A,R7
-001E95 F582              MOV     DPL,A
-001E97 E4                CLR     A
-001E98 344D              ADDC    A,#HIGH ksSelMapCurr
-001E9A F583              MOV     DPH,A
-001E9C E0                MOVX    A,@DPTR
-001E9D FE                MOV     R6,A
-001E9E 74A8              MOV     A,#LOW ksSelMapCheck
-001EA0 2F                ADD     A,R7
-001EA1 F582              MOV     DPL,A
-001EA3 E4                CLR     A
-001EA4 344D              ADDC    A,#HIGH ksSelMapCheck
-001EA6 F583              MOV     DPH,A
-001EA8 E0                MOVX    A,@DPTR
-001EA9 6E                XRL     A,R6
-001EAA 6023              JZ      ?C0081?KEYSCAN
-  268: 			ksSelMapCurr[i] &= ksSelMapCheck[i];
-001EAC 74BC              MOV     A,#LOW ksSelMapCurr
-001EAE 2F                ADD     A,R7
-001EAF F582              MOV     DPL,A
-001EB1 E4                CLR     A
-001EB2 344D              ADDC    A,#HIGH ksSelMapCurr
-001EB4 F583              MOV     DPH,A
-001EB6 C083              PUSH    DPH
-001EB8 C082              PUSH    DPL
-001EBA E0                MOVX    A,@DPTR
-001EBB FE                MOV     R6,A
-001EBC 74A8              MOV     A,#LOW ksSelMapCheck
-001EBE 2F                ADD     A,R7
-001EBF F582              MOV     DPL,A
-001EC1 E4                CLR     A
-001EC2 344D              ADDC    A,#HIGH ksSelMapCheck
-001EC4 F583              MOV     DPH,A
-001EC6 E0                MOVX    A,@DPTR
-001EC7 FD                MOV     R5,A
-001EC8 EE                MOV     A,R6
-001EC9 5D                ANL     A,R5
-001ECA D082              POP     DPL
-001ECC D083              POP     DPH
-001ECE F0                MOVX    @DPTR,A
-  269: 		}
-  270: 	}
-001ECF         ?C0081?KEYSCAN:
-001ECF 0F                INC     R7
-001ED0 80B9              SJMP    ?C0079?KEYSCAN
-  271: }
-001ED2         ?C0083?KEYSCAN:
-001ED2 22                RET     
+001C59 FD                MOV     R5,A
+  267: 	byte check = 0;
+001C5A A3                INC     DPTR
+001C5B F0                MOVX    @DPTR,A
+  268: 	byte rawSel = 0;
+001C5C A3                INC     DPTR
+001C5D F0                MOVX    @DPTR,A
+  269: 	for (i=0; col[i]!=0; i++) {
+001C5E A3                INC     DPTR
+001C5F F0                MOVX    @DPTR,A
+  270: 		tgroup = col[i]  >> 3;
+001C60         ?C0045?KEYSCAN:
+001C60 EF                MOV     A,R7
+001C61 90060C            MOV     DPTR,#col
+001C64 93                MOVC    A,@A+DPTR
+001C65 607C              JZ      ?C0046?KEYSCAN
+  271: 		tgpionum = 1 << (col[i] & 7);
+001C67 EF                MOV     A,R7
+001C68 93                MOVC    A,@A+DPTR
+001C69 FD                MOV     R5,A
+001C6A 13                RRC     A
+001C6B 13                RRC     A
+001C6C 13                RRC     A
+001C6D 541F              ANL     A,#01FH
+001C6F FE                MOV     R6,A
+  272: 		GET_RAW_KEY_SEL(ksSelMapCurr[i], tgroup, tgpionum);
+001C70 ED                MOV     A,R5
+001C71 5407              ANL     A,#07H
+001C73 FD                MOV     R5,A
+001C74 7401              MOV     A,#01H
+001C76 A805              MOV     R0,AR5
+001C78 08                INC     R0
+001C79 8002              SJMP    ?C0095?KEYSCAN
+001C7B         ?C0094?KEYSCAN:
+001C7B C3                CLR     C
+001C7C 33                RLC     A
+001C7D         ?C0095?KEYSCAN:
+001C7D D8FC              DJNZ    R0,?C0094?KEYSCAN
+001C7F FD                MOV     R5,A
+  273: 	}
+001C80 EE                MOV     A,R6
+001C81 2478              ADD     A,#078H
+001C83 FB                MOV     R3,A
+001C84 E4                CLR     A
+001C85 3480              ADDC    A,#080H
+001C87 8B82              MOV     DPL,R3
+001C89 F583              MOV     DPH,A
+001C8B E0                MOVX    A,@DPTR
+001C8C FC                MOV     R4,A
+001C8D ED                MOV     A,R5
+001C8E F4                CPL     A
+001C8F FB                MOV     R3,A
+001C90 EC                MOV     A,R4
+001C91 5B                ANL     A,R3
+001C92 F0                MOVX    @DPTR,A
+001C93 EE                MOV     A,R6
+001C94 2470              ADD     A,#070H
+001C96 F582              MOV     DPL,A
+001C98 E4                CLR     A
+001C99 3480              ADDC    A,#080H
+001C9B F583              MOV     DPH,A
+001C9D E0                MOVX    A,@DPTR
+001C9E 4D                ORL     A,R5
+001C9F F0                MOVX    @DPTR,A
+001CA0 EE                MOV     A,R6
+001CA1 2474              ADD     A,#074H
+001CA3 F582              MOV     DPL,A
+001CA5 E4                CLR     A
+001CA6 3480              ADDC    A,#080H
+001CA8 F583              MOV     DPH,A
+001CAA E0                MOVX    A,@DPTR
+001CAB 5B                ANL     A,R3
+001CAC F0                MOVX    @DPTR,A
+001CAD 90811C            MOV     DPTR,#0811CH
+001CB0 E0                MOVX    A,@DPTR
+001CB1 F4                CPL     A
+001CB2 FC                MOV     R4,A
+001CB3 74BC              MOV     A,#LOW ksSelMapCurr
+001CB5 2F                ADD     A,R7
+001CB6 F582              MOV     DPL,A
+001CB8 E4                CLR     A
+001CB9 344D              ADDC    A,#HIGH ksSelMapCurr
+001CBB F583              MOV     DPH,A
+001CBD EC                MOV     A,R4
+001CBE F0                MOVX    @DPTR,A
+001CBF EE                MOV     A,R6
+001CC0 2478              ADD     A,#078H
+001CC2 FB                MOV     R3,A
+001CC3 E4                CLR     A
+001CC4 3480              ADDC    A,#080H
+001CC6 8B82              MOV     DPL,R3
+001CC8 F583              MOV     DPH,A
+001CCA E0                MOVX    A,@DPTR
+001CCB 4D                ORL     A,R5
+001CCC F0                MOVX    @DPTR,A
+001CCD EE                MOV     A,R6
+001CCE 2470              ADD     A,#070H
+001CD0 FB                MOV     R3,A
+001CD1 E4                CLR     A
+001CD2 3480              ADDC    A,#080H
+001CD4 8B82              MOV     DPL,R3
+001CD6 F583              MOV     DPH,A
+001CD8 E0                MOVX    A,@DPTR
+001CD9 FC                MOV     R4,A
+001CDA ED                MOV     A,R5
+001CDB F4                CPL     A
+001CDC FB                MOV     R3,A
+001CDD EC                MOV     A,R4
+001CDE 5B                ANL     A,R3
+001CDF F0                MOVX    @DPTR,A
+  274: 
+001CE0 0F                INC     R7
+001CE1 8160              AJMP    ?C0045?KEYSCAN
+001CE3         ?C0046?KEYSCAN:
+  275: 	for (i=0; col[i]!=0; i++) {
+001CE3 E4                CLR     A
+001CE4 FF                MOV     R7,A
+001CE5         ?C0048?KEYSCAN:
+001CE5 EF                MOV     A,R7
+001CE6 90060C            MOV     DPTR,#col
+001CE9 93                MOVC    A,@A+DPTR
+001CEA 607C              JZ      ?C0049?KEYSCAN
+  276: 		tgroup = col[i]  >> 3;
+001CEC EF                MOV     A,R7
+001CED 93                MOVC    A,@A+DPTR
+001CEE FD                MOV     R5,A
+001CEF 13                RRC     A
+001CF0 13                RRC     A
+001CF1 13                RRC     A
+001CF2 541F              ANL     A,#01FH
+001CF4 FE                MOV     R6,A
+  277: 		tgpionum = 1 << (col[i] & 7);
+001CF5 ED                MOV     A,R5
+001CF6 5407              ANL     A,#07H
+001CF8 FD                MOV     R5,A
+001CF9 7401              MOV     A,#01H
+001CFB A805              MOV     R0,AR5
+001CFD 08                INC     R0
+001CFE 8002              SJMP    ?C0097?KEYSCAN
+001D00         ?C0096?KEYSCAN:
+001D00 C3                CLR     C
+001D01 33                RLC     A
+001D02         ?C0097?KEYSCAN:
+001D02 D8FC              DJNZ    R0,?C0096?KEYSCAN
+001D04 FD                MOV     R5,A
+  278: 		GET_RAW_KEY_SEL(ksSelMapCheck[i], tgroup, tgpionum);
+001D05 EE                MOV     A,R6
+001D06 2478              ADD     A,#078H
+001D08 FB                MOV     R3,A
+001D09 E4                CLR     A
+001D0A 3480              ADDC    A,#080H
+001D0C 8B82              MOV     DPL,R3
+001D0E F583              MOV     DPH,A
+001D10 E0                MOVX    A,@DPTR
+001D11 FC                MOV     R4,A
+001D12 ED                MOV     A,R5
+001D13 F4                CPL     A
+001D14 FB                MOV     R3,A
+001D15 EC                MOV     A,R4
+001D16 5B                ANL     A,R3
+001D17 F0                MOVX    @DPTR,A
+001D18 EE                MOV     A,R6
+001D19 2470              ADD     A,#070H
+001D1B F582              MOV     DPL,A
+001D1D E4                CLR     A
+001D1E 3480              ADDC    A,#080H
+001D20 F583              MOV     DPH,A
+001D22 E0                MOVX    A,@DPTR
+001D23 4D                ORL     A,R5
+001D24 F0                MOVX    @DPTR,A
+001D25 EE                MOV     A,R6
+001D26 2474              ADD     A,#074H
+001D28 F582              MOV     DPL,A
+001D2A E4                CLR     A
+001D2B 3480              ADDC    A,#080H
+001D2D F583              MOV     DPH,A
+001D2F E0                MOVX    A,@DPTR
+001D30 5B                ANL     A,R3
+001D31 F0                MOVX    @DPTR,A
+001D32 90811C            MOV     DPTR,#0811CH
+001D35 E0                MOVX    A,@DPTR
+001D36 F4                CPL     A
+001D37 FC                MOV     R4,A
+001D38 74A8              MOV     A,#LOW ksSelMapCheck
+001D3A 2F                ADD     A,R7
+001D3B F582              MOV     DPL,A
+001D3D E4                CLR     A
+001D3E 344D              ADDC    A,#HIGH ksSelMapCheck
+001D40 F583              MOV     DPH,A
+001D42 EC                MOV     A,R4
+001D43 F0                MOVX    @DPTR,A
+001D44 EE                MOV     A,R6
+001D45 2478              ADD     A,#078H
+001D47 FB                MOV     R3,A
+001D48 E4                CLR     A
+001D49 3480              ADDC    A,#080H
+001D4B 8B82              MOV     DPL,R3
+001D4D F583              MOV     DPH,A
+001D4F E0                MOVX    A,@DPTR
+001D50 4D                ORL     A,R5
+001D51 F0                MOVX    @DPTR,A
+001D52 EE                MOV     A,R6
+001D53 2470              ADD     A,#070H
+001D55 FB                MOV     R3,A
+001D56 E4                CLR     A
+001D57 3480              ADDC    A,#080H
+001D59 8B82              MOV     DPL,R3
+001D5B F583              MOV     DPH,A
+001D5D E0                MOVX    A,@DPTR
+001D5E FC                MOV     R4,A
+001D5F ED                MOV     A,R5
+001D60 F4                CPL     A
+001D61 FB                MOV     R3,A
+001D62 EC                MOV     A,R4
+001D63 5B                ANL     A,R3
+001D64 F0                MOVX    @DPTR,A
+  279: 	}
+001D65 0F                INC     R7
+001D66 81E5              AJMP    ?C0048?KEYSCAN
+001D68         ?C0049?KEYSCAN:
+  280: 
+  281: 	for (i=0; col[i]!=0; i++) {
+001D68 E4                CLR     A
+001D69 FF                MOV     R7,A
+001D6A         ?C0051?KEYSCAN:
+001D6A EF                MOV     A,R7
+001D6B 90060C            MOV     DPTR,#col
+001D6E 93                MOVC    A,@A+DPTR
+001D6F 6040              JZ      ?C0055?KEYSCAN
+  282: 		if (ksSelMapCheck[i]!=ksSelMapCurr[i]) {
+001D71 74BC              MOV     A,#LOW ksSelMapCurr
+001D73 2F                ADD     A,R7
+001D74 F582              MOV     DPL,A
+001D76 E4                CLR     A
+001D77 344D              ADDC    A,#HIGH ksSelMapCurr
+001D79 F583              MOV     DPH,A
+001D7B E0                MOVX    A,@DPTR
+001D7C FE                MOV     R6,A
+001D7D 74A8              MOV     A,#LOW ksSelMapCheck
+001D7F 2F                ADD     A,R7
+001D80 F582              MOV     DPL,A
+001D82 E4                CLR     A
+001D83 344D              ADDC    A,#HIGH ksSelMapCheck
+001D85 F583              MOV     DPH,A
+001D87 E0                MOVX    A,@DPTR
+001D88 6E                XRL     A,R6
+001D89 6023              JZ      ?C0053?KEYSCAN
+  283: 			ksSelMapCurr[i] &= ksSelMapCheck[i];
+001D8B 74BC              MOV     A,#LOW ksSelMapCurr
+001D8D 2F                ADD     A,R7
+001D8E F582              MOV     DPL,A
+001D90 E4                CLR     A
+001D91 344D              ADDC    A,#HIGH ksSelMapCurr
+001D93 F583              MOV     DPH,A
+001D95 C083              PUSH    DPH
+001D97 C082              PUSH    DPL
+001D99 E0                MOVX    A,@DPTR
+001D9A FE                MOV     R6,A
+001D9B 74A8              MOV     A,#LOW ksSelMapCheck
+001D9D 2F                ADD     A,R7
+001D9E F582              MOV     DPL,A
+001DA0 E4                CLR     A
+001DA1 344D              ADDC    A,#HIGH ksSelMapCheck
+001DA3 F583              MOV     DPH,A
+001DA5 E0                MOVX    A,@DPTR
+001DA6 FD                MOV     R5,A
+001DA7 EE                MOV     A,R6
+001DA8 5D                ANL     A,R5
+001DA9 D082              POP     DPL
+001DAB D083              POP     DPH
+001DAD F0                MOVX    @DPTR,A
+  284: 		}
+  285: 	}
+001DAE         ?C0053?KEYSCAN:
+001DAE 0F                INC     R7
+001DAF 80B9              SJMP    ?C0051?KEYSCAN
+  286: }
+001DB1         ?C0055?KEYSCAN:
+001DB1 22                RET     
 ----- FUNCTION KS_ScanMatrix (END) -------
 
 
------ FUNCTION _kb_multikey_setup (BEGIN) -----
- FILE: 'kb_process.c'
-  433: void kb_multikey_setup(tKSEVENT *pEvt)
-  434: {
-001ED3 904E65            MOV     DPTR,#pEvt
-001ED6 EB                MOV     A,R3
-001ED7 F0                MOVX    @DPTR,A
-001ED8 A3                INC     DPTR
-001ED9 EA                MOV     A,R2
-001EDA F0                MOVX    @DPTR,A
-001EDB A3                INC     DPTR
-001EDC E9                MOV     A,R1
-001EDD F0                MOVX    @DPTR,A
-  435: 	byte i = 0;
-  436: 	
-001EDE E4                CLR     A
-001EDF A3                INC     DPTR
-001EE0 F0                MOVX    @DPTR,A
-  437: 	for (i = 0;i < 6;i++)
-001EE1 F0                MOVX    @DPTR,A
-001EE2         ?C0099?KB_PROCESS:
-001EE2 904E68            MOV     DPTR,#i
-001EE5 E0                MOVX    A,@DPTR
-001EE6 FF                MOV     R7,A
-001EE7 C3                CLR     C
-001EE8 9406              SUBB    A,#06H
-001EEA 4003              JC      $ + 5H
-001EEC 02214E            LJMP    ?C0144?KB_PROCESS
-  438: 	{		
-  439: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
-001EEF 904E65            MOV     DPTR,#pEvt
-001EF2 E0                MOVX    A,@DPTR
-001EF3 FB                MOV     R3,A
-001EF4 A3                INC     DPTR
-001EF5 E0                MOVX    A,@DPTR
-001EF6 FA                MOV     R2,A
-001EF7 A3                INC     DPTR
-001EF8 E0                MOVX    A,@DPTR
-001EF9 2401              ADD     A,#01H
-001EFB F9                MOV     R1,A
-001EFC E4                CLR     A
-001EFD 3A                ADDC    A,R2
-001EFE FA                MOV     R2,A
-001EFF 7E00              MOV     R6,#00H
-001F01 E9                MOV     A,R1
-001F02 2F                ADD     A,R7
-001F03 F9                MOV     R1,A
-001F04 EE                MOV     A,R6
-001F05 3A                ADDC    A,R2
-001F06 FA                MOV     R2,A
-001F07 1203B6            LCALL   ?C?CLDPTR
-001F0A FF                MOV     R7,A
-001F0B 54F0              ANL     A,#0F0H
-001F0D 64F0              XRL     A,#0F0H
-001F0F 600A              JZ      ?C0103?KB_PROCESS
-001F11 EF                MOV     A,R7
-001F12 54D0              ANL     A,#0D0H
-001F14 64D0              XRL     A,#0D0H
-001F16 6003              JZ      $ + 5H
-001F18 022145            LJMP    ?C0101?KB_PROCESS
-001F1B         ?C0103?KB_PROCESS:
-  440: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
-  441: 		{
-  442: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
-001F1B 1203B6            LCALL   ?C?CLDPTR
-001F1E FB                MOV     R3,A
-001F1F B4F10A            CJNE    A,#0F1H,?C0104?KB_PROCESS
-  443: 			{
-  444: 				kb_set_multikey(0x0183); 
-001F22 7F83              MOV     R7,#083H
-001F24 7E01              MOV     R6,#01H
-001F26 1217D7            LCALL   _kb_set_multikey
-  445: 			}
-001F29 02211A            LJMP    ?C0105?KB_PROCESS
-001F2C         ?C0104?KB_PROCESS:
-  446: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
-001F2C EB                MOV     A,R3
-001F2D B4F20A            CJNE    A,#0F2H,?C0106?KB_PROCESS
-  447: 			{ 
-  448: 				kb_set_multikey(0x00cd);
-001F30 7FCD              MOV     R7,#0CDH
-001F32 7E00              MOV     R6,#00H
-001F34 1217D7            LCALL   _kb_set_multikey
-  449: 			}
-001F37 02211A            LJMP    ?C0105?KB_PROCESS
-001F3A         ?C0106?KB_PROCESS:
-  450: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
-001F3A 904E65            MOV     DPTR,#pEvt
-001F3D E0                MOVX    A,@DPTR
-001F3E FB                MOV     R3,A
-001F3F A3                INC     DPTR
-001F40 E0                MOVX    A,@DPTR
-001F41 FA                MOV     R2,A
-001F42 A3                INC     DPTR
-001F43 E0                MOVX    A,@DPTR
-001F44 2401              ADD     A,#01H
-001F46 F9                MOV     R1,A
-001F47 E4                CLR     A
-001F48 3A                ADDC    A,R2
-001F49 FA                MOV     R2,A
-001F4A A3                INC     DPTR
-001F4B E0                MOVX    A,@DPTR
-001F4C 7E00              MOV     R6,#00H
-001F4E 29                ADD     A,R1
-001F4F F9                MOV     R1,A
-001F50 EE                MOV     A,R6
-001F51 3A                ADDC    A,R2
-001F52 FA                MOV     R2,A
-001F53 1203B6            LCALL   ?C?CLDPTR
-001F56 FB                MOV     R3,A
-001F57 B4F308            CJNE    A,#0F3H,?C0108?KB_PROCESS
-  451: 			{
-  452: 				kb_set_multikey(0x00b7);
-001F5A 7FB7              MOV     R7,#0B7H
-001F5C 1217D7            LCALL   _kb_set_multikey
-  453: 			}
-001F5F 02211A            LJMP    ?C0105?KB_PROCESS
-001F62         ?C0108?KB_PROCESS:
-  454: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
-001F62 EB                MOV     A,R3
-001F63 B4F40A            CJNE    A,#0F4H,?C0110?KB_PROCESS
-  455: 			{
-  456: 				kb_set_multikey(0x00b6);
-001F66 7FB6              MOV     R7,#0B6H
-001F68 7E00              MOV     R6,#00H
-001F6A 1217D7            LCALL   _kb_set_multikey
-  457: 			}
-001F6D 02211A            LJMP    ?C0105?KB_PROCESS
-001F70         ?C0110?KB_PROCESS:
-  458: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
-001F70 904E65            MOV     DPTR,#pEvt
-001F73 E0                MOVX    A,@DPTR
-001F74 FB                MOV     R3,A
-001F75 A3                INC     DPTR
-001F76 E0                MOVX    A,@DPTR
-001F77 FA                MOV     R2,A
-001F78 A3                INC     DPTR
-001F79 E0                MOVX    A,@DPTR
-001F7A 2401              ADD     A,#01H
-001F7C F9                MOV     R1,A
-001F7D E4                CLR     A
-001F7E 3A                ADDC    A,R2
-001F7F FA                MOV     R2,A
-001F80 A3                INC     DPTR
-001F81 E0                MOVX    A,@DPTR
-001F82 7E00              MOV     R6,#00H
-001F84 29                ADD     A,R1
-001F85 F9                MOV     R1,A
-001F86 EE                MOV     A,R6
-001F87 3A                ADDC    A,R2
-001F88 FA                MOV     R2,A
-001F89 1203B6            LCALL   ?C?CLDPTR
-001F8C FB                MOV     R3,A
-001F8D B4F508            CJNE    A,#0F5H,?C0112?KB_PROCESS
-  459: 			{
-  460: 				kb_set_multikey(0x00b5);
-001F90 7FB5              MOV     R7,#0B5H
-001F92 1217D7            LCALL   _kb_set_multikey
-  461: 			}
-001F95 02211A            LJMP    ?C0105?KB_PROCESS
-001F98         ?C0112?KB_PROCESS:
-  462: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
-001F98 EB                MOV     A,R3
-001F99 B4F60A            CJNE    A,#0F6H,?C0114?KB_PROCESS
-  463: 			{
-  464: 				kb_set_multikey(0x00ea);
-001F9C 7FEA              MOV     R7,#0EAH
-001F9E 7E00              MOV     R6,#00H
-001FA0 1217D7            LCALL   _kb_set_multikey
-  465: 			}
-001FA3 02211A            LJMP    ?C0105?KB_PROCESS
-001FA6         ?C0114?KB_PROCESS:
-  466: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
-001FA6 904E65            MOV     DPTR,#pEvt
-001FA9 E0                MOVX    A,@DPTR
-001FAA FB                MOV     R3,A
-001FAB A3                INC     DPTR
-001FAC E0                MOVX    A,@DPTR
-001FAD FA                MOV     R2,A
-001FAE A3                INC     DPTR
-001FAF E0                MOVX    A,@DPTR
-001FB0 2401              ADD     A,#01H
-001FB2 F9                MOV     R1,A
-001FB3 E4                CLR     A
-001FB4 3A                ADDC    A,R2
-001FB5 FA                MOV     R2,A
-001FB6 A3                INC     DPTR
-001FB7 E0                MOVX    A,@DPTR
-001FB8 7E00              MOV     R6,#00H
-001FBA 29                ADD     A,R1
-001FBB F9                MOV     R1,A
-001FBC EE                MOV     A,R6
-001FBD 3A                ADDC    A,R2
-001FBE FA                MOV     R2,A
-001FBF 1203B6            LCALL   ?C?CLDPTR
-001FC2 FB                MOV     R3,A
-001FC3 B4F708            CJNE    A,#0F7H,?C0116?KB_PROCESS
-  467: 			{
-  468: 				kb_set_multikey(0x00e9);
-001FC6 7FE9              MOV     R7,#0E9H
-001FC8 1217D7            LCALL   _kb_set_multikey
-  469: 			}
-001FCB 02211A            LJMP    ?C0105?KB_PROCESS
-001FCE         ?C0116?KB_PROCESS:
-  470: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
-001FCE EB                MOV     A,R3
-001FCF B4F80A            CJNE    A,#0F8H,?C0118?KB_PROCESS
-  471: 			{
-  472: 				kb_set_multikey(0x00e2);
-001FD2 7FE2              MOV     R7,#0E2H
-001FD4 7E00              MOV     R6,#00H
-001FD6 1217D7            LCALL   _kb_set_multikey
-  473: 			}
-001FD9 02211A            LJMP    ?C0105?KB_PROCESS
-001FDC         ?C0118?KB_PROCESS:
-  474: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
-001FDC 904E65            MOV     DPTR,#pEvt
-001FDF E0                MOVX    A,@DPTR
-001FE0 FB                MOV     R3,A
-001FE1 A3                INC     DPTR
-001FE2 E0                MOVX    A,@DPTR
-001FE3 FA                MOV     R2,A
-001FE4 A3                INC     DPTR
-001FE5 E0                MOVX    A,@DPTR
-001FE6 2401              ADD     A,#01H
-001FE8 F9                MOV     R1,A
-001FE9 E4                CLR     A
-001FEA 3A                ADDC    A,R2
-001FEB FA                MOV     R2,A
-001FEC A3                INC     DPTR
-001FED E0                MOVX    A,@DPTR
-001FEE 7E00              MOV     R6,#00H
-001FF0 29                ADD     A,R1
-001FF1 F9                MOV     R1,A
-001FF2 EE                MOV     A,R6
-001FF3 3A                ADDC    A,R2
-001FF4 FA                MOV     R2,A
-001FF5 1203B6            LCALL   ?C?CLDPTR
-001FF8 FB                MOV     R3,A
-001FF9 B4F908            CJNE    A,#0F9H,?C0120?KB_PROCESS
-  475: 			{
-  476: 				kb_set_multikey(0x0194);
-001FFC 7F94              MOV     R7,#094H
-001FFE 0E                INC     R6
-001FFF 1217D7            LCALL   _kb_set_multikey
-  477: 			}
-002002 211A              AJMP    ?C0105?KB_PROCESS
-002004         ?C0120?KB_PROCESS:
-  478: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
-002004 EB                MOV     A,R3
-002005 B4FA09            CJNE    A,#0FAH,?C0122?KB_PROCESS
-  479: 			{
-  480: 				kb_set_multikey(0x018a);//mail
-002008 7F8A              MOV     R7,#08AH
-00200A 7E01              MOV     R6,#01H
-00200C 1217D7            LCALL   _kb_set_multikey
-  481: 			}
-00200F 211A              AJMP    ?C0105?KB_PROCESS
-002011         ?C0122?KB_PROCESS:
-  482: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
-002011 904E65            MOV     DPTR,#pEvt
-002014 E0                MOVX    A,@DPTR
-002015 FB                MOV     R3,A
-002016 A3                INC     DPTR
-002017 E0                MOVX    A,@DPTR
-002018 FA                MOV     R2,A
-002019 A3                INC     DPTR
-00201A E0                MOVX    A,@DPTR
-00201B 2401              ADD     A,#01H
-00201D F9                MOV     R1,A
-00201E E4                CLR     A
-00201F 3A                ADDC    A,R2
-002020 FA                MOV     R2,A
-002021 A3                INC     DPTR
-002022 E0                MOVX    A,@DPTR
-002023 7E00              MOV     R6,#00H
-002025 29                ADD     A,R1
-002026 F9                MOV     R1,A
-002027 EE                MOV     A,R6
-002028 3A                ADDC    A,R2
-002029 FA                MOV     R2,A
-00202A 1203B6            LCALL   ?C?CLDPTR
-00202D FB                MOV     R3,A
-00202E B4FB08            CJNE    A,#0FBH,?C0124?KB_PROCESS
-  483: 			{
-  484: 				kb_set_multikey(0x0192);
-002031 7F92              MOV     R7,#092H
-002033 0E                INC     R6
-002034 1217D7            LCALL   _kb_set_multikey
-  485: 			}
-002037 211A              AJMP    ?C0105?KB_PROCESS
-002039         ?C0124?KB_PROCESS:
-  486: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
-002039 EB                MOV     A,R3
-00203A B4D009            CJNE    A,#0D0H,?C0126?KB_PROCESS
-  487: 			{
-  488: 				kb_set_multikey(0x022a);//www Favorites
-00203D 7F2A              MOV     R7,#02AH
-00203F 7E02              MOV     R6,#02H
-002041 1217D7            LCALL   _kb_set_multikey
-  489: 			}
-002044 211A              AJMP    ?C0105?KB_PROCESS
-002046         ?C0126?KB_PROCESS:
-  490: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
-002046 904E65            MOV     DPTR,#pEvt
-002049 E0                MOVX    A,@DPTR
-00204A FB                MOV     R3,A
-00204B A3                INC     DPTR
-00204C E0                MOVX    A,@DPTR
-00204D FA                MOV     R2,A
-00204E A3                INC     DPTR
-00204F E0                MOVX    A,@DPTR
-002050 2401              ADD     A,#01H
-002052 F9                MOV     R1,A
-002053 E4                CLR     A
-002054 3A                ADDC    A,R2
-002055 FA                MOV     R2,A
-002056 A3                INC     DPTR
-002057 E0                MOVX    A,@DPTR
-002058 7E00              MOV     R6,#00H
-00205A 29                ADD     A,R1
-00205B F9                MOV     R1,A
-00205C EE                MOV     A,R6
-00205D 3A                ADDC    A,R2
-00205E FA                MOV     R2,A
-00205F 1203B6            LCALL   ?C?CLDPTR
-002062 FB                MOV     R3,A
-002063 B4D109            CJNE    A,#0D1H,?C0128?KB_PROCESS
-  491: 			{
-  492: 				kb_set_multikey(0x0225);
-002066 7F25              MOV     R7,#025H
-002068 7E02              MOV     R6,#02H
-00206A 1217D7            LCALL   _kb_set_multikey
-  493: 			}
-00206D 211A              AJMP    ?C0105?KB_PROCESS
-00206F         ?C0128?KB_PROCESS:
-  494: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
-00206F EB                MOV     A,R3
-002070 B4D309            CJNE    A,#0D3H,?C0130?KB_PROCESS
-  495: 			{
-  496: 				kb_set_multikey(0x0226);
-002073 7F26              MOV     R7,#026H
-002075 7E02              MOV     R6,#02H
-002077 1217D7            LCALL   _kb_set_multikey
-  497: 			}
-00207A 211A              AJMP    ?C0105?KB_PROCESS
-00207C         ?C0130?KB_PROCESS:
-  498: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
-00207C 904E65            MOV     DPTR,#pEvt
-00207F E0                MOVX    A,@DPTR
-002080 FB                MOV     R3,A
-002081 A3                INC     DPTR
-002082 E0                MOVX    A,@DPTR
-002083 FA                MOV     R2,A
-002084 A3                INC     DPTR
-002085 E0                MOVX    A,@DPTR
-002086 2401              ADD     A,#01H
-002088 F9                MOV     R1,A
-002089 E4                CLR     A
-00208A 3A                ADDC    A,R2
-00208B FA                MOV     R2,A
-00208C A3                INC     DPTR
-00208D E0                MOVX    A,@DPTR
-00208E 7E00              MOV     R6,#00H
-002090 29                ADD     A,R1
-002091 F9                MOV     R1,A
-002092 EE                MOV     A,R6
-002093 3A                ADDC    A,R2
-002094 FA                MOV     R2,A
-002095 1203B6            LCALL   ?C?CLDPTR
-002098 FB                MOV     R3,A
-002099 B4D209            CJNE    A,#0D2H,?C0132?KB_PROCESS
-  499: 			{
-  500: 				kb_set_multikey(0x0224);
-00209C 7F24              MOV     R7,#024H
-00209E 7E02              MOV     R6,#02H
-0020A0 1217D7            LCALL   _kb_set_multikey
-  501: 			}
-0020A3 8075              SJMP    ?C0105?KB_PROCESS
-0020A5         ?C0132?KB_PROCESS:
-  502: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
-0020A5 EB                MOV     A,R3
-0020A6 B4D409            CJNE    A,#0D4H,?C0134?KB_PROCESS
-  503: 			{
-  504: 				kb_set_multikey(0x0227);
-0020A9 7F27              MOV     R7,#027H
-0020AB 7E02              MOV     R6,#02H
-0020AD 1217D7            LCALL   _kb_set_multikey
-  505: 			}
-0020B0 8068              SJMP    ?C0105?KB_PROCESS
-0020B2         ?C0134?KB_PROCESS:
-  506: 			
-  507: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
-0020B2 904E65            MOV     DPTR,#pEvt
-0020B5 E0                MOVX    A,@DPTR
-0020B6 FB                MOV     R3,A
-0020B7 A3                INC     DPTR
-0020B8 E0                MOVX    A,@DPTR
-0020B9 FA                MOV     R2,A
-0020BA A3                INC     DPTR
-0020BB E0                MOVX    A,@DPTR
-0020BC 2401              ADD     A,#01H
-0020BE F9                MOV     R1,A
-0020BF E4                CLR     A
-0020C0 3A                ADDC    A,R2
-0020C1 FA                MOV     R2,A
-0020C2 A3                INC     DPTR
-0020C3 E0                MOVX    A,@DPTR
-0020C4 7E00              MOV     R6,#00H
-0020C6 29                ADD     A,R1
-0020C7 F9                MOV     R1,A
-0020C8 EE                MOV     A,R6
-0020C9 3A                ADDC    A,R2
-0020CA FA                MOV     R2,A
-0020CB 1203B6            LCALL   ?C?CLDPTR
-0020CE FB                MOV     R3,A
-0020CF B4D509            CJNE    A,#0D5H,?C0136?KB_PROCESS
-  508: 			{
-  509: 				kb_set_multikey(0x0221);
-0020D2 7F21              MOV     R7,#021H
-0020D4 7E02              MOV     R6,#02H
-0020D6 1217D7            LCALL   _kb_set_multikey
-  510: 			}
-0020D9 803F              SJMP    ?C0105?KB_PROCESS
-0020DB         ?C0136?KB_PROCESS:
-  511: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
-0020DB EB                MOV     A,R3
-0020DC B4D609            CJNE    A,#0D6H,?C0138?KB_PROCESS
-  512: 			{
-  513: 				kb_set_multikey(0x0223);
-0020DF 7F23              MOV     R7,#023H
-0020E1 7E02              MOV     R6,#02H
-0020E3 1217D7            LCALL   _kb_set_multikey
-  514: 			}
-0020E6 8032              SJMP    ?C0105?KB_PROCESS
-0020E8         ?C0138?KB_PROCESS:
-  515: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
-0020E8 904E65            MOV     DPTR,#pEvt
-0020EB E0                MOVX    A,@DPTR
-0020EC FB                MOV     R3,A
-0020ED A3                INC     DPTR
-0020EE E0                MOVX    A,@DPTR
-0020EF FA                MOV     R2,A
-0020F0 A3                INC     DPTR
-0020F1 E0                MOVX    A,@DPTR
-0020F2 2401              ADD     A,#01H
-0020F4 F9                MOV     R1,A
-0020F5 E4                CLR     A
-0020F6 3A                ADDC    A,R2
-0020F7 FA                MOV     R2,A
-0020F8 A3                INC     DPTR
-0020F9 E0                MOVX    A,@DPTR
-0020FA 7E00              MOV     R6,#00H
-0020FC 29                ADD     A,R1
-0020FD F9                MOV     R1,A
-0020FE EE                MOV     A,R6
-0020FF 3A                ADDC    A,R2
-002100 FA                MOV     R2,A
-002101 1203B6            LCALL   ?C?CLDPTR
-002104 FB                MOV     R3,A
-002105 B4D707            CJNE    A,#0D7H,?C0140?KB_PROCESS
-  516: 			{
-  517: 				kb_set_multikey(0x0070);
-002108 7F70              MOV     R7,#070H
-00210A 1217D7            LCALL   _kb_set_multikey
-  518: 			}
-00210D 800B              SJMP    ?C0105?KB_PROCESS
-00210F         ?C0140?KB_PROCESS:
-  519: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
-00210F EB                MOV     A,R3
-002110 B4D807            CJNE    A,#0D8H,?C0105?KB_PROCESS
-  520: 			{
-  521: 				kb_set_multikey(0x006f);
-002113 7F6F              MOV     R7,#06FH
-002115 7E00              MOV     R6,#00H
-002117 1217D7            LCALL   _kb_set_multikey
-  522: 			}
-00211A         ?C0105?KB_PROCESS:
-  523: 			
-  524: 			if(mult_key_status == KEY_WAIT_RELEASE)
-00211A 904DE4            MOV     DPTR,#mult_key_status
-00211D E0                MOVX    A,@DPTR
-00211E B40224            CJNE    A,#02H,?C0101?KB_PROCESS
-  525: 			{
-  526: 				mult_key_value = pEvt->ksPool[i];
-002121 904E65            MOV     DPTR,#pEvt
-002124 E0                MOVX    A,@DPTR
-002125 FB                MOV     R3,A
-002126 A3                INC     DPTR
-002127 E0                MOVX    A,@DPTR
-002128 FA                MOV     R2,A
-002129 A3                INC     DPTR
-00212A E0                MOVX    A,@DPTR
-00212B 2401              ADD     A,#01H
-00212D F9                MOV     R1,A
-00212E E4                CLR     A
-00212F 3A                ADDC    A,R2
-002130 FA                MOV     R2,A
-002131 A3                INC     DPTR
-002132 E0                MOVX    A,@DPTR
-002133 7E00              MOV     R6,#00H
-002135 29                ADD     A,R1
-002136 F9                MOV     R1,A
-002137 EE                MOV     A,R6
-002138 3A                ADDC    A,R2
-002139 FA                MOV     R2,A
-00213A 1203B6            LCALL   ?C?CLDPTR
-00213D 904DE3            MOV     DPTR,#mult_key_value
-002140 F0                MOVX    @DPTR,A
-  527: 				pEvt->ksPool[i] = 0;
-002141 E4                CLR     A
-002142 1203FC            LCALL   ?C?CSTPTR
-  528: 			}
-  529: 		}
-  530: 	}
-002145         ?C0101?KB_PROCESS:
-002145 904E68            MOV     DPTR,#i
-002148 E0                MOVX    A,@DPTR
-002149 04                INC     A
-00214A F0                MOVX    @DPTR,A
-00214B 021EE2            LJMP    ?C0099?KB_PROCESS
-  531: }
-00214E         ?C0144?KB_PROCESS:
-00214E 22                RET     
------ FUNCTION _kb_multikey_setup (END) -------
-
-
------ FUNCTION System_Software_init (BEGIN) -----
- FILE: 'sys.c'
-   48: void System_Software_init()
-   49: {
-   50: 	System_clear_mem();
-   51: 	YC_adc_init();
-00214F 120EDF            LCALL   System_clear_mem
-   52: 	g_variable.release_data =1;
-002152 316C              ACALL   YC_adc_init
-   53: 	g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
-002154 904CEB            MOV     DPTR,#g_variable+02CH
-002157 7401              MOV     A,#01H
-002159 F0                MOVX    @DPTR,A
-   54: 	g_variable.recon_count = 0;
-00215A 904CE5            MOV     DPTR,#g_variable+026H
-00215D 741E              MOV     A,#01EH
-00215F F0                MOVX    @DPTR,A
-   55: 	g_variable.test_buff = 0xff;
-002160 E4                CLR     A
-002161 904CF0            MOV     DPTR,#g_variable+031H
-002164 F0                MOVX    @DPTR,A
-   56: }
-002165 904D00            MOV     DPTR,#g_variable+041H
-002168 74FF              MOV     A,#0FFH
-00216A F0                MOVX    @DPTR,A
-   57: 
-00216B 22                RET     
------ FUNCTION System_Software_init (END) -------
-
-
------ FUNCTION YC_adc_init (BEGIN) -----
- FILE: 'adc.c'
-    3: void YC_adc_init()
-    4: {
-    5: 	byte i;
-    6: 	#ifndef  ADC_ENABLE
-    7: 		return;
-    8: 	#endif	
-    9: 	m_adc_channel = ADC_CHANNEL;
-00216C 904C90            MOV     DPTR,#m_adc_channel
-00216F 7437              MOV     A,#037H
-002171 F0                MOVX    @DPTR,A
-   10: 	g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
-002172 904CD3            MOV     DPTR,#g_variable+014H
-002175 7405              MOV     A,#05H
-002177 F0                MOVX    @DPTR,A
-   11: 	g_variable.battery_value_index = 0;
-002178 E4                CLR     A
-002179 A3                INC     DPTR
-00217A F0                MOVX    @DPTR,A
-   12: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
-;---- Variable 'i' assigned to Register 'R7' ----
-00217B FF                MOV     R7,A
-00217C         ?C0001?ADC:
-   13: 	{
-   14: 		g_variable.battery_value[i] = INIT_BATTERY_VALUE;
-00217C EF                MOV     A,R7
-00217D 25E0              ADD     A,ACC
-00217F 24D6              ADD     A,#LOW g_variable+017H
-002181 F582              MOV     DPL,A
-002183 E4                CLR     A
-002184 344C              ADDC    A,#HIGH g_variable+017H
-002186 F583              MOV     DPH,A
-002188 7479              MOV     A,#079H
-00218A F0                MOVX    @DPTR,A
-00218B A3                INC     DPTR
-00218C 7490              MOV     A,#090H
-00218E F0                MOVX    @DPTR,A
-   15: 	}
-00218F 0F                INC     R7
-002190 EF                MOV     A,R7
-002191 B404E8            CJNE    A,#04H,?C0001?ADC
-002194         ?C0002?ADC:
-   16: 
-   17: 	
-   18: 	if(m_adc_config_flag == ADC_TYPE_HVIN)
-002194 904C8F            MOV     DPTR,#m_adc_config_flag
-002197 E0                MOVX    A,@DPTR
-002198 6402              XRL     A,#02H
-00219A 6002              JZ      $ + 4H
-00219C 413B              AJMP    ?C0004?ADC
-   19: 	{
-   20: 		g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_3V2+m_adc0vBase;
-00219E 904C91            MOV     DPTR,#m_adc0vBase
-0021A1 E0                MOVX    A,@DPTR
-0021A2 FE                MOV     R6,A
-0021A3 A3                INC     DPTR
-0021A4 E0                MOVX    A,@DPTR
-0021A5 FF                MOV     R7,A
-0021A6 C3                CLR     C
-0021A7 904C94            MOV     DPTR,#m_adc3vValue+01H
-0021AA E0                MOVX    A,@DPTR
-0021AB 9F                SUBB    A,R7
-0021AC FD                MOV     R5,A
-0021AD 904C93            MOV     DPTR,#m_adc3vValue
-0021B0 E0                MOVX    A,@DPTR
-0021B1 9E                SUBB    A,R6
-0021B2 FC                MOV     R4,A
-0021B3 E4                CLR     A
-0021B4 120206            LCALL   ?C?FCASTI
-0021B7 7BC3              MOV     R3,#0C3H
-0021B9 7AF5              MOV     R2,#0F5H
-0021BB 7988              MOV     R1,#088H
-0021BD 783F              MOV     R0,#03FH
-0021BF 1200FB            LCALL   ?C?FPMUL
-0021C2 C004              PUSH    AR4
-0021C4 C005              PUSH    AR5
-0021C6 C006              PUSH    AR6
-0021C8 C007              PUSH    AR7
-0021CA 904C91            MOV     DPTR,#m_adc0vBase
-0021CD E0                MOVX    A,@DPTR
-0021CE FC                MOV     R4,A
-0021CF A3                INC     DPTR
-0021D0 E0                MOVX    A,@DPTR
-0021D1 FD                MOV     R5,A
-0021D2 E4                CLR     A
-0021D3 120206            LCALL   ?C?FCASTI
-0021D6 D003              POP     AR3
-0021D8 D002              POP     AR2
-0021DA D001              POP     AR1
-0021DC D000              POP     AR0
-0021DE 12000A            LCALL   ?C?FPADD
-0021E1 12023F            LCALL   ?C?CASTF
-0021E4 904CDE            MOV     DPTR,#g_variable+01FH
-0021E7 EE                MOV     A,R6
-0021E8 F0                MOVX    @DPTR,A
-0021E9 A3                INC     DPTR
-0021EA EF                MOV     A,R7
-0021EB F0                MOVX    @DPTR,A
-   21: 		g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_3V0+m_adc0vBase;
-0021EC 904C91            MOV     DPTR,#m_adc0vBase
-0021EF E0                MOVX    A,@DPTR
-0021F0 FE                MOV     R6,A
-0021F1 A3                INC     DPTR
-0021F2 E0                MOVX    A,@DPTR
-0021F3 FF                MOV     R7,A
-0021F4 C3                CLR     C
-0021F5 904C94            MOV     DPTR,#m_adc3vValue+01H
-0021F8 E0                MOVX    A,@DPTR
-0021F9 9F                SUBB    A,R7
-0021FA FD                MOV     R5,A
-0021FB 904C93            MOV     DPTR,#m_adc3vValue
-0021FE E0                MOVX    A,@DPTR
-0021FF 9E                SUBB    A,R6
-002200 FC                MOV     R4,A
-002201 E4                CLR     A
-002202 120206            LCALL   ?C?FCASTI
-002205 7BAE              MOV     R3,#0AEH
-002207 7A47              MOV     R2,#047H
-002209 7981              MOV     R1,#081H
-00220B 783F              MOV     R0,#03FH
-00220D 1200FB            LCALL   ?C?FPMUL
-002210 C004              PUSH    AR4
-002212 C005              PUSH    AR5
-002214 C006              PUSH    AR6
-002216 C007              PUSH    AR7
-002218 904C91            MOV     DPTR,#m_adc0vBase
-00221B E0                MOVX    A,@DPTR
-00221C FC                MOV     R4,A
-00221D A3                INC     DPTR
-00221E E0                MOVX    A,@DPTR
-00221F FD                MOV     R5,A
-002220 E4                CLR     A
-002221 120206            LCALL   ?C?FCASTI
-002224 D003              POP     AR3
-002226 D002              POP     AR2
-002228 D001              POP     AR1
-00222A D000              POP     AR0
-00222C 12000A            LCALL   ?C?FPADD
-00222F 12023F            LCALL   ?C?CASTF
-002232 904CE0            MOV     DPTR,#g_variable+021H
-002235 EE                MOV     A,R6
-002236 F0                MOVX    @DPTR,A
-002237 A3                INC     DPTR
-002238 EF                MOV     A,R7
-002239 F0                MOVX    @DPTR,A
-   22: 	}
-00223A 22                RET     
-00223B         ?C0004?ADC:
-   23: 	else if(m_adc_config_flag == ADC_TYPE_VINLPM)
-00223B 904C8F            MOV     DPTR,#m_adc_config_flag
-00223E E0                MOVX    A,@DPTR
-00223F 6401              XRL     A,#01H
-002241 7002              JNZ     $ + 4H
-002243 41E1              AJMP    ?C0008?ADC
-   24: 	{
-   25: 
-   26: 	}
-002245         ?C0006?ADC:
-   27: 	else
-   28: 	{
-   29: 		g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_1V1+m_adc0vBase;
-002245 904C91            MOV     DPTR,#m_adc0vBase
-002248 E0                MOVX    A,@DPTR
-002249 FE                MOV     R6,A
-00224A A3                INC     DPTR
-00224B E0                MOVX    A,@DPTR
-00224C FF                MOV     R7,A
-00224D C3                CLR     C
-00224E 904C94            MOV     DPTR,#m_adc3vValue+01H
-002251 E0                MOVX    A,@DPTR
-002252 9F                SUBB    A,R7
-002253 FD                MOV     R5,A
-002254 904C93            MOV     DPTR,#m_adc3vValue
-002257 E0                MOVX    A,@DPTR
-002258 9E                SUBB    A,R6
-002259 FC                MOV     R4,A
-00225A E4                CLR     A
-00225B 120206            LCALL   ?C?FCASTI
-00225E 7BC3              MOV     R3,#0C3H
-002260 7AF5              MOV     R2,#0F5H
-002262 79A8              MOV     R1,#0A8H
-002264 783E              MOV     R0,#03EH
-002266 1200FB            LCALL   ?C?FPMUL
-002269 C004              PUSH    AR4
-00226B C005              PUSH    AR5
-00226D C006              PUSH    AR6
-00226F C007              PUSH    AR7
-002271 904C91            MOV     DPTR,#m_adc0vBase
-002274 E0                MOVX    A,@DPTR
-002275 FC                MOV     R4,A
-002276 A3                INC     DPTR
-002277 E0                MOVX    A,@DPTR
-002278 FD                MOV     R5,A
-002279 E4                CLR     A
-00227A 120206            LCALL   ?C?FCASTI
-00227D D003              POP     AR3
-00227F D002              POP     AR2
-002281 D001              POP     AR1
-002283 D000              POP     AR0
-002285 12000A            LCALL   ?C?FPADD
-002288 12023F            LCALL   ?C?CASTF
-00228B 904CDE            MOV     DPTR,#g_variable+01FH
-00228E EE                MOV     A,R6
-00228F F0                MOVX    @DPTR,A
-002290 A3                INC     DPTR
-002291 EF                MOV     A,R7
-002292 F0                MOVX    @DPTR,A
-   30: 		g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_0V9+m_adc0vBase;
-002293 904C91            MOV     DPTR,#m_adc0vBase
-002296 E0                MOVX    A,@DPTR
-002297 FE                MOV     R6,A
-002298 A3                INC     DPTR
-002299 E0                MOVX    A,@DPTR
-00229A FF                MOV     R7,A
-00229B C3                CLR     C
-00229C 904C94            MOV     DPTR,#m_adc3vValue+01H
-00229F E0                MOVX    A,@DPTR
-0022A0 9F                SUBB    A,R7
-0022A1 FD                MOV     R5,A
-0022A2 904C93            MOV     DPTR,#m_adc3vValue
-0022A5 E0                MOVX    A,@DPTR
-0022A6 9E                SUBB    A,R6
-0022A7 FC                MOV     R4,A
-0022A8 E4                CLR     A
-0022A9 120206            LCALL   ?C?FCASTI
-0022AC 7B5C              MOV     R3,#05CH
-0022AE 7A8F              MOV     R2,#08FH
-0022B0 7942              MOV     R1,#042H
-0022B2 783E              MOV     R0,#03EH
-0022B4 1200FB            LCALL   ?C?FPMUL
-0022B7 C004              PUSH    AR4
-0022B9 C005              PUSH    AR5
-0022BB C006              PUSH    AR6
-0022BD C007              PUSH    AR7
-0022BF 904C91            MOV     DPTR,#m_adc0vBase
-0022C2 E0                MOVX    A,@DPTR
-0022C3 FC                MOV     R4,A
-0022C4 A3                INC     DPTR
-0022C5 E0                MOVX    A,@DPTR
-0022C6 FD                MOV     R5,A
-0022C7 E4                CLR     A
-0022C8 120206            LCALL   ?C?FCASTI
-0022CB D003              POP     AR3
-0022CD D002              POP     AR2
-0022CF D001              POP     AR1
-0022D1 D000              POP     AR0
-0022D3 12000A            LCALL   ?C?FPADD
-0022D6 12023F            LCALL   ?C?CASTF
-0022D9 904CE0            MOV     DPTR,#g_variable+021H
-0022DC EE                MOV     A,R6
-0022DD F0                MOVX    @DPTR,A
-0022DE A3                INC     DPTR
-0022DF EF                MOV     A,R7
-0022E0 F0                MOVX    @DPTR,A
-   31: 	}
-   32: 	
-   33: }
-0022E1         ?C0008?ADC:
-0022E1 22                RET     
------ FUNCTION YC_adc_init (END) -------
-
-
 ----- FUNCTION System_Hardware_reset (BEGIN) -----
  FILE: 'sys.c'
    58: static void System_Hardware_reset()
    59: {
    60: 	m_reset_reg = 1;
    61: 	while(1);
-0022E2 908010            MOV     DPTR,#m_reset_reg
-0022E5 7401              MOV     A,#01H
-0022E7 F0                MOVX    @DPTR,A
-0022E8         ?C0004?SYS:
+001DB2 908010            MOV     DPTR,#m_reset_reg
+001DB5 7401              MOV     A,#01H
+001DB7 F0                MOVX    @DPTR,A
+001DB8         ?C0004?SYS:
    62: }
-0022E8 80FE              SJMP    ?C0004?SYS
-0022EA 22                RET     
+001DB8 80FE              SJMP    ?C0004?SYS
+001DBA 22                RET     
 ----- FUNCTION System_Hardware_reset (END) -------
 
 
@@ -6483,7 +5429,7 @@
    71: {
    72: 	System_Hardware_reset();
    73: }
-0022EB 80F5              SJMP    System_Hardware_reset
+001DBB 80F5              SJMP    System_Hardware_reset
 ----- FUNCTION System_Reset_Connect (END) -------
 
 
@@ -6491,607 +5437,1174 @@
  FILE: 'sys.c'
    80: static void kb_cb_Hid(byte *p,byte len) {
    81: 	//p[0] is hid type,always is 1(kb) now
-0022ED 904E89            MOV     DPTR,#len
-0022F0 ED                MOV     A,R5
-0022F1 F0                MOVX    @DPTR,A
+001DBD 904E89            MOV     DPTR,#len
+001DC0 ED                MOV     A,R5
+001DC1 F0                MOVX    @DPTR,A
 ;---- Variable 'p' assigned to Register 'R1/R2/R3' ----
    82: 	byte temp = p[1];
-0022F2 900001            MOV     DPTR,#01H
-0022F5 1203CF            LCALL   ?C?CLDOPTR
-0022F8 904E8A            MOV     DPTR,#temp
-0022FB F0                MOVX    @DPTR,A
+001DC2 900001            MOV     DPTR,#01H
+001DC5 1203CF            LCALL   ?C?CLDOPTR
+001DC8 904E8A            MOV     DPTR,#temp
+001DCB F0                MOVX    @DPTR,A
    83: 
    84: 	if (len<2) {
    85: 		return;
    86: 	}
    87: }
-0022FC 22                RET     
+001DCC 22                RET     
 ----- FUNCTION _kb_cb_Hid (END) -------
 
 
+----- FUNCTION YC_connect_timeout_500ms (BEGIN) -----
+ FILE: 'sys.c'
+  199: void YC_connect_timeout_500ms()
+  200: {
+  201: 	
+  202: //system long sleep timer
+  203: 	if(g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+001DCD 904CC5            MOV     DPTR,#g_variable+06H
+001DD0 E0                MOVX    A,@DPTR
+001DD1 B40311            CJNE    A,#03H,?C0037?SYS
+  204: 	{
+  205: 		if (g_variable.sleepTimer == STANDBY_TIMER_30MIN)
+001DD4 904CE3            MOV     DPTR,#g_variable+024H
+001DD7 E0                MOVX    A,@DPTR
+001DD8 640E              XRL     A,#0EH
+001DDA 7004              JNZ     ?C0092?SYS
+001DDC A3                INC     DPTR
+001DDD E0                MOVX    A,@DPTR
+001DDE 6410              XRL     A,#010H
+001DE0         ?C0092?SYS:
+001DE0 702D              JNZ     ?C0044?SYS
+  206: 			System_long_sleep();
+001DE2 0207F1            LJMP    System_long_sleep
+  207: 	}
+001DE5         ?C0037?SYS:
+  208: 	else if(g_variable.g24_currentState == CHANGE_TO_24G_PAIRING)
+001DE5 904CC5            MOV     DPTR,#g_variable+06H
+001DE8 E0                MOVX    A,@DPTR
+001DE9 B40114            CJNE    A,#01H,?C0040?SYS
+  209: 	{
+  210: 		if (g_variable.sleepTimer == G24_PAIRING_TIME_OUT_20S)
+001DEC 904CE3            MOV     DPTR,#g_variable+024H
+001DEF E0                MOVX    A,@DPTR
+001DF0 7004              JNZ     ?C0093?SYS
+001DF2 A3                INC     DPTR
+001DF3 E0                MOVX    A,@DPTR
+001DF4 6428              XRL     A,#028H
+001DF6         ?C0093?SYS:
+001DF6 7017              JNZ     ?C0044?SYS
+  211: 		{
+  212: 			IPC_TxControlCmd(IPC_CMD_STOP_24G);
+001DF8 7F22              MOV     R7,#022H
+001DFA 1207F8            LCALL   _IPC_TxControlCmd
+  213: 			System_long_sleep();
+001DFD 0207F1            LJMP    System_long_sleep
+  214: 		}
+  215: 	}
+001E00         ?C0040?SYS:
+  216: 	else
+  217: 	{
+  218: 		if (g_variable.sleepTimer == RECONNECT_TIMER_10S)
+001E00 904CE3            MOV     DPTR,#g_variable+024H
+001E03 E0                MOVX    A,@DPTR
+001E04 7004              JNZ     ?C0094?SYS
+001E06 A3                INC     DPTR
+001E07 E0                MOVX    A,@DPTR
+001E08 6414              XRL     A,#014H
+001E0A         ?C0094?SYS:
+001E0A 7003              JNZ     ?C0044?SYS
+  219: 		{
+  220: 			System_long_sleep();
+001E0C 1207F1            LCALL   System_long_sleep
+  221: 		}
+  222: 	}
+  223: }
+001E0F         ?C0044?SYS:
+001E0F 22                RET     
+----- FUNCTION YC_connect_timeout_500ms (END) -------
+
+
+----- FUNCTION kb_cb_Timer500ms (BEGIN) -----
+ FILE: 'sys.c'
+  291: static void kb_cb_Timer500ms()
+  292: {
+  293: 	LED_timer500ms();	
+  294: 
+001E10 120796            LCALL   LED_timer500ms
+  295: 	g_variable.sleepTimer++;
+001E13 904CE4            MOV     DPTR,#g_variable+025H
+001E16 E0                MOVX    A,@DPTR
+001E17 04                INC     A
+001E18 F0                MOVX    @DPTR,A
+001E19 7006              JNZ     ?C0095?SYS
+001E1B 904CE3            MOV     DPTR,#g_variable+024H
+001E1E E0                MOVX    A,@DPTR
+001E1F 04                INC     A
+001E20 F0                MOVX    @DPTR,A
+001E21         ?C0095?SYS:
+  296: 
+  297: 	YC_adc_check_timer500ms();
+001E21 D14B              ACALL   YC_adc_check_timer500ms
+  298: 	YC_connect_timeout_500ms();
+001E23 B1CD              ACALL   YC_connect_timeout_500ms
+  299: 	kb_button_press_timer500ms();
+001E25 D15C              ACALL   kb_button_press_timer500ms
+;----                  JMP     YC_pairing_timerout_500ms
+  300: 	YC_pairing_timerout_500ms();
+  301: 	
+  302: 	return;
+----- FUNCTION kb_cb_Timer500ms (END) -------
+
+
+----- FUNCTION YC_pairing_timerout_500ms (BEGIN) -----
+ FILE: 'sys.c'
+  227: void YC_pairing_timerout_500ms()
+  228: {
+  229: //pairing timer
+  230: 	if (g_variable.pairing_g24_timeout != 0)
+001E27 904CEE            MOV     DPTR,#g_variable+02FH
+001E2A E0                MOVX    A,@DPTR
+001E2B 601D              JZ      ?C0047?SYS
+  231: 	{
+  232: 		g_variable.sleepTimer = 0;
+001E2D E4                CLR     A
+001E2E 904CE3            MOV     DPTR,#g_variable+024H
+001E31 F0                MOVX    @DPTR,A
+001E32 A3                INC     DPTR
+001E33 F0                MOVX    @DPTR,A
+  233: 		g_variable.pairing_g24_timeout--;
+001E34 904CEE            MOV     DPTR,#g_variable+02FH
+001E37 E0                MOVX    A,@DPTR
+001E38 14                DEC     A
+001E39 F0                MOVX    @DPTR,A
+  234: 		if (g_variable.pairing_g24_timeout == 0)
+001E3A E0                MOVX    A,@DPTR
+001E3B 700D              JNZ     ?C0047?SYS
+  235: 		{
+  236: 			IPC_TxControlCmd(IPC_CMD_STOP_24G);
+001E3D 7F22              MOV     R7,#022H
+001E3F 1207F8            LCALL   _IPC_TxControlCmd
+  237: 			Delay1ms(10);
+001E42 7F0A              MOV     R7,#0AH
+001E44 12109C            LCALL   _Delay1ms
+  238: 			System_long_sleep();
+001E47 1207F1            LCALL   System_long_sleep
+  239: 		}
+  240: 	}
+  241: }
+001E4A         ?C0047?SYS:
+001E4A 22                RET     
+----- FUNCTION YC_pairing_timerout_500ms (END) -------
+
+
+----- FUNCTION YC_adc_check_timer500ms (BEGIN) -----
+ FILE: 'adc.c'
+   76: void YC_adc_check_timer500ms()
+   77: {
+   78: #ifdef  ADC_ENABLE
+   79: 	// adc check timer	
+   80: 	if (g_variable.battery_check_interval)
+001E4B 904CD3            MOV     DPTR,#g_variable+014H
+001E4E E0                MOVX    A,@DPTR
+001E4F 600A              JZ      ?C0016?ADC
+   81: 	{
+   82: 		g_variable.battery_check_interval--;
+001E51 14                DEC     A
+001E52 F0                MOVX    @DPTR,A
+   83: 		if (g_variable.battery_check_interval == 0)
+001E53 E0                MOVX    A,@DPTR
+001E54 7005              JNZ     ?C0016?ADC
+   84: 		{
+   85: 			g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
+001E56 7405              MOV     A,#05H
+001E58 F0                MOVX    @DPTR,A
+   86: 			YC_adc_check();
+001E59 D1E3              ACALL   YC_adc_check
+   87: 		}
+   88: 	}
+   89: #endif	
+   90: }
+001E5B         ?C0016?ADC:
+001E5B 22                RET     
+----- FUNCTION YC_adc_check_timer500ms (END) -------
+
+
+----- FUNCTION kb_button_press_timer500ms (BEGIN) -----
+ FILE: 'sys.c'
+  243: void kb_button_press_timer500ms()
+  244: {
+  245: 	
+  246: //key status 
+  247: 	if (g_variable.button_flag & KEY_FLAG_SAME_KEY_PRESS)
+001E5C 904CCE            MOV     DPTR,#g_variable+0FH
+001E5F E0                MOVX    A,@DPTR
+001E60 30E13E            JNB     ACC.1,?C0048?SYS
+  248: 	{
+  249: 		if (g_variable.button_timer[1] < 250)
+001E63 904CD0            MOV     DPTR,#g_variable+011H
+001E66 E0                MOVX    A,@DPTR
+001E67 C3                CLR     C
+001E68 94FA              SUBB    A,#0FAH
+001E6A 5003              JNC     ?C0049?SYS
+  250: 			g_variable.button_timer[1]++;
+001E6C E0                MOVX    A,@DPTR
+001E6D 04                INC     A
+001E6E F0                MOVX    @DPTR,A
+001E6F         ?C0049?SYS:
+  251: 		if (g_variable.button_timer[1] == 180)			// 500ms*180*3 = 4min30s
+001E6F 904CD0            MOV     DPTR,#g_variable+011H
+001E72 E0                MOVX    A,@DPTR
+001E73 64B4              XRL     A,#0B4H
+001E75 702F              JNZ     ?C0054?SYS
+  252: 		{
+  253: 			press_long_time_flag++;
+001E77 904DDC            MOV     DPTR,#press_long_time_flag
+001E7A E0                MOVX    A,@DPTR
+001E7B 04                INC     A
+001E7C F0                MOVX    @DPTR,A
+  254: 			if(press_long_time_flag <= 2)
+001E7D E0                MOVX    A,@DPTR
+001E7E D3                SETB    C
+001E7F 9402              SUBB    A,#02H
+001E81 5007              JNC     ?C0051?SYS
+  255: 			{
+  256: 				g_variable.button_timer[1] = 0;
+001E83 E4                CLR     A
+001E84 904CD0            MOV     DPTR,#g_variable+011H
+001E87 F0                MOVX    @DPTR,A
+  257: 			}
+001E88 801C              SJMP    ?C0054?SYS
+001E8A         ?C0051?SYS:
+  258: 			else if(press_long_time_flag == 3)
+001E8A 904DDC            MOV     DPTR,#press_long_time_flag
+001E8D E0                MOVX    A,@DPTR
+001E8E B40315            CJNE    A,#03H,?C0054?SYS
+  259: 			{
+  260: 				long_press_flag = 1;
+001E91 904DD5            MOV     DPTR,#long_press_flag
+001E94 7401              MOV     A,#01H
+001E96 F0                MOVX    @DPTR,A
+  261: 				g_variable.button_timer[1] = 0;
+001E97 E4                CLR     A
+001E98 904CD0            MOV     DPTR,#g_variable+011H
+001E9B F0                MOVX    @DPTR,A
+  262: 				System_long_sleep();
+001E9C 1207F1            LCALL   System_long_sleep
+  263: 			}
+  264: 		}
+  265: 	}
+001E9F 8005              SJMP    ?C0054?SYS
+001EA1         ?C0048?SYS:
+  266: 	else
+  267: 		press_long_time_flag = 0;
+001EA1 E4                CLR     A
+001EA2 904DDC            MOV     DPTR,#press_long_time_flag
+001EA5 F0                MOVX    @DPTR,A
+001EA6         ?C0054?SYS:
+  268: 		
+  269: 	if (g_variable.button_flag & KEY_FLAG_FN_24G_DEVICE_BUTTON)		// G24 pairing
+001EA6 904CCE            MOV     DPTR,#g_variable+0FH
+001EA9 E0                MOVX    A,@DPTR
+001EAA 30E430            JNB     ACC.4,?C0055?SYS
+  270: 	{
+  271: 		g_variable.delay_enter_lpm_timer = 10;
+001EAD 904CEA            MOV     DPTR,#g_variable+02BH
+001EB0 740A              MOV     A,#0AH
+001EB2 F0                MOVX    @DPTR,A
+  272: 		if (g_variable.button_timer[2] < 250)
+001EB3 904CD1            MOV     DPTR,#g_variable+012H
+001EB6 E0                MOVX    A,@DPTR
+001EB7 C3                CLR     C
+001EB8 94FA              SUBB    A,#0FAH
+001EBA 5003              JNC     ?C0056?SYS
+  273: 			g_variable.button_timer[2]++;
+001EBC E0                MOVX    A,@DPTR
+001EBD 04                INC     A
+001EBE F0                MOVX    @DPTR,A
+001EBF         ?C0056?SYS:
+  274: 		if (g_variable.button_timer[2] == 6)
+001EBF 904CD1            MOV     DPTR,#g_variable+012H
+001EC2 E0                MOVX    A,@DPTR
+001EC3 B4061C            CJNE    A,#06H,?C0061?SYS
+  275: 		{
+  276: 			if( !g_variable.current_device_num || (g_variable.current_device_num == 0xfe))
+001EC6 904CC3            MOV     DPTR,#g_variable+04H
+001EC9 E0                MOVX    A,@DPTR
+001ECA FF                MOV     R7,A
+001ECB 6003              JZ      ?C0059?SYS
+001ECD B4FE12            CJNE    A,#0FEH,?C0061?SYS
+001ED0         ?C0059?SYS:
+  277: 			{
+  278: 				YC_disconnect_all_link();
+001ED0 120FCB            LCALL   YC_disconnect_all_link
+  279: 				Delay1ms(10);
+001ED3 7F0A              MOV     R7,#0AH
+001ED5 12109C            LCALL   _Delay1ms
+  280: 				YC_key_action_handle(KEY_PAIRING_24G);
+001ED8 7F0A              MOV     R7,#0AH
+001EDA 020FEB            LJMP    _YC_key_action_handle
+  281: 			}
+  282: 		}
+  283: 	}
+001EDD         ?C0055?SYS:
+  284: 	else
+  285: 		g_variable.button_timer[2] = 0;
+001EDD E4                CLR     A
+001EDE 904CD1            MOV     DPTR,#g_variable+012H
+001EE1 F0                MOVX    @DPTR,A
+  286: 	
+  287: }
+001EE2         ?C0061?SYS:
+001EE2 22                RET     
+----- FUNCTION kb_button_press_timer500ms (END) -------
+
+
 ----- FUNCTION YC_adc_check (BEGIN) -----
  FILE: 'adc.c'
-   35: void YC_adc_check() 
-   36: {
-   37: 	byte i;
-   38: 	ulong batValue = 0;
-0022FD 904E58            MOV     DPTR,#batValue
-002300 120533            LCALL   ?C?LSTKXDATA
-002303 00                DB      00H
-002304 00                DB      00H
-002305 00                DB      00H
-002306 00                DB      00H
-   39: 	#ifndef  ADC_ENABLE
-   40: 		return;
-   41: 	#endif	
-   42: //	if(m_adcCurrentValue < m_adc0vBase) 
-   43: //		return;
-   44: 
-   45: 	g_variable.battery_value[g_variable.battery_value_index++] = m_adcCurrentValue;
-002307 904C95            MOV     DPTR,#m_adcCurrentValue
-00230A E0                MOVX    A,@DPTR
-00230B FE                MOV     R6,A
-00230C A3                INC     DPTR
-00230D E0                MOVX    A,@DPTR
-00230E FF                MOV     R7,A
-00230F 904CD4            MOV     DPTR,#g_variable+015H
-002312 E0                MOVX    A,@DPTR
-002313 FD                MOV     R5,A
-002314 04                INC     A
-002315 F0                MOVX    @DPTR,A
-002316 ED                MOV     A,R5
-002317 25E0              ADD     A,ACC
-002319 24D6              ADD     A,#LOW g_variable+017H
-00231B F582              MOV     DPL,A
-00231D E4                CLR     A
-00231E 344C              ADDC    A,#HIGH g_variable+017H
-002320 F583              MOV     DPH,A
-002322 EE                MOV     A,R6
-002323 F0                MOVX    @DPTR,A
-002324 A3                INC     DPTR
-002325 EF                MOV     A,R7
-002326 F0                MOVX    @DPTR,A
-   46: 	if (g_variable.battery_value_index >= BAT_ARRAY_LEN)
-002327 904CD4            MOV     DPTR,#g_variable+015H
-00232A E0                MOVX    A,@DPTR
-00232B C3                CLR     C
-00232C 9404              SUBB    A,#04H
-00232E 4002              JC      ?C0009?ADC
-   47: 		g_variable.battery_value_index = 0;
-002330 E4                CLR     A
-002331 F0                MOVX    @DPTR,A
-002332         ?C0009?ADC:
-   48: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
-002332 E4                CLR     A
-002333 904E57            MOV     DPTR,#i
-002336 F0                MOVX    @DPTR,A
-002337         ?C0010?ADC:
-   49: 	{
-   50: 		batValue += g_variable.battery_value[i];
-002337 904E58            MOV     DPTR,#batValue
-00233A E0                MOVX    A,@DPTR
-00233B F8                MOV     R0,A
-00233C A3                INC     DPTR
-00233D E0                MOVX    A,@DPTR
-00233E F9                MOV     R1,A
-00233F A3                INC     DPTR
-002340 E0                MOVX    A,@DPTR
-002341 FA                MOV     R2,A
-002342 A3                INC     DPTR
-002343 E0                MOVX    A,@DPTR
-002344 FB                MOV     R3,A
-002345 904E57            MOV     DPTR,#i
-002348 E0                MOVX    A,@DPTR
-002349 25E0              ADD     A,ACC
-00234B 24D6              ADD     A,#LOW g_variable+017H
-00234D F582              MOV     DPL,A
-00234F E4                CLR     A
-002350 344C              ADDC    A,#HIGH g_variable+017H
-002352 F583              MOV     DPH,A
-002354 E0                MOVX    A,@DPTR
-002355 FE                MOV     R6,A
-002356 A3                INC     DPTR
-002357 E0                MOVX    A,@DPTR
-002358 FF                MOV     R7,A
-002359 E4                CLR     A
-00235A FC                MOV     R4,A
-00235B FD                MOV     R5,A
-00235C EB                MOV     A,R3
-00235D 2F                ADD     A,R7
-00235E FF                MOV     R7,A
-00235F EA                MOV     A,R2
-002360 3E                ADDC    A,R6
-002361 FE                MOV     R6,A
-002362 ED                MOV     A,R5
-002363 39                ADDC    A,R1
-002364 FD                MOV     R5,A
-002365 EC                MOV     A,R4
-002366 38                ADDC    A,R0
-002367 FC                MOV     R4,A
-002368 904E58            MOV     DPTR,#batValue
-00236B 120527            LCALL   ?C?LSTXDATA
-   51: 	}
-00236E 904E57            MOV     DPTR,#i
-002371 E0                MOVX    A,@DPTR
-002372 04                INC     A
-002373 F0                MOVX    @DPTR,A
-002374 E0                MOVX    A,@DPTR
-002375 B404BF            CJNE    A,#04H,?C0010?ADC
-002378         ?C0011?ADC:
-   52: 	batValue = batValue/BAT_ARRAY_LEN;
-002378 904E58            MOV     DPTR,#batValue
-00237B E0                MOVX    A,@DPTR
-00237C FC                MOV     R4,A
-00237D A3                INC     DPTR
-00237E E0                MOVX    A,@DPTR
-00237F FD                MOV     R5,A
-002380 A3                INC     DPTR
-002381 E0                MOVX    A,@DPTR
-002382 FE                MOV     R6,A
-002383 A3                INC     DPTR
-002384 E0                MOVX    A,@DPTR
-002385 FF                MOV     R7,A
-002386 E4                CLR     A
-002387 7B04              MOV     R3,#04H
-002389 FA                MOV     R2,A
-00238A F9                MOV     R1,A
-00238B F8                MOV     R0,A
-00238C 120476            LCALL   ?C?ULDIV
-00238F 904E58            MOV     DPTR,#batValue
-002392 120527            LCALL   ?C?LSTXDATA
-   53: 
-   54: 	if(g_variable.battery_value[0] < g_variable.battery_level_shutdown)
-002395 904CE0            MOV     DPTR,#g_variable+021H
-002398 E0                MOVX    A,@DPTR
-002399 FE                MOV     R6,A
-00239A A3                INC     DPTR
-00239B E0                MOVX    A,@DPTR
-00239C FF                MOV     R7,A
-00239D C3                CLR     C
-00239E 904CD7            MOV     DPTR,#g_variable+018H
-0023A1 E0                MOVX    A,@DPTR
-0023A2 9F                SUBB    A,R7
-0023A3 904CD6            MOV     DPTR,#g_variable+017H
-0023A6 E0                MOVX    A,@DPTR
-0023A7 9E                SUBB    A,R6
-0023A8 5007              JNC     ?C0013?ADC
-   55: 	{
-   56: 		g_variable.battery_status = BAT_STATUS_SHUT_DOWN;
-0023AA 904CD5            MOV     DPTR,#g_variable+016H
-0023AD 7402              MOV     A,#02H
-0023AF F0                MOVX    @DPTR,A
-   57: 	}
-0023B0 22                RET     
-0023B1         ?C0013?ADC:
-   58: 	else
-   59: 	{
-   60: 		if (batValue < g_variable.battery_level_low)
-0023B1 904CDE            MOV     DPTR,#g_variable+01FH
-0023B4 E0                MOVX    A,@DPTR
-0023B5 FE                MOV     R6,A
-0023B6 A3                INC     DPTR
-0023B7 E0                MOVX    A,@DPTR
-0023B8 FF                MOV     R7,A
-0023B9 E4                CLR     A
-0023BA FC                MOV     R4,A
-0023BB FD                MOV     R5,A
-0023BC 904E58            MOV     DPTR,#batValue
-0023BF E0                MOVX    A,@DPTR
-0023C0 F8                MOV     R0,A
-0023C1 A3                INC     DPTR
-0023C2 E0                MOVX    A,@DPTR
-0023C3 F9                MOV     R1,A
-0023C4 A3                INC     DPTR
-0023C5 E0                MOVX    A,@DPTR
-0023C6 FA                MOV     R2,A
-0023C7 A3                INC     DPTR
-0023C8 E0                MOVX    A,@DPTR
-0023C9 FB                MOV     R3,A
-0023CA C3                CLR     C
-0023CB 120516            LCALL   ?C?ULCMP
-0023CE 500D              JNC     ?C0015?ADC
-   61: 		{
-   62: 			g_variable.battery_status = BAT_STATUS_LOW;
-0023D0 904CD5            MOV     DPTR,#g_variable+016H
-0023D3 7401              MOV     A,#01H
-0023D5 F0                MOVX    @DPTR,A
-   63: 			m_24g_enter_hibernate[2] = 0x12;		// 100ms
-0023D6 904D3F            MOV     DPTR,#m_24g_enter_hibernate+02H
-0023D9 7412              MOV     A,#012H
-0023DB F0                MOVX    @DPTR,A
-   64: 		}
-0023DC 22                RET     
-0023DD         ?C0015?ADC:
-   65: 		else
-   66: 		{
-   67: 			g_variable.battery_status = BAT_STATUS_NONE;
-0023DD E4                CLR     A
-0023DE 904CD5            MOV     DPTR,#g_variable+016H
-0023E1 F0                MOVX    @DPTR,A
-   68: 			m_24g_enter_hibernate[2] = 0x5d;		// 510ms
-0023E2 904D3F            MOV     DPTR,#m_24g_enter_hibernate+02H
-0023E5 745D              MOV     A,#05DH
-0023E7 F0                MOVX    @DPTR,A
-   69: 		}
-   70: 	}
-   71: 	
-   72: }
-0023E8 22                RET     
+   40: void YC_adc_check() 
+   41: {
+   42: #ifdef  ADC_ENABLE
+   43: 	byte i;
+   44: 	ulong batValue = 0;
+001EE3 904E58            MOV     DPTR,#batValue
+001EE6 120533            LCALL   ?C?LSTKXDATA
+001EE9 00                DB      00H
+001EEA 00                DB      00H
+001EEB 00                DB      00H
+001EEC 00                DB      00H
+   45: 
+   46: 	g_variable.battery_value[g_variable.battery_value_index++] = m_adcCurrentValue;
+001EED 904C95            MOV     DPTR,#m_adcCurrentValue
+001EF0 E0                MOVX    A,@DPTR
+001EF1 FE                MOV     R6,A
+001EF2 A3                INC     DPTR
+001EF3 E0                MOVX    A,@DPTR
+001EF4 FF                MOV     R7,A
+001EF5 904CD4            MOV     DPTR,#g_variable+015H
+001EF8 E0                MOVX    A,@DPTR
+001EF9 FD                MOV     R5,A
+001EFA 04                INC     A
+001EFB F0                MOVX    @DPTR,A
+001EFC ED                MOV     A,R5
+001EFD 25E0              ADD     A,ACC
+001EFF 24D6              ADD     A,#LOW g_variable+017H
+001F01 F582              MOV     DPL,A
+001F03 E4                CLR     A
+001F04 344C              ADDC    A,#HIGH g_variable+017H
+001F06 F583              MOV     DPH,A
+001F08 EE                MOV     A,R6
+001F09 F0                MOVX    @DPTR,A
+001F0A A3                INC     DPTR
+001F0B EF                MOV     A,R7
+001F0C F0                MOVX    @DPTR,A
+   47: 	if (g_variable.battery_value_index >= BAT_ARRAY_LEN)
+001F0D 904CD4            MOV     DPTR,#g_variable+015H
+001F10 E0                MOVX    A,@DPTR
+001F11 C3                CLR     C
+001F12 9404              SUBB    A,#04H
+001F14 4002              JC      ?C0005?ADC
+   48: 		g_variable.battery_value_index = 0;
+001F16 E4                CLR     A
+001F17 F0                MOVX    @DPTR,A
+001F18         ?C0005?ADC:
+   49: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
+001F18 E4                CLR     A
+001F19 904E57            MOV     DPTR,#i
+001F1C F0                MOVX    @DPTR,A
+001F1D         ?C0006?ADC:
+   50: 	{
+   51: 		batValue += g_variable.battery_value[i];
+001F1D 904E58            MOV     DPTR,#batValue
+001F20 E0                MOVX    A,@DPTR
+001F21 F8                MOV     R0,A
+001F22 A3                INC     DPTR
+001F23 E0                MOVX    A,@DPTR
+001F24 F9                MOV     R1,A
+001F25 A3                INC     DPTR
+001F26 E0                MOVX    A,@DPTR
+001F27 FA                MOV     R2,A
+001F28 A3                INC     DPTR
+001F29 E0                MOVX    A,@DPTR
+001F2A FB                MOV     R3,A
+001F2B 904E57            MOV     DPTR,#i
+001F2E E0                MOVX    A,@DPTR
+001F2F 25E0              ADD     A,ACC
+001F31 24D6              ADD     A,#LOW g_variable+017H
+001F33 F582              MOV     DPL,A
+001F35 E4                CLR     A
+001F36 344C              ADDC    A,#HIGH g_variable+017H
+001F38 F583              MOV     DPH,A
+001F3A E0                MOVX    A,@DPTR
+001F3B FE                MOV     R6,A
+001F3C A3                INC     DPTR
+001F3D E0                MOVX    A,@DPTR
+001F3E FF                MOV     R7,A
+001F3F E4                CLR     A
+001F40 FC                MOV     R4,A
+001F41 FD                MOV     R5,A
+001F42 EB                MOV     A,R3
+001F43 2F                ADD     A,R7
+001F44 FF                MOV     R7,A
+001F45 EA                MOV     A,R2
+001F46 3E                ADDC    A,R6
+001F47 FE                MOV     R6,A
+001F48 ED                MOV     A,R5
+001F49 39                ADDC    A,R1
+001F4A FD                MOV     R5,A
+001F4B EC                MOV     A,R4
+001F4C 38                ADDC    A,R0
+001F4D FC                MOV     R4,A
+001F4E 904E58            MOV     DPTR,#batValue
+001F51 120527            LCALL   ?C?LSTXDATA
+   52: 	}
+001F54 904E57            MOV     DPTR,#i
+001F57 E0                MOVX    A,@DPTR
+001F58 04                INC     A
+001F59 F0                MOVX    @DPTR,A
+001F5A E0                MOVX    A,@DPTR
+001F5B B404BF            CJNE    A,#04H,?C0006?ADC
+001F5E         ?C0007?ADC:
+   53: 	batValue = batValue/BAT_ARRAY_LEN;
+001F5E 904E58            MOV     DPTR,#batValue
+001F61 E0                MOVX    A,@DPTR
+001F62 FC                MOV     R4,A
+001F63 A3                INC     DPTR
+001F64 E0                MOVX    A,@DPTR
+001F65 FD                MOV     R5,A
+001F66 A3                INC     DPTR
+001F67 E0                MOVX    A,@DPTR
+001F68 FE                MOV     R6,A
+001F69 A3                INC     DPTR
+001F6A E0                MOVX    A,@DPTR
+001F6B FF                MOV     R7,A
+001F6C E4                CLR     A
+001F6D 7B04              MOV     R3,#04H
+001F6F FA                MOV     R2,A
+001F70 F9                MOV     R1,A
+001F71 F8                MOV     R0,A
+001F72 120476            LCALL   ?C?ULDIV
+001F75 904E58            MOV     DPTR,#batValue
+001F78 120527            LCALL   ?C?LSTXDATA
+   54: 
+   55: 	if(g_variable.battery_value[0] < g_variable.battery_level_shutdown)
+001F7B 904CE0            MOV     DPTR,#g_variable+021H
+001F7E E0                MOVX    A,@DPTR
+001F7F FE                MOV     R6,A
+001F80 A3                INC     DPTR
+001F81 E0                MOVX    A,@DPTR
+001F82 FF                MOV     R7,A
+001F83 C3                CLR     C
+001F84 904CD7            MOV     DPTR,#g_variable+018H
+001F87 E0                MOVX    A,@DPTR
+001F88 9F                SUBB    A,R7
+001F89 904CD6            MOV     DPTR,#g_variable+017H
+001F8C E0                MOVX    A,@DPTR
+001F8D 9E                SUBB    A,R6
+001F8E 5007              JNC     ?C0009?ADC
+   56: 	{
+   57: 		g_variable.battery_status = BAT_STATUS_SHUT_DOWN;
+001F90 904CD5            MOV     DPTR,#g_variable+016H
+001F93 7402              MOV     A,#02H
+001F95 F0                MOVX    @DPTR,A
+   58: 	}
+001F96 22                RET     
+001F97         ?C0009?ADC:
+   59: 	else
+   60: 	{
+   61: 		if (batValue < g_variable.battery_level_low)
+001F97 904CDE            MOV     DPTR,#g_variable+01FH
+001F9A E0                MOVX    A,@DPTR
+001F9B FE                MOV     R6,A
+001F9C A3                INC     DPTR
+001F9D E0                MOVX    A,@DPTR
+001F9E FF                MOV     R7,A
+001F9F E4                CLR     A
+001FA0 FC                MOV     R4,A
+001FA1 FD                MOV     R5,A
+001FA2 904E58            MOV     DPTR,#batValue
+001FA5 E0                MOVX    A,@DPTR
+001FA6 F8                MOV     R0,A
+001FA7 A3                INC     DPTR
+001FA8 E0                MOVX    A,@DPTR
+001FA9 F9                MOV     R1,A
+001FAA A3                INC     DPTR
+001FAB E0                MOVX    A,@DPTR
+001FAC FA                MOV     R2,A
+001FAD A3                INC     DPTR
+001FAE E0                MOVX    A,@DPTR
+001FAF FB                MOV     R3,A
+001FB0 C3                CLR     C
+001FB1 120516            LCALL   ?C?ULCMP
+001FB4 500D              JNC     ?C0011?ADC
+   62: 		{
+   63: 			g_variable.battery_status = BAT_STATUS_LOW;
+001FB6 904CD5            MOV     DPTR,#g_variable+016H
+001FB9 7401              MOV     A,#01H
+001FBB F0                MOVX    @DPTR,A
+   64: 			m_24g_enter_hibernate[2] = 0x12;		// 100ms
+001FBC 904D3F            MOV     DPTR,#m_24g_enter_hibernate+02H
+001FBF 7412              MOV     A,#012H
+001FC1 F0                MOVX    @DPTR,A
+   65: 		}
+001FC2 22                RET     
+001FC3         ?C0011?ADC:
+   66: 		else
+   67: 		{
+   68: 			g_variable.battery_status = BAT_STATUS_NONE;
+001FC3 E4                CLR     A
+001FC4 904CD5            MOV     DPTR,#g_variable+016H
+001FC7 F0                MOVX    @DPTR,A
+   69: 			m_24g_enter_hibernate[2] = 0x5d;		// 510ms
+001FC8 904D3F            MOV     DPTR,#m_24g_enter_hibernate+02H
+001FCB 745D              MOV     A,#05DH
+001FCD F0                MOVX    @DPTR,A
+   70: 		}
+   71: 	}
+   72: #endif	
+   73: }
+001FCE 22                RET     
 ----- FUNCTION YC_adc_check (END) -------
 
 
------ FUNCTION YC_adc_check_timer500ms (BEGIN) -----
+----- FUNCTION kb_cb_Timer100ms (BEGIN) -----
+ FILE: 'sys.c'
+  306: static void kb_cb_Timer100ms()
+  307: {
+  308: 
+  309: 	if (g_variable.delay_enter_lpm_timer) 
+001FCF 904CEA            MOV     DPTR,#g_variable+02BH
+001FD2 E0                MOVX    A,@DPTR
+001FD3 6002              JZ      ?C0063?SYS
+  310: 	{
+  311: 		g_variable.delay_enter_lpm_timer --;
+001FD5 14                DEC     A
+001FD6 F0                MOVX    @DPTR,A
+  312: 	}
+001FD7         ?C0063?SYS:
+  313: 
+  314: 	if(g_variable.recon_delay)
+001FD7 904CEF            MOV     DPTR,#g_variable+030H
+001FDA E0                MOVX    A,@DPTR
+001FDB 6002              JZ      ?C0064?SYS
+  315: 		g_variable.recon_delay--;
+001FDD 14                DEC     A
+001FDE F0                MOVX    @DPTR,A
+001FDF         ?C0064?SYS:
+  316: 
+  317: 	if (g_variable.powerOn_timer != 0)
+001FDF 904CE5            MOV     DPTR,#g_variable+026H
+001FE2 E0                MOVX    A,@DPTR
+001FE3 6018              JZ      ?C0065?SYS
+  318: 	{	
+  319: 		g_variable.powerOn_timer--;
+001FE5 14                DEC     A
+001FE6 F0                MOVX    @DPTR,A
+  320: 		GPIO_Setout(G24_LED_GPIO,LED_ON);
+001FE7 D201              SETB    ?_GPIO_Setout?BIT
+001FE9 7F1E              MOV     R7,#01EH
+001FEB 120784            LCALL   _GPIO_Setout
+  321: 		if (!g_variable.powerOn_timer)
+001FEE 904CE5            MOV     DPTR,#g_variable+026H
+001FF1 E0                MOVX    A,@DPTR
+001FF2 7034              JNZ     ?C0067?SYS
+  322: 		{
+  323: 			GPIO_Setout(G24_LED_GPIO,LED_OFF);
+001FF4 C201              CLR     ?_GPIO_Setout?BIT
+001FF6 7F1E              MOV     R7,#01EH
+001FF8 120784            LCALL   _GPIO_Setout
+  324: 		}
+  325: 	}
+001FFB 802B              SJMP    ?C0067?SYS
+001FFD         ?C0065?SYS:
+  326: 	else
+  327: 	if (g_variable.pairing_g24_timeout == 0) //bt  pairing
+001FFD 904CEE            MOV     DPTR,#g_variable+02FH
+002000 E0                MOVX    A,@DPTR
+002001 7025              JNZ     ?C0067?SYS
+  328: 	{
+  329: 		if(g_variable.battery_low_led_flash_interval)
+002003 904CE2            MOV     DPTR,#g_variable+023H
+002006 E0                MOVX    A,@DPTR
+002007 601F              JZ      ?C0067?SYS
+  330: 		{
+  331: 			g_variable.battery_low_led_flash_interval--;
+002009 14                DEC     A
+00200A F0                MOVX    @DPTR,A
+  332: 			if(g_variable.battery_low_led_flash_interval & 0x02)
+00200B E0                MOVX    A,@DPTR
+00200C 30E109            JNB     ACC.1,?C0070?SYS
+  333: 			{
+  334: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_ON);
+00200F D201              SETB    ?_GPIO_Setout?BIT
+002011 7F1E              MOV     R7,#01EH
+002013 120784            LCALL   _GPIO_Setout
+  335: 			}
+002016 8007              SJMP    ?C0071?SYS
+002018         ?C0070?SYS:
+  336: 			else
+  337: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);	
+002018 C201              CLR     ?_GPIO_Setout?BIT
+00201A 7F1E              MOV     R7,#01EH
+00201C 120784            LCALL   _GPIO_Setout
+00201F         ?C0071?SYS:
+  338: 			if(!g_variable.battery_low_led_flash_interval)
+00201F 904CE2            MOV     DPTR,#g_variable+023H
+002022 E0                MOVX    A,@DPTR
+002023 7003              JNZ     ?C0067?SYS
+  339: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
+002025 7404              MOV     A,#04H
+002027 F0                MOVX    @DPTR,A
+  340: 		}
+  341: 	}
+002028         ?C0067?SYS:
+  342: 	
+  343: // The dongle must receive data within 200ms, otherwise it will be forced to lift
+  344: 	if(!long_press_flag)
+002028 904DD5            MOV     DPTR,#long_press_flag
+00202B E0                MOVX    A,@DPTR
+00202C 702D              JNZ     ?C0073?SYS
+  345: 	{
+  346: 		if (repeat_send_24g == 1)
+00202E 904DD6            MOV     DPTR,#repeat_send_24g
+002031 E0                MOVX    A,@DPTR
+002032 6401              XRL     A,#01H
+002034 7025              JNZ     ?C0073?SYS
+  347: 		{
+  348: 			repeat_send_24g = 0;
+002036 F0                MOVX    @DPTR,A
+  349: 
+  350: 			 if (multikey[0] != 0)
+002037 904DE5            MOV     DPTR,#multikey
+00203A E0                MOVX    A,@DPTR
+00203B 600D              JZ      ?C0075?SYS
+  351: 			{
+  352: 				IPC_TxHidData(multikey, 3);
+00203D 7B01              MOV     R3,#01H
+00203F 7A4D              MOV     R2,#HIGH multikey
+002041 79E5              MOV     R1,#LOW multikey
+002043 7D03              MOV     R5,#03H
+002045 120D83            LCALL   _IPC_TxHidData
+  353: 			}
+002048 8011              SJMP    ?C0073?SYS
+00204A         ?C0075?SYS:
+  354: 			else if (hidBuff[0] != 0)
+00204A 904800            MOV     DPTR,#hidBuff
+00204D E0                MOVX    A,@DPTR
+00204E 600B              JZ      ?C0073?SYS
+  355: 			{
+  356: 
+  357: 				IPC_TxHidData(hidBuff,9);
+002050 7B01              MOV     R3,#01H
+002052 7A48              MOV     R2,#HIGH hidBuff
+002054 7900              MOV     R1,#LOW hidBuff
+002056 7D09              MOV     R5,#09H
+002058 120D83            LCALL   _IPC_TxHidData
+  358: 			}
+  359: 		}
+  360: 	}
+00205B         ?C0073?SYS:
+  361: 
+  362: 	if (delayChgInvTimer != 0){
+00205B 904DDE            MOV     DPTR,#delayChgInvTimer
+00205E E0                MOVX    A,@DPTR
+00205F 6003              JZ      ?C0079?SYS
+  363: 		delayChgInvTimer--;
+002061 E0                MOVX    A,@DPTR
+002062 14                DEC     A
+002063 F0                MOVX    @DPTR,A
+  364: 	}
+  365: }
+002064         ?C0079?SYS:
+002064 22                RET     
+----- FUNCTION kb_cb_Timer100ms (END) -------
+
+
+----- FUNCTION YC_adc_init (BEGIN) -----
  FILE: 'adc.c'
-   75: void YC_adc_check_timer500ms()
-   76: {
-   77: 	// adc check timer	
-   78: 	if (g_variable.battery_check_interval)
-0023E9 904CD3            MOV     DPTR,#g_variable+014H
-0023EC E0                MOVX    A,@DPTR
-0023ED 600A              JZ      ?C0020?ADC
-   79: 	{
-   80: 		g_variable.battery_check_interval--;
-0023EF 14                DEC     A
-0023F0 F0                MOVX    @DPTR,A
-   81: 		if (g_variable.battery_check_interval == 0)
-0023F1 E0                MOVX    A,@DPTR
-0023F2 7005              JNZ     ?C0020?ADC
-   82: 		{
-   83: 			g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
-0023F4 7405              MOV     A,#05H
-0023F6 F0                MOVX    @DPTR,A
-   84: 			YC_adc_check();
-0023F7 51FD              ACALL   YC_adc_check
-   85: 		}
-   86: 	}
-   87: }
-0023F9         ?C0020?ADC:
-0023F9 22                RET     
------ FUNCTION YC_adc_check_timer500ms (END) -------
+    3: void YC_adc_init()
+    4: {
+    5: #ifdef  ADC_ENABLE
+    6: 	byte i;
+    7: 	
+    8: 	g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
+002065 904CD3            MOV     DPTR,#g_variable+014H
+002068 7405              MOV     A,#05H
+00206A F0                MOVX    @DPTR,A
+    9: 	g_variable.battery_value_index = 0;
+00206B E4                CLR     A
+00206C A3                INC     DPTR
+00206D F0                MOVX    @DPTR,A
+   10: 
+   11: #ifdef ADC_TYPE_HVIN 	
+   12: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
+   13: 	{
+   14: 		g_variable.battery_value[i] = INIT_BATTERY_VALUE;
+   15: 	}
+   16: 
+   17: 	g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_3V2+m_adc0vBase;
+   18: 	g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_3V0+m_adc0vBase;
+   19: #endif
+   20: #ifdef ADC_TYPE_VINLPM
+   21: 		for (i = 0; i < BAT_ARRAY_LEN; i++)
+   22: 		{
+   23: 			g_variable.battery_value[i] = INIT_BATTERY_VALUE_VINLPM;
+   24: 		}
+   25: 		g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_2V2+m_adc0vBase;
+   26: 		g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_2V0+m_adc0vBase;
+   27: #endif
+   28: #ifdef ADC_TYPE_GPIO
+   29: 	m_adc_channel = ADC_CHANNEL;
+00206E 904C90            MOV     DPTR,#m_adc_channel
+002071 7437              MOV     A,#037H
+002073 F0                MOVX    @DPTR,A
+   30: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
+;---- Variable 'i' assigned to Register 'R7' ----
+002074 E4                CLR     A
+002075 FF                MOV     R7,A
+002076         ?C0001?ADC:
+   31: 	{
+   32: 		g_variable.battery_value[i] = INIT_BATTERY_VALUE_GPIO;
+002076 EF                MOV     A,R7
+002077 25E0              ADD     A,ACC
+002079 24D6              ADD     A,#LOW g_variable+017H
+00207B F582              MOV     DPL,A
+00207D E4                CLR     A
+00207E 344C              ADDC    A,#HIGH g_variable+017H
+002080 F583              MOV     DPH,A
+002082 7462              MOV     A,#062H
+002084 F0                MOVX    @DPTR,A
+002085 A3                INC     DPTR
+002086 F0                MOVX    @DPTR,A
+   33: 	}
+002087 0F                INC     R7
+002088 EF                MOV     A,R7
+002089 B404EA            CJNE    A,#04H,?C0001?ADC
+00208C         ?C0002?ADC:
+   34: 		g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_1V1+m_adc0vBase;
+00208C 904C91            MOV     DPTR,#m_adc0vBase
+00208F E0                MOVX    A,@DPTR
+002090 FE                MOV     R6,A
+002091 A3                INC     DPTR
+002092 E0                MOVX    A,@DPTR
+002093 FF                MOV     R7,A
+002094 C3                CLR     C
+002095 904C94            MOV     DPTR,#m_adc3vValue+01H
+002098 E0                MOVX    A,@DPTR
+002099 9F                SUBB    A,R7
+00209A FD                MOV     R5,A
+00209B 904C93            MOV     DPTR,#m_adc3vValue
+00209E E0                MOVX    A,@DPTR
+00209F 9E                SUBB    A,R6
+0020A0 FC                MOV     R4,A
+0020A1 E4                CLR     A
+0020A2 120206            LCALL   ?C?FCASTI
+0020A5 7BC3              MOV     R3,#0C3H
+0020A7 7AF5              MOV     R2,#0F5H
+0020A9 79A8              MOV     R1,#0A8H
+0020AB 783E              MOV     R0,#03EH
+0020AD 1200FB            LCALL   ?C?FPMUL
+0020B0 C004              PUSH    AR4
+0020B2 C005              PUSH    AR5
+0020B4 C006              PUSH    AR6
+0020B6 C007              PUSH    AR7
+0020B8 904C91            MOV     DPTR,#m_adc0vBase
+0020BB E0                MOVX    A,@DPTR
+0020BC FC                MOV     R4,A
+0020BD A3                INC     DPTR
+0020BE E0                MOVX    A,@DPTR
+0020BF FD                MOV     R5,A
+0020C0 E4                CLR     A
+0020C1 120206            LCALL   ?C?FCASTI
+0020C4 D003              POP     AR3
+0020C6 D002              POP     AR2
+0020C8 D001              POP     AR1
+0020CA D000              POP     AR0
+0020CC 12000A            LCALL   ?C?FPADD
+0020CF 12023F            LCALL   ?C?CASTF
+0020D2 904CDE            MOV     DPTR,#g_variable+01FH
+0020D5 EE                MOV     A,R6
+0020D6 F0                MOVX    @DPTR,A
+0020D7 A3                INC     DPTR
+0020D8 EF                MOV     A,R7
+0020D9 F0                MOVX    @DPTR,A
+   35: 		g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_0V9+m_adc0vBase;
+0020DA 904C91            MOV     DPTR,#m_adc0vBase
+0020DD E0                MOVX    A,@DPTR
+0020DE FE                MOV     R6,A
+0020DF A3                INC     DPTR
+0020E0 E0                MOVX    A,@DPTR
+0020E1 FF                MOV     R7,A
+0020E2 C3                CLR     C
+0020E3 904C94            MOV     DPTR,#m_adc3vValue+01H
+0020E6 E0                MOVX    A,@DPTR
+0020E7 9F                SUBB    A,R7
+0020E8 FD                MOV     R5,A
+0020E9 904C93            MOV     DPTR,#m_adc3vValue
+0020EC E0                MOVX    A,@DPTR
+0020ED 9E                SUBB    A,R6
+0020EE FC                MOV     R4,A
+0020EF E4                CLR     A
+0020F0 120206            LCALL   ?C?FCASTI
+0020F3 7B5C              MOV     R3,#05CH
+0020F5 7A8F              MOV     R2,#08FH
+0020F7 7942              MOV     R1,#042H
+0020F9 783E              MOV     R0,#03EH
+0020FB 1200FB            LCALL   ?C?FPMUL
+0020FE C004              PUSH    AR4
+002100 C005              PUSH    AR5
+002102 C006              PUSH    AR6
+002104 C007              PUSH    AR7
+002106 904C91            MOV     DPTR,#m_adc0vBase
+002109 E0                MOVX    A,@DPTR
+00210A FC                MOV     R4,A
+00210B A3                INC     DPTR
+00210C E0                MOVX    A,@DPTR
+00210D FD                MOV     R5,A
+00210E E4                CLR     A
+00210F 120206            LCALL   ?C?FCASTI
+002112 D003              POP     AR3
+002114 D002              POP     AR2
+002116 D001              POP     AR1
+002118 D000              POP     AR0
+00211A 12000A            LCALL   ?C?FPADD
+00211D 12023F            LCALL   ?C?CASTF
+002120 904CE0            MOV     DPTR,#g_variable+021H
+002123 EE                MOV     A,R6
+002124 F0                MOVX    @DPTR,A
+002125 A3                INC     DPTR
+002126 EF                MOV     A,R7
+002127 F0                MOVX    @DPTR,A
+   36: #endif	
+   37: #endif
+   38: }
+002128 22                RET     
+----- FUNCTION YC_adc_init (END) -------
 
 
 ----- FUNCTION _bufsize (BEGIN) -----
-0023FA 904E6D            MOV     DPTR,#rptr
-0023FD EE                MOV     A,R6
-0023FE F0                MOVX    @DPTR,A
-0023FF A3                INC     DPTR
-002400 EF                MOV     A,R7
-002401 F0                MOVX    @DPTR,A
-002402 904E6F            MOV     DPTR,#wptr
-002405 EC                MOV     A,R4
-002406 F0                MOVX    @DPTR,A
-002407 A3                INC     DPTR
-002408 ED                MOV     A,R5
-002409 F0                MOVX    @DPTR,A
+002129 904E6D            MOV     DPTR,#rptr
+00212C EE                MOV     A,R6
+00212D F0                MOVX    @DPTR,A
+00212E A3                INC     DPTR
+00212F EF                MOV     A,R7
+002130 F0                MOVX    @DPTR,A
+002131 904E6F            MOV     DPTR,#wptr
+002134 EC                MOV     A,R4
+002135 F0                MOVX    @DPTR,A
+002136 A3                INC     DPTR
+002137 ED                MOV     A,R5
+002138 F0                MOVX    @DPTR,A
 ;---- Variable 'buflen' assigned to Register 'R3' ----
-00240A 904E6F            MOV     DPTR,#wptr
-00240D E0                MOVX    A,@DPTR
-00240E FE                MOV     R6,A
-00240F A3                INC     DPTR
-002410 E0                MOVX    A,@DPTR
-002411 FF                MOV     R7,A
-002412 D3                SETB    C
-002413 904E6E            MOV     DPTR,#rptr+01H
-002416 E0                MOVX    A,@DPTR
-002417 9F                SUBB    A,R7
-002418 904E6D            MOV     DPTR,#rptr
-00241B E0                MOVX    A,@DPTR
-00241C 9E                SUBB    A,R6
-00241D 4016              JC      ?C0001?IPC
-00241F 904E6F            MOV     DPTR,#wptr
-002422 E0                MOVX    A,@DPTR
-002423 FE                MOV     R6,A
-002424 A3                INC     DPTR
-002425 E0                MOVX    A,@DPTR
-002426 FF                MOV     R7,A
-002427 904E6E            MOV     DPTR,#rptr+01H
-00242A E0                MOVX    A,@DPTR
-00242B 9F                SUBB    A,R7
-00242C FF                MOV     R7,A
-00242D 904E6D            MOV     DPTR,#rptr
-002430 E0                MOVX    A,@DPTR
-002431 9E                SUBB    A,R6
-002432 FE                MOV     R6,A
-002433 801E              SJMP    ?C0002?IPC
-002435         ?C0001?IPC:
-002435 904E6D            MOV     DPTR,#rptr
-002438 E0                MOVX    A,@DPTR
-002439 FE                MOV     R6,A
-00243A A3                INC     DPTR
-00243B E0                MOVX    A,@DPTR
-00243C FF                MOV     R7,A
-00243D C3                CLR     C
-00243E 904E70            MOV     DPTR,#wptr+01H
-002441 E0                MOVX    A,@DPTR
-002442 9F                SUBB    A,R7
-002443 FF                MOV     R7,A
-002444 904E6F            MOV     DPTR,#wptr
-002447 E0                MOVX    A,@DPTR
-002448 9E                SUBB    A,R6
-002449 FE                MOV     R6,A
-00244A AD03              MOV     R5,AR3
-00244C C3                CLR     C
-00244D EB                MOV     A,R3
-00244E 9F                SUBB    A,R7
-00244F FF                MOV     R7,A
-002450 E4                CLR     A
-002451 9E                SUBB    A,R6
-002452 FE                MOV     R6,A
-002453         ?C0002?IPC:
-002453 22                RET     
+002139 904E6F            MOV     DPTR,#wptr
+00213C E0                MOVX    A,@DPTR
+00213D FE                MOV     R6,A
+00213E A3                INC     DPTR
+00213F E0                MOVX    A,@DPTR
+002140 FF                MOV     R7,A
+002141 D3                SETB    C
+002142 904E6E            MOV     DPTR,#rptr+01H
+002145 E0                MOVX    A,@DPTR
+002146 9F                SUBB    A,R7
+002147 904E6D            MOV     DPTR,#rptr
+00214A E0                MOVX    A,@DPTR
+00214B 9E                SUBB    A,R6
+00214C 4016              JC      ?C0001?IPC
+00214E 904E6F            MOV     DPTR,#wptr
+002151 E0                MOVX    A,@DPTR
+002152 FE                MOV     R6,A
+002153 A3                INC     DPTR
+002154 E0                MOVX    A,@DPTR
+002155 FF                MOV     R7,A
+002156 904E6E            MOV     DPTR,#rptr+01H
+002159 E0                MOVX    A,@DPTR
+00215A 9F                SUBB    A,R7
+00215B FF                MOV     R7,A
+00215C 904E6D            MOV     DPTR,#rptr
+00215F E0                MOVX    A,@DPTR
+002160 9E                SUBB    A,R6
+002161 FE                MOV     R6,A
+002162 801E              SJMP    ?C0002?IPC
+002164         ?C0001?IPC:
+002164 904E6D            MOV     DPTR,#rptr
+002167 E0                MOVX    A,@DPTR
+002168 FE                MOV     R6,A
+002169 A3                INC     DPTR
+00216A E0                MOVX    A,@DPTR
+00216B FF                MOV     R7,A
+00216C C3                CLR     C
+00216D 904E70            MOV     DPTR,#wptr+01H
+002170 E0                MOVX    A,@DPTR
+002171 9F                SUBB    A,R7
+002172 FF                MOV     R7,A
+002173 904E6F            MOV     DPTR,#wptr
+002176 E0                MOVX    A,@DPTR
+002177 9E                SUBB    A,R6
+002178 FE                MOV     R6,A
+002179 AD03              MOV     R5,AR3
+00217B C3                CLR     C
+00217C EB                MOV     A,R3
+00217D 9F                SUBB    A,R7
+00217E FF                MOV     R7,A
+00217F E4                CLR     A
+002180 9E                SUBB    A,R6
+002181 FE                MOV     R6,A
+002182         ?C0002?IPC:
+002182 22                RET     
 ----- FUNCTION _bufsize (END) -------
 
 
 ----- FUNCTION _ipcRx (BEGIN) -----
-002454 904E8B            MOV     DPTR,#dest
-002457 EE                MOV     A,R6
-002458 F0                MOVX    @DPTR,A
-002459 A3                INC     DPTR
-00245A EF                MOV     A,R7
-00245B F0                MOVX    @DPTR,A
+002183 904E8B            MOV     DPTR,#dest
+002186 EE                MOV     A,R6
+002187 F0                MOVX    @DPTR,A
+002188 A3                INC     DPTR
+002189 EF                MOV     A,R7
+00218A F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R1' ----
-00245C A905              MOV     R1,AR5
-00245E 904B9E            MOV     DPTR,#ipcRxReadPtr
-002461 E0                MOVX    A,@DPTR
-002462 FE                MOV     R6,A
-002463 A3                INC     DPTR
-002464 E0                MOVX    A,@DPTR
-002465 FF                MOV     R7,A
+00218B A905              MOV     R1,AR5
+00218D 904B9E            MOV     DPTR,#ipcRxReadPtr
+002190 E0                MOVX    A,@DPTR
+002191 FE                MOV     R6,A
+002192 A3                INC     DPTR
+002193 E0                MOVX    A,@DPTR
+002194 FF                MOV     R7,A
 ;---- Variable 'src' assigned to Register 'R6/R7' ----
-002466         ?C0004?IPC:
-002466 AD01              MOV     R5,AR1
-002468 19                DEC     R1
-002469 ED                MOV     A,R5
-00246A 602F              JZ      ?C0005?IPC
-00246C 0F                INC     R7
-00246D EF                MOV     A,R7
-00246E AC06              MOV     R4,AR6
-002470 7001              JNZ     ?C0036?IPC
-002472 0E                INC     R6
-002473         ?C0036?IPC:
-002473 14                DEC     A
-002474 F582              MOV     DPL,A
-002476 8C83              MOV     DPH,R4
-002478 E0                MOVX    A,@DPTR
-002479 FD                MOV     R5,A
-00247A 904E8B            MOV     DPTR,#dest
-00247D E4                CLR     A
-00247E 75F001            MOV     B,#01H
-002481 120424            LCALL   ?C?ILDIX
-002484 85F082            MOV     DPL,B
-002487 F583              MOV     DPH,A
-002489 ED                MOV     A,R5
-00248A F0                MOVX    @DPTR,A
-00248B AD07              MOV     R5,AR7
-00248D AC06              MOV     R4,AR6
-00248F BC4BD4            CJNE    R4,#04BH,?C0004?IPC
-002492 BD9AD1            CJNE    R5,#09AH,?C0004?IPC
-002495 7E4B              MOV     R6,#04BH
-002497 7F36              MOV     R7,#036H
-002499 80CB              SJMP    ?C0004?IPC
-00249B         ?C0005?IPC:
-00249B 904B9E            MOV     DPTR,#ipcRxReadPtr
-00249E EE                MOV     A,R6
-00249F F0                MOVX    @DPTR,A
-0024A0 A3                INC     DPTR
-0024A1 EF                MOV     A,R7
-0024A2 F0                MOVX    @DPTR,A
-0024A3 22                RET     
+002195         ?C0004?IPC:
+002195 AD01              MOV     R5,AR1
+002197 19                DEC     R1
+002198 ED                MOV     A,R5
+002199 602F              JZ      ?C0005?IPC
+00219B 0F                INC     R7
+00219C EF                MOV     A,R7
+00219D AC06              MOV     R4,AR6
+00219F 7001              JNZ     ?C0036?IPC
+0021A1 0E                INC     R6
+0021A2         ?C0036?IPC:
+0021A2 14                DEC     A
+0021A3 F582              MOV     DPL,A
+0021A5 8C83              MOV     DPH,R4
+0021A7 E0                MOVX    A,@DPTR
+0021A8 FD                MOV     R5,A
+0021A9 904E8B            MOV     DPTR,#dest
+0021AC E4                CLR     A
+0021AD 75F001            MOV     B,#01H
+0021B0 120424            LCALL   ?C?ILDIX
+0021B3 85F082            MOV     DPL,B
+0021B6 F583              MOV     DPH,A
+0021B8 ED                MOV     A,R5
+0021B9 F0                MOVX    @DPTR,A
+0021BA AD07              MOV     R5,AR7
+0021BC AC06              MOV     R4,AR6
+0021BE BC4BD4            CJNE    R4,#04BH,?C0004?IPC
+0021C1 BD9AD1            CJNE    R5,#09AH,?C0004?IPC
+0021C4 7E4B              MOV     R6,#04BH
+0021C6 7F36              MOV     R7,#036H
+0021C8 80CB              SJMP    ?C0004?IPC
+0021CA         ?C0005?IPC:
+0021CA 904B9E            MOV     DPTR,#ipcRxReadPtr
+0021CD EE                MOV     A,R6
+0021CE F0                MOVX    @DPTR,A
+0021CF A3                INC     DPTR
+0021D0 EF                MOV     A,R7
+0021D1 F0                MOVX    @DPTR,A
+0021D2 22                RET     
 ----- FUNCTION _ipcRx (END) -------
 
 
 ----- FUNCTION IPC_GetBBDIsconnectReason (BEGIN) -----
-0024A4 900446            MOV     DPTR,#bbDisReason
-0024A7 E0                MOVX    A,@DPTR
-0024A8 FF                MOV     R7,A
-0024A9 22                RET     
+0021D3 900446            MOV     DPTR,#bbDisReason
+0021D6 E0                MOVX    A,@DPTR
+0021D7 FF                MOV     R7,A
+0021D8 22                RET     
 ----- FUNCTION IPC_GetBBDIsconnectReason (END) -------
 
 
 ----- FUNCTION YC_Ice_break (BEGIN) -----
-0024AA 908280            MOV     DPTR,#08280H
-0024AD 7401              MOV     A,#01H
-0024AF F0                MOVX    @DPTR,A
-0024B0 22                RET     
+0021D9 908280            MOV     DPTR,#08280H
+0021DC 7401              MOV     A,#01H
+0021DE F0                MOVX    @DPTR,A
+0021DF 22                RET     
 ----- FUNCTION YC_Ice_break (END) -------
 
 
 ----- FUNCTION _dmemcpy (BEGIN) -----
-0024B1 904E29            MOV     DPTR,#dest
-0024B4 EB                MOV     A,R3
-0024B5 F0                MOVX    @DPTR,A
-0024B6 A3                INC     DPTR
-0024B7 EA                MOV     A,R2
-0024B8 F0                MOVX    @DPTR,A
-0024B9 A3                INC     DPTR
-0024BA E9                MOV     A,R1
-0024BB F0                MOVX    @DPTR,A
-0024BC         ?C0005?UTILITIES:
-0024BC 904E2F            MOV     DPTR,#len
-0024BF 74FF              MOV     A,#0FFH
-0024C1 F5F0              MOV     B,A
-0024C3 120424            LCALL   ?C?ILDIX
-0024C6 45F0              ORL     A,B
-0024C8 602A              JZ      ?C0007?UTILITIES
-0024CA 904E2C            MOV     DPTR,#src
-0024CD E0                MOVX    A,@DPTR
-0024CE FB                MOV     R3,A
-0024CF A3                INC     DPTR
-0024D0 E4                CLR     A
-0024D1 75F001            MOV     B,#01H
-0024D4 120424            LCALL   ?C?ILDIX
-0024D7 A9F0              MOV     R1,B
-0024D9 FA                MOV     R2,A
-0024DA 1203B6            LCALL   ?C?CLDPTR
-0024DD FF                MOV     R7,A
-0024DE 904E29            MOV     DPTR,#dest
-0024E1 E0                MOVX    A,@DPTR
-0024E2 FB                MOV     R3,A
-0024E3 A3                INC     DPTR
-0024E4 E4                CLR     A
-0024E5 75F001            MOV     B,#01H
-0024E8 120424            LCALL   ?C?ILDIX
-0024EB A9F0              MOV     R1,B
-0024ED FA                MOV     R2,A
-0024EE EF                MOV     A,R7
-0024EF 1203FC            LCALL   ?C?CSTPTR
-0024F2 80C8              SJMP    ?C0005?UTILITIES
-0024F4         ?C0007?UTILITIES:
-0024F4 22                RET     
+0021E0 904E29            MOV     DPTR,#dest
+0021E3 EB                MOV     A,R3
+0021E4 F0                MOVX    @DPTR,A
+0021E5 A3                INC     DPTR
+0021E6 EA                MOV     A,R2
+0021E7 F0                MOVX    @DPTR,A
+0021E8 A3                INC     DPTR
+0021E9 E9                MOV     A,R1
+0021EA F0                MOVX    @DPTR,A
+0021EB         ?C0005?UTILITIES:
+0021EB 904E2F            MOV     DPTR,#len
+0021EE 74FF              MOV     A,#0FFH
+0021F0 F5F0              MOV     B,A
+0021F2 120424            LCALL   ?C?ILDIX
+0021F5 45F0              ORL     A,B
+0021F7 602A              JZ      ?C0007?UTILITIES
+0021F9 904E2C            MOV     DPTR,#src
+0021FC E0                MOVX    A,@DPTR
+0021FD FB                MOV     R3,A
+0021FE A3                INC     DPTR
+0021FF E4                CLR     A
+002200 75F001            MOV     B,#01H
+002203 120424            LCALL   ?C?ILDIX
+002206 A9F0              MOV     R1,B
+002208 FA                MOV     R2,A
+002209 1203B6            LCALL   ?C?CLDPTR
+00220C FF                MOV     R7,A
+00220D 904E29            MOV     DPTR,#dest
+002210 E0                MOVX    A,@DPTR
+002211 FB                MOV     R3,A
+002212 A3                INC     DPTR
+002213 E4                CLR     A
+002214 75F001            MOV     B,#01H
+002217 120424            LCALL   ?C?ILDIX
+00221A A9F0              MOV     R1,B
+00221C FA                MOV     R2,A
+00221D EF                MOV     A,R7
+00221E 1203FC            LCALL   ?C?CSTPTR
+002221 80C8              SJMP    ?C0005?UTILITIES
+002223         ?C0007?UTILITIES:
+002223 22                RET     
 ----- FUNCTION _dmemcpy (END) -------
 
 
 ----- FUNCTION _xmemclear_ff (BEGIN) -----
-0024F5 904E81            MOV     DPTR,#dest
-0024F8 EB                MOV     A,R3
-0024F9 F0                MOVX    @DPTR,A
-0024FA A3                INC     DPTR
-0024FB EA                MOV     A,R2
-0024FC F0                MOVX    @DPTR,A
-0024FD A3                INC     DPTR
-0024FE E9                MOV     A,R1
-0024FF F0                MOVX    @DPTR,A
+002224 904E81            MOV     DPTR,#dest
+002227 EB                MOV     A,R3
+002228 F0                MOVX    @DPTR,A
+002229 A3                INC     DPTR
+00222A EA                MOV     A,R2
+00222B F0                MOVX    @DPTR,A
+00222C A3                INC     DPTR
+00222D E9                MOV     A,R1
+00222E F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R4/R5' ----
-002500         ?C0011?UTILITIES:
-002500 ED                MOV     A,R5
-002501 1D                DEC     R5
-002502 AE04              MOV     R6,AR4
-002504 7001              JNZ     ?C0027?UTILITIES
-002506 1C                DEC     R4
-002507         ?C0027?UTILITIES:
-002507 4E                ORL     A,R6
-002508 6017              JZ      ?C0013?UTILITIES
-00250A 904E81            MOV     DPTR,#dest
-00250D E0                MOVX    A,@DPTR
-00250E FB                MOV     R3,A
-00250F A3                INC     DPTR
-002510 E4                CLR     A
-002511 75F001            MOV     B,#01H
-002514 120424            LCALL   ?C?ILDIX
-002517 A9F0              MOV     R1,B
-002519 FA                MOV     R2,A
-00251A 74FF              MOV     A,#0FFH
-00251C 1203FC            LCALL   ?C?CSTPTR
-00251F 80DF              SJMP    ?C0011?UTILITIES
-002521         ?C0013?UTILITIES:
-002521 22                RET     
+00222F         ?C0011?UTILITIES:
+00222F ED                MOV     A,R5
+002230 1D                DEC     R5
+002231 AE04              MOV     R6,AR4
+002233 7001              JNZ     ?C0027?UTILITIES
+002235 1C                DEC     R4
+002236         ?C0027?UTILITIES:
+002236 4E                ORL     A,R6
+002237 6017              JZ      ?C0013?UTILITIES
+002239 904E81            MOV     DPTR,#dest
+00223C E0                MOVX    A,@DPTR
+00223D FB                MOV     R3,A
+00223E A3                INC     DPTR
+00223F E4                CLR     A
+002240 75F001            MOV     B,#01H
+002243 120424            LCALL   ?C?ILDIX
+002246 A9F0              MOV     R1,B
+002248 FA                MOV     R2,A
+002249 74FF              MOV     A,#0FFH
+00224B 1203FC            LCALL   ?C?CSTPTR
+00224E 80DF              SJMP    ?C0011?UTILITIES
+002250         ?C0013?UTILITIES:
+002250 22                RET     
 ----- FUNCTION _xmemclear_ff (END) -------
 
 
 ----- FUNCTION _GPIO_ClearWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-002522 EF                MOV     A,R7
-002523 F4                CPL     A
-002524 603A              JZ      ?C0023?GPIO
-002526         ?C0022?GPIO:
-002526 EF                MOV     A,R7
-002527 5407              ANL     A,#07H
-002529 FE                MOV     R6,A
+002251 EF                MOV     A,R7
+002252 F4                CPL     A
+002253 603A              JZ      ?C0023?GPIO
+002255         ?C0022?GPIO:
+002255 EF                MOV     A,R7
+002256 5407              ANL     A,#07H
+002258 FE                MOV     R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-00252A EF                MOV     A,R7
-00252B 13                RRC     A
-00252C 13                RRC     A
-00252D 13                RRC     A
-00252E 5403              ANL     A,#03H
-002530 FF                MOV     R7,A
+002259 EF                MOV     A,R7
+00225A 13                RRC     A
+00225B 13                RRC     A
+00225C 13                RRC     A
+00225D 5403              ANL     A,#03H
+00225F FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-002531 24A3              ADD     A,#LOW YC_GPIOWakeupL
-002533 F582              MOV     DPL,A
-002535 E4                CLR     A
-002536 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-002538 F583              MOV     DPH,A
-00253A C083              PUSH    DPH
-00253C C082              PUSH    DPL
-00253E E0                MOVX    A,@DPTR
-00253F FD                MOV     R5,A
-002540 7401              MOV     A,#01H
-002542 A806              MOV     R0,AR6
-002544 08                INC     R0
-002545 8002              SJMP    ?C0043?GPIO
-002547         ?C0042?GPIO:
-002547 C3                CLR     C
-002548 33                RLC     A
-002549         ?C0043?GPIO:
-002549 D8FC              DJNZ    R0,?C0042?GPIO
-00254B F4                CPL     A
-00254C FC                MOV     R4,A
-00254D 5D                ANL     A,R5
-00254E D082              POP     DPL
-002550 D083              POP     DPH
-002552 F0                MOVX    @DPTR,A
-002553 74A7              MOV     A,#LOW YC_GPIOWakeupH
-002555 2F                ADD     A,R7
-002556 F582              MOV     DPL,A
-002558 E4                CLR     A
-002559 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-00255B F583              MOV     DPH,A
-00255D E0                MOVX    A,@DPTR
-00255E 5C                ANL     A,R4
-00255F F0                MOVX    @DPTR,A
-002560         ?C0023?GPIO:
-002560 22                RET     
+002260 24A3              ADD     A,#LOW YC_GPIOWakeupL
+002262 F582              MOV     DPL,A
+002264 E4                CLR     A
+002265 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+002267 F583              MOV     DPH,A
+002269 C083              PUSH    DPH
+00226B C082              PUSH    DPL
+00226D E0                MOVX    A,@DPTR
+00226E FD                MOV     R5,A
+00226F 7401              MOV     A,#01H
+002271 A806              MOV     R0,AR6
+002273 08                INC     R0
+002274 8002              SJMP    ?C0043?GPIO
+002276         ?C0042?GPIO:
+002276 C3                CLR     C
+002277 33                RLC     A
+002278         ?C0043?GPIO:
+002278 D8FC              DJNZ    R0,?C0042?GPIO
+00227A F4                CPL     A
+00227B FC                MOV     R4,A
+00227C 5D                ANL     A,R5
+00227D D082              POP     DPL
+00227F D083              POP     DPH
+002281 F0                MOVX    @DPTR,A
+002282 74A7              MOV     A,#LOW YC_GPIOWakeupH
+002284 2F                ADD     A,R7
+002285 F582              MOV     DPL,A
+002287 E4                CLR     A
+002288 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+00228A F583              MOV     DPH,A
+00228C E0                MOVX    A,@DPTR
+00228D 5C                ANL     A,R4
+00228E F0                MOVX    @DPTR,A
+00228F         ?C0023?GPIO:
+00228F 22                RET     
 ----- FUNCTION _GPIO_ClearWakeup (END) -------
 
 
------ FUNCTION _GPIO_FlipOutBit (BEGIN) -----
-002561 904E96            MOV     DPTR,#gpio_num
-002564 EF                MOV     A,R7
-002565 F0                MOVX    @DPTR,A
-002566 7B01              MOV     R3,#01H
-002568 7A80              MOV     R2,#080H
-00256A 7974              MOV     R1,#074H
-00256C 1214DF            LCALL   _gpioGetBit
-00256F 9209              MOV     st,C
-002571 904E96            MOV     DPTR,#gpio_num
-002574 E0                MOVX    A,@DPTR
-002575 FF                MOV     R7,A
-002576 A209              MOV     C,st
-002578 B3                CPL     C
-002579 9201              MOV     ?_GPIO_Setout?BIT,C
-00257B 02078B            LJMP    _GPIO_Setout
------ FUNCTION _GPIO_FlipOutBit (END) -------
-
-
 ----- FUNCTION GPIO_fillpd (BEGIN) -----
 ;---- Variable 'i' assigned to Register 'R7' ----
-00257E E4                CLR     A
-00257F FF                MOV     R7,A
-002580         ?C0026?GPIO:
-002580 EF                MOV     A,R7
-002581 FD                MOV     R5,A
-002582 7C00              MOV     R4,#00H
-002584 2478              ADD     A,#078H
-002586 FB                MOV     R3,A
-002587 EC                MOV     A,R4
-002588 3480              ADDC    A,#080H
-00258A 8B82              MOV     DPL,R3
-00258C F583              MOV     DPH,A
-00258E E0                MOVX    A,@DPTR
-00258F FE                MOV     R6,A
-002590 ED                MOV     A,R5
-002591 2470              ADD     A,#070H
-002593 FD                MOV     R5,A
-002594 EC                MOV     A,R4
-002595 3480              ADDC    A,#080H
-002597 8D82              MOV     DPL,R5
-002599 F583              MOV     DPH,A
-00259B E0                MOVX    A,@DPTR
-00259C 4E                ORL     A,R6
-00259D F4                CPL     A
-00259E FE                MOV     R6,A
-00259F EF                MOV     A,R7
-0025A0 247C              ADD     A,#07CH
-0025A2 FD                MOV     R5,A
-0025A3 EC                MOV     A,R4
-0025A4 3480              ADDC    A,#080H
-0025A6 8D82              MOV     DPL,R5
-0025A8 F583              MOV     DPH,A
-0025AA EE                MOV     A,R6
-0025AB F0                MOVX    @DPTR,A
-0025AC 0F                INC     R7
-0025AD EF                MOV     A,R7
-0025AE B404CF            CJNE    A,#04H,?C0026?GPIO
-0025B1 22                RET     
+002290 E4                CLR     A
+002291 FF                MOV     R7,A
+002292         ?C0026?GPIO:
+002292 EF                MOV     A,R7
+002293 FD                MOV     R5,A
+002294 7C00              MOV     R4,#00H
+002296 2478              ADD     A,#078H
+002298 FB                MOV     R3,A
+002299 EC                MOV     A,R4
+00229A 3480              ADDC    A,#080H
+00229C 8B82              MOV     DPL,R3
+00229E F583              MOV     DPH,A
+0022A0 E0                MOVX    A,@DPTR
+0022A1 FE                MOV     R6,A
+0022A2 ED                MOV     A,R5
+0022A3 2470              ADD     A,#070H
+0022A5 FD                MOV     R5,A
+0022A6 EC                MOV     A,R4
+0022A7 3480              ADDC    A,#080H
+0022A9 8D82              MOV     DPL,R5
+0022AB F583              MOV     DPH,A
+0022AD E0                MOVX    A,@DPTR
+0022AE 4E                ORL     A,R6
+0022AF F4                CPL     A
+0022B0 FE                MOV     R6,A
+0022B1 EF                MOV     A,R7
+0022B2 247C              ADD     A,#07CH
+0022B4 FD                MOV     R5,A
+0022B5 EC                MOV     A,R4
+0022B6 3480              ADDC    A,#080H
+0022B8 8D82              MOV     DPL,R5
+0022BA F583              MOV     DPH,A
+0022BC EE                MOV     A,R6
+0022BD F0                MOVX    @DPTR,A
+0022BE 0F                INC     R7
+0022BF EF                MOV     A,R7
+0022C0 B404CF            CJNE    A,#04H,?C0026?GPIO
+0022C3 22                RET     
 ----- FUNCTION GPIO_fillpd (END) -------
 
 
Index: output/FW.HTM
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/output/FW.HTM	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/output/FW.HTM	(working copy)
@@ -25,170 +25,135 @@
 
 <p class="TinyT">
 Created from: <b>LX51 LINKER/LOCATER V4.41</b><br>
-Creation time: <b>05/29/2020  00:04:29</b><p>
+Creation time: <b>06/12/2020  18:49:04</b><p>
 
 <hr>
 
 
-<h2><a name="S6"></a>?PR?YC_START_RECONNECT?BLUETOOTH (C:000FAAH - C:000FB3H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
-<p><br><b>Calls to:</b></p>
-<ul>
-<li><a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
-</ul>
-
+<h2><a name="S6"></a>?PR?YC_START_RECONNECT?BLUETOOTH (C:000FE3H - C:000FEAH)</h2>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S87">?PR?_KB_CB_EVENT?SYS</a></li>
+<li><a href="#S85">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S63"></a>?PR?KSCOLINITIALIZE?KEYSCAN (C:000FCDH - C:000FEBH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S165">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
+<h2><a name="S63"></a>?PR?KSCOLINITIALIZE?KEYSCAN (C:00136DH - C:00138AH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S163">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S165">?PR?_GPIO_SETINPUT?GPIO</a></li>
+<li><a href="#S163">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S82"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:0022E2H - C:0022EAH)</h2>
+<h2><a name="S80"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:001DB2H - C:001DBAH)</h2>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S84">?PR?SYSTEM_RESET_CONNECT?SYS</a></li>
+<li><a href="#S82">?PR?SYSTEM_RESET_CONNECT?SYS</a></li>
 </ul>
 
-<h2><a name="S84"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:0022EBH - C:0022ECH)</h2>
+<h2><a name="S82"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:001DBBH - C:001DBCH)</h2>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S82">?PR?SYSTEM_HARDWARE_RESET?SYS</a></li>
+<li><a href="#S80">?PR?SYSTEM_HARDWARE_RESET?SYS</a></li>
 </ul>
 
-<h2><a name="S85"></a>?PR?_KB_CB_HID?SYS (C:0022EDH - C:0022FCH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S190">?C?LIB_CODE</a>)<p>
+<h2><a name="S83"></a>?PR?_KB_CB_HID?SYS (C:001DBDH - C:001DCCH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S190">?C?LIB_CODE</a></li>
+<li><a href="#S188">?C?LIB_CODE</a></li>
 </ul>
 
-<h2><a name="S87"></a>?PR?_KB_CB_EVENT?SYS (C:000A96H - C:000B6BH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S80">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
+<h2><a name="S85"></a>?PR?_KB_CB_EVENT?SYS (C:0011A3H - C:00127DH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S78">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S148">?PR?_DELAY1MS?UTILITIES</a></li>
-<li><a href="#S157">?PR?_GPIO_SETOUT?GPIO</a></li>
-<li><a href="#S182">?PR?_IIC_READ?IIC</a></li>
+<li><a href="#S146">?PR?_DELAY1MS?UTILITIES</a></li>
+<li><a href="#S155">?PR?_GPIO_SETOUT?GPIO</a></li>
+<li><a href="#S180">?PR?_IIC_READ?IIC</a></li>
 <li><a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 <li><a href="#S65">?PR?KS_INITIALIZE?KEYSCAN</a></li>
-<li><a href="#S80">?PR?SYSTEM_HARDWARE_INIT?SYS</a></li>
-<li><a href="#S83">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
-<li><a href="#S81">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
+<li><a href="#S78">?PR?SYSTEM_HARDWARE_INIT?SYS</a></li>
+<li><a href="#S81">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
+<li><a href="#S79">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 <li><a href="#S4">?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH</a></li>
 <li><a href="#S6">?PR?YC_START_RECONNECT?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S91"></a>?PR?YC_PAIRING_TIMEROUT_500MS?SYS (C:000F6FH - C:000F8FH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S110">?PR?_IPC_TXCONTROLCMD?IPC</a>)<p>
+<h2><a name="S89"></a>?PR?YC_PAIRING_TIMEROUT_500MS?SYS (C:001E27H - C:001E4AH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S108">?PR?_IPC_TXCONTROLCMD?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S148">?PR?_DELAY1MS?UTILITIES</a></li>
-<li><a href="#S110">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
-<li><a href="#S83">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
-</ul>
-
-<p><br><b>Called from:</b></p>
-<ul>
-<li><a href="#S93">?PR?KB_CB_TIMER500MS?SYS</a></li>
+<li><a href="#S146">?PR?_DELAY1MS?UTILITIES</a></li>
+<li><a href="#S108">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
+<li><a href="#S81">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
 </ul>
 
-<h2><a name="S93"></a>?PR?KB_CB_TIMER500MS?SYS (C:000F90H - C:000FA9H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S89">?PR?LED_TIMER500MS?SYS</a>)<p>
+<h2><a name="S91"></a>?PR?KB_CB_TIMER500MS?SYS (C:001E10H - C:001E26H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S87">?PR?LED_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S92">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
-<li><a href="#S89">?PR?LED_TIMER500MS?SYS</a></li>
-<li><a href="#S102">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a></li>
-<li><a href="#S90">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
-<li><a href="#S91">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
+<li><a href="#S90">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
+<li><a href="#S87">?PR?LED_TIMER500MS?SYS</a></li>
+<li><a href="#S100">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a></li>
+<li><a href="#S88">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S94"></a>?PR?KB_CB_TIMER100MS?SYS (C:0015B7H - C:001641H)</h2>
+<h2><a name="S92"></a>?PR?KB_CB_TIMER100MS?SYS (C:001FCFH - C:002064H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S157">?PR?_GPIO_SETOUT?GPIO</a></li>
+<li><a href="#S155">?PR?_GPIO_SETOUT?GPIO</a></li>
 <li><a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
-<li><a href="#S77">?PR?LED_DEVICE_POWEROFF?LED</a></li>
-<li><a href="#S76">?PR?LED_DEVICE_POWERON?LED</a></li>
 </ul>
 
-<h2><a name="S96"></a>?PR?YC_SYSTEM_MAIN?SYS (C:0011E3H - C:001234H)</h2>
+<h2><a name="S94"></a>?PR?YC_SYSTEM_MAIN?SYS (C:00138BH - C:0013CEH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S50">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S118">?PR?IPC_ABANDONLPM?IPC</a></li>
-<li><a href="#S120">?PR?IPC_DEALSINGLESTEP?IPC</a></li>
-<li><a href="#S117">?PR?IPC_WAITLPM?IPC</a></li>
-<li><a href="#S95">?PR?KB_CB_INIT?SYS</a></li>
+<li><a href="#S116">?PR?IPC_ABANDONLPM?IPC</a></li>
+<li><a href="#S118">?PR?IPC_DEALSINGLESTEP?IPC</a></li>
+<li><a href="#S115">?PR?IPC_WAITLPM?IPC</a></li>
+<li><a href="#S93">?PR?KB_CB_INIT?SYS</a></li>
 <li><a href="#S50">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a></li>
 <li><a href="#S66">?PR?KS_UNISTALL?KEYSCAN</a></li>
 <li><a href="#S75">?PR?LED_ALL_SHUTDOWN?LED</a></li>
-<li><a href="#S78">?PR?LED_HANDLE?LED</a></li>
+<li><a href="#S76">?PR?LED_HANDLE?LED</a></li>
 <li><a href="#S7">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S103">?PR?MAIN?RAM</a></li>
+<li><a href="#S101">?PR?MAIN?RAM</a></li>
 </ul>
 
-<h2><a name="S103"></a>?PR?MAIN?RAM (C:0017AAH - C:0017ABH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S96">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<h2><a name="S101"></a>?PR?MAIN?RAM (C:0017B5H - C:0017B6H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S96">?PR?YC_SYSTEM_MAIN?SYS</a></li>
+<li><a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S108"></a>?PR?_IPCTX?IPC (C:00091EH - C:0009B2H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S104">?PR?_BUFSIZE?IPC</a>)<p>
+<h2><a name="S114"></a>?PR?_IPC_INITIALIZE?IPC (C:00152CH - C:001538H)</h2>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S190">?C?LIB_CODE</a></li>
-<li><a href="#S104">?PR?_BUFSIZE?IPC</a></li>
+<li><a href="#S188">?C?LIB_CODE</a></li>
 </ul>
 
-<p><br><b>Called from:</b></p>
-<ul>
-<li><a href="#S112">?PR?_IPC_TXDATA?IPC</a></li>
-</ul>
-
-<h2><a name="S112"></a>?PR?_IPC_TXDATA?IPC (C:0014B2H - C:0014D8H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S140">?PR?_XMEMCPY?UTILITIES</a>)<p>
+<h2><a name="S144"></a>?PR?_XMEMCLEAR_FF?UTILITIES (C:002224H - C:002250H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S108">?PR?_IPCTX?IPC</a></li>
-<li><a href="#S140">?PR?_XMEMCPY?UTILITIES</a></li>
-</ul>
-
-<h2><a name="S116"></a>?PR?_IPC_INITIALIZE?IPC (C:00149FH - C:0014ABH)</h2>
-<p><br><b>Calls to:</b></p>
-<ul>
-<li><a href="#S190">?C?LIB_CODE</a></li>
-</ul>
-
-<h2><a name="S146"></a>?PR?_XMEMCLEAR_FF?UTILITIES (C:0024F5H - C:002521H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S190">?C?LIB_CODE</a>)<p>
-<p><br><b>Calls to:</b></p>
-<ul>
-<li><a href="#S190">?C?LIB_CODE</a></li>
+<li><a href="#S188">?C?LIB_CODE</a></li>
 </ul>
 
 <h2><a name="S2"></a>?PR?YC_CHECK_IS_CONNECTED?BLUETOOTH (C:0006C2H - C:0006CEH)</h2>
-<p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S89">?PR?LED_TIMER500MS?SYS</a>)<p>
+<p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S87">?PR?LED_TIMER500MS?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S78">?PR?LED_HANDLE?LED</a></li>
-<li><a href="#S89">?PR?LED_TIMER500MS?SYS</a></li>
+<li><a href="#S76">?PR?LED_HANDLE?LED</a></li>
+<li><a href="#S87">?PR?LED_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S3"></a>?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH (C:0007FEH - C:000832H)</h2>
+<h2><a name="S3"></a>?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH (C:000F78H - C:000FACH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>) Top=8 Bytes (<a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -200,86 +165,87 @@
 <li><a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S4"></a>?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH (C:000F69H - C:000F6EH)</h2>
-<p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S87">?PR?_KB_CB_EVENT?SYS</a>)<p>
+<h2><a name="S4"></a>?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH (C:000FC5H - C:000FCAH)</h2>
+<p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S85">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S87">?PR?_KB_CB_EVENT?SYS</a></li>
+<li><a href="#S85">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S5"></a>?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH (C:0008DFH - C:0008F5H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S110">?PR?_IPC_TXCONTROLCMD?IPC</a>) Top=12 Bytes (<a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
+<h2><a name="S5"></a>?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH (C:000FCBH - C:000FE2H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S108">?PR?_IPC_TXCONTROLCMD?IPC</a>) Top=12 Bytes (<a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S110">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
+<li><a href="#S108">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
-<li><a href="#S92">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
+<li><a href="#S90">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S7"></a>?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH (C:0010F1H - C:001134H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S186">?PR?_IIC_WRITEBLOCK?IIC</a>) Top=2 Bytes (<a href="#S96">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<h2><a name="S7"></a>?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH (C:0010B4H - C:0010F5H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S184">?PR?_IIC_WRITEBLOCK?IIC</a>) Top=2 Bytes (<a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S148">?PR?_DELAY1MS?UTILITIES</a></li>
-<li><a href="#S157">?PR?_GPIO_SETOUT?GPIO</a></li>
-<li><a href="#S186">?PR?_IIC_WRITEBLOCK?IIC</a></li>
+<li><a href="#S146">?PR?_DELAY1MS?UTILITIES</a></li>
+<li><a href="#S155">?PR?_GPIO_SETOUT?GPIO</a></li>
+<li><a href="#S184">?PR?_IIC_WRITEBLOCK?IIC</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S96">?PR?YC_SYSTEM_MAIN?SYS</a></li>
+<li><a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S40"></a>?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS (C:000833H - C:0008DEH)</h2>
+<h2><a name="S40"></a>?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS (C:000FEBH - C:00109BH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a>) Top=10 Bytes (<a href="#S3">?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S148">?PR?_DELAY1MS?UTILITIES</a></li>
-<li><a href="#S182">?PR?_IIC_READ?IIC</a></li>
-<li><a href="#S110">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
+<li><a href="#S146">?PR?_DELAY1MS?UTILITIES</a></li>
+<li><a href="#S180">?PR?_IIC_READ?IIC</a></li>
+<li><a href="#S108">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
 <li><a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S87">?PR?_KB_CB_EVENT?SYS</a></li>
-<li><a href="#S92">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
+<li><a href="#S85">?PR?_KB_CB_EVENT?SYS</a></li>
+<li><a href="#S90">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
 <li><a href="#S3">?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH</a></li>
-<li><a href="#S6">?PR?YC_START_RECONNECT?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S42"></a>?PR?_IPC_TXHIDDATA?KB_PROCESS (C:00140EH - C:001498H)</h2>
+<h2><a name="S42"></a>?PR?_IPC_TXHIDDATA?KB_PROCESS (C:000D83H - C:000E0CH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S3">?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH</a>) Top=6 Bytes (<a href="#S51">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S190">?C?LIB_CODE</a></li>
-<li><a href="#S114">?PR?_IPC_TX24GDATA?IPC</a></li>
+<li><a href="#S188">?C?LIB_CODE</a></li>
+<li><a href="#S112">?PR?_IPC_TX24GDATA?IPC</a></li>
 <li><a href="#S3">?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S51">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
+<li><a href="#S45">?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS</a></li>
 <li><a href="#S47">?PR?KB_24G_GET_LED_STATUS?KB_PROCESS</a></li>
-<li><a href="#S94">?PR?KB_CB_TIMER100MS?SYS</a></li>
+<li><a href="#S92">?PR?KB_CB_TIMER100MS?SYS</a></li>
 </ul>
 
-<h2><a name="S44"></a>?PR?_KB_SET_MULTIKEY?KB_PROCESS (C:0017D7H - C:0017F1H)</h2>
+<h2><a name="S44"></a>?PR?_KB_SET_MULTIKEY?KB_PROCESS (C:000CB2H - C:000CCCH)</h2>
 <p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S56">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S56">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S45"></a>?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS (C:0013D5H - C:00140DH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S144">?PR?_XMEMCLEAR?UTILITIES</a>) Top=4 Bytes (<a href="#S50">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
+<h2><a name="S45"></a>?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS (C:000E0DH - C:000E46H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=4 Bytes (<a href="#S50">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S144">?PR?_XMEMCLEAR?UTILITIES</a></li>
+<li><a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
+<li><a href="#S142">?PR?_XMEMCLEAR?UTILITIES</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -287,12 +253,12 @@
 <li><a href="#S50">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S47"></a>?PR?KB_24G_GET_LED_STATUS?KB_PROCESS (C:001552H - C:0015B6H)</h2>
+<h2><a name="S47"></a>?PR?KB_24G_GET_LED_STATUS?KB_PROCESS (C:000EBDH - C:000F1FH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=2 Bytes (<a href="#S48">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
-<li><a href="#S144">?PR?_XMEMCLEAR?UTILITIES</a></li>
+<li><a href="#S142">?PR?_XMEMCLEAR?UTILITIES</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -300,12 +266,12 @@
 <li><a href="#S48">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S48"></a>?PR?KB_MOTION?KB_PROCESS (C:00151EH - C:001551H)</h2>
+<h2><a name="S48"></a>?PR?KB_MOTION?KB_PROCESS (C:000F20H - C:000F52H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S51">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>) Top=2 Bytes (<a href="#S50">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S51">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
-<li><a href="#S119">?PR?IPC_ISTXBUFFEMPTY?IPC</a></li>
+<li><a href="#S117">?PR?IPC_ISTXBUFFEMPTY?IPC</a></li>
 <li><a href="#S47">?PR?KB_24G_GET_LED_STATUS?KB_PROCESS</a></li>
 <li><a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
@@ -315,8 +281,8 @@
 <li><a href="#S50">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S50"></a>?PR?KB_NEED_KEYSCAN?KB_PROCESS (C:00137FH - C:0013D4H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S48">?PR?KB_MOTION?KB_PROCESS</a>) Top=2 Bytes (<a href="#S96">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<h2><a name="S50"></a>?PR?KB_NEED_KEYSCAN?KB_PROCESS (C:000E47H - C:000EBCH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S48">?PR?KB_MOTION?KB_PROCESS</a>) Top=2 Bytes (<a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S45">?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS</a></li>
@@ -325,18 +291,18 @@
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S96">?PR?YC_SYSTEM_MAIN?SYS</a></li>
+<li><a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S51"></a>?PR?_KB_MOTION_KEYSCAN?KB_PROCESS (C:000C5DH - C:000EB2H)</h2>
+<h2><a name="S51"></a>?PR?_KB_MOTION_KEYSCAN?KB_PROCESS (C:00091DH - C:000B55H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=4 Bytes (<a href="#S48">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S190">?C?LIB_CODE</a></li>
+<li><a href="#S188">?C?LIB_CODE</a></li>
 <li><a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 <li><a href="#S56">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a></li>
-<li><a href="#S144">?PR?_XMEMCLEAR?UTILITIES</a></li>
-<li><a href="#S140">?PR?_XMEMCPY?UTILITIES</a></li>
+<li><a href="#S142">?PR?_XMEMCLEAR?UTILITIES</a></li>
+<li><a href="#S138">?PR?_XMEMCPY?UTILITIES</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -344,18 +310,18 @@
 <li><a href="#S48">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S53"></a>?PR?_KEY_REPLACE?KB_PROCESS (C:0017F2H - C:001811H)</h2>
+<h2><a name="S53"></a>?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS (C:0017DFH - C:001803H)</h2>
 <p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S54">?PR?_KEY_FN_FUNCTION?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S54">?PR?_KEY_FN_FUNCTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S54"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:001812H - C:00197BH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S53">?PR?_KEY_REPLACE?KB_PROCESS</a>) Top=6 Bytes (<a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
+<h2><a name="S54"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:001804H - C:0018CEH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S53">?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS</a>) Top=6 Bytes (<a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S53">?PR?_KEY_REPLACE?KB_PROCESS</a></li>
+<li><a href="#S53">?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -363,11 +329,11 @@
 <li><a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S56"></a>?PR?_KB_MULTIKEY_SETUP?KB_PROCESS (C:001ED3H - C:00214EH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S190">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S51">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
+<h2><a name="S56"></a>?PR?_KB_MULTIKEY_SETUP?KB_PROCESS (C:000B56H - C:000CB1H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S51">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S190">?C?LIB_CODE</a></li>
+<li><a href="#S188">?C?LIB_CODE</a></li>
 <li><a href="#S44">?PR?_KB_SET_MULTIKEY?KB_PROCESS</a></li>
 </ul>
 
@@ -376,32 +342,32 @@
 <li><a href="#S51">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S58"></a>?PR?_BIT_COUNT?KEYSCAN (C:001B78H - C:001B85H)</h2>
+<h2><a name="S58"></a>?PR?_BIT_COUNT?KEYSCAN (C:001ACBH - C:001AD8H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S59"></a>?PR?_KEYIN?KEYSCAN (C:001C00H - C:001C8FH)</h2>
+<h2><a name="S59"></a>?PR?_KEYIN?KEYSCAN (C:001B53H - C:001BA8H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S60"></a>?PR?_KEYOUT?KEYSCAN (C:001C90H - C:001D72H)</h2>
+<h2><a name="S60"></a>?PR?_KEYOUT?KEYSCAN (C:001BA9H - C:001C51H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S61"></a>?PR?KSRAWINITIALIZE?KEYSCAN (C:0010D4H - C:0010F0H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S165">?PR?_GPIO_SETINPUT?GPIO</a>) Top=6 Bytes (<a href="#S65">?PR?KS_INITIALIZE?KEYSCAN</a>)<p>
+<h2><a name="S61"></a>?PR?KSRAWINITIALIZE?KEYSCAN (C:001630H - C:00164CH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S163">?PR?_GPIO_SETINPUT?GPIO</a>) Top=6 Bytes (<a href="#S65">?PR?KS_INITIALIZE?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S165">?PR?_GPIO_SETINPUT?GPIO</a></li>
+<li><a href="#S163">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -409,8 +375,8 @@
 <li><a href="#S65">?PR?KS_INITIALIZE?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S65"></a>?PR?KS_INITIALIZE?KEYSCAN (C:000FC1H - C:000FCCH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S61">?PR?KSRAWINITIALIZE?KEYSCAN</a>) Top=4 Bytes (<a href="#S80">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
+<h2><a name="S65"></a>?PR?KS_INITIALIZE?KEYSCAN (C:001362H - C:00136CH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S61">?PR?KSRAWINITIALIZE?KEYSCAN</a>) Top=4 Bytes (<a href="#S78">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S61">?PR?KSRAWINITIALIZE?KEYSCAN</a></li>
@@ -418,35 +384,35 @@
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S87">?PR?_KB_CB_EVENT?SYS</a></li>
-<li><a href="#S80">?PR?SYSTEM_HARDWARE_INIT?SYS</a></li>
+<li><a href="#S85">?PR?_KB_CB_EVENT?SYS</a></li>
+<li><a href="#S78">?PR?SYSTEM_HARDWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S66"></a>?PR?KS_UNISTALL?KEYSCAN (C:001235H - C:0012DFH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S172">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a>) Top=2 Bytes (<a href="#S96">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<h2><a name="S66"></a>?PR?KS_UNISTALL?KEYSCAN (C:0013CFH - C:001479H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S170">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a>) Top=2 Bytes (<a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S172">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a></li>
-<li><a href="#S178">?PR?GPIO_FILLPD?GPIO</a></li>
+<li><a href="#S170">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a></li>
+<li><a href="#S176">?PR?GPIO_FILLPD?GPIO</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S96">?PR?YC_SYSTEM_MAIN?SYS</a></li>
+<li><a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S68"></a>?PR?KS_SCANMATRIX?KEYSCAN (C:001D73H - C:001ED2H)</h2>
+<h2><a name="S68"></a>?PR?KS_SCANMATRIX?KEYSCAN (C:001C52H - C:001DB1H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S70"></a>?PR?_ARRAY_IS_EMPTY?KEYSCAN (C:001B86H - C:001BB5H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S190">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
+<h2><a name="S70"></a>?PR?_ARRAY_IS_EMPTY?KEYSCAN (C:001AD9H - C:001B08H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S190">?C?LIB_CODE</a></li>
+<li><a href="#S188">?C?LIB_CODE</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -454,13 +420,13 @@
 <li><a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S72"></a>?PR?KS_GETCURRENTEVT?KEYSCAN (C:00197CH - C:001B77H)</h2>
+<h2><a name="S72"></a>?PR?KS_GETCURRENTEVT?KEYSCAN (C:0018CFH - C:001ACAH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S68">?PR?KS_SCANMATRIX?KEYSCAN</a>) Top=4 Bytes (<a href="#S48">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S70">?PR?_ARRAY_IS_EMPTY?KEYSCAN</a></li>
 <li><a href="#S58">?PR?_BIT_COUNT?KEYSCAN</a></li>
-<li><a href="#S149">?PR?_COMPARE_STR?UTILITIES</a></li>
+<li><a href="#S147">?PR?_COMPARE_STR?UTILITIES</a></li>
 <li><a href="#S54">?PR?_KEY_FN_FUNCTION?KB_PROCESS</a></li>
 <li><a href="#S59">?PR?_KEYIN?KEYSCAN</a></li>
 <li><a href="#S60">?PR?_KEYOUT?KEYSCAN</a></li>
@@ -472,305 +438,307 @@
 <li><a href="#S48">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S75"></a>?PR?LED_ALL_SHUTDOWN?LED (C:000FEEH - C:001005H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S167">?PR?_GPIO_SETOUTPUT?GPIO</a>) Top=2 Bytes (<a href="#S96">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<h2><a name="S75"></a>?PR?LED_ALL_SHUTDOWN?LED (C:001330H - C:001345H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S165">?PR?_GPIO_SETOUTPUT?GPIO</a>) Top=2 Bytes (<a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S167">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
+<li><a href="#S165">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S96">?PR?YC_SYSTEM_MAIN?SYS</a></li>
+<li><a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S76"></a>?PR?LED_DEVICE_POWERON?LED (C:0007F8H - C:0007FDH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S157">?PR?_GPIO_SETOUT?GPIO</a>) Top=2 Bytes (<a href="#S94">?PR?KB_CB_TIMER100MS?SYS</a>)<p>
+<h2><a name="S76"></a>?PR?LED_HANDLE?LED (C:0006CFH - C:000783H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S155">?PR?_GPIO_SETOUT?GPIO</a>) Top=2 Bytes (<a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S157">?PR?_GPIO_SETOUT?GPIO</a></li>
+<li><a href="#S155">?PR?_GPIO_SETOUT?GPIO</a></li>
+<li><a href="#S81">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
+<li><a href="#S2">?PR?YC_CHECK_IS_CONNECTED?BLUETOOTH</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S94">?PR?KB_CB_TIMER100MS?SYS</a></li>
+<li><a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S77"></a>?PR?LED_DEVICE_POWEROFF?LED (C:0017ACH - C:0017B2H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S157">?PR?_GPIO_SETOUT?GPIO</a>) Top=2 Bytes (<a href="#S94">?PR?KB_CB_TIMER100MS?SYS</a>)<p>
+<h2><a name="S77"></a>?PR?SYSTEM_CLEAR_MEM?SYS (C:000CF9H - C:000D82H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S142">?PR?_XMEMCLEAR?UTILITIES</a>) Top=4 Bytes (<a href="#S79">?PR?SYSTEM_SOFTWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S157">?PR?_GPIO_SETOUT?GPIO</a></li>
+<li><a href="#S142">?PR?_XMEMCLEAR?UTILITIES</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S94">?PR?KB_CB_TIMER100MS?SYS</a></li>
+<li><a href="#S79">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S78"></a>?PR?LED_HANDLE?LED (C:0006CFH - C:00078AH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S157">?PR?_GPIO_SETOUT?GPIO</a>) Top=2 Bytes (<a href="#S96">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<h2><a name="S78"></a>?PR?SYSTEM_HARDWARE_INIT?SYS (C:00132EH - C:00132FH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S65">?PR?KS_INITIALIZE?KEYSCAN</a>) Top=2 Bytes (<a href="#S85">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S157">?PR?_GPIO_SETOUT?GPIO</a></li>
-<li><a href="#S83">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
-<li><a href="#S2">?PR?YC_CHECK_IS_CONNECTED?BLUETOOTH</a></li>
+<li><a href="#S65">?PR?KS_INITIALIZE?KEYSCAN</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S96">?PR?YC_SYSTEM_MAIN?SYS</a></li>
+<li><a href="#S85">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S79"></a>?PR?SYSTEM_CLEAR_MEM?SYS (C:000EDFH - C:000F68H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S144">?PR?_XMEMCLEAR?UTILITIES</a>) Top=4 Bytes (<a href="#S81">?PR?SYSTEM_SOFTWARE_INIT?SYS</a>)<p>
+<h2><a name="S79"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:000F5BH - C:000F77H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S97">?PR?YC_ADC_INIT?ADC</a>) Top=2 Bytes (<a href="#S85">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S144">?PR?_XMEMCLEAR?UTILITIES</a></li>
+<li><a href="#S77">?PR?SYSTEM_CLEAR_MEM?SYS</a></li>
+<li><a href="#S97">?PR?YC_ADC_INIT?ADC</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S81">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
+<li><a href="#S85">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S80"></a>?PR?SYSTEM_HARDWARE_INIT?SYS (C:000FECH - C:000FEDH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S65">?PR?KS_INITIALIZE?KEYSCAN</a>) Top=2 Bytes (<a href="#S87">?PR?_KB_CB_EVENT?SYS</a>)<p>
+<h2><a name="S81"></a>?PR?SYSTEM_LONG_SLEEP?SYS (C:0007F1H - C:0007F7H)</h2>
+<p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S88">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a>)<p>
+<p><br><b>Called from:</b></p>
+<ul>
+<li><a href="#S85">?PR?_KB_CB_EVENT?SYS</a></li>
+<li><a href="#S90">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
+<li><a href="#S76">?PR?LED_HANDLE?LED</a></li>
+<li><a href="#S88">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
+<li><a href="#S89">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
+</ul>
+
+<h2><a name="S87"></a>?PR?LED_TIMER500MS?SYS (C:000796H - C:0007F0H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S173">?PR?_GPIO_FLIPOUTBIT?GPIO</a>) Top=2 Bytes (<a href="#S91">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S65">?PR?KS_INITIALIZE?KEYSCAN</a></li>
+<li><a href="#S173">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
+<li><a href="#S155">?PR?_GPIO_SETOUT?GPIO</a></li>
+<li><a href="#S2">?PR?YC_CHECK_IS_CONNECTED?BLUETOOTH</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S87">?PR?_KB_CB_EVENT?SYS</a></li>
+<li><a href="#S91">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S81"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:00214FH - C:00216BH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S99">?PR?YC_ADC_INIT?ADC</a>) Top=2 Bytes (<a href="#S87">?PR?_KB_CB_EVENT?SYS</a>)<p>
+<h2><a name="S88"></a>?PR?YC_CONNECT_TIMEOUT_500MS?SYS (C:001DCDH - C:001E0FH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S108">?PR?_IPC_TXCONTROLCMD?IPC</a>) Top=2 Bytes (<a href="#S91">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S79">?PR?SYSTEM_CLEAR_MEM?SYS</a></li>
-<li><a href="#S99">?PR?YC_ADC_INIT?ADC</a></li>
+<li><a href="#S108">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
+<li><a href="#S81">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S87">?PR?_KB_CB_EVENT?SYS</a></li>
+<li><a href="#S91">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S83"></a>?PR?SYSTEM_LONG_SLEEP?SYS (C:0009F2H - C:0009FAH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S110">?PR?_IPC_TXCONTROLCMD?IPC</a>) Top=4 Bytes (<a href="#S90">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a>)<p>
+<h2><a name="S90"></a>?PR?KB_BUTTON_PRESS_TIMER500MS?SYS (C:001E5CH - C:001EE2H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a>) Top=2 Bytes (<a href="#S91">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S110">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
+<li><a href="#S146">?PR?_DELAY1MS?UTILITIES</a></li>
+<li><a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
+<li><a href="#S81">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
+<li><a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a></li>
+</ul>
+
+<p><br><b>Called from:</b></p>
+<ul>
+<li><a href="#S91">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
+<h2><a name="S93"></a>?PR?KB_CB_INIT?SYS (C:001526H - C:00152BH)</h2>
+<p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S87">?PR?_KB_CB_EVENT?SYS</a></li>
-<li><a href="#S92">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
-<li><a href="#S78">?PR?LED_HANDLE?LED</a></li>
-<li><a href="#S90">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
-<li><a href="#S91">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
+<li><a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S89"></a>?PR?LED_TIMER500MS?SYS (C:00079DH - C:0007F7H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S175">?PR?_GPIO_FLIPOUTBIT?GPIO</a>) Top=2 Bytes (<a href="#S93">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
+<h2><a name="S97"></a>?PR?YC_ADC_INIT?ADC (C:002065H - C:002128H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S188">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S79">?PR?SYSTEM_SOFTWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S175">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
-<li><a href="#S157">?PR?_GPIO_SETOUT?GPIO</a></li>
-<li><a href="#S2">?PR?YC_CHECK_IS_CONNECTED?BLUETOOTH</a></li>
+<li><a href="#S188">?C?LIB_CODE</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S93">?PR?KB_CB_TIMER500MS?SYS</a></li>
+<li><a href="#S79">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S90"></a>?PR?YC_CONNECT_TIMEOUT_500MS?SYS (C:0009B3H - C:0009F1H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S110">?PR?_IPC_TXCONTROLCMD?IPC</a>) Top=2 Bytes (<a href="#S93">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
+<h2><a name="S98"></a>?PR?YC_ADC_CHECK?ADC (C:001EE3H - C:001FCEH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S100">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S110">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
-<li><a href="#S83">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
+<li><a href="#S188">?C?LIB_CODE</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S93">?PR?KB_CB_TIMER500MS?SYS</a></li>
+<li><a href="#S100">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a></li>
 </ul>
 
-<h2><a name="S92"></a>?PR?KB_BUTTON_PRESS_TIMER500MS?SYS (C:0009FBH - C:000A7DH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a>) Top=2 Bytes (<a href="#S93">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
+<h2><a name="S100"></a>?PR?YC_ADC_CHECK_TIMER500MS?ADC (C:001E4BH - C:001E5BH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S98">?PR?YC_ADC_CHECK?ADC</a>) Top=2 Bytes (<a href="#S91">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S148">?PR?_DELAY1MS?UTILITIES</a></li>
-<li><a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
-<li><a href="#S83">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
-<li><a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a></li>
+<li><a href="#S98">?PR?YC_ADC_CHECK?ADC</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S93">?PR?KB_CB_TIMER500MS?SYS</a></li>
+<li><a href="#S91">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S95"></a>?PR?KB_CB_INIT?SYS (C:001499H - C:00149EH)</h2>
-<p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S96">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<h2><a name="S102"></a>?PR?_BUFSIZE?IPC (C:002129H - C:002182H)</h2>
+<p><br><b>Maximum Stack:</b> Top=10 Bytes (<a href="#S106">?PR?_IPCTX?IPC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S96">?PR?YC_SYSTEM_MAIN?SYS</a></li>
+<li><a href="#S106">?PR?_IPCTX?IPC</a></li>
 </ul>
 
-<h2><a name="S99"></a>?PR?YC_ADC_INIT?ADC (C:00216CH - C:0022E1H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S190">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S81">?PR?SYSTEM_SOFTWARE_INIT?SYS</a>)<p>
+<h2><a name="S104"></a>?PR?_IPCRX?IPC (C:002183H - C:0021D2H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S118">?PR?IPC_DEALSINGLESTEP?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S190">?C?LIB_CODE</a></li>
+<li><a href="#S188">?C?LIB_CODE</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S81">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
+<li><a href="#S118">?PR?IPC_DEALSINGLESTEP?IPC</a></li>
 </ul>
 
-<h2><a name="S100"></a>?PR?YC_ADC_CHECK?ADC (C:0022FDH - C:0023E8H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S190">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S102">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a>)<p>
+<h2><a name="S106"></a>?PR?_IPCTX?IPC (C:000820H - C:0008B4H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S102">?PR?_BUFSIZE?IPC</a>) Top=8 Bytes (<a href="#S110">?PR?_IPC_TXDATA?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S190">?C?LIB_CODE</a></li>
+<li><a href="#S188">?C?LIB_CODE</a></li>
+<li><a href="#S102">?PR?_BUFSIZE?IPC</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S102">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a></li>
+<li><a href="#S110">?PR?_IPC_TXDATA?IPC</a></li>
 </ul>
 
-<h2><a name="S102"></a>?PR?YC_ADC_CHECK_TIMER500MS?ADC (C:0023E9H - C:0023F9H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S100">?PR?YC_ADC_CHECK?ADC</a>) Top=2 Bytes (<a href="#S93">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
+<h2><a name="S108"></a>?PR?_IPC_TXCONTROLCMD?IPC (C:0007F8H - C:00081FH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>) Top=14 Bytes (<a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S100">?PR?YC_ADC_CHECK?ADC</a></li>
+<li><a href="#S188">?C?LIB_CODE</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S93">?PR?KB_CB_TIMER500MS?SYS</a></li>
-</ul>
-
-<h2><a name="S104"></a>?PR?_BUFSIZE?IPC (C:0023FAH - C:002453H)</h2>
-<p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S108">?PR?_IPCTX?IPC</a>)<p>
-<p><br><b>Called from:</b></p>
-<ul>
-<li><a href="#S108">?PR?_IPCTX?IPC</a></li>
+<li><a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
+<li><a href="#S88">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
+<li><a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a></li>
+<li><a href="#S89">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S106"></a>?PR?_IPCRX?IPC (C:002454H - C:0024A3H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S190">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S120">?PR?IPC_DEALSINGLESTEP?IPC</a>)<p>
+<h2><a name="S110"></a>?PR?_IPC_TXDATA?IPC (C:0008B5H - C:0008D9H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S138">?PR?_XMEMCPY?UTILITIES</a>) Top=8 Bytes (<a href="#S112">?PR?_IPC_TX24GDATA?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S190">?C?LIB_CODE</a></li>
+<li><a href="#S106">?PR?_IPCTX?IPC</a></li>
+<li><a href="#S138">?PR?_XMEMCPY?UTILITIES</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S120">?PR?IPC_DEALSINGLESTEP?IPC</a></li>
+<li><a href="#S112">?PR?_IPC_TX24GDATA?IPC</a></li>
 </ul>
 
-<h2><a name="S110"></a>?PR?_IPC_TXCONTROLCMD?IPC (C:0008F6H - C:00091DH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S190">?C?LIB_CODE</a>) Top=14 Bytes (<a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a>)<p>
+<h2><a name="S112"></a>?PR?_IPC_TX24GDATA?IPC (C:000F53H - C:000F5AH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S110">?PR?_IPC_TXDATA?IPC</a>) Top=8 Bytes (<a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S190">?C?LIB_CODE</a></li>
-</ul>
-
-<p><br><b>Called from:</b></p>
-<ul>
-<li><a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
-<li><a href="#S83">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
-<li><a href="#S90">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
-<li><a href="#S5">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a></li>
-<li><a href="#S91">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
+<li><a href="#S110">?PR?_IPC_TXDATA?IPC</a></li>
 </ul>
 
-<h2><a name="S114"></a>?PR?_IPC_TX24GDATA?IPC (C:0014ACH - C:0014B1H)</h2>
-<p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S117"></a>?PR?IPC_WAITLPM?IPC (C:000FB4H - C:000FC0H)</h2>
-<p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S96">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<h2><a name="S115"></a>?PR?IPC_WAITLPM?IPC (C:001519H - C:001525H)</h2>
+<p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S148">?PR?_DELAY1MS?UTILITIES</a></li>
+<li><a href="#S146">?PR?_DELAY1MS?UTILITIES</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S96">?PR?YC_SYSTEM_MAIN?SYS</a></li>
+<li><a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S118"></a>?PR?IPC_ABANDONLPM?IPC (C:0017B3H - C:0017BEH)</h2>
-<p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S96">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<h2><a name="S116"></a>?PR?IPC_ABANDONLPM?IPC (C:0017B7H - C:0017C2H)</h2>
+<p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S96">?PR?YC_SYSTEM_MAIN?SYS</a></li>
+<li><a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S119"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:0017BFH - C:0017D6H)</h2>
+<h2><a name="S117"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:000FADH - C:000FC4H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S48">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S48">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S120"></a>?PR?IPC_DEALSINGLESTEP?IPC (C:0016E3H - C:0017A9H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S106">?PR?_IPCRX?IPC</a>) Top=2 Bytes (<a href="#S96">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<h2><a name="S118"></a>?PR?IPC_DEALSINGLESTEP?IPC (C:0016EEH - C:0017B4H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S104">?PR?_IPCRX?IPC</a>) Top=2 Bytes (<a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S190">?C?LIB_CODE</a></li>
-<li><a href="#S106">?PR?_IPCRX?IPC</a></li>
+<li><a href="#S188">?C?LIB_CODE</a></li>
+<li><a href="#S104">?PR?_IPCRX?IPC</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S96">?PR?YC_SYSTEM_MAIN?SYS</a></li>
+<li><a href="#S94">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S140"></a>?PR?_XMEMCPY?UTILITIES (C:000C1AH - C:000C5CH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S190">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S51">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
+<h2><a name="S138"></a>?PR?_XMEMCPY?UTILITIES (C:0008DAH - C:00091CH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>) Top=12 Bytes (<a href="#S180">?PR?_IIC_READ?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S190">?C?LIB_CODE</a></li>
+<li><a href="#S188">?C?LIB_CODE</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S112">?PR?_IPC_TXDATA?IPC</a></li>
+<li><a href="#S180">?PR?_IIC_READ?IIC</a></li>
+<li><a href="#S110">?PR?_IPC_TXDATA?IPC</a></li>
 <li><a href="#S51">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S142"></a>?PR?_DMEMCPY?UTILITIES (C:0024B1H - C:0024F4H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S190">?C?LIB_CODE</a>) Top=8 Bytes (<a href="#S184">?PR?_IIC_WRITE?IIC</a>)<p>
+<h2><a name="S140"></a>?PR?_DMEMCPY?UTILITIES (C:0021E0H - C:002223H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>) Top=8 Bytes (<a href="#S182">?PR?_IIC_WRITE?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S190">?C?LIB_CODE</a></li>
+<li><a href="#S188">?C?LIB_CODE</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S184">?PR?_IIC_WRITE?IIC</a></li>
+<li><a href="#S182">?PR?_IIC_WRITE?IIC</a></li>
 </ul>
 
-<h2><a name="S144"></a>?PR?_XMEMCLEAR?UTILITIES (C:000EB3H - C:000EDEH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S190">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S79">?PR?SYSTEM_CLEAR_MEM?SYS</a>)<p>
+<h2><a name="S142"></a>?PR?_XMEMCLEAR?UTILITIES (C:000CCDH - C:000CF8H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S77">?PR?SYSTEM_CLEAR_MEM?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S190">?C?LIB_CODE</a></li>
+<li><a href="#S188">?C?LIB_CODE</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -778,27 +746,27 @@
 <li><a href="#S51">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 <li><a href="#S45">?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS</a></li>
 <li><a href="#S47">?PR?KB_24G_GET_LED_STATUS?KB_PROCESS</a></li>
-<li><a href="#S79">?PR?SYSTEM_CLEAR_MEM?SYS</a></li>
+<li><a href="#S77">?PR?SYSTEM_CLEAR_MEM?SYS</a></li>
 </ul>
 
-<h2><a name="S148"></a>?PR?_DELAY1MS?UTILITIES (C:000A7EH - C:000A95H)</h2>
+<h2><a name="S146"></a>?PR?_DELAY1MS?UTILITIES (C:00109CH - C:0010B3H)</h2>
 <p><br><b>Maximum Stack:</b> Top=12 Bytes (<a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S186">?PR?_IIC_WRITEBLOCK?IIC</a></li>
-<li><a href="#S87">?PR?_KB_CB_EVENT?SYS</a></li>
+<li><a href="#S184">?PR?_IIC_WRITEBLOCK?IIC</a></li>
+<li><a href="#S85">?PR?_KB_CB_EVENT?SYS</a></li>
 <li><a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
-<li><a href="#S117">?PR?IPC_WAITLPM?IPC</a></li>
-<li><a href="#S92">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
-<li><a href="#S91">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
+<li><a href="#S115">?PR?IPC_WAITLPM?IPC</a></li>
+<li><a href="#S90">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
+<li><a href="#S89">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
 <li><a href="#S7">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S149"></a>?PR?_COMPARE_STR?UTILITIES (C:001BB6H - C:001BFFH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S190">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
+<h2><a name="S147"></a>?PR?_COMPARE_STR?UTILITIES (C:001B09H - C:001B52H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S190">?C?LIB_CODE</a></li>
+<li><a href="#S188">?C?LIB_CODE</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -806,105 +774,103 @@
 <li><a href="#S72">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S151"></a>?PR?_GPIOSETBIT?GPIO (C:001073H - C:0010D3H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S190">?C?LIB_CODE</a>) Top=12 Bytes (<a href="#S161">?PR?_GPIO_SETPD?GPIO</a>)<p>
+<h2><a name="S149"></a>?PR?_GPIOSETBIT?GPIO (C:0015CFH - C:00162FH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>) Top=12 Bytes (<a href="#S159">?PR?_GPIO_SETPD?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S190">?C?LIB_CODE</a></li>
+<li><a href="#S188">?C?LIB_CODE</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S163">?PR?_GPIO_SETOE?GPIO</a></li>
-<li><a href="#S157">?PR?_GPIO_SETOUT?GPIO</a></li>
-<li><a href="#S161">?PR?_GPIO_SETPD?GPIO</a></li>
-<li><a href="#S159">?PR?_GPIO_SETPU?GPIO</a></li>
+<li><a href="#S161">?PR?_GPIO_SETOE?GPIO</a></li>
+<li><a href="#S155">?PR?_GPIO_SETOUT?GPIO</a></li>
+<li><a href="#S159">?PR?_GPIO_SETPD?GPIO</a></li>
+<li><a href="#S157">?PR?_GPIO_SETPU?GPIO</a></li>
 </ul>
 
-<h2><a name="S154"></a>?PR?_GPIOGETBIT?GPIO (C:0014DFH - C:00151DH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S190">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S175">?PR?_GPIO_FLIPOUTBIT?GPIO</a>)<p>
+<h2><a name="S152"></a>?PR?_GPIOGETBIT?GPIO (C:00153FH - C:00157DH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S188">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S173">?PR?_GPIO_FLIPOUTBIT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S190">?C?LIB_CODE</a></li>
+<li><a href="#S188">?C?LIB_CODE</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S175">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
+<li><a href="#S173">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
 </ul>
 
-<h2><a name="S156"></a>?PR?_GPIO_GETINPUTSTATUS?GPIO (C:0014D9H - C:0014DEH)</h2>
-<p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S172">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a>)<p>
+<h2><a name="S154"></a>?PR?_GPIO_GETINPUTSTATUS?GPIO (C:001539H - C:00153EH)</h2>
+<p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S170">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S172">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a></li>
+<li><a href="#S170">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a></li>
 </ul>
 
-<h2><a name="S157"></a>?PR?_GPIO_SETOUT?GPIO (C:00078BH - C:00079CH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S151">?PR?_GPIOSETBIT?GPIO</a>) Top=6 Bytes (<a href="#S167">?PR?_GPIO_SETOUTPUT?GPIO</a>)<p>
+<h2><a name="S155"></a>?PR?_GPIO_SETOUT?GPIO (C:000784H - C:000795H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S149">?PR?_GPIOSETBIT?GPIO</a>) Top=6 Bytes (<a href="#S165">?PR?_GPIO_SETOUTPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S151">?PR?_GPIOSETBIT?GPIO</a></li>
+<li><a href="#S149">?PR?_GPIOSETBIT?GPIO</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S175">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
-<li><a href="#S167">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
-<li><a href="#S87">?PR?_KB_CB_EVENT?SYS</a></li>
-<li><a href="#S94">?PR?KB_CB_TIMER100MS?SYS</a></li>
-<li><a href="#S77">?PR?LED_DEVICE_POWEROFF?LED</a></li>
-<li><a href="#S76">?PR?LED_DEVICE_POWERON?LED</a></li>
-<li><a href="#S78">?PR?LED_HANDLE?LED</a></li>
-<li><a href="#S89">?PR?LED_TIMER500MS?SYS</a></li>
+<li><a href="#S173">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
+<li><a href="#S165">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
+<li><a href="#S85">?PR?_KB_CB_EVENT?SYS</a></li>
+<li><a href="#S92">?PR?KB_CB_TIMER100MS?SYS</a></li>
+<li><a href="#S76">?PR?LED_HANDLE?LED</a></li>
+<li><a href="#S87">?PR?LED_TIMER500MS?SYS</a></li>
 <li><a href="#S7">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S159"></a>?PR?_GPIO_SETPU?GPIO (C:001022H - C:001032H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S151">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S165">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
+<h2><a name="S157"></a>?PR?_GPIO_SETPU?GPIO (C:00157EH - C:00158EH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S149">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S163">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S151">?PR?_GPIOSETBIT?GPIO</a></li>
+<li><a href="#S149">?PR?_GPIOSETBIT?GPIO</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S165">?PR?_GPIO_SETINPUT?GPIO</a></li>
-<li><a href="#S167">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
+<li><a href="#S163">?PR?_GPIO_SETINPUT?GPIO</a></li>
+<li><a href="#S165">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S161"></a>?PR?_GPIO_SETPD?GPIO (C:001062H - C:001072H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S151">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S165">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
+<h2><a name="S159"></a>?PR?_GPIO_SETPD?GPIO (C:0015BEH - C:0015CEH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S149">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S163">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S151">?PR?_GPIOSETBIT?GPIO</a></li>
+<li><a href="#S149">?PR?_GPIOSETBIT?GPIO</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S165">?PR?_GPIO_SETINPUT?GPIO</a></li>
+<li><a href="#S163">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S163"></a>?PR?_GPIO_SETOE?GPIO (C:001033H - C:001043H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S151">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S165">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
+<h2><a name="S161"></a>?PR?_GPIO_SETOE?GPIO (C:0015ADH - C:0015BDH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S149">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S163">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S151">?PR?_GPIOSETBIT?GPIO</a></li>
+<li><a href="#S149">?PR?_GPIOSETBIT?GPIO</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S165">?PR?_GPIO_SETINPUT?GPIO</a></li>
-<li><a href="#S167">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
+<li><a href="#S163">?PR?_GPIO_SETINPUT?GPIO</a></li>
+<li><a href="#S165">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S165"></a>?PR?_GPIO_SETINPUT?GPIO (C:001044H - C:001061H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S161">?PR?_GPIO_SETPD?GPIO</a>) Top=8 Bytes (<a href="#S61">?PR?KSRAWINITIALIZE?KEYSCAN</a>)<p>
+<h2><a name="S163"></a>?PR?_GPIO_SETINPUT?GPIO (C:00158FH - C:0015ACH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S159">?PR?_GPIO_SETPD?GPIO</a>) Top=8 Bytes (<a href="#S61">?PR?KSRAWINITIALIZE?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S163">?PR?_GPIO_SETOE?GPIO</a></li>
-<li><a href="#S161">?PR?_GPIO_SETPD?GPIO</a></li>
-<li><a href="#S159">?PR?_GPIO_SETPU?GPIO</a></li>
+<li><a href="#S161">?PR?_GPIO_SETOE?GPIO</a></li>
+<li><a href="#S159">?PR?_GPIO_SETPD?GPIO</a></li>
+<li><a href="#S157">?PR?_GPIO_SETPU?GPIO</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -913,13 +879,13 @@
 <li><a href="#S61">?PR?KSRAWINITIALIZE?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S167"></a>?PR?_GPIO_SETOUTPUT?GPIO (C:001006H - C:001021H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S163">?PR?_GPIO_SETOE?GPIO</a>) Top=4 Bytes (<a href="#S75">?PR?LED_ALL_SHUTDOWN?LED</a>)<p>
+<h2><a name="S165"></a>?PR?_GPIO_SETOUTPUT?GPIO (C:001346H - C:001361H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S161">?PR?_GPIO_SETOE?GPIO</a>) Top=4 Bytes (<a href="#S75">?PR?LED_ALL_SHUTDOWN?LED</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S163">?PR?_GPIO_SETOE?GPIO</a></li>
-<li><a href="#S157">?PR?_GPIO_SETOUT?GPIO</a></li>
-<li><a href="#S159">?PR?_GPIO_SETPU?GPIO</a></li>
+<li><a href="#S161">?PR?_GPIO_SETOE?GPIO</a></li>
+<li><a href="#S155">?PR?_GPIO_SETOUT?GPIO</a></li>
+<li><a href="#S157">?PR?_GPIO_SETPU?GPIO</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -927,11 +893,11 @@
 <li><a href="#S75">?PR?LED_ALL_SHUTDOWN?LED</a></li>
 </ul>
 
-<h2><a name="S172"></a>?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO (C:0012E0H - C:0012F2H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S156">?PR?_GPIO_GETINPUTSTATUS?GPIO</a>) Top=4 Bytes (<a href="#S66">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
+<h2><a name="S170"></a>?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO (C:00147AH - C:00148CH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S154">?PR?_GPIO_GETINPUTSTATUS?GPIO</a>) Top=4 Bytes (<a href="#S66">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S156">?PR?_GPIO_GETINPUTSTATUS?GPIO</a></li>
+<li><a href="#S154">?PR?_GPIO_GETINPUTSTATUS?GPIO</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -939,65 +905,66 @@
 <li><a href="#S66">?PR?KS_UNISTALL?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S175"></a>?PR?_GPIO_FLIPOUTBIT?GPIO (C:002561H - C:00257DH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S154">?PR?_GPIOGETBIT?GPIO</a>) Top=4 Bytes (<a href="#S89">?PR?LED_TIMER500MS?SYS</a>)<p>
+<h2><a name="S173"></a>?PR?_GPIO_FLIPOUTBIT?GPIO (C:0017C3H - C:0017DEH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S152">?PR?_GPIOGETBIT?GPIO</a>) Top=4 Bytes (<a href="#S87">?PR?LED_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S157">?PR?_GPIO_SETOUT?GPIO</a></li>
-<li><a href="#S154">?PR?_GPIOGETBIT?GPIO</a></li>
+<li><a href="#S155">?PR?_GPIO_SETOUT?GPIO</a></li>
+<li><a href="#S152">?PR?_GPIOGETBIT?GPIO</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S89">?PR?LED_TIMER500MS?SYS</a></li>
+<li><a href="#S87">?PR?LED_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S178"></a>?PR?GPIO_FILLPD?GPIO (C:00257EH - C:0025B1H)</h2>
+<h2><a name="S176"></a>?PR?GPIO_FILLPD?GPIO (C:002290H - C:0022C3H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S66">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S66">?PR?KS_UNISTALL?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S181"></a>?PR?IICWAITDONE?IIC (C:0016DBH - C:0016E2H)</h2>
-<p><br><b>Maximum Stack:</b> Top=14 Bytes (<a href="#S182">?PR?_IIC_READ?IIC</a>)<p>
+<h2><a name="S179"></a>?PR?IICWAITDONE?IIC (C:0016E6H - C:0016EDH)</h2>
+<p><br><b>Maximum Stack:</b> Top=14 Bytes (<a href="#S180">?PR?_IIC_READ?IIC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S182">?PR?_IIC_READ?IIC</a></li>
+<li><a href="#S180">?PR?_IIC_READ?IIC</a></li>
 </ul>
 
-<h2><a name="S182"></a>?PR?_IIC_READ?IIC (C:000B6CH - C:000C19H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S181">?PR?IICWAITDONE?IIC</a>) Top=12 Bytes (<a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
+<h2><a name="S180"></a>?PR?_IIC_READ?IIC (C:00127EH - C:00132DH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S179">?PR?IICWAITDONE?IIC</a>) Top=12 Bytes (<a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S181">?PR?IICWAITDONE?IIC</a></li>
+<li><a href="#S138">?PR?_XMEMCPY?UTILITIES</a></li>
+<li><a href="#S179">?PR?IICWAITDONE?IIC</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S87">?PR?_KB_CB_EVENT?SYS</a></li>
+<li><a href="#S85">?PR?_KB_CB_EVENT?SYS</a></li>
 <li><a href="#S40">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S184"></a>?PR?_IIC_WRITE?IIC (C:001642H - C:0016DAH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S142">?PR?_DMEMCPY?UTILITIES</a>) Top=6 Bytes (<a href="#S186">?PR?_IIC_WRITEBLOCK?IIC</a>)<p>
+<h2><a name="S182"></a>?PR?_IIC_WRITE?IIC (C:00164DH - C:0016E5H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S140">?PR?_DMEMCPY?UTILITIES</a>) Top=6 Bytes (<a href="#S184">?PR?_IIC_WRITEBLOCK?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S142">?PR?_DMEMCPY?UTILITIES</a></li>
+<li><a href="#S140">?PR?_DMEMCPY?UTILITIES</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S186">?PR?_IIC_WRITEBLOCK?IIC</a></li>
+<li><a href="#S184">?PR?_IIC_WRITEBLOCK?IIC</a></li>
 </ul>
 
-<h2><a name="S186"></a>?PR?_IIC_WRITEBLOCK?IIC (C:001135H - C:0011E2H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S184">?PR?_IIC_WRITE?IIC</a>) Top=4 Bytes (<a href="#S7">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a>)<p>
+<h2><a name="S184"></a>?PR?_IIC_WRITEBLOCK?IIC (C:0010F6H - C:0011A2H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S182">?PR?_IIC_WRITE?IIC</a>) Top=4 Bytes (<a href="#S7">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S190">?C?LIB_CODE</a></li>
-<li><a href="#S148">?PR?_DELAY1MS?UTILITIES</a></li>
-<li><a href="#S184">?PR?_IIC_WRITE?IIC</a></li>
+<li><a href="#S188">?C?LIB_CODE</a></li>
+<li><a href="#S146">?PR?_DELAY1MS?UTILITIES</a></li>
+<li><a href="#S182">?PR?_IIC_WRITE?IIC</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -1005,30 +972,30 @@
 <li><a href="#S7">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S190"></a>?C?LIB_CODE (C:000003H - C:000569H)</h2>
-<p><br><b>Maximum Stack:</b> Top=16 Bytes (<a href="#S110">?PR?_IPC_TXCONTROLCMD?IPC</a>)<p>
+<h2><a name="S188"></a>?C?LIB_CODE (C:000003H - C:000569H)</h2>
+<p><br><b>Maximum Stack:</b> Top=16 Bytes (<a href="#S108">?PR?_IPC_TXCONTROLCMD?IPC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S70">?PR?_ARRAY_IS_EMPTY?KEYSCAN</a></li>
-<li><a href="#S149">?PR?_COMPARE_STR?UTILITIES</a></li>
-<li><a href="#S142">?PR?_DMEMCPY?UTILITIES</a></li>
-<li><a href="#S154">?PR?_GPIOGETBIT?GPIO</a></li>
-<li><a href="#S151">?PR?_GPIOSETBIT?GPIO</a></li>
-<li><a href="#S186">?PR?_IIC_WRITEBLOCK?IIC</a></li>
-<li><a href="#S116">?PR?_IPC_INITIALIZE?IPC</a></li>
-<li><a href="#S110">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
+<li><a href="#S147">?PR?_COMPARE_STR?UTILITIES</a></li>
+<li><a href="#S140">?PR?_DMEMCPY?UTILITIES</a></li>
+<li><a href="#S152">?PR?_GPIOGETBIT?GPIO</a></li>
+<li><a href="#S149">?PR?_GPIOSETBIT?GPIO</a></li>
+<li><a href="#S184">?PR?_IIC_WRITEBLOCK?IIC</a></li>
+<li><a href="#S114">?PR?_IPC_INITIALIZE?IPC</a></li>
+<li><a href="#S108">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
 <li><a href="#S42">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
-<li><a href="#S106">?PR?_IPCRX?IPC</a></li>
-<li><a href="#S108">?PR?_IPCTX?IPC</a></li>
-<li><a href="#S85">?PR?_KB_CB_HID?SYS</a></li>
+<li><a href="#S104">?PR?_IPCRX?IPC</a></li>
+<li><a href="#S106">?PR?_IPCTX?IPC</a></li>
+<li><a href="#S83">?PR?_KB_CB_HID?SYS</a></li>
 <li><a href="#S51">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 <li><a href="#S56">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a></li>
-<li><a href="#S144">?PR?_XMEMCLEAR?UTILITIES</a></li>
-<li><a href="#S146">?PR?_XMEMCLEAR_FF?UTILITIES</a></li>
-<li><a href="#S140">?PR?_XMEMCPY?UTILITIES</a></li>
-<li><a href="#S120">?PR?IPC_DEALSINGLESTEP?IPC</a></li>
-<li><a href="#S100">?PR?YC_ADC_CHECK?ADC</a></li>
-<li><a href="#S99">?PR?YC_ADC_INIT?ADC</a></li>
+<li><a href="#S142">?PR?_XMEMCLEAR?UTILITIES</a></li>
+<li><a href="#S144">?PR?_XMEMCLEAR_FF?UTILITIES</a></li>
+<li><a href="#S138">?PR?_XMEMCPY?UTILITIES</a></li>
+<li><a href="#S118">?PR?IPC_DEALSINGLESTEP?IPC</a></li>
+<li><a href="#S98">?PR?YC_ADC_CHECK?ADC</a></li>
+<li><a href="#S97">?PR?YC_ADC_INIT?ADC</a></li>
 </ul>
 
 </body>
Index: output/FW.MAP
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/output/FW.MAP	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/output/FW.MAP	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               05/29/2020  00:04:29  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               06/12/2020  18:49:04  PAGE 1
 
 
 LX51 LINKER/LOCATER V4.41, INVOKED BY:
@@ -81,8 +81,8 @@
 
 BASE        START       END         USED      MEMORY CLASS
 ==========================================================
-X:000000H   X:004DD0H   X:004F40H   000304H   XDATA
-C:000000H   C:000000H   C:00FFFFH   0024FCH   CODE
+X:000000H   X:004DD0H   X:004F40H   000305H   XDATA
+C:000000H   C:000000H   C:00FFFFH   00220EH   CODE
 I:000000H   I:000010H   I:00007FH   000008H   DATA
 I:000000H   I:000080H   I:0000CFH   000001H   IDATA
 C:000000H   C:000000H   C:00FFFFH   0000B6H   CONST
@@ -119,93 +119,91 @@
 00060CH   0006BEH   0000B3H   BYTE   UNIT     CONST          ?CO?GLOBAL_VARIABLE
 0006BFH   0006C1H   000003H   BYTE   UNIT     CONST          ?CO?IPC
 0006C2H   0006CEH   00000DH   BYTE   UNIT     CODE           ?PR?YC_CHECK_IS_CONNECTED?BLUETOOTH
-0006CFH   00078AH   0000BCH   BYTE   UNIT     CODE           ?PR?LED_HANDLE?LED
-00078BH   00079CH   000012H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUT?GPIO
-00079DH   0007F7H   00005BH   BYTE   UNIT     CODE           ?PR?LED_TIMER500MS?SYS
-0007F8H   0007FDH   000006H   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWERON?LED
-0007FEH   000832H   000035H   BYTE   UNIT     CODE           ?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH
-000833H   0008DEH   0000ACH   BYTE   UNIT     CODE           ?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS
-0008DFH   0008F5H   000017H   BYTE   UNIT     CODE           ?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH
-0008F6H   00091DH   000028H   BYTE   UNIT     CODE           ?PR?_IPC_TXCONTROLCMD?IPC
-00091EH   0009B2H   000095H   BYTE   UNIT     CODE           ?PR?_IPCTX?IPC
-0009B3H   0009F1H   00003FH   BYTE   UNIT     CODE           ?PR?YC_CONNECT_TIMEOUT_500MS?SYS
-0009F2H   0009FAH   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_LONG_SLEEP?SYS
-0009FBH   000A7DH   000083H   BYTE   UNIT     CODE           ?PR?KB_BUTTON_PRESS_TIMER500MS?SYS
-000A7EH   000A95H   000018H   BYTE   UNIT     CODE           ?PR?_DELAY1MS?UTILITIES
-000A96H   000B6BH   0000D6H   BYTE   UNIT     CODE           ?PR?_KB_CB_EVENT?SYS
-000B6CH   000C19H   0000AEH   BYTE   UNIT     CODE           ?PR?_IIC_READ?IIC
-000C1AH   000C5CH   000043H   BYTE   UNIT     CODE           ?PR?_XMEMCPY?UTILITIES
-000C5DH   000EB2H   000256H   BYTE   UNIT     CODE           ?PR?_KB_MOTION_KEYSCAN?KB_PROCESS
-000EB3H   000EDEH   00002CH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR?UTILITIES
-000EDFH   000F68H   00008AH   BYTE   UNIT     CODE           ?PR?SYSTEM_CLEAR_MEM?SYS
-000F69H   000F6EH   000006H   BYTE   UNIT     CODE           ?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH
-000F6FH   000F8FH   000021H   BYTE   UNIT     CODE           ?PR?YC_PAIRING_TIMEROUT_500MS?SYS
-000F90H   000FA9H   00001AH   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER500MS?SYS
-000FAAH   000FB3H   00000AH   BYTE   UNIT     CODE           ?PR?YC_START_RECONNECT?BLUETOOTH
-000FB4H   000FC0H   00000DH   BYTE   UNIT     CODE           ?PR?IPC_WAITLPM?IPC
-000FC1H   000FCCH   00000CH   BYTE   UNIT     CODE           ?PR?KS_INITIALIZE?KEYSCAN
-000FCDH   000FEBH   00001FH   BYTE   UNIT     CODE           ?PR?KSCOLINITIALIZE?KEYSCAN
-000FECH   000FEDH   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_INIT?SYS
-000FEEH   001005H   000018H   BYTE   UNIT     CODE           ?PR?LED_ALL_SHUTDOWN?LED
-001006H   001021H   00001CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUTPUT?GPIO
-001022H   001032H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPU?GPIO
-001033H   001043H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOE?GPIO
-001044H   001061H   00001EH   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT?GPIO
-001062H   001072H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPD?GPIO
-001073H   0010D3H   000061H   BYTE   UNIT     CODE           ?PR?_GPIOSETBIT?GPIO
-0010D4H   0010F0H   00001DH   BYTE   UNIT     CODE           ?PR?KSRAWINITIALIZE?KEYSCAN
-0010F1H   001134H   000044H   BYTE   UNIT     CODE           ?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH
-001135H   0011E2H   0000AEH   BYTE   UNIT     CODE           ?PR?_IIC_WRITEBLOCK?IIC
-0011E3H   001234H   000052H   BYTE   UNIT     CODE           ?PR?YC_SYSTEM_MAIN?SYS
-001235H   0012DFH   0000ABH   BYTE   UNIT     CODE           ?PR?KS_UNISTALL?KEYSCAN
-0012E0H   0012F2H   000013H   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO
-0012F3H   00137EH   00008CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUP?GPIO
-00137FH   0013D4H   000056H   BYTE   UNIT     CODE           ?PR?KB_NEED_KEYSCAN?KB_PROCESS
-0013D5H   00140DH   000039H   BYTE   UNIT     CODE           ?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS
-00140EH   001498H   00008BH   BYTE   UNIT     CODE           ?PR?_IPC_TXHIDDATA?KB_PROCESS
-001499H   00149EH   000006H   BYTE   UNIT     CODE           ?PR?KB_CB_INIT?SYS
-00149FH   0014ABH   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_INITIALIZE?IPC
-0014ACH   0014B1H   000006H   BYTE   UNIT     CODE           ?PR?_IPC_TX24GDATA?IPC
-0014B2H   0014D8H   000027H   BYTE   UNIT     CODE           ?PR?_IPC_TXDATA?IPC
-0014D9H   0014DEH   000006H   BYTE   UNIT     CODE           ?PR?_GPIO_GETINPUTSTATUS?GPIO
-0014DFH   00151DH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIOGETBIT?GPIO
-00151EH   001551H   000034H   BYTE   UNIT     CODE           ?PR?KB_MOTION?KB_PROCESS
-001552H   0015B6H   000065H   BYTE   UNIT     CODE           ?PR?KB_24G_GET_LED_STATUS?KB_PROCESS
-0015B7H   001641H   00008BH   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
-001642H   0016DAH   000099H   BYTE   UNIT     CODE           ?PR?_IIC_WRITE?IIC
-0016DBH   0016E2H   000008H   BYTE   UNIT     CODE           ?PR?IICWAITDONE?IIC
-0016E3H   0017A9H   0000C7H   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
-0017AAH   0017ABH   000002H   BYTE   UNIT     CODE           ?PR?MAIN?RAM
-0017ACH   0017B2H   000007H   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWEROFF?LED
-0017B3H   0017BEH   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
-0017BFH   0017D6H   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
-0017D7H   0017F1H   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_MULTIKEY?KB_PROCESS
-0017F2H   001811H   000020H   BYTE   UNIT     CODE           ?PR?_KEY_REPLACE?KB_PROCESS
-001812H   00197BH   00016AH   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
-00197CH   001B77H   0001FCH   BYTE   UNIT     CODE           ?PR?KS_GETCURRENTEVT?KEYSCAN
-001B78H   001B85H   00000EH   BYTE   UNIT     CODE           ?PR?_BIT_COUNT?KEYSCAN
-001B86H   001BB5H   000030H   BYTE   UNIT     CODE           ?PR?_ARRAY_IS_EMPTY?KEYSCAN
-001BB6H   001BFFH   00004AH   BYTE   UNIT     CODE           ?PR?_COMPARE_STR?UTILITIES
-001C00H   001C8FH   000090H   BYTE   UNIT     CODE           ?PR?_KEYIN?KEYSCAN
-001C90H   001D72H   0000E3H   BYTE   UNIT     CODE           ?PR?_KEYOUT?KEYSCAN
-001D73H   001ED2H   000160H   BYTE   UNIT     CODE           ?PR?KS_SCANMATRIX?KEYSCAN
-001ED3H   00214EH   00027CH   BYTE   UNIT     CODE           ?PR?_KB_MULTIKEY_SETUP?KB_PROCESS
-00214FH   00216BH   00001DH   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
-00216CH   0022E1H   000176H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
-0022E2H   0022EAH   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
-0022EBH   0022ECH   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
-0022EDH   0022FCH   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
-0022FDH   0023E8H   0000ECH   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
-0023E9H   0023F9H   000011H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK_TIMER500MS?ADC
-0023FAH   002453H   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
-002454H   0024A3H   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
-0024A4H   0024A9H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
-0024AAH   0024B0H   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
-0024B1H   0024F4H   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
-0024F5H   002521H   00002DH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR_FF?UTILITIES
-002522H   002560H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
-002561H   00257DH   00001DH   BYTE   UNIT     CODE           ?PR?_GPIO_FLIPOUTBIT?GPIO
-00257EH   0025B1H   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPD?GPIO
+0006CFH   000783H   0000B5H   BYTE   UNIT     CODE           ?PR?LED_HANDLE?LED
+000784H   000795H   000012H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUT?GPIO
+000796H   0007F0H   00005BH   BYTE   UNIT     CODE           ?PR?LED_TIMER500MS?SYS
+0007F1H   0007F7H   000007H   BYTE   UNIT     CODE           ?PR?SYSTEM_LONG_SLEEP?SYS
+0007F8H   00081FH   000028H   BYTE   UNIT     CODE           ?PR?_IPC_TXCONTROLCMD?IPC
+000820H   0008B4H   000095H   BYTE   UNIT     CODE           ?PR?_IPCTX?IPC
+0008B5H   0008D9H   000025H   BYTE   UNIT     CODE           ?PR?_IPC_TXDATA?IPC
+0008DAH   00091CH   000043H   BYTE   UNIT     CODE           ?PR?_XMEMCPY?UTILITIES
+00091DH   000B55H   000239H   BYTE   UNIT     CODE           ?PR?_KB_MOTION_KEYSCAN?KB_PROCESS
+000B56H   000CB1H   00015CH   BYTE   UNIT     CODE           ?PR?_KB_MULTIKEY_SETUP?KB_PROCESS
+000CB2H   000CCCH   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_MULTIKEY?KB_PROCESS
+000CCDH   000CF8H   00002CH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR?UTILITIES
+000CF9H   000D82H   00008AH   BYTE   UNIT     CODE           ?PR?SYSTEM_CLEAR_MEM?SYS
+000D83H   000E0CH   00008AH   BYTE   UNIT     CODE           ?PR?_IPC_TXHIDDATA?KB_PROCESS
+000E0DH   000E46H   00003AH   BYTE   UNIT     CODE           ?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS
+000E47H   000EBCH   000076H   BYTE   UNIT     CODE           ?PR?KB_NEED_KEYSCAN?KB_PROCESS
+000EBDH   000F1FH   000063H   BYTE   UNIT     CODE           ?PR?KB_24G_GET_LED_STATUS?KB_PROCESS
+000F20H   000F52H   000033H   BYTE   UNIT     CODE           ?PR?KB_MOTION?KB_PROCESS
+000F53H   000F5AH   000008H   BYTE   UNIT     CODE           ?PR?_IPC_TX24GDATA?IPC
+000F5BH   000F77H   00001DH   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
+000F78H   000FACH   000035H   BYTE   UNIT     CODE           ?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH
+000FADH   000FC4H   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
+000FC5H   000FCAH   000006H   BYTE   UNIT     CODE           ?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH
+000FCBH   000FE2H   000018H   BYTE   UNIT     CODE           ?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH
+000FE3H   000FEAH   000008H   BYTE   UNIT     CODE           ?PR?YC_START_RECONNECT?BLUETOOTH
+000FEBH   00109BH   0000B1H   BYTE   UNIT     CODE           ?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS
+00109CH   0010B3H   000018H   BYTE   UNIT     CODE           ?PR?_DELAY1MS?UTILITIES
+0010B4H   0010F5H   000042H   BYTE   UNIT     CODE           ?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH
+0010F6H   0011A2H   0000ADH   BYTE   UNIT     CODE           ?PR?_IIC_WRITEBLOCK?IIC
+0011A3H   00127DH   0000DBH   BYTE   UNIT     CODE           ?PR?_KB_CB_EVENT?SYS
+00127EH   00132DH   0000B0H   BYTE   UNIT     CODE           ?PR?_IIC_READ?IIC
+00132EH   00132FH   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_INIT?SYS
+001330H   001345H   000016H   BYTE   UNIT     CODE           ?PR?LED_ALL_SHUTDOWN?LED
+001346H   001361H   00001CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUTPUT?GPIO
+001362H   00136CH   00000BH   BYTE   UNIT     CODE           ?PR?KS_INITIALIZE?KEYSCAN
+00136DH   00138AH   00001EH   BYTE   UNIT     CODE           ?PR?KSCOLINITIALIZE?KEYSCAN
+00138BH   0013CEH   000044H   BYTE   UNIT     CODE           ?PR?YC_SYSTEM_MAIN?SYS
+0013CFH   001479H   0000ABH   BYTE   UNIT     CODE           ?PR?KS_UNISTALL?KEYSCAN
+00147AH   00148CH   000013H   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO
+00148DH   001518H   00008CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUP?GPIO
+001519H   001525H   00000DH   BYTE   UNIT     CODE           ?PR?IPC_WAITLPM?IPC
+001526H   00152BH   000006H   BYTE   UNIT     CODE           ?PR?KB_CB_INIT?SYS
+00152CH   001538H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_INITIALIZE?IPC
+001539H   00153EH   000006H   BYTE   UNIT     CODE           ?PR?_GPIO_GETINPUTSTATUS?GPIO
+00153FH   00157DH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIOGETBIT?GPIO
+00157EH   00158EH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPU?GPIO
+00158FH   0015ACH   00001EH   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT?GPIO
+0015ADH   0015BDH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOE?GPIO
+0015BEH   0015CEH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPD?GPIO
+0015CFH   00162FH   000061H   BYTE   UNIT     CODE           ?PR?_GPIOSETBIT?GPIO
+001630H   00164CH   00001DH   BYTE   UNIT     CODE           ?PR?KSRAWINITIALIZE?KEYSCAN
+00164DH   0016E5H   000099H   BYTE   UNIT     CODE           ?PR?_IIC_WRITE?IIC
+0016E6H   0016EDH   000008H   BYTE   UNIT     CODE           ?PR?IICWAITDONE?IIC
+0016EEH   0017B4H   0000C7H   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
+0017B5H   0017B6H   000002H   BYTE   UNIT     CODE           ?PR?MAIN?RAM
+0017B7H   0017C2H   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
+0017C3H   0017DEH   00001CH   BYTE   UNIT     CODE           ?PR?_GPIO_FLIPOUTBIT?GPIO
+0017DFH   001803H   000025H   BYTE   UNIT     CODE           ?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS
+001804H   0018CEH   0000CBH   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
+0018CFH   001ACAH   0001FCH   BYTE   UNIT     CODE           ?PR?KS_GETCURRENTEVT?KEYSCAN
+001ACBH   001AD8H   00000EH   BYTE   UNIT     CODE           ?PR?_BIT_COUNT?KEYSCAN
+001AD9H   001B08H   000030H   BYTE   UNIT     CODE           ?PR?_ARRAY_IS_EMPTY?KEYSCAN
+001B09H   001B52H   00004AH   BYTE   UNIT     CODE           ?PR?_COMPARE_STR?UTILITIES
+001B53H   001BA8H   000056H   BYTE   UNIT     CODE           ?PR?_KEYIN?KEYSCAN
+001BA9H   001C51H   0000A9H   BYTE   UNIT     CODE           ?PR?_KEYOUT?KEYSCAN
+001C52H   001DB1H   000160H   BYTE   UNIT     CODE           ?PR?KS_SCANMATRIX?KEYSCAN
+001DB2H   001DBAH   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
+001DBBH   001DBCH   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
+001DBDH   001DCCH   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
+001DCDH   001E0FH   000043H   BYTE   UNIT     CODE           ?PR?YC_CONNECT_TIMEOUT_500MS?SYS
+001E10H   001E26H   000017H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER500MS?SYS
+001E27H   001E4AH   000024H   BYTE   UNIT     CODE           ?PR?YC_PAIRING_TIMEROUT_500MS?SYS
+001E4BH   001E5BH   000011H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK_TIMER500MS?ADC
+001E5CH   001EE2H   000087H   BYTE   UNIT     CODE           ?PR?KB_BUTTON_PRESS_TIMER500MS?SYS
+001EE3H   001FCEH   0000ECH   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
+001FCFH   002064H   000096H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
+002065H   002128H   0000C4H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
+002129H   002182H   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
+002183H   0021D2H   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
+0021D3H   0021D8H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
+0021D9H   0021DFH   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
+0021E0H   002223H   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
+002224H   002250H   00002DH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR_FF?UTILITIES
+002251H   00228FH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
+002290H   0022C3H   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPD?GPIO
 
 * * * * * * * * * * *  X D A T A   M E M O R Y  * * * * * * * * * * * * *
 000040H   000045H   000006H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?25
@@ -273,8 +271,8 @@
 004CB6H   004CB6H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?15
 004CB7H   004CB7H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?13
 004CB8H   004CBEH   000007H   ---    ---      **GAP**
-004CBFH   004D00H   000042H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?3
-004D01H   004D37H   000037H   ---    ---      **GAP**
+004CBFH   004D01H   000043H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?3
+004D02H   004D37H   000036H   ---    ---      **GAP**
 004D38H   004D38H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?26
 004D39H   004D3CH   000004H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?29
 004D3DH   004D40H   000004H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?14
@@ -371,39 +369,39 @@
       00000000H   NUMBER   ---       ?C?XDATASEG
       010005B1H   CODE     ---       ?C_START
       01000000H   CODE     ---       ?C_STARTUP
-      01001B86H   CODE     ---       _array_is_empty
-      01001BB6H   CODE     ---       _compare_str
-      01000A7EH   CODE     ---       _Delay1ms
-      010024B1H   CODE     ---       _dmemcpy
-      01002522H   CODE     ---       _GPIO_ClearWakeup
-      01002561H   CODE     ---       _GPIO_FlipOutBit
-      010014D9H   CODE     ---       _GPIO_GetInputStatus
-      01001044H   CODE     ---       _GPIO_SetInput
-      01001033H   CODE     ---       _GPIO_Setoe
-      0100078BH   CODE     ---       _GPIO_Setout
-      01001006H   CODE     ---       _GPIO_SetOutput
-      01001062H   CODE     ---       _GPIO_SetPd
-      01001022H   CODE     ---       _GPIO_SetPu
-      010012F3H   CODE     ---       _GPIO_SetWakeup
-      010012E0H   CODE     ---       _GPIO_SetWakeupByCurrentState
-      01000B6CH   CODE     ---       _IIC_Read
-      01001642H   CODE     ---       _IIC_write
-      01001135H   CODE     ---       _IIC_WriteBlock
-      0100149FH   CODE     ---       _IPC_Initialize
-      010014ACH   CODE     ---       _IPC_Tx24GData
-      010008F6H   CODE     ---       _IPC_TxControlCmd
-      010014B2H   CODE     ---       _IPC_TxData
-      0100140EH   CODE     ---       _IPC_TxHidData
-      01000C5DH   CODE     ---       _kb_motion_keyscan
-      01001ED3H   CODE     ---       _kb_multikey_setup
-      010013D5H   CODE     ---       _kb_send_combination_key
-      010017D7H   CODE     ---       _kb_set_multikey
-      01001812H   CODE     ---       _key_fn_function
-      010017F2H   CODE     ---       _key_replace
-      01000EB3H   CODE     ---       _xmemclear
-      010024F5H   CODE     ---       _xmemclear_ff
-      01000C1AH   CODE     ---       _xmemcpy
-      01000833H   CODE     ---       _YC_key_action_handle
+      01001AD9H   CODE     ---       _array_is_empty
+      01001B09H   CODE     ---       _compare_str
+      0100109CH   CODE     ---       _Delay1ms
+      010021E0H   CODE     ---       _dmemcpy
+      01002251H   CODE     ---       _GPIO_ClearWakeup
+      010017C3H   CODE     ---       _GPIO_FlipOutBit
+      01001539H   CODE     ---       _GPIO_GetInputStatus
+      0100158FH   CODE     ---       _GPIO_SetInput
+      010015ADH   CODE     ---       _GPIO_Setoe
+      01000784H   CODE     ---       _GPIO_Setout
+      01001346H   CODE     ---       _GPIO_SetOutput
+      010015BEH   CODE     ---       _GPIO_SetPd
+      0100157EH   CODE     ---       _GPIO_SetPu
+      0100148DH   CODE     ---       _GPIO_SetWakeup
+      0100147AH   CODE     ---       _GPIO_SetWakeupByCurrentState
+      0100127EH   CODE     ---       _IIC_Read
+      0100164DH   CODE     ---       _IIC_write
+      010010F6H   CODE     ---       _IIC_WriteBlock
+      0100152CH   CODE     ---       _IPC_Initialize
+      01000F53H   CODE     ---       _IPC_Tx24GData
+      010007F8H   CODE     ---       _IPC_TxControlCmd
+      010008B5H   CODE     ---       _IPC_TxData
+      01000D83H   CODE     ---       _IPC_TxHidData
+      010017DFH   CODE     ---       _kb_combination_key_press
+      0100091DH   CODE     ---       _kb_motion_keyscan
+      01000B56H   CODE     ---       _kb_multikey_setup
+      01000E0DH   CODE     ---       _kb_send_combination_key
+      01000CB2H   CODE     ---       _kb_set_multikey
+      01001804H   CODE     ---       _key_fn_function
+      01000CCDH   CODE     ---       _xmemclear
+      01002224H   CODE     ---       _xmemclear_ff
+      010008DAH   CODE     ---       _xmemcpy
+      01000FEBH   CODE     ---       _YC_key_action_handle
       02004DE2H   XDATA    BYTE      action_timeout
       02004DDDH   XDATA    BYTE      ble_reconnect_flag
       02004C8DH   XDATA    BYTE      btstimer
@@ -419,25 +417,25 @@
       02004DD3H   XDATA    BYTE      fn_tx_flag
       02004CBFH   XDATA    ---       g_variable
       02004DD0H   XDATA    BYTE      get_24g_led_send
-      0100257EH   CODE     ---       GPIO_fillpd
+      01002290H   CODE     ---       GPIO_fillpd
       02004800H   XDATA    ---       hidBuff
       02004DDAH   XDATA    BYTE      iOS_rec_pinCode
-      010017B3H   CODE     ---       IPC_AbandonLpm
-      010016E3H   CODE     ---       IPC_DealSingleStep
-      010024A4H   CODE     ---       IPC_GetBBDIsconnectReason
-      010017BFH   CODE     ---       IPC_IsTxBuffEmpty
-      01000FB4H   CODE     ---       IPC_WaitLpm
+      010017B7H   CODE     ---       IPC_AbandonLpm
+      010016EEH   CODE     ---       IPC_DealSingleStep
+      010021D3H   CODE     ---       IPC_GetBBDIsconnectReason
+      01000FADH   CODE     ---       IPC_IsTxBuffEmpty
+      01001519H   CODE     ---       IPC_WaitLpm
       02000550H   XDATA    ---       ipcPin
       0200054FH   XDATA    BYTE      ipcPinlen
       02000C4BH   XDATA    ---       ipcReadBuff
       02000BE7H   XDATA    ---       ipcSendBuff
-      01001552H   CODE     ---       kb_24g_get_led_status
-      010009FBH   CODE     ---       kb_button_press_timer500ms
-      0100137FH   CODE     ---       kb_need_keyscan
-      0100197CH   CODE     ---       KS_GetCurrentEvt
-      01000FC1H   CODE     ---       KS_Initialize
-      01001D73H   CODE     ---       KS_ScanMatrix
-      01001235H   CODE     ---       KS_Unistall
+      01000EBDH   CODE     ---       kb_24g_get_led_status
+      01001E5CH   CODE     ---       kb_button_press_timer500ms
+      01000E47H   CODE     ---       kb_need_keyscan
+      010018CFH   CODE     ---       KS_GetCurrentEvt
+      01001362H   CODE     ---       KS_Initialize
+      01001C52H   CODE     ---       KS_ScanMatrix
+      010013CFH   CODE     ---       KS_Unistall
       02004213H   XDATA    BYTE      kscurrmult
       02004E31H   XDATA    ---       ksEvtPool
       01000621H   CONST    ---       ksMap
@@ -446,11 +444,9 @@
       02004D93H   XDATA    ---       ksSelMapOld
       02004D39H   XDATA    DWORD     le_pin_code
       02004DD2H   XDATA    BYTE      le_pin_code_len
-      01000FEEH   CODE     ---       LED_all_shutdown
-      010017ACH   CODE     ---       LED_device_poweroff
-      010007F8H   CODE     ---       LED_device_poweron
+      01001330H   CODE     ---       LED_all_shutdown
       010006CFH   CODE     ---       LED_handle
-      0100079DH   CODE     ---       LED_timer500ms
+      01000796H   CODE     ---       LED_timer500ms
       02004DD5H   XDATA    BYTE      long_press_flag
       02000B7FH   XDATA    BYTE      lpm_flag
       02004C00H   XDATA    ---       m_24g_addr
@@ -477,7 +473,7 @@
       02008010H   XDATA    BYTE      m_reset_reg
       020047F4H   XDATA    WORD      m_ui_state_map
       02000B81H   XDATA    BYTE      m_wakup_from_power_flag
-      010017AAH   CODE     ---       main
+      010017B5H   CODE     ---       main
       02004DE4H   XDATA    BYTE      mult_key_status
       02004DE3H   XDATA    BYTE      mult_key_value
       02004DE5H   XDATA    ---       multikey
@@ -488,24 +484,24 @@
       02004DD6H   XDATA    BYTE      repeat_send_24g
       02004DD8H   XDATA    BYTE      standard_key_release_flag
       02004DD4H   XDATA    BYTE      switch_role_timer
-      010009F2H   CODE     ---       System_long_sleep
-      010022EBH   CODE     ---       System_Reset_Connect
-      0100214FH   CODE     ---       System_Software_init
-      010022FDH   CODE     ---       YC_adc_check
-      010023E9H   CODE     ---       YC_adc_check_timer500ms
-      0100216CH   CODE     ---       YC_adc_init
+      010007F1H   CODE     ---       System_long_sleep
+      01001DBBH   CODE     ---       System_Reset_Connect
+      01000F5BH   CODE     ---       System_Software_init
+      01001EE3H   CODE     ---       YC_adc_check
+      01001E4BH   CODE     ---       YC_adc_check_timer500ms
+      01002065H   CODE     ---       YC_adc_init
       010006C2H   CODE     ---       YC_check_is_connected
-      010007FEH   CODE     ---       YC_check_need_reconnected
-      01000F69H   CODE     ---       YC_clear_reconnect_flag
-      010009B3H   CODE     ---       YC_connect_timeout_500ms
-      010008DFH   CODE     ---       YC_disconnect_all_link
+      01000F78H   CODE     ---       YC_check_need_reconnected
+      01000FC5H   CODE     ---       YC_clear_reconnect_flag
+      01001DCDH   CODE     ---       YC_connect_timeout_500ms
+      01000FCBH   CODE     ---       YC_disconnect_all_link
       020000A7H   XDATA    ---       YC_GPIOWakeupH
       020000A3H   XDATA    ---       YC_GPIOWakeupL
-      010024AAH   CODE     ---       YC_Ice_break
-      01000F6FH   CODE     ---       YC_pairing_timerout_500ms
-      01000FAAH   CODE     ---       YC_start_reconnect
-      010011E3H   CODE     ---       YC_System_Main
-      010010F1H   CODE     ---       YC_update_eeprom_data
+      010021D9H   CODE     ---       YC_Ice_break
+      01001E27H   CODE     ---       YC_pairing_timerout_500ms
+      01000FE3H   CODE     ---       YC_start_reconnect
+      0100138BH   CODE     ---       YC_System_Main
+      010010B4H   CODE     ---       YC_update_eeprom_data
 
 
 
@@ -514,11 +510,11 @@
       VALUE       REP       CLASS    TYPE      SYMBOL NAME
       ====================================================
       ---         MODULE    ---      ---       BLUETOOTH
-      010010F1H   PUBLIC    CODE     ---       YC_update_eeprom_data
-      01000FAAH   PUBLIC    CODE     ---       YC_start_reconnect
-      010008DFH   PUBLIC    CODE     ---       YC_disconnect_all_link
-      01000F69H   PUBLIC    CODE     ---       YC_clear_reconnect_flag
-      010007FEH   PUBLIC    CODE     ---       YC_check_need_reconnected
+      010010B4H   PUBLIC    CODE     ---       YC_update_eeprom_data
+      01000FE3H   PUBLIC    CODE     ---       YC_start_reconnect
+      01000FCBH   PUBLIC    CODE     ---       YC_disconnect_all_link
+      01000FC5H   PUBLIC    CODE     ---       YC_clear_reconnect_flag
+      01000F78H   PUBLIC    CODE     ---       YC_check_need_reconnected
       010006C2H   PUBLIC    CODE     ---       YC_check_is_connected
 
       010006C2H   BLOCK     CODE     ---       LVL=0
@@ -532,75 +528,75 @@
       010006CEH   LINE      ---      ---       #11
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010007FEH   BLOCK     CODE     ---       LVL=0
-      010007FEH   LINE      ---      ---       #13
-      010007FEH   LINE      ---      ---       #14
-      010007FEH   BLOCK     CODE     NEAR LAB  LVL=1
-      010007FEH   LINE      ---      ---       #15
-      01000800H   LINE      ---      ---       #17
-      01000806H   LINE      ---      ---       #18
-      01000807H   LINE      ---      ---       #20
-      0100080FH   LINE      ---      ---       #21
-      0100080FH   LINE      ---      ---       #22
-      01000815H   LINE      ---      ---       #23
-      01000815H   LINE      ---      ---       #24
-      01000818H   LINE      ---      ---       #25
-      01000823H   LINE      ---      ---       #27
-      01000823H   LINE      ---      ---       #28
-      01000827H   LINE      ---      ---       #29
-      01000829H   LINE      ---      ---       #30
-      01000829H   LINE      ---      ---       #31
-      01000829H   LINE      ---      ---       #32
-      0100082BH   LINE      ---      ---       #34
-      0100082BH   LINE      ---      ---       #35
-      01000830H   LINE      ---      ---       #36
-      01000832H   LINE      ---      ---       #37
-      01000832H   LINE      ---      ---       #38
-      01000832H   LINE      ---      ---       #39
+      01000F78H   BLOCK     CODE     ---       LVL=0
+      01000F78H   LINE      ---      ---       #13
+      01000F78H   LINE      ---      ---       #14
+      01000F78H   BLOCK     CODE     NEAR LAB  LVL=1
+      01000F78H   LINE      ---      ---       #15
+      01000F7AH   LINE      ---      ---       #17
+      01000F80H   LINE      ---      ---       #18
+      01000F81H   LINE      ---      ---       #20
+      01000F89H   LINE      ---      ---       #21
+      01000F89H   LINE      ---      ---       #22
+      01000F8FH   LINE      ---      ---       #23
+      01000F8FH   LINE      ---      ---       #24
+      01000F92H   LINE      ---      ---       #25
+      01000F9DH   LINE      ---      ---       #27
+      01000F9DH   LINE      ---      ---       #28
+      01000FA1H   LINE      ---      ---       #29
+      01000FA3H   LINE      ---      ---       #30
+      01000FA3H   LINE      ---      ---       #31
+      01000FA3H   LINE      ---      ---       #32
+      01000FA5H   LINE      ---      ---       #34
+      01000FA5H   LINE      ---      ---       #35
+      01000FAAH   LINE      ---      ---       #36
+      01000FACH   LINE      ---      ---       #37
+      01000FACH   LINE      ---      ---       #38
+      01000FACH   LINE      ---      ---       #39
       00000007H   SYMBOL    DATA     VOID      return_val
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01000F69H   BLOCK     CODE     ---       LVL=0
-      01000F69H   LINE      ---      ---       #42
-      01000F69H   LINE      ---      ---       #43
-      01000F69H   LINE      ---      ---       #44
-      01000F6EH   LINE      ---      ---       #45
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010008DFH   BLOCK     CODE     ---       LVL=0
-      010008DFH   LINE      ---      ---       #48
-      010008DFH   LINE      ---      ---       #49
-      010008DFH   LINE      ---      ---       #50
-      010008ECH   LINE      ---      ---       #52
-      010008ECH   LINE      ---      ---       #53
-      010008F0H   LINE      ---      ---       #54
-      010008F3H   LINE      ---      ---       #55
-      010008F3H   LINE      ---      ---       #56
-      010008F5H   LINE      ---      ---       #57
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000FAAH   BLOCK     CODE     ---       LVL=0
-      01000FAAH   LINE      ---      ---       #60
-      01000FAAH   LINE      ---      ---       #61
-      01000FAAH   LINE      ---      ---       #62
-      01000FB0H   LINE      ---      ---       #63
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010010F1H   BLOCK     CODE     ---       LVL=0
-      010010F1H   LINE      ---      ---       #67
-      010010F1H   LINE      ---      ---       #68
-      010010F1H   LINE      ---      ---       #69
-      010010F7H   LINE      ---      ---       #70
-      010010F7H   LINE      ---      ---       #71
-      010010FCH   LINE      ---      ---       #72
-      01001103H   LINE      ---      ---       #73
-      01001113H   LINE      ---      ---       #74
-      01001123H   LINE      ---      ---       #75
-      0100112AH   LINE      ---      ---       #76
-      0100112FH   LINE      ---      ---       #77
-      01001134H   LINE      ---      ---       #78
-      01001134H   LINE      ---      ---       #79
+      01000FC5H   BLOCK     CODE     ---       LVL=0
+      01000FC5H   LINE      ---      ---       #42
+      01000FC5H   LINE      ---      ---       #43
+      01000FC5H   LINE      ---      ---       #44
+      01000FCAH   LINE      ---      ---       #45
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000FCBH   BLOCK     CODE     ---       LVL=0
+      01000FCBH   LINE      ---      ---       #48
+      01000FCBH   LINE      ---      ---       #49
+      01000FCBH   LINE      ---      ---       #50
+      01000FD8H   LINE      ---      ---       #52
+      01000FD8H   LINE      ---      ---       #53
+      01000FDDH   LINE      ---      ---       #54
+      01000FE0H   LINE      ---      ---       #55
+      01000FE0H   LINE      ---      ---       #56
+      01000FE2H   LINE      ---      ---       #57
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000FE3H   BLOCK     CODE     ---       LVL=0
+      01000FE3H   LINE      ---      ---       #60
+      01000FE3H   LINE      ---      ---       #61
+      01000FE3H   LINE      ---      ---       #62
+      01000FE9H   LINE      ---      ---       #63
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010010B4H   BLOCK     CODE     ---       LVL=0
+      010010B4H   LINE      ---      ---       #67
+      010010B4H   LINE      ---      ---       #68
+      010010B4H   LINE      ---      ---       #69
+      010010BAH   LINE      ---      ---       #70
+      010010BAH   LINE      ---      ---       #71
+      010010BEH   LINE      ---      ---       #72
+      010010C5H   LINE      ---      ---       #73
+      010010D5H   LINE      ---      ---       #74
+      010010E5H   LINE      ---      ---       #75
+      010010ECH   LINE      ---      ---       #76
+      010010F0H   LINE      ---      ---       #77
+      010010F5H   LINE      ---      ---       #78
+      010010F5H   LINE      ---      ---       #79
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       GLOBAL_VARIABLE
@@ -660,709 +656,584 @@
       0100060CH   PUBLIC    CONST    ---       col
 
       ---         MODULE    ---      ---       KB_PROCESS
-      01001ED3H   PUBLIC    CODE     ---       _kb_multikey_setup
-      01001812H   PUBLIC    CODE     ---       _key_fn_function
-      010017F2H   PUBLIC    CODE     ---       _key_replace
-      01000C5DH   PUBLIC    CODE     ---       _kb_motion_keyscan
-      0100137FH   PUBLIC    CODE     ---       kb_need_keyscan
-      01001552H   PUBLIC    CODE     ---       kb_24g_get_led_status
-      010013D5H   PUBLIC    CODE     ---       _kb_send_combination_key
-      010017D7H   PUBLIC    CODE     ---       _kb_set_multikey
-      0100140EH   PUBLIC    CODE     ---       _IPC_TxHidData
-      01000833H   PUBLIC    CODE     ---       _YC_key_action_handle
-
-      01000833H   BLOCK     CODE     ---       LVL=0
-      01000833H   LINE      ---      ---       #3
-      01000838H   LINE      ---      ---       #4
-      01000838H   LINE      ---      ---       #5
-      01000845H   LINE      ---      ---       #6
-      01000845H   LINE      ---      ---       #7
-      01000845H   LINE      ---      ---       #8
-      01000845H   LINE      ---      ---       #9
-      0100084AH   LINE      ---      ---       #10
-      0100084FH   LINE      ---      ---       #11
-      0100084FH   LINE      ---      ---       #12
-      01000857H   LINE      ---      ---       #13
-      01000858H   LINE      ---      ---       #15
-      01000858H   LINE      ---      ---       #16
-      01000868H   LINE      ---      ---       #17
-      0100086CH   LINE      ---      ---       #18
-      01000882H   LINE      ---      ---       #19
-      01000882H   LINE      ---      ---       #20
-      01000888H   LINE      ---      ---       #21
-      0100088AH   LINE      ---      ---       #22
-      0100088CH   LINE      ---      ---       #23
-      0100088EH   LINE      ---      ---       #24
-      0100088EH   LINE      ---      ---       #25
-      01000892H   LINE      ---      ---       #27
-      01000898H   LINE      ---      ---       #28
-      0100089BH   LINE      ---      ---       #29
-      0100089FH   LINE      ---      ---       #30
-      0100089FH   LINE      ---      ---       #31
-      010008A0H   LINE      ---      ---       #32
-      010008A0H   LINE      ---      ---       #33
-      010008A5H   LINE      ---      ---       #34
-      010008AAH   LINE      ---      ---       #35
-      010008AAH   LINE      ---      ---       #36
-      010008B2H   LINE      ---      ---       #37
-      010008B3H   LINE      ---      ---       #39
-      010008B3H   LINE      ---      ---       #40
-      010008BBH   LINE      ---      ---       #41
-      010008BBH   LINE      ---      ---       #42
-      010008BFH   LINE      ---      ---       #43
-      010008C5H   LINE      ---      ---       #44
-      010008C8H   LINE      ---      ---       #45
-      010008CEH   LINE      ---      ---       #46
-      010008D3H   LINE      ---      ---       #47
-      010008D3H   LINE      ---      ---       #48
-      010008D8H   LINE      ---      ---       #49
-      010008D8H   LINE      ---      ---       #50
-      010008D9H   LINE      ---      ---       #51
-      010008D9H   LINE      ---      ---       #52
-      010008DEH   LINE      ---      ---       #53
-      010008DEH   LINE      ---      ---       #54
-      010008DEH   LINE      ---      ---       #55
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100140EH   BLOCK     CODE     ---       LVL=0
-      0100140EH   LINE      ---      ---       #59
-      0100141CH   LINE      ---      ---       #60
-      0100141CH   LINE      ---      ---       #61
-      01001422H   LINE      ---      ---       #63
-      01001428H   LINE      ---      ---       #66
-      01001430H   LINE      ---      ---       #67
-      01001430H   LINE      ---      ---       #68
-      01001443H   LINE      ---      ---       #69
-      01001443H   LINE      ---      ---       #70
-      01001463H   LINE      ---      ---       #71
-      01001469H   LINE      ---      ---       #73
-      0100146FH   LINE      ---      ---       #74
-      01001471H   LINE      ---      ---       #75
-      01001475H   LINE      ---      ---       #76
-      01001475H   LINE      ---      ---       #77
-      01001485H   LINE      ---      ---       #78
-      01001485H   LINE      ---      ---       #79
-      01001489H   LINE      ---      ---       #80
-      0100148BH   LINE      ---      ---       #82
-      0100148BH   LINE      ---      ---       #83
-      01001491H   LINE      ---      ---       #84
-      01001491H   LINE      ---      ---       #85
-      01001491H   LINE      ---      ---       #86
-      01001498H   LINE      ---      ---       #87
-      01001498H   LINE      ---      ---       #88
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010017D7H   BLOCK     CODE     ---       LVL=0
-      010017D7H   LINE      ---      ---       #91
-      010017DBH   LINE      ---      ---       #92
-      010017DBH   LINE      ---      ---       #93
-      010017E3H   LINE      ---      ---       #94
-      010017E3H   LINE      ---      ---       #95
-      010017E6H   LINE      ---      ---       #96
-      010017EBH   LINE      ---      ---       #97
-      010017EEH   LINE      ---      ---       #98
-      010017F1H   LINE      ---      ---       #99
-      010017F1H   LINE      ---      ---       #100
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010013D5H   BLOCK     CODE     ---       LVL=0
-      010013D5H   LINE      ---      ---       #103
-      010013DDH   LINE      ---      ---       #104
-      010013DDH   LINE      ---      ---       #105
-      010013EAH   LINE      ---      ---       #106
-      010013F0H   LINE      ---      ---       #107
-      010013FEH   LINE      ---      ---       #108
-      01001406H   LINE      ---      ---       #109
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001552H   BLOCK     CODE     ---       LVL=0
-      01001552H   LINE      ---      ---       #129
-      01001552H   LINE      ---      ---       #130
-      01001552H   LINE      ---      ---       #131
-      01001560H   LINE      ---      ---       #132
-      01001560H   LINE      ---      ---       #133
-      01001568H   LINE      ---      ---       #134
-      01001568H   LINE      ---      ---       #135
-      01001574H   LINE      ---      ---       #136
-      0100157EH   LINE      ---      ---       #137
-      01001584H   LINE      ---      ---       #138
-      01001589H   LINE      ---      ---       #139
-      01001589H   LINE      ---      ---       #140
-      0100158AH   LINE      ---      ---       #141
-      01001597H   LINE      ---      ---       #142
-      01001597H   LINE      ---      ---       #143
-      0100159BH   LINE      ---      ---       #144
-      010015A7H   LINE      ---      ---       #145
-      010015B1H   LINE      ---      ---       #146
-      010015B6H   LINE      ---      ---       #147
-      010015B6H   LINE      ---      ---       #148
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100151EH   BLOCK     CODE     ---       LVL=0
-      0100151EH   LINE      ---      ---       #152
-      0100151EH   LINE      ---      ---       #153
-      0100151EH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100151EH   LINE      ---      ---       #154
-      01001527H   LINE      ---      ---       #156
-      0100152BH   LINE      ---      ---       #158
-      01001539H   LINE      ---      ---       #160
-      0100153CH   LINE      ---      ---       #161
-      0100153CH   LINE      ---      ---       #162
-      01001541H   LINE      ---      ---       #163
-      01001543H   LINE      ---      ---       #165
-      01001543H   LINE      ---      ---       #166
-      01001551H   LINE      ---      ---       #167
+      01000B56H   PUBLIC    CODE     ---       _kb_multikey_setup
+      01001804H   PUBLIC    CODE     ---       _key_fn_function
+      010017DFH   PUBLIC    CODE     ---       _kb_combination_key_press
+      0100091DH   PUBLIC    CODE     ---       _kb_motion_keyscan
+      01000E47H   PUBLIC    CODE     ---       kb_need_keyscan
+      01000EBDH   PUBLIC    CODE     ---       kb_24g_get_led_status
+      01000E0DH   PUBLIC    CODE     ---       _kb_send_combination_key
+      01000CB2H   PUBLIC    CODE     ---       _kb_set_multikey
+      01000D83H   PUBLIC    CODE     ---       _IPC_TxHidData
+      01000FEBH   PUBLIC    CODE     ---       _YC_key_action_handle
+
+      01000FEBH   BLOCK     CODE     ---       LVL=0
+      01000FEBH   LINE      ---      ---       #3
+      01000FF0H   LINE      ---      ---       #4
+      01000FF0H   LINE      ---      ---       #5
+      01000FFEH   LINE      ---      ---       #6
+      01000FFEH   LINE      ---      ---       #7
+      01000FFEH   LINE      ---      ---       #8
+      01000FFEH   LINE      ---      ---       #9
+      01001003H   LINE      ---      ---       #10
+      01001009H   LINE      ---      ---       #11
+      01001009H   LINE      ---      ---       #12
+      01001011H   LINE      ---      ---       #13
+      01001012H   LINE      ---      ---       #15
+      01001012H   LINE      ---      ---       #16
+      01001022H   LINE      ---      ---       #17
+      01001026H   LINE      ---      ---       #18
+      0100103CH   LINE      ---      ---       #19
+      0100103CH   LINE      ---      ---       #20
+      01001042H   LINE      ---      ---       #21
+      01001044H   LINE      ---      ---       #22
+      01001046H   LINE      ---      ---       #23
+      01001048H   LINE      ---      ---       #24
+      01001048H   LINE      ---      ---       #25
+      0100104DH   LINE      ---      ---       #27
+      01001053H   LINE      ---      ---       #28
+      01001056H   LINE      ---      ---       #29
+      0100105AH   LINE      ---      ---       #30
+      0100105AH   LINE      ---      ---       #31
+      0100105BH   LINE      ---      ---       #32
+      0100105BH   LINE      ---      ---       #33
+      01001060H   LINE      ---      ---       #34
+      01001066H   LINE      ---      ---       #35
+      01001066H   LINE      ---      ---       #36
+      0100106EH   LINE      ---      ---       #37
+      0100106FH   LINE      ---      ---       #39
+      0100106FH   LINE      ---      ---       #40
+      01001077H   LINE      ---      ---       #41
+      01001077H   LINE      ---      ---       #42
+      0100107CH   LINE      ---      ---       #43
+      01001082H   LINE      ---      ---       #44
+      01001085H   LINE      ---      ---       #45
+      0100108BH   LINE      ---      ---       #46
+      01001090H   LINE      ---      ---       #47
+      01001090H   LINE      ---      ---       #48
+      01001095H   LINE      ---      ---       #49
+      01001095H   LINE      ---      ---       #50
+      01001096H   LINE      ---      ---       #51
+      01001096H   LINE      ---      ---       #52
+      0100109BH   LINE      ---      ---       #53
+      0100109BH   LINE      ---      ---       #54
+      0100109BH   LINE      ---      ---       #55
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000D83H   BLOCK     CODE     ---       LVL=0
+      01000D83H   LINE      ---      ---       #59
+      01000D91H   LINE      ---      ---       #60
+      01000D91H   LINE      ---      ---       #61
+      01000D96H   LINE      ---      ---       #63
+      01000D9CH   LINE      ---      ---       #66
+      01000DA4H   LINE      ---      ---       #67
+      01000DA4H   LINE      ---      ---       #68
+      01000DB7H   LINE      ---      ---       #69
+      01000DB7H   LINE      ---      ---       #70
+      01000DD7H   LINE      ---      ---       #71
+      01000DDDH   LINE      ---      ---       #73
+      01000DE3H   LINE      ---      ---       #74
+      01000DE5H   LINE      ---      ---       #75
+      01000DE9H   LINE      ---      ---       #76
+      01000DE9H   LINE      ---      ---       #77
+      01000DF9H   LINE      ---      ---       #78
+      01000DF9H   LINE      ---      ---       #79
+      01000DFDH   LINE      ---      ---       #80
+      01000DFFH   LINE      ---      ---       #82
+      01000DFFH   LINE      ---      ---       #83
+      01000E05H   LINE      ---      ---       #84
+      01000E05H   LINE      ---      ---       #85
+      01000E05H   LINE      ---      ---       #86
+      01000E0CH   LINE      ---      ---       #87
+      01000E0CH   LINE      ---      ---       #88
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000CB2H   BLOCK     CODE     ---       LVL=0
+      01000CB2H   LINE      ---      ---       #91
+      01000CB6H   LINE      ---      ---       #92
+      01000CB6H   LINE      ---      ---       #93
+      01000CBEH   LINE      ---      ---       #94
+      01000CBEH   LINE      ---      ---       #95
+      01000CC1H   LINE      ---      ---       #96
+      01000CC6H   LINE      ---      ---       #97
+      01000CC9H   LINE      ---      ---       #98
+      01000CCCH   LINE      ---      ---       #99
+      01000CCCH   LINE      ---      ---       #100
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000E0DH   BLOCK     CODE     ---       LVL=0
+      01000E0DH   LINE      ---      ---       #103
+      01000E15H   LINE      ---      ---       #104
+      01000E15H   LINE      ---      ---       #105
+      01000E21H   LINE      ---      ---       #106
+      01000E27H   LINE      ---      ---       #107
+      01000E35H   LINE      ---      ---       #108
+      01000E3DH   LINE      ---      ---       #109
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000EBDH   BLOCK     CODE     ---       LVL=0
+      01000EBDH   LINE      ---      ---       #129
+      01000EBDH   LINE      ---      ---       #130
+      01000EBDH   LINE      ---      ---       #131
+      01000ECBH   LINE      ---      ---       #132
+      01000ECBH   LINE      ---      ---       #133
+      01000ED3H   LINE      ---      ---       #134
+      01000ED3H   LINE      ---      ---       #135
+      01000EDEH   LINE      ---      ---       #136
+      01000EE8H   LINE      ---      ---       #137
+      01000EEEH   LINE      ---      ---       #138
+      01000EF3H   LINE      ---      ---       #139
+      01000EF3H   LINE      ---      ---       #140
+      01000EF4H   LINE      ---      ---       #141
+      01000F01H   LINE      ---      ---       #142
+      01000F01H   LINE      ---      ---       #143
+      01000F05H   LINE      ---      ---       #144
+      01000F10H   LINE      ---      ---       #145
+      01000F1AH   LINE      ---      ---       #146
+      01000F1FH   LINE      ---      ---       #147
+      01000F1FH   LINE      ---      ---       #148
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F20H   BLOCK     CODE     ---       LVL=0
+      01000F20H   LINE      ---      ---       #152
+      01000F20H   LINE      ---      ---       #153
+      01000F20H   BLOCK     CODE     NEAR LAB  LVL=1
+      01000F20H   LINE      ---      ---       #154
+      01000F29H   LINE      ---      ---       #156
+      01000F2DH   LINE      ---      ---       #158
+      01000F3BH   LINE      ---      ---       #160
+      01000F3EH   LINE      ---      ---       #161
+      01000F3EH   LINE      ---      ---       #162
+      01000F43H   LINE      ---      ---       #163
+      01000F45H   LINE      ---      ---       #165
+      01000F45H   LINE      ---      ---       #166
+      01000F52H   LINE      ---      ---       #167
       02004E75H   SYMBOL    XDATA    VOID      pEvt
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      0100137FH   BLOCK     CODE     ---       LVL=0
-      0100137FH   LINE      ---      ---       #171
-      0100137FH   LINE      ---      ---       #172
-      0100137FH   LINE      ---      ---       #173
-      0100138EH   LINE      ---      ---       #177
-      01001390H   LINE      ---      ---       #179
-      01001390H   LINE      ---      ---       #181
-      01001397H   LINE      ---      ---       #182
-      01001397H   LINE      ---      ---       #183
-      0100139AH   LINE      ---      ---       #184
-      010013A2H   LINE      ---      ---       #185
-      010013A2H   LINE      ---      ---       #186
-      010013A9H   LINE      ---      ---       #187
-      010013A9H   LINE      ---      ---       #188
-      010013AEH   LINE      ---      ---       #189
-      010013B4H   LINE      ---      ---       #190
-      010013BCH   LINE      ---      ---       #191
-      010013BCH   LINE      ---      ---       #192
-      010013C3H   LINE      ---      ---       #193
-      010013C3H   LINE      ---      ---       #194
-      010013C6H   LINE      ---      ---       #195
-      010013C8H   LINE      ---      ---       #196
-      010013CCH   LINE      ---      ---       #197
-      010013D4H   LINE      ---      ---       #198
-      010013D4H   LINE      ---      ---       #199
-      010013D4H   LINE      ---      ---       #200
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000C5DH   BLOCK     CODE     ---       LVL=0
-      01000C5DH   LINE      ---      ---       #204
-      01000C68H   LINE      ---      ---       #205
-      01000C68H   BLOCK     CODE     NEAR LAB  LVL=1
-      01000C68H   LINE      ---      ---       #206
-      01000C6BH   LINE      ---      ---       #207
-      01000C6DH   LINE      ---      ---       #209
-      01000C71H   LINE      ---      ---       #210
-      01000C7FH   LINE      ---      ---       #211
-      01000C7FH   LINE      ---      ---       #212
-      01000C9DH   LINE      ---      ---       #213
-      01000C9DH   LINE      ---      ---       #214
-      01000CA3H   LINE      ---      ---       #215
-      01000CA3H   LINE      ---      ---       #216
-      01000CABH   LINE      ---      ---       #217
-      01000CB3H   LINE      ---      ---       #220
-      01000CC1H   LINE      ---      ---       #223
-      01000CC7H   LINE      ---      ---       #224
-      01000CCEH   LINE      ---      ---       #225
-      01000CD9H   LINE      ---      ---       #226
-      01000CE5H   LINE      ---      ---       #229
-      01000D13H   LINE      ---      ---       #232
-      01000D13H   LINE      ---      ---       #233
-      01000D19H   LINE      ---      ---       #234
-      01000D1DH   LINE      ---      ---       #235
-      01000D21H   LINE      ---      ---       #236
-      01000D25H   LINE      ---      ---       #237
-      01000D2DH   LINE      ---      ---       #238
-      01000D2DH   LINE      ---      ---       #239
-      01000D34H   LINE      ---      ---       #240
-      01000D36H   LINE      ---      ---       #242
-      01000D36H   LINE      ---      ---       #243
-      01000D3DH   LINE      ---      ---       #244
-      01000D3DH   LINE      ---      ---       #245
-      01000D3FH   LINE      ---      ---       #247
-      01000D3FH   LINE      ---      ---       #248
-      01000D46H   LINE      ---      ---       #249
-      01000D46H   LINE      ---      ---       #251
-      01000D4CH   LINE      ---      ---       #252
-      01000D53H   LINE      ---      ---       #253
-      01000D53H   LINE      ---      ---       #254
-      01000D59H   LINE      ---      ---       #255
-      01000D67H   LINE      ---      ---       #256
-      01000D6CH   LINE      ---      ---       #257
-      01000D77H   LINE      ---      ---       #258
-      01000D7EH   LINE      ---      ---       #260
-      01000D7EH   LINE      ---      ---       #263
-      01000D86H   LINE      ---      ---       #264
-      01000D86H   LINE      ---      ---       #265
-      01000D94H   LINE      ---      ---       #266
-      01000D94H   LINE      ---      ---       #267
-      01000DBDH   LINE      ---      ---       #269
-      01000DBDH   LINE      ---      ---       #270
-      01000DC3H   LINE      ---      ---       #271
-      01000DC3H   LINE      ---      ---       #272
-      01000DCBH   LINE      ---      ---       #273
-      01000DCBH   LINE      ---      ---       #275
-      01000DD9H   LINE      ---      ---       #277
-      01000DE0H   LINE      ---      ---       #278
-      01000DE0H   LINE      ---      ---       #279
-      01000DE3H   LINE      ---      ---       #280
-      01000DE7H   LINE      ---      ---       #281
-      01000DF2H   LINE      ---      ---       #282
-      01000DF2H   LINE      ---      ---       #283
-      01000DF9H   LINE      ---      ---       #284
-      01000DF9H   LINE      ---      ---       #285
-      01000DFBH   LINE      ---      ---       #286
-      01000DFFH   LINE      ---      ---       #287
-      01000E05H   LINE      ---      ---       #288
-      01000E10H   LINE      ---      ---       #289
-      01000E10H   LINE      ---      ---       #291
-      01000E10H   LINE      ---      ---       #292
-      01000E16H   LINE      ---      ---       #293
-      01000E28H   LINE      ---      ---       #294
-      01000E2BH   LINE      ---      ---       #296
-      01000E2FH   LINE      ---      ---       #298
-      01000E38H   LINE      ---      ---       #299
-      01000E56H   LINE      ---      ---       #301
-      01000E72H   LINE      ---      ---       #303
-      01000E82H   LINE      ---      ---       #304
-      01000E82H   LINE      ---      ---       #305
-      01000E90H   LINE      ---      ---       #306
-      01000E9FH   LINE      ---      ---       #307
-      01000EA7H   LINE      ---      ---       #309
-      01000EB2H   LINE      ---      ---       #310
-      01000EB2H   LINE      ---      ---       #312
+      01000E47H   BLOCK     CODE     ---       LVL=0
+      01000E47H   LINE      ---      ---       #171
+      01000E47H   LINE      ---      ---       #172
+      01000E47H   LINE      ---      ---       #173
+      01000E56H   LINE      ---      ---       #177
+      01000E58H   LINE      ---      ---       #179
+      01000E58H   LINE      ---      ---       #180
+      01000E5FH   LINE      ---      ---       #181
+      01000E5FH   LINE      ---      ---       #182
+      01000E66H   LINE      ---      ---       #183
+      01000E6CH   LINE      ---      ---       #184
+      01000E6DH   LINE      ---      ---       #185
+      01000E74H   LINE      ---      ---       #186
+      01000E74H   LINE      ---      ---       #187
+      01000E77H   LINE      ---      ---       #188
+      01000E7FH   LINE      ---      ---       #189
+      01000E7FH   LINE      ---      ---       #190
+      01000E86H   LINE      ---      ---       #191
+      01000E86H   LINE      ---      ---       #192
+      01000E8BH   LINE      ---      ---       #193
+      01000E94H   LINE      ---      ---       #194
+      01000E99H   LINE      ---      ---       #195
+      01000E9FH   LINE      ---      ---       #196
+      01000EA0H   LINE      ---      ---       #197
+      01000EA7H   LINE      ---      ---       #198
+      01000EA7H   LINE      ---      ---       #199
+      01000EACH   LINE      ---      ---       #200
+      01000EB0H   LINE      ---      ---       #201
+      01000EB7H   LINE      ---      ---       #202
+      01000EBCH   LINE      ---      ---       #203
+      01000EBCH   LINE      ---      ---       #204
+      01000EBCH   LINE      ---      ---       #206
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100091DH   BLOCK     CODE     ---       LVL=0
+      0100091DH   LINE      ---      ---       #210
+      01000928H   LINE      ---      ---       #211
+      01000928H   BLOCK     CODE     NEAR LAB  LVL=1
+      01000928H   LINE      ---      ---       #212
+      0100092BH   LINE      ---      ---       #213
+      0100092DH   LINE      ---      ---       #215
+      01000931H   LINE      ---      ---       #216
+      0100093FH   LINE      ---      ---       #217
+      0100093FH   LINE      ---      ---       #218
+      0100095DH   LINE      ---      ---       #219
+      0100095DH   LINE      ---      ---       #220
+      01000963H   LINE      ---      ---       #221
+      01000963H   LINE      ---      ---       #222
+      0100096BH   LINE      ---      ---       #223
+      01000973H   LINE      ---      ---       #226
+      01000981H   LINE      ---      ---       #229
+      01000987H   LINE      ---      ---       #230
+      0100098EH   LINE      ---      ---       #231
+      01000999H   LINE      ---      ---       #232
+      010009A5H   LINE      ---      ---       #235
+      010009D3H   LINE      ---      ---       #238
+      010009D3H   LINE      ---      ---       #239
+      010009D9H   LINE      ---      ---       #240
+      010009DDH   LINE      ---      ---       #241
+      010009E1H   LINE      ---      ---       #242
+      010009E5H   LINE      ---      ---       #243
+      010009EDH   LINE      ---      ---       #244
+      010009EDH   LINE      ---      ---       #245
+      010009F4H   LINE      ---      ---       #246
+      010009F6H   LINE      ---      ---       #248
+      010009F6H   LINE      ---      ---       #249
+      010009FDH   LINE      ---      ---       #250
+      010009FDH   LINE      ---      ---       #251
+      010009FFH   LINE      ---      ---       #253
+      010009FFH   LINE      ---      ---       #254
+      01000A06H   LINE      ---      ---       #255
+      01000A06H   LINE      ---      ---       #257
+      01000A0CH   LINE      ---      ---       #258
+      01000A25H   LINE      ---      ---       #261
+      01000A25H   LINE      ---      ---       #263
+      01000A25H   LINE      ---      ---       #266
+      01000A2DH   LINE      ---      ---       #267
+      01000A2DH   LINE      ---      ---       #268
+      01000A3BH   LINE      ---      ---       #269
+      01000A3BH   LINE      ---      ---       #270
+      01000A64H   LINE      ---      ---       #272
+      01000A64H   LINE      ---      ---       #273
+      01000A6AH   LINE      ---      ---       #274
+      01000A6AH   LINE      ---      ---       #275
+      01000A72H   LINE      ---      ---       #276
+      01000A72H   LINE      ---      ---       #278
+      01000A7FH   LINE      ---      ---       #280
+      01000A86H   LINE      ---      ---       #281
+      01000A86H   LINE      ---      ---       #282
+      01000A89H   LINE      ---      ---       #283
+      01000A8DH   LINE      ---      ---       #284
+      01000A97H   LINE      ---      ---       #285
+      01000A97H   LINE      ---      ---       #286
+      01000A9EH   LINE      ---      ---       #287
+      01000A9EH   LINE      ---      ---       #288
+      01000AA0H   LINE      ---      ---       #289
+      01000AA4H   LINE      ---      ---       #290
+      01000AAAH   LINE      ---      ---       #291
+      01000AB4H   LINE      ---      ---       #292
+      01000AB4H   LINE      ---      ---       #294
+      01000AB4H   LINE      ---      ---       #295
+      01000ABAH   LINE      ---      ---       #296
+      01000ACCH   LINE      ---      ---       #297
+      01000ACFH   LINE      ---      ---       #299
+      01000AD3H   LINE      ---      ---       #301
+      01000ADCH   LINE      ---      ---       #302
+      01000AFAH   LINE      ---      ---       #304
+      01000B16H   LINE      ---      ---       #306
+      01000B26H   LINE      ---      ---       #307
+      01000B26H   LINE      ---      ---       #308
+      01000B34H   LINE      ---      ---       #309
+      01000B43H   LINE      ---      ---       #310
+      01000B4BH   LINE      ---      ---       #312
+      01000B55H   LINE      ---      ---       #313
+      01000B55H   LINE      ---      ---       #315
       02004E55H   SYMBOL    XDATA    VOID      temp
       02004E56H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010017F2H   BLOCK     CODE     ---       LVL=0
-      010017F2H   LINE      ---      ---       #316
-      010017F2H   LINE      ---      ---       #317
-      010017F2H   BLOCK     CODE     NEAR LAB  LVL=1
-      010017F2H   LINE      ---      ---       #320
-      010017F4H   LINE      ---      ---       #321
-      010017F8H   LINE      ---      ---       #322
-      010017F8H   LINE      ---      ---       #323
-      010017FEH   LINE      ---      ---       #324
-      01001800H   LINE      ---      ---       #325
-      01001802H   LINE      ---      ---       #327
-      01001802H   LINE      ---      ---       #328
-      01001808H   LINE      ---      ---       #329
-      01001808H   LINE      ---      ---       #330
-      0100180BH   LINE      ---      ---       #331
-      0100180FH   LINE      ---      ---       #332
-      0100180FH   LINE      ---      ---       #333
-      0100180FH   LINE      ---      ---       #335
-      01001811H   LINE      ---      ---       #336
-      00000006H   SYMBOL    DATA     VOID      temp_value
-      ---         BLOCKEND  CODE     ---       LVL=1
-      ---         BLOCKEND  CODE     ---       LVL=0
-
-      01001812H   BLOCK     CODE     ---       LVL=0
-      01001812H   LINE      ---      ---       #341
-      01001816H   LINE      ---      ---       #342
-      01001816H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001816H   LINE      ---      ---       #343
-      0100181BH   LINE      ---      ---       #345
-      0100181DH   LINE      ---      ---       #346
-      01001827H   LINE      ---      ---       #347
-      01001827H   LINE      ---      ---       #349
-      01001863H   LINE      ---      ---       #350
-      01001863H   LINE      ---      ---       #351
-      01001863H   LINE      ---      ---       #352
-      01001871H   LINE      ---      ---       #353
-      01001873H   LINE      ---      ---       #354
-      01001873H   LINE      ---      ---       #355
-      01001881H   LINE      ---      ---       #356
-      01001883H   LINE      ---      ---       #357
-      01001883H   LINE      ---      ---       #358
-      01001889H   LINE      ---      ---       #360
-      0100188DH   LINE      ---      ---       #362
-      01001891H   LINE      ---      ---       #363
-      01001891H   LINE      ---      ---       #364
-      01001897H   LINE      ---      ---       #365
-      01001899H   LINE      ---      ---       #367
-      01001899H   LINE      ---      ---       #368
-      0100189FH   LINE      ---      ---       #369
-      0100189FH   LINE      ---      ---       #371
-      010018ADH   LINE      ---      ---       #372
-      010018AFH   LINE      ---      ---       #373
-      010018AFH   LINE      ---      ---       #374
-      010018B5H   LINE      ---      ---       #375
-      010018B8H   LINE      ---      ---       #377
-      010018BCH   LINE      ---      ---       #378
-      010018BCH   LINE      ---      ---       #379
-      010018C2H   LINE      ---      ---       #380
-      010018C4H   LINE      ---      ---       #382
-      010018C4H   LINE      ---      ---       #383
-      010018CAH   LINE      ---      ---       #384
-      010018CAH   LINE      ---      ---       #385
-      010018D8H   LINE      ---      ---       #387
-      010018DAH   LINE      ---      ---       #388
-      010018DAH   LINE      ---      ---       #389
-      010018E0H   LINE      ---      ---       #390
-      010018E4H   LINE      ---      ---       #392
-      010018E8H   LINE      ---      ---       #393
-      010018E8H   LINE      ---      ---       #394
-      010018EEH   LINE      ---      ---       #395
-      010018F0H   LINE      ---      ---       #397
-      010018F0H   LINE      ---      ---       #398
-      010018F6H   LINE      ---      ---       #399
-      010018F6H   LINE      ---      ---       #400
-      01001904H   LINE      ---      ---       #401
-      01001906H   LINE      ---      ---       #402
-      01001906H   LINE      ---      ---       #403
-      01001914H   LINE      ---      ---       #404
-      01001916H   LINE      ---      ---       #405
-      01001916H   LINE      ---      ---       #406
-      01001924H   LINE      ---      ---       #407
-      01001926H   LINE      ---      ---       #408
-      01001926H   LINE      ---      ---       #409
-      01001934H   LINE      ---      ---       #410
-      01001936H   LINE      ---      ---       #411
-      01001936H   LINE      ---      ---       #412
-      01001944H   LINE      ---      ---       #413
-      01001946H   LINE      ---      ---       #414
-      01001946H   LINE      ---      ---       #415
-      01001954H   LINE      ---      ---       #416
-      01001956H   LINE      ---      ---       #417
-      01001956H   LINE      ---      ---       #418
-      01001964H   LINE      ---      ---       #419
-      01001966H   LINE      ---      ---       #420
-      01001966H   LINE      ---      ---       #421
-      01001976H   LINE      ---      ---       #422
-      01001976H   LINE      ---      ---       #423
-      01001976H   LINE      ---      ---       #424
-      01001976H   LINE      ---      ---       #425
-      01001976H   LINE      ---      ---       #426
-      01001976H   LINE      ---      ---       #428
-      0100197BH   LINE      ---      ---       #429
+      010017DFH   BLOCK     CODE     ---       LVL=0
+      010017DFH   LINE      ---      ---       #319
+      010017DFH   LINE      ---      ---       #320
+      010017DFH   LINE      ---      ---       #321
+      010017E4H   LINE      ---      ---       #322
+      010017E7H   LINE      ---      ---       #324
+      010017EBH   LINE      ---      ---       #325
+      010017EBH   LINE      ---      ---       #326
+      010017F2H   LINE      ---      ---       #327
+      010017F6H   LINE      ---      ---       #329
+      010017FCH   LINE      ---      ---       #330
+      010017FDH   LINE      ---      ---       #332
+      010017FDH   LINE      ---      ---       #333
+      01001803H   LINE      ---      ---       #334
+      01001803H   LINE      ---      ---       #336
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001804H   BLOCK     CODE     ---       LVL=0
+      01001804H   LINE      ---      ---       #339
+      01001806H   LINE      ---      ---       #340
+      01001806H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001806H   LINE      ---      ---       #341
+      0100180BH   LINE      ---      ---       #343
+      0100180DH   LINE      ---      ---       #344
+      01001817H   LINE      ---      ---       #345
+      01001817H   LINE      ---      ---       #347
+      01001853H   LINE      ---      ---       #348
+      01001853H   LINE      ---      ---       #349
+      01001853H   LINE      ---      ---       #350
+      01001859H   LINE      ---      ---       #351
+      0100185BH   LINE      ---      ---       #352
+      0100185BH   LINE      ---      ---       #353
+      01001861H   LINE      ---      ---       #354
+      01001863H   LINE      ---      ---       #355
+      01001863H   LINE      ---      ---       #356
+      0100186CH   LINE      ---      ---       #357
+      01001871H   LINE      ---      ---       #358
+      01001873H   LINE      ---      ---       #359
+      01001873H   LINE      ---      ---       #360
+      0100187CH   LINE      ---      ---       #361
+      01001881H   LINE      ---      ---       #362
+      01001883H   LINE      ---      ---       #363
+      01001883H   LINE      ---      ---       #364
+      0100188CH   LINE      ---      ---       #365
+      01001891H   LINE      ---      ---       #366
+      01001893H   LINE      ---      ---       #367
+      01001893H   LINE      ---      ---       #368
+      01001899H   LINE      ---      ---       #369
+      0100189BH   LINE      ---      ---       #370
+      0100189BH   LINE      ---      ---       #371
+      010018A1H   LINE      ---      ---       #372
+      010018A3H   LINE      ---      ---       #373
+      010018A3H   LINE      ---      ---       #374
+      010018A9H   LINE      ---      ---       #375
+      010018ABH   LINE      ---      ---       #376
+      010018ABH   LINE      ---      ---       #377
+      010018B1H   LINE      ---      ---       #378
+      010018B3H   LINE      ---      ---       #379
+      010018B3H   LINE      ---      ---       #380
+      010018B9H   LINE      ---      ---       #381
+      010018BBH   LINE      ---      ---       #382
+      010018BBH   LINE      ---      ---       #383
+      010018C1H   LINE      ---      ---       #384
+      010018C3H   LINE      ---      ---       #385
+      010018C3H   LINE      ---      ---       #386
+      010018C9H   LINE      ---      ---       #387
+      010018C9H   LINE      ---      ---       #388
+      010018C9H   LINE      ---      ---       #389
+      010018C9H   LINE      ---      ---       #390
+      010018C9H   LINE      ---      ---       #391
+      010018C9H   LINE      ---      ---       #393
+      010018CEH   LINE      ---      ---       #394
       02004E8EH   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001ED3H   BLOCK     CODE     ---       LVL=0
-      01001ED3H   LINE      ---      ---       #433
-      01001EDEH   LINE      ---      ---       #434
-      01001EDEH   BLOCK     CODE     NEAR LAB  LVL=1
-      01001EDEH   LINE      ---      ---       #435
-      01001EE1H   LINE      ---      ---       #437
-      01001EEFH   LINE      ---      ---       #438
-      01001EEFH   LINE      ---      ---       #439
-      01001F1BH   LINE      ---      ---       #441
-      01001F1BH   LINE      ---      ---       #442
-      01001F22H   LINE      ---      ---       #443
-      01001F22H   LINE      ---      ---       #444
-      01001F29H   LINE      ---      ---       #445
-      01001F2CH   LINE      ---      ---       #446
-      01001F30H   LINE      ---      ---       #447
-      01001F30H   LINE      ---      ---       #448
-      01001F37H   LINE      ---      ---       #449
-      01001F3AH   LINE      ---      ---       #450
-      01001F5AH   LINE      ---      ---       #451
-      01001F5AH   LINE      ---      ---       #452
-      01001F5FH   LINE      ---      ---       #453
-      01001F62H   LINE      ---      ---       #454
-      01001F66H   LINE      ---      ---       #455
-      01001F66H   LINE      ---      ---       #456
-      01001F6DH   LINE      ---      ---       #457
-      01001F70H   LINE      ---      ---       #458
-      01001F90H   LINE      ---      ---       #459
-      01001F90H   LINE      ---      ---       #460
-      01001F95H   LINE      ---      ---       #461
-      01001F98H   LINE      ---      ---       #462
-      01001F9CH   LINE      ---      ---       #463
-      01001F9CH   LINE      ---      ---       #464
-      01001FA3H   LINE      ---      ---       #465
-      01001FA6H   LINE      ---      ---       #466
-      01001FC6H   LINE      ---      ---       #467
-      01001FC6H   LINE      ---      ---       #468
-      01001FCBH   LINE      ---      ---       #469
-      01001FCEH   LINE      ---      ---       #470
-      01001FD2H   LINE      ---      ---       #471
-      01001FD2H   LINE      ---      ---       #472
-      01001FD9H   LINE      ---      ---       #473
-      01001FDCH   LINE      ---      ---       #474
-      01001FFCH   LINE      ---      ---       #475
-      01001FFCH   LINE      ---      ---       #476
-      01002002H   LINE      ---      ---       #477
-      01002004H   LINE      ---      ---       #478
-      01002008H   LINE      ---      ---       #479
-      01002008H   LINE      ---      ---       #480
-      0100200FH   LINE      ---      ---       #481
-      01002011H   LINE      ---      ---       #482
-      01002031H   LINE      ---      ---       #483
-      01002031H   LINE      ---      ---       #484
-      01002037H   LINE      ---      ---       #485
-      01002039H   LINE      ---      ---       #486
-      0100203DH   LINE      ---      ---       #487
-      0100203DH   LINE      ---      ---       #488
-      01002044H   LINE      ---      ---       #489
-      01002046H   LINE      ---      ---       #490
-      01002066H   LINE      ---      ---       #491
-      01002066H   LINE      ---      ---       #492
-      0100206DH   LINE      ---      ---       #493
-      0100206FH   LINE      ---      ---       #494
-      01002073H   LINE      ---      ---       #495
-      01002073H   LINE      ---      ---       #496
-      0100207AH   LINE      ---      ---       #497
-      0100207CH   LINE      ---      ---       #498
-      0100209CH   LINE      ---      ---       #499
-      0100209CH   LINE      ---      ---       #500
-      010020A3H   LINE      ---      ---       #501
-      010020A5H   LINE      ---      ---       #502
-      010020A9H   LINE      ---      ---       #503
-      010020A9H   LINE      ---      ---       #504
-      010020B0H   LINE      ---      ---       #505
-      010020B2H   LINE      ---      ---       #507
-      010020D2H   LINE      ---      ---       #508
-      010020D2H   LINE      ---      ---       #509
-      010020D9H   LINE      ---      ---       #510
-      010020DBH   LINE      ---      ---       #511
-      010020DFH   LINE      ---      ---       #512
-      010020DFH   LINE      ---      ---       #513
-      010020E6H   LINE      ---      ---       #514
-      010020E8H   LINE      ---      ---       #515
-      01002108H   LINE      ---      ---       #516
-      01002108H   LINE      ---      ---       #517
-      0100210DH   LINE      ---      ---       #518
-      0100210FH   LINE      ---      ---       #519
-      01002113H   LINE      ---      ---       #520
-      01002113H   LINE      ---      ---       #521
-      0100211AH   LINE      ---      ---       #522
-      0100211AH   LINE      ---      ---       #524
-      01002121H   LINE      ---      ---       #525
-      01002121H   LINE      ---      ---       #526
-      01002141H   LINE      ---      ---       #527
-      01002145H   LINE      ---      ---       #528
-      01002145H   LINE      ---      ---       #529
-      01002145H   LINE      ---      ---       #530
-      0100214EH   LINE      ---      ---       #531
+      01000B56H   BLOCK     CODE     ---       LVL=0
+      01000B56H   LINE      ---      ---       #398
+      01000B61H   LINE      ---      ---       #399
+      01000B61H   BLOCK     CODE     NEAR LAB  LVL=1
+      01000B61H   LINE      ---      ---       #400
+      01000B64H   LINE      ---      ---       #402
+      01000B71H   LINE      ---      ---       #403
+      01000B71H   LINE      ---      ---       #404
+      01000B9CH   LINE      ---      ---       #406
+      01000B9CH   LINE      ---      ---       #413
+      01000BA3H   LINE      ---      ---       #414
+      01000BA3H   LINE      ---      ---       #415
+      01000BA9H   LINE      ---      ---       #416
+      01000BABH   LINE      ---      ---       #421
+      01000BAFH   LINE      ---      ---       #422
+      01000BAFH   LINE      ---      ---       #423
+      01000BB5H   LINE      ---      ---       #424
+      01000BB7H   LINE      ---      ---       #425
+      01000BD7H   LINE      ---      ---       #426
+      01000BD7H   LINE      ---      ---       #427
+      01000BDBH   LINE      ---      ---       #428
+      01000BDDH   LINE      ---      ---       #429
+      01000BE1H   LINE      ---      ---       #430
+      01000BE1H   LINE      ---      ---       #431
+      01000BE7H   LINE      ---      ---       #432
+      01000BE9H   LINE      ---      ---       #433
+      01000C09H   LINE      ---      ---       #434
+      01000C09H   LINE      ---      ---       #435
+      01000C0DH   LINE      ---      ---       #436
+      01000C0FH   LINE      ---      ---       #437
+      01000C13H   LINE      ---      ---       #438
+      01000C13H   LINE      ---      ---       #439
+      01000C19H   LINE      ---      ---       #440
+      01000C1BH   LINE      ---      ---       #445
+      01000C3BH   LINE      ---      ---       #446
+      01000C3BH   LINE      ---      ---       #447
+      01000C40H   LINE      ---      ---       #448
+      01000C42H   LINE      ---      ---       #473
+      01000C46H   LINE      ---      ---       #474
+      01000C46H   LINE      ---      ---       #475
+      01000C4CH   LINE      ---      ---       #476
+      01000C4EH   LINE      ---      ---       #481
+      01000C6EH   LINE      ---      ---       #482
+      01000C6EH   LINE      ---      ---       #483
+      01000C72H   LINE      ---      ---       #484
+      01000C74H   LINE      ---      ---       #485
+      01000C78H   LINE      ---      ---       #486
+      01000C78H   LINE      ---      ---       #487
+      01000C7EH   LINE      ---      ---       #488
+      01000C7EH   LINE      ---      ---       #490
+      01000C85H   LINE      ---      ---       #491
+      01000C85H   LINE      ---      ---       #492
+      01000CA5H   LINE      ---      ---       #493
+      01000CA9H   LINE      ---      ---       #494
+      01000CA9H   LINE      ---      ---       #495
+      01000CA9H   LINE      ---      ---       #496
+      01000CB1H   LINE      ---      ---       #497
       02004E68H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       KEYSCAN
       02004E31H   PUBLIC    XDATA    ---       ksEvtPool
-      0100197CH   PUBLIC    CODE     ---       KS_GetCurrentEvt
-      01001B86H   PUBLIC    CODE     ---       _array_is_empty
-      01001D73H   PUBLIC    CODE     ---       KS_ScanMatrix
-      01001235H   PUBLIC    CODE     ---       KS_Unistall
-      01000FC1H   PUBLIC    CODE     ---       KS_Initialize
-
-      01001B78H   BLOCK     CODE     ---       LVL=0
-      01001B78H   LINE      ---      ---       #24
-      01001B78H   LINE      ---      ---       #25
-      01001B78H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001B78H   LINE      ---      ---       #27
-      01001B7DH   LINE      ---      ---       #28
-      01001B80H   LINE      ---      ---       #29
-      01001B83H   LINE      ---      ---       #30
-      01001B85H   LINE      ---      ---       #31
+      010018CFH   PUBLIC    CODE     ---       KS_GetCurrentEvt
+      01001AD9H   PUBLIC    CODE     ---       _array_is_empty
+      01001C52H   PUBLIC    CODE     ---       KS_ScanMatrix
+      010013CFH   PUBLIC    CODE     ---       KS_Unistall
+      01001362H   PUBLIC    CODE     ---       KS_Initialize
+
+      01001ACBH   BLOCK     CODE     ---       LVL=0
+      01001ACBH   LINE      ---      ---       #24
+      01001ACBH   LINE      ---      ---       #25
+      01001ACBH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001ACBH   LINE      ---      ---       #27
+      01001AD0H   LINE      ---      ---       #28
+      01001AD3H   LINE      ---      ---       #29
+      01001AD6H   LINE      ---      ---       #30
+      01001AD8H   LINE      ---      ---       #31
       00000006H   SYMBOL    DATA     VOID      c
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001C00H   BLOCK     CODE     ---       LVL=0
-      01001C00H   LINE      ---      ---       #35
-      01001C00H   LINE      ---      ---       #36
-      01001C00H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001C00H   LINE      ---      ---       #37
-      01001C02H   LINE      ---      ---       #39
-      01001C06H   LINE      ---      ---       #40
-      01001C06H   LINE      ---      ---       #41
-      01001C0EH   LINE      ---      ---       #43
-      01001C0EH   LINE      ---      ---       #44
-      01001C12H   LINE      ---      ---       #45
-      01001C12H   LINE      ---      ---       #46
-      01001C1AH   LINE      ---      ---       #48
-      01001C1AH   LINE      ---      ---       #49
-      01001C1EH   LINE      ---      ---       #50
-      01001C1EH   LINE      ---      ---       #51
-      01001C26H   LINE      ---      ---       #53
-      01001C26H   LINE      ---      ---       #54
-      01001C2AH   LINE      ---      ---       #55
-      01001C2AH   LINE      ---      ---       #56
-      01001C32H   LINE      ---      ---       #58
-      01001C32H   LINE      ---      ---       #59
-      01001C36H   LINE      ---      ---       #60
-      01001C36H   LINE      ---      ---       #61
-      01001C3EH   LINE      ---      ---       #63
-      01001C3EH   LINE      ---      ---       #64
-      01001C42H   LINE      ---      ---       #65
-      01001C42H   LINE      ---      ---       #66
-      01001C4AH   LINE      ---      ---       #68
-      01001C4AH   LINE      ---      ---       #69
-      01001C4EH   LINE      ---      ---       #70
-      01001C4EH   LINE      ---      ---       #71
-      01001C56H   LINE      ---      ---       #73
-      01001C56H   LINE      ---      ---       #74
-      01001C5AH   LINE      ---      ---       #75
-      01001C5AH   LINE      ---      ---       #76
-      01001C62H   LINE      ---      ---       #78
-      01001C62H   LINE      ---      ---       #81
-      01001C64H   LINE      ---      ---       #82
-      01001C64H   LINE      ---      ---       #83
-      01001C73H   LINE      ---      ---       #84
-      01001C73H   LINE      ---      ---       #85
-      01001C76H   LINE      ---      ---       #86
-      01001C76H   LINE      ---      ---       #87
-      01001C7DH   LINE      ---      ---       #88
-      01001C89H   LINE      ---      ---       #89
-      01001C8AH   LINE      ---      ---       #90
-      01001C8AH   LINE      ---      ---       #91
-      01001C8FH   LINE      ---      ---       #92
+      01001B53H   BLOCK     CODE     ---       LVL=0
+      01001B53H   LINE      ---      ---       #35
+      01001B53H   LINE      ---      ---       #36
+      01001B53H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001B53H   LINE      ---      ---       #37
+      01001B55H   LINE      ---      ---       #39
+      01001B61H   LINE      ---      ---       #40
+      01001B61H   LINE      ---      ---       #41
+      01001B7BH   LINE      ---      ---       #43
+      01001B7BH   LINE      ---      ---       #90
+      01001B7DH   LINE      ---      ---       #91
+      01001B7DH   LINE      ---      ---       #92
+      01001B8CH   LINE      ---      ---       #93
+      01001B8CH   LINE      ---      ---       #94
+      01001B8FH   LINE      ---      ---       #95
+      01001B8FH   LINE      ---      ---       #96
+      01001B96H   LINE      ---      ---       #97
+      01001BA2H   LINE      ---      ---       #98
+      01001BA3H   LINE      ---      ---       #99
+      01001BA3H   LINE      ---      ---       #100
+      01001BA8H   LINE      ---      ---       #101
       00000006H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001C90H   BLOCK     CODE     ---       LVL=0
-      01001C90H   LINE      ---      ---       #94
-      01001C90H   LINE      ---      ---       #95
-      01001C90H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001C90H   LINE      ---      ---       #96
-      01001C92H   LINE      ---      ---       #97
-      01001C93H   LINE      ---      ---       #99
-      01001CA1H   LINE      ---      ---       #100
-      01001CA1H   LINE      ---      ---       #101
-      01001CA8H   LINE      ---      ---       #102
-      01001CA8H   LINE      ---      ---       #103
-      01001CABH   LINE      ---      ---       #104
-      01001CABH   LINE      ---      ---       #105
-      01001CADH   LINE      ---      ---       #107
-      01001CB3H   LINE      ---      ---       #110
-      01001CB7H   LINE      ---      ---       #111
-      01001CB7H   LINE      ---      ---       #112
-      01001CBFH   LINE      ---      ---       #114
-      01001CBFH   LINE      ---      ---       #115
-      01001CC3H   LINE      ---      ---       #116
-      01001CC3H   LINE      ---      ---       #117
-      01001CCBH   LINE      ---      ---       #119
-      01001CCBH   LINE      ---      ---       #120
-      01001CCFH   LINE      ---      ---       #121
-      01001CCFH   LINE      ---      ---       #122
-      01001CD7H   LINE      ---      ---       #124
-      01001CD7H   LINE      ---      ---       #125
-      01001CDBH   LINE      ---      ---       #126
-      01001CDBH   LINE      ---      ---       #127
-      01001CE3H   LINE      ---      ---       #129
-      01001CE3H   LINE      ---      ---       #130
-      01001CE7H   LINE      ---      ---       #131
-      01001CE7H   LINE      ---      ---       #132
-      01001CEFH   LINE      ---      ---       #134
-      01001CEFH   LINE      ---      ---       #135
-      01001CF3H   LINE      ---      ---       #136
-      01001CF3H   LINE      ---      ---       #137
-      01001CFBH   LINE      ---      ---       #139
-      01001CFBH   LINE      ---      ---       #140
-      01001CFFH   LINE      ---      ---       #141
-      01001CFFH   LINE      ---      ---       #142
-      01001D07H   LINE      ---      ---       #144
-      01001D07H   LINE      ---      ---       #145
-      01001D0BH   LINE      ---      ---       #146
-      01001D0BH   LINE      ---      ---       #147
-      01001D13H   LINE      ---      ---       #149
-      01001D13H   LINE      ---      ---       #151
-      01001D15H   LINE      ---      ---       #152
-      01001D15H   LINE      ---      ---       #153
-      01001D18H   LINE      ---      ---       #154
-      01001D18H   LINE      ---      ---       #155
-      01001D26H   LINE      ---      ---       #156
-      01001D2AH   LINE      ---      ---       #157
-      01001D35H   LINE      ---      ---       #158
-      01001D35H   LINE      ---      ---       #159
-      01001D37H   LINE      ---      ---       #160
-      01001D37H   LINE      ---      ---       #161
-      01001D39H   LINE      ---      ---       #163
-      01001D39H   LINE      ---      ---       #164
-      01001D51H   LINE      ---      ---       #165
-      01001D5EH   LINE      ---      ---       #166
-      01001D5EH   LINE      ---      ---       #167
-      01001D62H   LINE      ---      ---       #168
-      01001D6DH   LINE      ---      ---       #169
-      01001D6DH   LINE      ---      ---       #170
-      01001D6DH   LINE      ---      ---       #171
-      01001D72H   LINE      ---      ---       #172
+      01001BA9H   BLOCK     CODE     ---       LVL=0
+      01001BA9H   LINE      ---      ---       #103
+      01001BA9H   LINE      ---      ---       #104
+      01001BA9H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001BA9H   LINE      ---      ---       #105
+      01001BABH   LINE      ---      ---       #106
+      01001BACH   LINE      ---      ---       #108
+      01001BBAH   LINE      ---      ---       #109
+      01001BBAH   LINE      ---      ---       #110
+      01001BC1H   LINE      ---      ---       #111
+      01001BC1H   LINE      ---      ---       #112
+      01001BC4H   LINE      ---      ---       #113
+      01001BC4H   LINE      ---      ---       #114
+      01001BC6H   LINE      ---      ---       #116
+      01001BCCH   LINE      ---      ---       #118
+      01001BD8H   LINE      ---      ---       #119
+      01001BD8H   LINE      ---      ---       #120
+      01001BF2H   LINE      ---      ---       #122
+      01001BF2H   LINE      ---      ---       #166
+      01001BF4H   LINE      ---      ---       #167
+      01001BF4H   LINE      ---      ---       #168
+      01001BF7H   LINE      ---      ---       #169
+      01001BF7H   LINE      ---      ---       #170
+      01001C05H   LINE      ---      ---       #171
+      01001C09H   LINE      ---      ---       #172
+      01001C14H   LINE      ---      ---       #173
+      01001C14H   LINE      ---      ---       #174
+      01001C16H   LINE      ---      ---       #175
+      01001C16H   LINE      ---      ---       #176
+      01001C18H   LINE      ---      ---       #178
+      01001C18H   LINE      ---      ---       #179
+      01001C30H   LINE      ---      ---       #180
+      01001C3DH   LINE      ---      ---       #181
+      01001C3DH   LINE      ---      ---       #182
+      01001C41H   LINE      ---      ---       #183
+      01001C4CH   LINE      ---      ---       #184
+      01001C4CH   LINE      ---      ---       #185
+      01001C4CH   LINE      ---      ---       #186
+      01001C51H   LINE      ---      ---       #187
       00000006H   SYMBOL    DATA     VOID      i
       00000005H   SYMBOL    DATA     VOID      found
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010010D4H   BLOCK     CODE     ---       LVL=0
-      010010D4H   LINE      ---      ---       #174
-      010010D4H   LINE      ---      ---       #175
-      010010D4H   BLOCK     CODE     NEAR LAB  LVL=1
-      010010D4H   LINE      ---      ---       #176
-      010010D9H   LINE      ---      ---       #178
-      010010E4H   LINE      ---      ---       #179
-      010010E8H   LINE      ---      ---       #180
-      010010F0H   LINE      ---      ---       #181
+      01001630H   BLOCK     CODE     ---       LVL=0
+      01001630H   LINE      ---      ---       #189
+      01001630H   LINE      ---      ---       #190
+      01001630H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001630H   LINE      ---      ---       #191
+      01001635H   LINE      ---      ---       #193
+      01001640H   LINE      ---      ---       #194
+      01001644H   LINE      ---      ---       #195
+      0100164CH   LINE      ---      ---       #196
       02004E8FH   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01000FCDH   BLOCK     CODE     ---       LVL=0
-      01000FCDH   LINE      ---      ---       #183
-      01000FCDH   LINE      ---      ---       #184
-      01000FCDH   BLOCK     CODE     NEAR LAB  LVL=1
-      01000FCDH   LINE      ---      ---       #185
-      01000FD2H   LINE      ---      ---       #186
-      01000FDEH   LINE      ---      ---       #187
-      01000FE3H   LINE      ---      ---       #188
-      01000FEBH   LINE      ---      ---       #189
+      0100136DH   BLOCK     CODE     ---       LVL=0
+      0100136DH   LINE      ---      ---       #198
+      0100136DH   LINE      ---      ---       #199
+      0100136DH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100136DH   LINE      ---      ---       #200
+      01001372H   LINE      ---      ---       #201
+      0100137EH   LINE      ---      ---       #202
+      01001382H   LINE      ---      ---       #203
+      0100138AH   LINE      ---      ---       #204
       02004E90H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01000FC1H   BLOCK     CODE     ---       LVL=0
-      01000FC1H   LINE      ---      ---       #191
-      01000FC1H   LINE      ---      ---       #192
-      01000FC1H   LINE      ---      ---       #193
-      01000FC6H   LINE      ---      ---       #194
-      01000FC8H   LINE      ---      ---       #195
-      01000FCAH   LINE      ---      ---       #196
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001235H   BLOCK     CODE     ---       LVL=0
-      01001235H   LINE      ---      ---       #200
-      01001235H   LINE      ---      ---       #201
-      01001235H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001235H   LINE      ---      ---       #202
-      01001237H   LINE      ---      ---       #203
-      0100123BH   LINE      ---      ---       #204
-      0100123CH   LINE      ---      ---       #205
-      0100123DH   LINE      ---      ---       #206
-      01001244H   LINE      ---      ---       #207
-      0100124DH   LINE      ---      ---       #208
-      0100125DH   LINE      ---      ---       #209
-      01001270H   LINE      ---      ---       #210
-      0100127DH   LINE      ---      ---       #211
-      0100128AH   LINE      ---      ---       #212
-      0100128DH   LINE      ---      ---       #214
-      01001290H   LINE      ---      ---       #216
-      01001298H   LINE      ---      ---       #217
-      010012A0H   LINE      ---      ---       #218
-      010012A0H   LINE      ---      ---       #219
-      010012A6H   LINE      ---      ---       #220
-      010012A6H   LINE      ---      ---       #221
-      010012AAH   LINE      ---      ---       #222
-      010012AEH   LINE      ---      ---       #223
-      010012B2H   LINE      ---      ---       #224
-      010012B6H   LINE      ---      ---       #225
-      010012BAH   LINE      ---      ---       #226
-      010012BEH   LINE      ---      ---       #227
-      010012C2H   LINE      ---      ---       #228
-      010012C6H   LINE      ---      ---       #229
-      010012C6H   LINE      ---      ---       #231
-      010012C6H   LINE      ---      ---       #232
-      010012CFH   LINE      ---      ---       #233
-      010012D5H   LINE      ---      ---       #234
-      010012D5H   LINE      ---      ---       #236
-      010012D6H   LINE      ---      ---       #238
-      010012D6H   LINE      ---      ---       #239
-      010012DBH   LINE      ---      ---       #240
-      010012DFH   LINE      ---      ---       #241
-      010012DFH   LINE      ---      ---       #242
+      01001362H   BLOCK     CODE     ---       LVL=0
+      01001362H   LINE      ---      ---       #206
+      01001362H   LINE      ---      ---       #207
+      01001362H   LINE      ---      ---       #208
+      01001367H   LINE      ---      ---       #209
+      01001369H   LINE      ---      ---       #210
+      0100136BH   LINE      ---      ---       #211
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010013CFH   BLOCK     CODE     ---       LVL=0
+      010013CFH   LINE      ---      ---       #215
+      010013CFH   LINE      ---      ---       #216
+      010013CFH   BLOCK     CODE     NEAR LAB  LVL=1
+      010013CFH   LINE      ---      ---       #217
+      010013D1H   LINE      ---      ---       #218
+      010013D5H   LINE      ---      ---       #219
+      010013D6H   LINE      ---      ---       #220
+      010013D7H   LINE      ---      ---       #221
+      010013DEH   LINE      ---      ---       #222
+      010013E7H   LINE      ---      ---       #223
+      010013F7H   LINE      ---      ---       #224
+      0100140AH   LINE      ---      ---       #225
+      01001417H   LINE      ---      ---       #226
+      01001424H   LINE      ---      ---       #227
+      01001427H   LINE      ---      ---       #229
+      0100142AH   LINE      ---      ---       #231
+      01001432H   LINE      ---      ---       #232
+      0100143AH   LINE      ---      ---       #233
+      0100143AH   LINE      ---      ---       #234
+      01001440H   LINE      ---      ---       #235
+      01001440H   LINE      ---      ---       #236
+      01001444H   LINE      ---      ---       #237
+      01001448H   LINE      ---      ---       #238
+      0100144CH   LINE      ---      ---       #239
+      01001450H   LINE      ---      ---       #240
+      01001454H   LINE      ---      ---       #241
+      01001458H   LINE      ---      ---       #242
+      0100145CH   LINE      ---      ---       #243
+      01001460H   LINE      ---      ---       #244
+      01001460H   LINE      ---      ---       #246
+      01001460H   LINE      ---      ---       #247
+      01001469H   LINE      ---      ---       #248
+      0100146FH   LINE      ---      ---       #249
+      0100146FH   LINE      ---      ---       #251
+      01001470H   LINE      ---      ---       #253
+      01001470H   LINE      ---      ---       #254
+      01001475H   LINE      ---      ---       #255
+      01001479H   LINE      ---      ---       #256
+      01001479H   LINE      ---      ---       #257
       00000007H   SYMBOL    DATA     VOID      i
       02004E91H   SYMBOL    XDATA    VOID      temp
       00000006H   SYMBOL    DATA     VOID      tgroup
@@ -1370,33 +1241,33 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001D73H   BLOCK     CODE     ---       LVL=0
-      01001D73H   LINE      ---      ---       #245
-      01001D73H   LINE      ---      ---       #246
-      01001D73H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001D73H   LINE      ---      ---       #247
-      01001D75H   LINE      ---      ---       #248
-      01001D79H   LINE      ---      ---       #249
-      01001D7AH   LINE      ---      ---       #250
-      01001D7BH   LINE      ---      ---       #251
-      01001D7DH   LINE      ---      ---       #252
-      01001D7FH   LINE      ---      ---       #253
-      01001D81H   LINE      ---      ---       #254
-      01001D88H   LINE      ---      ---       #255
-      01001D91H   LINE      ---      ---       #256
-      01001DA1H   LINE      ---      ---       #257
-      01001E01H   LINE      ---      ---       #258
-      01001E04H   LINE      ---      ---       #260
-      01001E0DH   LINE      ---      ---       #261
-      01001E16H   LINE      ---      ---       #262
-      01001E26H   LINE      ---      ---       #263
-      01001E86H   LINE      ---      ---       #264
-      01001E89H   LINE      ---      ---       #266
-      01001E92H   LINE      ---      ---       #267
-      01001EACH   LINE      ---      ---       #268
-      01001ECFH   LINE      ---      ---       #269
-      01001ECFH   LINE      ---      ---       #270
-      01001ED2H   LINE      ---      ---       #271
+      01001C52H   BLOCK     CODE     ---       LVL=0
+      01001C52H   LINE      ---      ---       #260
+      01001C52H   LINE      ---      ---       #261
+      01001C52H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001C52H   LINE      ---      ---       #262
+      01001C54H   LINE      ---      ---       #263
+      01001C58H   LINE      ---      ---       #264
+      01001C59H   LINE      ---      ---       #265
+      01001C5AH   LINE      ---      ---       #266
+      01001C5CH   LINE      ---      ---       #267
+      01001C5EH   LINE      ---      ---       #268
+      01001C60H   LINE      ---      ---       #269
+      01001C67H   LINE      ---      ---       #270
+      01001C70H   LINE      ---      ---       #271
+      01001C80H   LINE      ---      ---       #272
+      01001CE0H   LINE      ---      ---       #273
+      01001CE3H   LINE      ---      ---       #275
+      01001CECH   LINE      ---      ---       #276
+      01001CF5H   LINE      ---      ---       #277
+      01001D05H   LINE      ---      ---       #278
+      01001D65H   LINE      ---      ---       #279
+      01001D68H   LINE      ---      ---       #281
+      01001D71H   LINE      ---      ---       #282
+      01001D8BH   LINE      ---      ---       #283
+      01001DAEH   LINE      ---      ---       #284
+      01001DAEH   LINE      ---      ---       #285
+      01001DB1H   LINE      ---      ---       #286
       00000007H   SYMBOL    DATA     VOID      i
       02004E69H   SYMBOL    XDATA    VOID      j
       00000006H   SYMBOL    DATA     VOID      tgroup
@@ -1407,109 +1278,109 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001B86H   BLOCK     CODE     ---       LVL=0
-      01001B86H   LINE      ---      ---       #273
-      01001B91H   LINE      ---      ---       #274
-      01001B91H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001B91H   LINE      ---      ---       #276
-      01001B98H   LINE      ---      ---       #277
-      01001B98H   LINE      ---      ---       #278
-      01001BADH   LINE      ---      ---       #279
-      01001BB0H   LINE      ---      ---       #280
-      01001BB3H   LINE      ---      ---       #281
-      01001BB5H   LINE      ---      ---       #282
+      01001AD9H   BLOCK     CODE     ---       LVL=0
+      01001AD9H   LINE      ---      ---       #288
+      01001AE4H   LINE      ---      ---       #289
+      01001AE4H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001AE4H   LINE      ---      ---       #291
+      01001AEBH   LINE      ---      ---       #292
+      01001AEBH   LINE      ---      ---       #293
+      01001B00H   LINE      ---      ---       #294
+      01001B03H   LINE      ---      ---       #295
+      01001B06H   LINE      ---      ---       #296
+      01001B08H   LINE      ---      ---       #297
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      0100197CH   BLOCK     CODE     ---       LVL=0
-      0100197CH   LINE      ---      ---       #285
-      0100197CH   LINE      ---      ---       #286
-      0100197CH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100197CH   LINE      ---      ---       #288
-      01001981H   LINE      ---      ---       #289
-      01001983H   LINE      ---      ---       #290
-      01001985H   LINE      ---      ---       #291
-      01001987H   LINE      ---      ---       #292
-      01001989H   LINE      ---      ---       #293
-      0100198BH   LINE      ---      ---       #294
-      0100198DH   LINE      ---      ---       #295
-      0100198FH   LINE      ---      ---       #296
-      01001991H   LINE      ---      ---       #297
-      01001993H   LINE      ---      ---       #298
-      01001995H   LINE      ---      ---       #299
-      01001997H   LINE      ---      ---       #300
-      01001999H   LINE      ---      ---       #301
-      0100199BH   LINE      ---      ---       #303
-      0100199DH   LINE      ---      ---       #305
-      010019CBH   LINE      ---      ---       #307
-      010019CBH   LINE      ---      ---       #308
-      010019D2H   LINE      ---      ---       #309
-      010019D4H   LINE      ---      ---       #311
-      010019D4H   LINE      ---      ---       #312
-      010019DBH   LINE      ---      ---       #313
-      010019E0H   LINE      ---      ---       #314
-      010019E0H   LINE      ---      ---       #316
-      010019F0H   LINE      ---      ---       #317
-      010019FFH   LINE      ---      ---       #318
-      01001A03H   LINE      ---      ---       #319
-      01001A09H   LINE      ---      ---       #320
-      01001A0FH   LINE      ---      ---       #321
-      01001A17H   LINE      ---      ---       #322
-      01001A17H   LINE      ---      ---       #323
-      01001A1FH   LINE      ---      ---       #324
-      01001A27H   LINE      ---      ---       #325
-      01001A2FH   LINE      ---      ---       #326
-      01001A3BH   LINE      ---      ---       #327
-      01001A5AH   LINE      ---      ---       #328
-      01001A60H   LINE      ---      ---       #329
-      01001A62H   LINE      ---      ---       #330
-      01001A62H   LINE      ---      ---       #331
-      01001A67H   LINE      ---      ---       #332
-      01001A67H   LINE      ---      ---       #334
-      01001A79H   LINE      ---      ---       #335
-      01001A79H   LINE      ---      ---       #336
-      01001A95H   LINE      ---      ---       #337
-      01001AA8H   LINE      ---      ---       #338
-      01001AAEH   LINE      ---      ---       #339
-      01001AAEH   LINE      ---      ---       #340
-      01001AB0H   LINE      ---      ---       #341
-      01001AB2H   LINE      ---      ---       #343
-      01001AB2H   LINE      ---      ---       #345
-      01001AB8H   LINE      ---      ---       #346
-      01001ABFH   LINE      ---      ---       #347
-      01001AD7H   LINE      ---      ---       #348
-      01001AE6H   LINE      ---      ---       #349
-      01001AE6H   LINE      ---      ---       #350
-      01001AEBH   LINE      ---      ---       #351
-      01001AEBH   LINE      ---      ---       #352
-      01001AFCH   LINE      ---      ---       #353
-      01001B0FH   LINE      ---      ---       #354
-      01001B16H   LINE      ---      ---       #355
-      01001B16H   LINE      ---      ---       #356
-      01001B1DH   LINE      ---      ---       #357
-      01001B1FH   LINE      ---      ---       #359
-      01001B1FH   LINE      ---      ---       #360
-      01001B26H   LINE      ---      ---       #361
-      01001B26H   LINE      ---      ---       #362
-      01001B26H   LINE      ---      ---       #363
-      01001B2EH   LINE      ---      ---       #364
-      01001B36H   LINE      ---      ---       #365
-      01001B3EH   LINE      ---      ---       #366
-      01001B44H   LINE      ---      ---       #367
-      01001B44H   LINE      ---      ---       #368
-      01001B4CH   LINE      ---      ---       #370
-      01001B5AH   LINE      ---      ---       #371
-      01001B5AH   LINE      ---      ---       #372
-      01001B5DH   LINE      ---      ---       #373
-      01001B5DH   LINE      ---      ---       #376
-      01001B6AH   LINE      ---      ---       #377
-      01001B6AH   LINE      ---      ---       #378
-      01001B71H   LINE      ---      ---       #379
-      01001B71H   LINE      ---      ---       #381
-      01001B71H   LINE      ---      ---       #382
-      01001B77H   LINE      ---      ---       #383
-      01001B77H   LINE      ---      ---       #386
+      010018CFH   BLOCK     CODE     ---       LVL=0
+      010018CFH   LINE      ---      ---       #300
+      010018CFH   LINE      ---      ---       #301
+      010018CFH   BLOCK     CODE     NEAR LAB  LVL=1
+      010018CFH   LINE      ---      ---       #303
+      010018D4H   LINE      ---      ---       #304
+      010018D6H   LINE      ---      ---       #305
+      010018D8H   LINE      ---      ---       #306
+      010018DAH   LINE      ---      ---       #307
+      010018DCH   LINE      ---      ---       #308
+      010018DEH   LINE      ---      ---       #309
+      010018E0H   LINE      ---      ---       #310
+      010018E2H   LINE      ---      ---       #311
+      010018E4H   LINE      ---      ---       #312
+      010018E6H   LINE      ---      ---       #313
+      010018E8H   LINE      ---      ---       #314
+      010018EAH   LINE      ---      ---       #315
+      010018ECH   LINE      ---      ---       #316
+      010018EEH   LINE      ---      ---       #318
+      010018F0H   LINE      ---      ---       #320
+      0100191EH   LINE      ---      ---       #322
+      0100191EH   LINE      ---      ---       #323
+      01001925H   LINE      ---      ---       #324
+      01001927H   LINE      ---      ---       #326
+      01001927H   LINE      ---      ---       #327
+      0100192EH   LINE      ---      ---       #328
+      01001933H   LINE      ---      ---       #329
+      01001933H   LINE      ---      ---       #331
+      01001943H   LINE      ---      ---       #332
+      01001952H   LINE      ---      ---       #333
+      01001956H   LINE      ---      ---       #334
+      0100195CH   LINE      ---      ---       #335
+      01001962H   LINE      ---      ---       #336
+      0100196AH   LINE      ---      ---       #337
+      0100196AH   LINE      ---      ---       #338
+      01001972H   LINE      ---      ---       #339
+      0100197AH   LINE      ---      ---       #340
+      01001982H   LINE      ---      ---       #341
+      0100198EH   LINE      ---      ---       #342
+      010019ADH   LINE      ---      ---       #343
+      010019B3H   LINE      ---      ---       #344
+      010019B5H   LINE      ---      ---       #345
+      010019B5H   LINE      ---      ---       #346
+      010019BAH   LINE      ---      ---       #347
+      010019BAH   LINE      ---      ---       #349
+      010019CCH   LINE      ---      ---       #350
+      010019CCH   LINE      ---      ---       #351
+      010019E8H   LINE      ---      ---       #352
+      010019FBH   LINE      ---      ---       #353
+      01001A01H   LINE      ---      ---       #354
+      01001A01H   LINE      ---      ---       #355
+      01001A03H   LINE      ---      ---       #356
+      01001A05H   LINE      ---      ---       #358
+      01001A05H   LINE      ---      ---       #360
+      01001A0BH   LINE      ---      ---       #361
+      01001A12H   LINE      ---      ---       #362
+      01001A2AH   LINE      ---      ---       #363
+      01001A39H   LINE      ---      ---       #364
+      01001A39H   LINE      ---      ---       #365
+      01001A3EH   LINE      ---      ---       #366
+      01001A3EH   LINE      ---      ---       #367
+      01001A4FH   LINE      ---      ---       #368
+      01001A62H   LINE      ---      ---       #369
+      01001A69H   LINE      ---      ---       #370
+      01001A69H   LINE      ---      ---       #371
+      01001A70H   LINE      ---      ---       #372
+      01001A72H   LINE      ---      ---       #374
+      01001A72H   LINE      ---      ---       #375
+      01001A79H   LINE      ---      ---       #376
+      01001A79H   LINE      ---      ---       #377
+      01001A79H   LINE      ---      ---       #378
+      01001A81H   LINE      ---      ---       #379
+      01001A89H   LINE      ---      ---       #380
+      01001A91H   LINE      ---      ---       #381
+      01001A97H   LINE      ---      ---       #382
+      01001A97H   LINE      ---      ---       #383
+      01001A9FH   LINE      ---      ---       #385
+      01001AADH   LINE      ---      ---       #386
+      01001AADH   LINE      ---      ---       #387
+      01001AB0H   LINE      ---      ---       #388
+      01001AB0H   LINE      ---      ---       #391
+      01001ABDH   LINE      ---      ---       #392
+      01001ABDH   LINE      ---      ---       #393
+      01001AC4H   LINE      ---      ---       #394
+      01001AC4H   LINE      ---      ---       #396
+      01001AC4H   LINE      ---      ---       #397
+      01001ACAH   LINE      ---      ---       #398
+      01001ACAH   LINE      ---      ---       #401
       02004E12H   SYMBOL    XDATA    VOID      i
       02004E13H   SYMBOL    XDATA    VOID      j
       02004E14H   SYMBOL    XDATA    VOID      temp
@@ -1529,547 +1400,521 @@
 
       ---         MODULE    ---      ---       LED
       010006CFH   PUBLIC    CODE     ---       LED_handle
-      010017ACH   PUBLIC    CODE     ---       LED_device_poweroff
-      010007F8H   PUBLIC    CODE     ---       LED_device_poweron
-      01000FEEH   PUBLIC    CODE     ---       LED_all_shutdown
-
-      01000FEEH   BLOCK     CODE     ---       LVL=0
-      01000FEEH   LINE      ---      ---       #4
-      01000FEEH   LINE      ---      ---       #5
-      01000FEEH   LINE      ---      ---       #6
-      01000FF5H   LINE      ---      ---       #7
-      01000FFCH   LINE      ---      ---       #8
-      01001002H   LINE      ---      ---       #9
-      ---         BLOCKEND  ---      ---       LVL=0
+      01001330H   PUBLIC    CODE     ---       LED_all_shutdown
 
-      010007F8H   BLOCK     CODE     ---       LVL=0
-      010007F8H   LINE      ---      ---       #13
-      010007F8H   LINE      ---      ---       #14
-      010007F8H   LINE      ---      ---       #15
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010017ACH   BLOCK     CODE     ---       LVL=0
-      010017ACH   LINE      ---      ---       #19
-      010017ACH   LINE      ---      ---       #20
-      010017ACH   LINE      ---      ---       #21
+      01001330H   BLOCK     CODE     ---       LVL=0
+      01001330H   LINE      ---      ---       #4
+      01001330H   LINE      ---      ---       #5
+      01001330H   LINE      ---      ---       #6
+      01001336H   LINE      ---      ---       #7
+      0100133CH   LINE      ---      ---       #8
+      01001342H   LINE      ---      ---       #9
       ---         BLOCKEND  ---      ---       LVL=0
 
       010006CFH   BLOCK     CODE     ---       LVL=0
-      010006CFH   LINE      ---      ---       #25
-      010006CFH   LINE      ---      ---       #26
-      010006CFH   LINE      ---      ---       #27
-      010006D9H   LINE      ---      ---       #30
-      010006E1H   LINE      ---      ---       #31
-      010006E1H   LINE      ---      ---       #33
-      010006E8H   LINE      ---      ---       #34
-      010006E8H   LINE      ---      ---       #35
-      010006EBH   LINE      ---      ---       #36
-      010006EDH   LINE      ---      ---       #37
-      010006F4H   LINE      ---      ---       #38
-      010006F4H   LINE      ---      ---       #39
-      010006FAH   LINE      ---      ---       #40
-      010006FAH   LINE      ---      ---       #41
-      01000700H   LINE      ---      ---       #42
-      01000706H   LINE      ---      ---       #43
-      01000706H   LINE      ---      ---       #44
-      01000708H   LINE      ---      ---       #46
-      01000708H   LINE      ---      ---       #47
-      0100070FH   LINE      ---      ---       #48
-      0100070FH   LINE      ---      ---       #49
-      01000711H   LINE      ---      ---       #50
-      01000715H   LINE      ---      ---       #51
-      0100071BH   LINE      ---      ---       #52
-      0100071BH   LINE      ---      ---       #53
-      0100071BH   LINE      ---      ---       #56
-      01000720H   LINE      ---      ---       #57
-      01000720H   LINE      ---      ---       #58
-      0100072CH   LINE      ---      ---       #59
-      0100072CH   LINE      ---      ---       #60
-      01000730H   LINE      ---      ---       #61
-      01000730H   LINE      ---      ---       #62
-      01000736H   LINE      ---      ---       #63
-      0100073CH   LINE      ---      ---       #64
-      0100073EH   LINE      ---      ---       #66
-      0100073EH   LINE      ---      ---       #67
-      01000744H   LINE      ---      ---       #68
-      01000749H   LINE      ---      ---       #69
-      01000749H   LINE      ---      ---       #71
-      01000750H   LINE      ---      ---       #72
-      01000750H   LINE      ---      ---       #73
-      01000756H   LINE      ---      ---       #74
-      0100075CH   LINE      ---      ---       #75
-      0100075EH   LINE      ---      ---       #77
-      0100075EH   LINE      ---      ---       #78
-      01000764H   LINE      ---      ---       #79
-      01000769H   LINE      ---      ---       #80
-      01000769H   LINE      ---      ---       #87
-      01000771H   LINE      ---      ---       #88
-      01000771H   LINE      ---      ---       #89
-      01000772H   LINE      ---      ---       #91
-      01000772H   LINE      ---      ---       #92
-      01000778H   LINE      ---      ---       #93
-      0100077EH   LINE      ---      ---       #94
-      0100077EH   LINE      ---      ---       #95
-      0100077EH   LINE      ---      ---       #97
-      0100077EH   LINE      ---      ---       #98
-      01000784H   LINE      ---      ---       #99
-      0100078AH   LINE      ---      ---       #100
-      0100078AH   LINE      ---      ---       #102
+      010006CFH   LINE      ---      ---       #14
+      010006CFH   LINE      ---      ---       #15
+      010006CFH   LINE      ---      ---       #16
+      010006D9H   LINE      ---      ---       #19
+      010006E1H   LINE      ---      ---       #20
+      010006E1H   LINE      ---      ---       #22
+      010006E8H   LINE      ---      ---       #23
+      010006E8H   LINE      ---      ---       #24
+      010006EAH   LINE      ---      ---       #25
+      010006ECH   LINE      ---      ---       #26
+      010006F3H   LINE      ---      ---       #27
+      010006F3H   LINE      ---      ---       #28
+      010006F9H   LINE      ---      ---       #29
+      010006F9H   LINE      ---      ---       #30
+      010006FFH   LINE      ---      ---       #31
+      01000705H   LINE      ---      ---       #32
+      01000705H   LINE      ---      ---       #33
+      01000707H   LINE      ---      ---       #35
+      01000707H   LINE      ---      ---       #36
+      0100070EH   LINE      ---      ---       #37
+      0100070EH   LINE      ---      ---       #38
+      01000710H   LINE      ---      ---       #39
+      01000714H   LINE      ---      ---       #40
+      0100071AH   LINE      ---      ---       #41
+      0100071AH   LINE      ---      ---       #42
+      0100071AH   LINE      ---      ---       #45
+      0100071FH   LINE      ---      ---       #46
+      0100071FH   LINE      ---      ---       #47
+      0100072BH   LINE      ---      ---       #48
+      0100072BH   LINE      ---      ---       #49
+      0100072FH   LINE      ---      ---       #50
+      0100072FH   LINE      ---      ---       #51
+      01000735H   LINE      ---      ---       #52
+      0100073BH   LINE      ---      ---       #53
+      0100073DH   LINE      ---      ---       #55
+      0100073DH   LINE      ---      ---       #56
+      01000743H   LINE      ---      ---       #57
+      01000748H   LINE      ---      ---       #58
+      01000748H   LINE      ---      ---       #60
+      0100074FH   LINE      ---      ---       #61
+      0100074FH   LINE      ---      ---       #62
+      01000755H   LINE      ---      ---       #63
+      0100075BH   LINE      ---      ---       #64
+      0100075DH   LINE      ---      ---       #66
+      0100075DH   LINE      ---      ---       #67
+      01000763H   LINE      ---      ---       #68
+      01000768H   LINE      ---      ---       #69
+      01000768H   LINE      ---      ---       #76
+      01000770H   LINE      ---      ---       #77
+      01000770H   LINE      ---      ---       #78
+      01000771H   LINE      ---      ---       #80
+      01000771H   LINE      ---      ---       #81
+      01000777H   LINE      ---      ---       #82
+      0100077DH   LINE      ---      ---       #83
+      0100077DH   LINE      ---      ---       #84
+      0100077DH   LINE      ---      ---       #86
+      0100077DH   LINE      ---      ---       #87
+      01000783H   LINE      ---      ---       #89
+      01000783H   LINE      ---      ---       #91
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       SYS
-      010011E3H   PUBLIC    CODE     ---       YC_System_Main
-      010009FBH   PUBLIC    CODE     ---       kb_button_press_timer500ms
-      01000F6FH   PUBLIC    CODE     ---       YC_pairing_timerout_500ms
-      010009B3H   PUBLIC    CODE     ---       YC_connect_timeout_500ms
-      0100079DH   PUBLIC    CODE     ---       LED_timer500ms
-      010022EBH   PUBLIC    CODE     ---       System_Reset_Connect
-      010009F2H   PUBLIC    CODE     ---       System_long_sleep
-      0100214FH   PUBLIC    CODE     ---       System_Software_init
-
-      01000EDFH   BLOCK     CODE     ---       LVL=0
-      01000EDFH   LINE      ---      ---       #11
-      01000EDFH   LINE      ---      ---       #12
-      01000EDFH   LINE      ---      ---       #13
-      01000EEBH   LINE      ---      ---       #14
-      01000EF7H   LINE      ---      ---       #15
-      01000F03H   LINE      ---      ---       #16
-      01000F0FH   LINE      ---      ---       #17
-      01000F1BH   LINE      ---      ---       #18
-      01000F27H   LINE      ---      ---       #20
-      01000F2CH   LINE      ---      ---       #21
-      01000F30H   LINE      ---      ---       #24
-      01000F34H   LINE      ---      ---       #25
-      01000F38H   LINE      ---      ---       #26
-      01000F3CH   LINE      ---      ---       #27
-      01000F40H   LINE      ---      ---       #28
-      01000F44H   LINE      ---      ---       #29
-      01000F48H   LINE      ---      ---       #30
-      01000F4CH   LINE      ---      ---       #31
-      01000F50H   LINE      ---      ---       #32
-      01000F54H   LINE      ---      ---       #33
-      01000F58H   LINE      ---      ---       #34
-      01000F5CH   LINE      ---      ---       #36
-      01000F60H   LINE      ---      ---       #37
-      01000F64H   LINE      ---      ---       #38
-      01000F68H   LINE      ---      ---       #39
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000FECH   BLOCK     CODE     ---       LVL=0
-      01000FECH   LINE      ---      ---       #41
-      01000FECH   LINE      ---      ---       #42
-      01000FECH   LINE      ---      ---       #43
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100214FH   BLOCK     CODE     ---       LVL=0
-      0100214FH   LINE      ---      ---       #48
-      0100214FH   LINE      ---      ---       #49
-      0100214FH   LINE      ---      ---       #50
-      01002152H   LINE      ---      ---       #51
-      01002154H   LINE      ---      ---       #52
-      0100215AH   LINE      ---      ---       #53
-      01002160H   LINE      ---      ---       #54
-      01002165H   LINE      ---      ---       #55
-      0100216BH   LINE      ---      ---       #56
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010022E2H   BLOCK     CODE     ---       LVL=0
-      010022E2H   LINE      ---      ---       #58
-      010022E2H   LINE      ---      ---       #59
-      010022E2H   LINE      ---      ---       #60
-      010022E8H   LINE      ---      ---       #61
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010009F2H   BLOCK     CODE     ---       LVL=0
-      010009F2H   LINE      ---      ---       #64
-      010009F2H   LINE      ---      ---       #65
-      010009F2H   LINE      ---      ---       #66
-      010009F7H   LINE      ---      ---       #67
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010022EBH   BLOCK     CODE     ---       LVL=0
-      010022EBH   LINE      ---      ---       #70
-      010022EBH   LINE      ---      ---       #71
-      010022EBH   LINE      ---      ---       #72
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010022EDH   BLOCK     CODE     ---       LVL=0
-      010022EDH   LINE      ---      ---       #80
-      010022F2H   BLOCK     CODE     NEAR LAB  LVL=1
-      010022F2H   LINE      ---      ---       #82
-      010022FCH   LINE      ---      ---       #84
-      010022FCH   LINE      ---      ---       #86
-      010022FCH   LINE      ---      ---       #87
+      0100138BH   PUBLIC    CODE     ---       YC_System_Main
+      01001E5CH   PUBLIC    CODE     ---       kb_button_press_timer500ms
+      01001E27H   PUBLIC    CODE     ---       YC_pairing_timerout_500ms
+      01001DCDH   PUBLIC    CODE     ---       YC_connect_timeout_500ms
+      01000796H   PUBLIC    CODE     ---       LED_timer500ms
+      01001DBBH   PUBLIC    CODE     ---       System_Reset_Connect
+      010007F1H   PUBLIC    CODE     ---       System_long_sleep
+      01000F5BH   PUBLIC    CODE     ---       System_Software_init
+
+      01000CF9H   BLOCK     CODE     ---       LVL=0
+      01000CF9H   LINE      ---      ---       #11
+      01000CF9H   LINE      ---      ---       #12
+      01000CF9H   LINE      ---      ---       #13
+      01000D05H   LINE      ---      ---       #14
+      01000D11H   LINE      ---      ---       #15
+      01000D1DH   LINE      ---      ---       #16
+      01000D29H   LINE      ---      ---       #17
+      01000D35H   LINE      ---      ---       #18
+      01000D41H   LINE      ---      ---       #20
+      01000D46H   LINE      ---      ---       #21
+      01000D4AH   LINE      ---      ---       #24
+      01000D4EH   LINE      ---      ---       #25
+      01000D52H   LINE      ---      ---       #26
+      01000D56H   LINE      ---      ---       #27
+      01000D5AH   LINE      ---      ---       #28
+      01000D5EH   LINE      ---      ---       #29
+      01000D62H   LINE      ---      ---       #30
+      01000D66H   LINE      ---      ---       #31
+      01000D6AH   LINE      ---      ---       #32
+      01000D6EH   LINE      ---      ---       #33
+      01000D72H   LINE      ---      ---       #34
+      01000D76H   LINE      ---      ---       #36
+      01000D7AH   LINE      ---      ---       #37
+      01000D7EH   LINE      ---      ---       #38
+      01000D82H   LINE      ---      ---       #39
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100132EH   BLOCK     CODE     ---       LVL=0
+      0100132EH   LINE      ---      ---       #41
+      0100132EH   LINE      ---      ---       #42
+      0100132EH   LINE      ---      ---       #43
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F5BH   BLOCK     CODE     ---       LVL=0
+      01000F5BH   LINE      ---      ---       #48
+      01000F5BH   LINE      ---      ---       #49
+      01000F5BH   LINE      ---      ---       #50
+      01000F5DH   LINE      ---      ---       #51
+      01000F60H   LINE      ---      ---       #52
+      01000F66H   LINE      ---      ---       #53
+      01000F6CH   LINE      ---      ---       #54
+      01000F71H   LINE      ---      ---       #55
+      01000F77H   LINE      ---      ---       #56
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001DB2H   BLOCK     CODE     ---       LVL=0
+      01001DB2H   LINE      ---      ---       #58
+      01001DB2H   LINE      ---      ---       #59
+      01001DB2H   LINE      ---      ---       #60
+      01001DB8H   LINE      ---      ---       #61
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010007F1H   BLOCK     CODE     ---       LVL=0
+      010007F1H   LINE      ---      ---       #64
+      010007F1H   LINE      ---      ---       #65
+      010007F1H   LINE      ---      ---       #66
+      010007F6H   LINE      ---      ---       #67
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001DBBH   BLOCK     CODE     ---       LVL=0
+      01001DBBH   LINE      ---      ---       #70
+      01001DBBH   LINE      ---      ---       #71
+      01001DBBH   LINE      ---      ---       #72
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001DBDH   BLOCK     CODE     ---       LVL=0
+      01001DBDH   LINE      ---      ---       #80
+      01001DC2H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001DC2H   LINE      ---      ---       #82
+      01001DCCH   LINE      ---      ---       #84
+      01001DCCH   LINE      ---      ---       #86
+      01001DCCH   LINE      ---      ---       #87
       02004E8AH   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01000A96H   BLOCK     CODE     ---       LVL=0
-      01000A96H   LINE      ---      ---       #89
-      01000A9BH   LINE      ---      ---       #90
-      01000A9BH   LINE      ---      ---       #91
-      01000AB4H   LINE      ---      ---       #92
-      01000AB4H   LINE      ---      ---       #93
-      01000AB4H   LINE      ---      ---       #97
-      01000AB4H   LINE      ---      ---       #98
-      01000AB6H   LINE      ---      ---       #99
-      01000AB9H   LINE      ---      ---       #100
-      01000AC9H   LINE      ---      ---       #101
-      01000ACDH   LINE      ---      ---       #102
-      01000AE0H   LINE      ---      ---       #103
-      01000AE4H   LINE      ---      ---       #104
-      01000AE6H   LINE      ---      ---       #105
-      01000AE6H   LINE      ---      ---       #106
-      01000AE6H   LINE      ---      ---       #107
-      01000AE8H   LINE      ---      ---       #108
-      01000AE8H   LINE      ---      ---       #112
-      01000AE8H   LINE      ---      ---       #113
-      01000AE8H   LINE      ---      ---       #114
-      01000AEEH   LINE      ---      ---       #115
-      01000AF1H   LINE      ---      ---       #116
-      01000AF3H   LINE      ---      ---       #117
-      01000AF8H   LINE      ---      ---       #118
-      01000AFCH   LINE      ---      ---       #119
-      01000B02H   LINE      ---      ---       #120
-      01000B06H   LINE      ---      ---       #122
-      01000B0EH   LINE      ---      ---       #123
-      01000B0EH   LINE      ---      ---       #124
-      01000B14H   LINE      ---      ---       #125
-      01000B2BH   LINE      ---      ---       #127
-      01000B31H   LINE      ---      ---       #128
-      01000B32H   LINE      ---      ---       #130
-      01000B32H   LINE      ---      ---       #131
-      01000B38H   LINE      ---      ---       #132
-      01000B3FH   LINE      ---      ---       #133
-      01000B3FH   LINE      ---      ---       #134
-      01000B3FH   LINE      ---      ---       #136
-      01000B3FH   LINE      ---      ---       #137
-      01000B44H   LINE      ---      ---       #138
-      01000B46H   LINE      ---      ---       #139
-      01000B4CH   LINE      ---      ---       #140
-      01000B51H   LINE      ---      ---       #142
-      01000B57H   LINE      ---      ---       #143
-      01000B57H   LINE      ---      ---       #144
-      01000B59H   LINE      ---      ---       #145
-      01000B60H   LINE      ---      ---       #146
-      01000B60H   LINE      ---      ---       #147
-      01000B60H   LINE      ---      ---       #149
-      01000B67H   LINE      ---      ---       #150
-      01000B67H   LINE      ---      ---       #151
-      01000B69H   LINE      ---      ---       #152
-      01000B6BH   LINE      ---      ---       #153
-      01000B6BH   LINE      ---      ---       #154
-      01000B6BH   LINE      ---      ---       #155
-      01000B6BH   LINE      ---      ---       #156
-      01000B6BH   LINE      ---      ---       #157
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100079DH   BLOCK     CODE     ---       LVL=0
-      0100079DH   LINE      ---      ---       #160
-      0100079DH   LINE      ---      ---       #161
-      0100079DH   LINE      ---      ---       #162
-      010007A5H   LINE      ---      ---       #164
-      010007ABH   LINE      ---      ---       #165
-      010007ABH   LINE      ---      ---       #166
-      010007B0H   LINE      ---      ---       #167
-      010007B0H   LINE      ---      ---       #169
-      010007B0H   LINE      ---      ---       #171
-      010007B0H   LINE      ---      ---       #174
-      010007B5H   LINE      ---      ---       #175
-      010007B5H   LINE      ---      ---       #176
-      010007BBH   LINE      ---      ---       #177
-      010007BBH   LINE      ---      ---       #178
-      010007BDH   LINE      ---      ---       #179
-      010007C3H   LINE      ---      ---       #180
-      010007C9H   LINE      ---      ---       #181
-      010007CFH   LINE      ---      ---       #182
-      010007D1H   LINE      ---      ---       #184
-      010007D7H   LINE      ---      ---       #186
-      010007DDH   LINE      ---      ---       #187
-      010007DDH   LINE      ---      ---       #188
-      010007DFH   LINE      ---      ---       #189
-      010007E5H   LINE      ---      ---       #190
-      010007EBH   LINE      ---      ---       #191
-      010007F1H   LINE      ---      ---       #192
-      010007F1H   LINE      ---      ---       #194
-      010007F7H   LINE      ---      ---       #195
-      010007F7H   LINE      ---      ---       #196
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010009B3H   BLOCK     CODE     ---       LVL=0
-      010009B3H   LINE      ---      ---       #198
-      010009B3H   LINE      ---      ---       #199
-      010009B3H   LINE      ---      ---       #202
-      010009BAH   LINE      ---      ---       #203
-      010009BAH   LINE      ---      ---       #204
-      010009C8H   LINE      ---      ---       #205
-      010009CAH   LINE      ---      ---       #206
-      010009CAH   LINE      ---      ---       #207
-      010009D1H   LINE      ---      ---       #208
-      010009D1H   LINE      ---      ---       #209
-      010009DDH   LINE      ---      ---       #210
-      010009DDH   LINE      ---      ---       #211
-      010009E1H   LINE      ---      ---       #212
-      010009E3H   LINE      ---      ---       #213
-      010009E3H   LINE      ---      ---       #214
-      010009E3H   LINE      ---      ---       #216
-      010009E3H   LINE      ---      ---       #217
-      010009EFH   LINE      ---      ---       #218
-      010009EFH   LINE      ---      ---       #219
-      010009F1H   LINE      ---      ---       #220
-      010009F1H   LINE      ---      ---       #221
-      010009F1H   LINE      ---      ---       #222
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000F6FH   BLOCK     CODE     ---       LVL=0
-      01000F6FH   LINE      ---      ---       #226
-      01000F6FH   LINE      ---      ---       #227
-      01000F6FH   LINE      ---      ---       #229
-      01000F75H   LINE      ---      ---       #230
-      01000F75H   LINE      ---      ---       #231
-      01000F7CH   LINE      ---      ---       #232
-      01000F82H   LINE      ---      ---       #233
-      01000F85H   LINE      ---      ---       #234
-      01000F85H   LINE      ---      ---       #235
-      01000F89H   LINE      ---      ---       #236
-      01000F8DH   LINE      ---      ---       #237
-      01000F8FH   LINE      ---      ---       #238
-      01000F8FH   LINE      ---      ---       #239
-      01000F8FH   LINE      ---      ---       #240
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010009FBH   BLOCK     CODE     ---       LVL=0
-      010009FBH   LINE      ---      ---       #242
-      010009FBH   LINE      ---      ---       #243
-      010009FBH   LINE      ---      ---       #246
-      01000A02H   LINE      ---      ---       #247
-      01000A02H   LINE      ---      ---       #248
-      01000A0BH   LINE      ---      ---       #249
-      01000A0EH   LINE      ---      ---       #250
-      01000A16H   LINE      ---      ---       #251
-      01000A16H   LINE      ---      ---       #252
-      01000A1CH   LINE      ---      ---       #253
-      01000A22H   LINE      ---      ---       #254
-      01000A22H   LINE      ---      ---       #255
-      01000A27H   LINE      ---      ---       #256
-      01000A29H   LINE      ---      ---       #257
-      01000A30H   LINE      ---      ---       #258
-      01000A30H   LINE      ---      ---       #259
-      01000A36H   LINE      ---      ---       #260
-      01000A3BH   LINE      ---      ---       #261
-      01000A3DH   LINE      ---      ---       #262
-      01000A3DH   LINE      ---      ---       #263
-      01000A3DH   LINE      ---      ---       #264
-      01000A3FH   LINE      ---      ---       #266
-      01000A44H   LINE      ---      ---       #268
-      01000A4BH   LINE      ---      ---       #269
-      01000A4BH   LINE      ---      ---       #270
-      01000A51H   LINE      ---      ---       #271
-      01000A5AH   LINE      ---      ---       #272
-      01000A5DH   LINE      ---      ---       #273
-      01000A64H   LINE      ---      ---       #274
-      01000A64H   LINE      ---      ---       #275
-      01000A6EH   LINE      ---      ---       #276
-      01000A6EH   LINE      ---      ---       #277
-      01000A70H   LINE      ---      ---       #278
-      01000A74H   LINE      ---      ---       #279
-      01000A78H   LINE      ---      ---       #280
-      01000A78H   LINE      ---      ---       #281
-      01000A78H   LINE      ---      ---       #282
-      01000A78H   LINE      ---      ---       #284
-      01000A7DH   LINE      ---      ---       #286
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000F90H   BLOCK     CODE     ---       LVL=0
-      01000F90H   LINE      ---      ---       #290
-      01000F90H   LINE      ---      ---       #291
-      01000F90H   LINE      ---      ---       #292
-      01000F93H   LINE      ---      ---       #294
-      01000FA1H   LINE      ---      ---       #296
-      01000FA4H   LINE      ---      ---       #297
-      01000FA6H   LINE      ---      ---       #298
-      01000FA8H   LINE      ---      ---       #299
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010015B7H   BLOCK     CODE     ---       LVL=0
-      010015B7H   LINE      ---      ---       #305
-      010015B7H   LINE      ---      ---       #306
-      010015B7H   LINE      ---      ---       #308
-      010015BDH   LINE      ---      ---       #309
-      010015BDH   LINE      ---      ---       #310
-      010015BFH   LINE      ---      ---       #311
-      010015BFH   LINE      ---      ---       #313
-      010015C5H   LINE      ---      ---       #314
-      010015C7H   LINE      ---      ---       #316
-      010015CDH   LINE      ---      ---       #317
-      010015CDH   LINE      ---      ---       #318
-      010015CFH   LINE      ---      ---       #319
-      010015D2H   LINE      ---      ---       #320
-      010015D8H   LINE      ---      ---       #321
-      010015D8H   LINE      ---      ---       #322
-      010015DAH   LINE      ---      ---       #323
-      010015DAH   LINE      ---      ---       #324
-      010015DCH   LINE      ---      ---       #326
-      010015E2H   LINE      ---      ---       #327
-      010015E2H   LINE      ---      ---       #328
-      010015E8H   LINE      ---      ---       #329
-      010015E8H   LINE      ---      ---       #330
-      010015EAH   LINE      ---      ---       #331
-      010015EEH   LINE      ---      ---       #332
-      010015EEH   LINE      ---      ---       #333
-      010015F5H   LINE      ---      ---       #334
-      010015F7H   LINE      ---      ---       #336
-      010015FEH   LINE      ---      ---       #337
-      01001604H   LINE      ---      ---       #338
-      01001607H   LINE      ---      ---       #339
-      01001607H   LINE      ---      ---       #340
-      01001607H   LINE      ---      ---       #343
-      0100160DH   LINE      ---      ---       #344
-      0100160DH   LINE      ---      ---       #345
-      01001615H   LINE      ---      ---       #346
-      01001615H   LINE      ---      ---       #347
-      01001616H   LINE      ---      ---       #349
-      0100161CH   LINE      ---      ---       #350
-      0100161CH   LINE      ---      ---       #351
-      01001626H   LINE      ---      ---       #352
-      01001628H   LINE      ---      ---       #353
-      0100162EH   LINE      ---      ---       #354
-      0100162EH   LINE      ---      ---       #356
-      01001638H   LINE      ---      ---       #357
-      01001638H   LINE      ---      ---       #358
-      01001638H   LINE      ---      ---       #359
-      01001638H   LINE      ---      ---       #361
-      0100163EH   LINE      ---      ---       #362
-      01001641H   LINE      ---      ---       #363
-      01001641H   LINE      ---      ---       #364
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001499H   BLOCK     CODE     ---       LVL=0
-      01001499H   LINE      ---      ---       #378
-      01001499H   LINE      ---      ---       #379
-      01001499H   LINE      ---      ---       #380
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010011E3H   BLOCK     CODE     ---       LVL=0
-      010011E3H   LINE      ---      ---       #385
-      010011E3H   LINE      ---      ---       #386
-      010011E3H   LINE      ---      ---       #387
-      010011E5H   LINE      ---      ---       #388
-      010011E5H   LINE      ---      ---       #389
-      010011E7H   LINE      ---      ---       #390
-      010011E9H   LINE      ---      ---       #391
-      010011EBH   LINE      ---      ---       #392
-      010011EEH   LINE      ---      ---       #394
-      010011F9H   LINE      ---      ---       #395
-      010011F9H   LINE      ---      ---       #396
-      010011FBH   LINE      ---      ---       #398
-      010011FEH   LINE      ---      ---       #399
-      01001201H   LINE      ---      ---       #400
-      01001203H   LINE      ---      ---       #401
-      01001203H   LINE      ---      ---       #403
-      01001203H   LINE      ---      ---       #404
-      01001227H   LINE      ---      ---       #406
-      01001227H   LINE      ---      ---       #407
-      01001229H   LINE      ---      ---       #408
-      0100122BH   LINE      ---      ---       #409
-      0100122BH   LINE      ---      ---       #411
-      0100122BH   LINE      ---      ---       #412
-      0100122DH   LINE      ---      ---       #413
-      01001230H   LINE      ---      ---       #414
-      01001232H   LINE      ---      ---       #415
-      01001232H   LINE      ---      ---       #416
-      01001232H   LINE      ---      ---       #417
+      010011A3H   BLOCK     CODE     ---       LVL=0
+      010011A3H   LINE      ---      ---       #89
+      010011A8H   LINE      ---      ---       #90
+      010011A8H   LINE      ---      ---       #91
+      010011C1H   LINE      ---      ---       #92
+      010011C1H   LINE      ---      ---       #93
+      010011C1H   LINE      ---      ---       #97
+      010011C1H   LINE      ---      ---       #98
+      010011C3H   LINE      ---      ---       #99
+      010011C6H   LINE      ---      ---       #100
+      010011D6H   LINE      ---      ---       #101
+      010011DAH   LINE      ---      ---       #102
+      010011EDH   LINE      ---      ---       #103
+      010011F1H   LINE      ---      ---       #104
+      010011F4H   LINE      ---      ---       #105
+      010011F4H   LINE      ---      ---       #106
+      010011F4H   LINE      ---      ---       #107
+      010011F6H   LINE      ---      ---       #108
+      010011F6H   LINE      ---      ---       #112
+      010011F6H   LINE      ---      ---       #113
+      010011F6H   LINE      ---      ---       #114
+      010011FCH   LINE      ---      ---       #115
+      010011FFH   LINE      ---      ---       #116
+      01001202H   LINE      ---      ---       #117
+      01001207H   LINE      ---      ---       #118
+      0100120BH   LINE      ---      ---       #119
+      01001211H   LINE      ---      ---       #120
+      01001215H   LINE      ---      ---       #122
+      0100121DH   LINE      ---      ---       #123
+      0100121DH   LINE      ---      ---       #124
+      01001223H   LINE      ---      ---       #125
+      0100123AH   LINE      ---      ---       #127
+      01001240H   LINE      ---      ---       #128
+      01001241H   LINE      ---      ---       #130
+      01001241H   LINE      ---      ---       #131
+      01001247H   LINE      ---      ---       #132
+      0100124EH   LINE      ---      ---       #133
+      0100124EH   LINE      ---      ---       #134
+      0100124EH   LINE      ---      ---       #136
+      0100124EH   LINE      ---      ---       #137
+      01001253H   LINE      ---      ---       #138
+      01001255H   LINE      ---      ---       #139
+      0100125BH   LINE      ---      ---       #140
+      01001260H   LINE      ---      ---       #142
+      01001266H   LINE      ---      ---       #143
+      01001266H   LINE      ---      ---       #144
+      01001269H   LINE      ---      ---       #145
+      01001271H   LINE      ---      ---       #146
+      01001271H   LINE      ---      ---       #147
+      01001271H   LINE      ---      ---       #149
+      01001278H   LINE      ---      ---       #150
+      01001278H   LINE      ---      ---       #151
+      0100127AH   LINE      ---      ---       #152
+      0100127DH   LINE      ---      ---       #153
+      0100127DH   LINE      ---      ---       #154
+      0100127DH   LINE      ---      ---       #155
+      0100127DH   LINE      ---      ---       #156
+      0100127DH   LINE      ---      ---       #157
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000796H   BLOCK     CODE     ---       LVL=0
+      01000796H   LINE      ---      ---       #160
+      01000796H   LINE      ---      ---       #161
+      01000796H   LINE      ---      ---       #162
+      0100079EH   LINE      ---      ---       #164
+      010007A4H   LINE      ---      ---       #165
+      010007A4H   LINE      ---      ---       #166
+      010007A9H   LINE      ---      ---       #167
+      010007A9H   LINE      ---      ---       #169
+      010007A9H   LINE      ---      ---       #171
+      010007A9H   LINE      ---      ---       #174
+      010007AEH   LINE      ---      ---       #175
+      010007AEH   LINE      ---      ---       #176
+      010007B4H   LINE      ---      ---       #177
+      010007B4H   LINE      ---      ---       #178
+      010007B6H   LINE      ---      ---       #179
+      010007BCH   LINE      ---      ---       #180
+      010007C2H   LINE      ---      ---       #181
+      010007C8H   LINE      ---      ---       #182
+      010007CAH   LINE      ---      ---       #184
+      010007D0H   LINE      ---      ---       #187
+      010007D6H   LINE      ---      ---       #188
+      010007D6H   LINE      ---      ---       #189
+      010007D8H   LINE      ---      ---       #190
+      010007DEH   LINE      ---      ---       #191
+      010007E4H   LINE      ---      ---       #192
+      010007EAH   LINE      ---      ---       #193
+      010007EAH   LINE      ---      ---       #195
+      010007F0H   LINE      ---      ---       #196
+      010007F0H   LINE      ---      ---       #197
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001DCDH   BLOCK     CODE     ---       LVL=0
+      01001DCDH   LINE      ---      ---       #199
+      01001DCDH   LINE      ---      ---       #200
+      01001DCDH   LINE      ---      ---       #203
+      01001DD4H   LINE      ---      ---       #204
+      01001DD4H   LINE      ---      ---       #205
+      01001DE2H   LINE      ---      ---       #206
+      01001DE5H   LINE      ---      ---       #207
+      01001DE5H   LINE      ---      ---       #208
+      01001DECH   LINE      ---      ---       #209
+      01001DECH   LINE      ---      ---       #210
+      01001DF8H   LINE      ---      ---       #211
+      01001DF8H   LINE      ---      ---       #212
+      01001DFDH   LINE      ---      ---       #213
+      01001E00H   LINE      ---      ---       #214
+      01001E00H   LINE      ---      ---       #215
+      01001E00H   LINE      ---      ---       #217
+      01001E00H   LINE      ---      ---       #218
+      01001E0CH   LINE      ---      ---       #219
+      01001E0CH   LINE      ---      ---       #220
+      01001E0FH   LINE      ---      ---       #221
+      01001E0FH   LINE      ---      ---       #222
+      01001E0FH   LINE      ---      ---       #223
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001E27H   BLOCK     CODE     ---       LVL=0
+      01001E27H   LINE      ---      ---       #227
+      01001E27H   LINE      ---      ---       #228
+      01001E27H   LINE      ---      ---       #230
+      01001E2DH   LINE      ---      ---       #231
+      01001E2DH   LINE      ---      ---       #232
+      01001E34H   LINE      ---      ---       #233
+      01001E3AH   LINE      ---      ---       #234
+      01001E3DH   LINE      ---      ---       #235
+      01001E3DH   LINE      ---      ---       #236
+      01001E42H   LINE      ---      ---       #237
+      01001E47H   LINE      ---      ---       #238
+      01001E4AH   LINE      ---      ---       #239
+      01001E4AH   LINE      ---      ---       #240
+      01001E4AH   LINE      ---      ---       #241
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001E5CH   BLOCK     CODE     ---       LVL=0
+      01001E5CH   LINE      ---      ---       #243
+      01001E5CH   LINE      ---      ---       #244
+      01001E5CH   LINE      ---      ---       #247
+      01001E63H   LINE      ---      ---       #248
+      01001E63H   LINE      ---      ---       #249
+      01001E6CH   LINE      ---      ---       #250
+      01001E6FH   LINE      ---      ---       #251
+      01001E77H   LINE      ---      ---       #252
+      01001E77H   LINE      ---      ---       #253
+      01001E7DH   LINE      ---      ---       #254
+      01001E83H   LINE      ---      ---       #255
+      01001E83H   LINE      ---      ---       #256
+      01001E88H   LINE      ---      ---       #257
+      01001E8AH   LINE      ---      ---       #258
+      01001E91H   LINE      ---      ---       #259
+      01001E91H   LINE      ---      ---       #260
+      01001E97H   LINE      ---      ---       #261
+      01001E9CH   LINE      ---      ---       #262
+      01001E9FH   LINE      ---      ---       #263
+      01001E9FH   LINE      ---      ---       #264
+      01001E9FH   LINE      ---      ---       #265
+      01001EA1H   LINE      ---      ---       #267
+      01001EA6H   LINE      ---      ---       #269
+      01001EADH   LINE      ---      ---       #270
+      01001EADH   LINE      ---      ---       #271
+      01001EB3H   LINE      ---      ---       #272
+      01001EBCH   LINE      ---      ---       #273
+      01001EBFH   LINE      ---      ---       #274
+      01001EC6H   LINE      ---      ---       #275
+      01001EC6H   LINE      ---      ---       #276
+      01001ED0H   LINE      ---      ---       #277
+      01001ED0H   LINE      ---      ---       #278
+      01001ED3H   LINE      ---      ---       #279
+      01001ED8H   LINE      ---      ---       #280
+      01001EDDH   LINE      ---      ---       #281
+      01001EDDH   LINE      ---      ---       #282
+      01001EDDH   LINE      ---      ---       #283
+      01001EDDH   LINE      ---      ---       #285
+      01001EE2H   LINE      ---      ---       #287
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001E10H   BLOCK     CODE     ---       LVL=0
+      01001E10H   LINE      ---      ---       #291
+      01001E10H   LINE      ---      ---       #292
+      01001E10H   LINE      ---      ---       #293
+      01001E13H   LINE      ---      ---       #295
+      01001E21H   LINE      ---      ---       #297
+      01001E23H   LINE      ---      ---       #298
+      01001E25H   LINE      ---      ---       #299
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001FCFH   BLOCK     CODE     ---       LVL=0
+      01001FCFH   LINE      ---      ---       #306
+      01001FCFH   LINE      ---      ---       #307
+      01001FCFH   LINE      ---      ---       #309
+      01001FD5H   LINE      ---      ---       #310
+      01001FD5H   LINE      ---      ---       #311
+      01001FD7H   LINE      ---      ---       #312
+      01001FD7H   LINE      ---      ---       #314
+      01001FDDH   LINE      ---      ---       #315
+      01001FDFH   LINE      ---      ---       #317
+      01001FE5H   LINE      ---      ---       #318
+      01001FE5H   LINE      ---      ---       #319
+      01001FE7H   LINE      ---      ---       #320
+      01001FEEH   LINE      ---      ---       #321
+      01001FF4H   LINE      ---      ---       #322
+      01001FF4H   LINE      ---      ---       #323
+      01001FFBH   LINE      ---      ---       #324
+      01001FFBH   LINE      ---      ---       #325
+      01001FFDH   LINE      ---      ---       #327
+      01002003H   LINE      ---      ---       #328
+      01002003H   LINE      ---      ---       #329
+      01002009H   LINE      ---      ---       #330
+      01002009H   LINE      ---      ---       #331
+      0100200BH   LINE      ---      ---       #332
+      0100200FH   LINE      ---      ---       #333
+      0100200FH   LINE      ---      ---       #334
+      01002016H   LINE      ---      ---       #335
+      01002018H   LINE      ---      ---       #337
+      0100201FH   LINE      ---      ---       #338
+      01002025H   LINE      ---      ---       #339
+      01002028H   LINE      ---      ---       #340
+      01002028H   LINE      ---      ---       #341
+      01002028H   LINE      ---      ---       #344
+      0100202EH   LINE      ---      ---       #345
+      0100202EH   LINE      ---      ---       #346
+      01002036H   LINE      ---      ---       #347
+      01002036H   LINE      ---      ---       #348
+      01002037H   LINE      ---      ---       #350
+      0100203DH   LINE      ---      ---       #351
+      0100203DH   LINE      ---      ---       #352
+      01002048H   LINE      ---      ---       #353
+      0100204AH   LINE      ---      ---       #354
+      01002050H   LINE      ---      ---       #355
+      01002050H   LINE      ---      ---       #357
+      0100205BH   LINE      ---      ---       #358
+      0100205BH   LINE      ---      ---       #359
+      0100205BH   LINE      ---      ---       #360
+      0100205BH   LINE      ---      ---       #362
+      01002061H   LINE      ---      ---       #363
+      01002064H   LINE      ---      ---       #364
+      01002064H   LINE      ---      ---       #365
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001526H   BLOCK     CODE     ---       LVL=0
+      01001526H   LINE      ---      ---       #379
+      01001526H   LINE      ---      ---       #380
+      01001526H   LINE      ---      ---       #381
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100138BH   BLOCK     CODE     ---       LVL=0
+      0100138BH   LINE      ---      ---       #386
+      0100138BH   LINE      ---      ---       #387
+      0100138BH   LINE      ---      ---       #388
+      0100138DH   LINE      ---      ---       #389
+      0100138DH   LINE      ---      ---       #390
+      0100138FH   LINE      ---      ---       #391
+      01001392H   LINE      ---      ---       #392
+      01001394H   LINE      ---      ---       #393
+      01001397H   LINE      ---      ---       #395
+      010013A2H   LINE      ---      ---       #396
+      010013A2H   LINE      ---      ---       #397
+      010013A4H   LINE      ---      ---       #399
+      010013A6H   LINE      ---      ---       #400
+      010013A8H   LINE      ---      ---       #401
+      010013AAH   LINE      ---      ---       #402
+      010013AAH   LINE      ---      ---       #404
+      010013AAH   LINE      ---      ---       #405
+      010013C2H   LINE      ---      ---       #407
+      010013C2H   LINE      ---      ---       #408
+      010013C4H   LINE      ---      ---       #409
+      010013C6H   LINE      ---      ---       #410
+      010013C6H   LINE      ---      ---       #412
+      010013C6H   LINE      ---      ---       #413
+      010013C8H   LINE      ---      ---       #414
+      010013CAH   LINE      ---      ---       #415
+      010013CCH   LINE      ---      ---       #416
+      010013CCH   LINE      ---      ---       #417
+      010013CCH   LINE      ---      ---       #418
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       ADC
-      010023E9H   PUBLIC    CODE     ---       YC_adc_check_timer500ms
-      010022FDH   PUBLIC    CODE     ---       YC_adc_check
-      0100216CH   PUBLIC    CODE     ---       YC_adc_init
-
-      0100216CH   BLOCK     CODE     ---       LVL=0
-      0100216CH   LINE      ---      ---       #3
-      0100216CH   LINE      ---      ---       #4
-      0100216CH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100216CH   LINE      ---      ---       #9
-      01002172H   LINE      ---      ---       #10
-      01002178H   LINE      ---      ---       #11
-      0100217BH   LINE      ---      ---       #12
-      0100217CH   LINE      ---      ---       #13
-      0100217CH   LINE      ---      ---       #14
-      0100218FH   LINE      ---      ---       #15
-      01002194H   LINE      ---      ---       #18
-      0100219EH   LINE      ---      ---       #19
-      0100219EH   LINE      ---      ---       #20
-      010021ECH   LINE      ---      ---       #21
-      0100223AH   LINE      ---      ---       #22
-      0100223BH   LINE      ---      ---       #23
-      01002245H   LINE      ---      ---       #24
-      01002245H   LINE      ---      ---       #26
-      01002245H   LINE      ---      ---       #28
-      01002245H   LINE      ---      ---       #29
-      01002293H   LINE      ---      ---       #30
-      010022E1H   LINE      ---      ---       #31
-      010022E1H   LINE      ---      ---       #33
+      01001E4BH   PUBLIC    CODE     ---       YC_adc_check_timer500ms
+      01001EE3H   PUBLIC    CODE     ---       YC_adc_check
+      01002065H   PUBLIC    CODE     ---       YC_adc_init
+
+      01002065H   BLOCK     CODE     ---       LVL=0
+      01002065H   LINE      ---      ---       #3
+      01002065H   LINE      ---      ---       #4
+      01002065H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002065H   LINE      ---      ---       #8
+      0100206BH   LINE      ---      ---       #9
+      0100206EH   LINE      ---      ---       #29
+      01002074H   LINE      ---      ---       #30
+      01002076H   LINE      ---      ---       #31
+      01002076H   LINE      ---      ---       #32
+      01002087H   LINE      ---      ---       #33
+      0100208CH   LINE      ---      ---       #34
+      010020DAH   LINE      ---      ---       #35
+      01002128H   LINE      ---      ---       #38
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010022FDH   BLOCK     CODE     ---       LVL=0
-      010022FDH   LINE      ---      ---       #35
-      010022FDH   LINE      ---      ---       #36
-      010022FDH   BLOCK     CODE     NEAR LAB  LVL=1
-      010022FDH   LINE      ---      ---       #38
-      01002307H   LINE      ---      ---       #45
-      01002327H   LINE      ---      ---       #46
-      01002330H   LINE      ---      ---       #47
-      01002332H   LINE      ---      ---       #48
-      01002337H   LINE      ---      ---       #49
-      01002337H   LINE      ---      ---       #50
-      0100236EH   LINE      ---      ---       #51
-      01002378H   LINE      ---      ---       #52
-      01002395H   LINE      ---      ---       #54
-      010023AAH   LINE      ---      ---       #55
-      010023AAH   LINE      ---      ---       #56
-      010023B0H   LINE      ---      ---       #57
-      010023B1H   LINE      ---      ---       #59
-      010023B1H   LINE      ---      ---       #60
-      010023D0H   LINE      ---      ---       #61
-      010023D0H   LINE      ---      ---       #62
-      010023D6H   LINE      ---      ---       #63
-      010023DCH   LINE      ---      ---       #64
-      010023DDH   LINE      ---      ---       #66
-      010023DDH   LINE      ---      ---       #67
-      010023E2H   LINE      ---      ---       #68
-      010023E8H   LINE      ---      ---       #69
-      010023E8H   LINE      ---      ---       #70
-      010023E8H   LINE      ---      ---       #72
+      01001EE3H   BLOCK     CODE     ---       LVL=0
+      01001EE3H   LINE      ---      ---       #40
+      01001EE3H   LINE      ---      ---       #41
+      01001EE3H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001EE3H   LINE      ---      ---       #44
+      01001EEDH   LINE      ---      ---       #46
+      01001F0DH   LINE      ---      ---       #47
+      01001F16H   LINE      ---      ---       #48
+      01001F18H   LINE      ---      ---       #49
+      01001F1DH   LINE      ---      ---       #50
+      01001F1DH   LINE      ---      ---       #51
+      01001F54H   LINE      ---      ---       #52
+      01001F5EH   LINE      ---      ---       #53
+      01001F7BH   LINE      ---      ---       #55
+      01001F90H   LINE      ---      ---       #56
+      01001F90H   LINE      ---      ---       #57
+      01001F96H   LINE      ---      ---       #58
+      01001F97H   LINE      ---      ---       #60
+      01001F97H   LINE      ---      ---       #61
+      01001FB6H   LINE      ---      ---       #62
+      01001FB6H   LINE      ---      ---       #63
+      01001FBCH   LINE      ---      ---       #64
+      01001FC2H   LINE      ---      ---       #65
+      01001FC3H   LINE      ---      ---       #67
+      01001FC3H   LINE      ---      ---       #68
+      01001FC8H   LINE      ---      ---       #69
+      01001FCEH   LINE      ---      ---       #70
+      01001FCEH   LINE      ---      ---       #71
+      01001FCEH   LINE      ---      ---       #73
       02004E57H   SYMBOL    XDATA    VOID      i
       02004E58H   SYMBOL    XDATA    VOID      batValue
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010023E9H   BLOCK     CODE     ---       LVL=0
-      010023E9H   LINE      ---      ---       #75
-      010023E9H   LINE      ---      ---       #76
-      010023E9H   LINE      ---      ---       #78
-      010023EFH   LINE      ---      ---       #79
-      010023EFH   LINE      ---      ---       #80
-      010023F1H   LINE      ---      ---       #81
-      010023F4H   LINE      ---      ---       #82
-      010023F4H   LINE      ---      ---       #83
-      010023F7H   LINE      ---      ---       #84
-      010023F9H   LINE      ---      ---       #85
-      010023F9H   LINE      ---      ---       #86
-      010023F9H   LINE      ---      ---       #87
+      01001E4BH   BLOCK     CODE     ---       LVL=0
+      01001E4BH   LINE      ---      ---       #76
+      01001E4BH   LINE      ---      ---       #77
+      01001E4BH   LINE      ---      ---       #80
+      01001E51H   LINE      ---      ---       #81
+      01001E51H   LINE      ---      ---       #82
+      01001E53H   LINE      ---      ---       #83
+      01001E56H   LINE      ---      ---       #84
+      01001E56H   LINE      ---      ---       #85
+      01001E59H   LINE      ---      ---       #86
+      01001E5BH   LINE      ---      ---       #87
+      01001E5BH   LINE      ---      ---       #88
+      01001E5BH   LINE      ---      ---       #90
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       RAM
-      010017AAH   PUBLIC    CODE     ---       main
+      010017B5H   PUBLIC    CODE     ---       main
 
-      010017AAH   BLOCK     CODE     ---       LVL=0
-      010017AAH   LINE      ---      ---       #5
-      010017AAH   LINE      ---      ---       #6
-      010017AAH   LINE      ---      ---       #7
+      010017B5H   BLOCK     CODE     ---       LVL=0
+      010017B5H   LINE      ---      ---       #5
+      010017B5H   LINE      ---      ---       #6
+      010017B5H   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       IPC
@@ -2083,226 +1928,227 @@
       02000C4BH   PUBLIC    XDATA    ---       ipcReadBuff
       0200054FH   PUBLIC    XDATA    BYTE      ipcPinlen
       02000B7EH   PUBLIC    XDATA    BYTE      current_task
-      010016E3H   PUBLIC    CODE     ---       IPC_DealSingleStep
-      010017BFH   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
-      010017B3H   PUBLIC    CODE     ---       IPC_AbandonLpm
-      01000FB4H   PUBLIC    CODE     ---       IPC_WaitLpm
-      0100149FH   PUBLIC    CODE     ---       _IPC_Initialize
-      010024A4H   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
-      010014ACH   PUBLIC    CODE     ---       _IPC_Tx24GData
-      010014B2H   PUBLIC    CODE     ---       _IPC_TxData
-      010008F6H   PUBLIC    CODE     ---       _IPC_TxControlCmd
-
-      010023FAH   BLOCK     CODE     ---       LVL=0
-      010023FAH   LINE      ---      ---       #44
-      0100240AH   LINE      ---      ---       #45
-      0100240AH   LINE      ---      ---       #46
-      01002453H   LINE      ---      ---       #47
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002454H   BLOCK     CODE     ---       LVL=0
-      01002454H   LINE      ---      ---       #49
-      0100245EH   LINE      ---      ---       #50
-      0100245EH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100245EH   LINE      ---      ---       #51
-      01002466H   LINE      ---      ---       #52
-      0100246CH   LINE      ---      ---       #53
-      0100248BH   LINE      ---      ---       #54
-      01002495H   LINE      ---      ---       #55
-      01002499H   LINE      ---      ---       #56
-      01002499H   LINE      ---      ---       #57
-      0100249BH   LINE      ---      ---       #58
-      010024A3H   LINE      ---      ---       #59
+      010016EEH   PUBLIC    CODE     ---       IPC_DealSingleStep
+      01000FADH   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
+      010017B7H   PUBLIC    CODE     ---       IPC_AbandonLpm
+      01001519H   PUBLIC    CODE     ---       IPC_WaitLpm
+      0100152CH   PUBLIC    CODE     ---       _IPC_Initialize
+      010021D3H   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
+      01000F53H   PUBLIC    CODE     ---       _IPC_Tx24GData
+      010008B5H   PUBLIC    CODE     ---       _IPC_TxData
+      010007F8H   PUBLIC    CODE     ---       _IPC_TxControlCmd
+
+      01002129H   BLOCK     CODE     ---       LVL=0
+      01002129H   LINE      ---      ---       #44
+      01002139H   LINE      ---      ---       #45
+      01002139H   LINE      ---      ---       #46
+      01002182H   LINE      ---      ---       #47
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002183H   BLOCK     CODE     ---       LVL=0
+      01002183H   LINE      ---      ---       #49
+      0100218DH   LINE      ---      ---       #50
+      0100218DH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100218DH   LINE      ---      ---       #51
+      01002195H   LINE      ---      ---       #52
+      0100219BH   LINE      ---      ---       #53
+      010021BAH   LINE      ---      ---       #54
+      010021C4H   LINE      ---      ---       #55
+      010021C8H   LINE      ---      ---       #56
+      010021C8H   LINE      ---      ---       #57
+      010021CAH   LINE      ---      ---       #58
+      010021D2H   LINE      ---      ---       #59
       00000006H   SYMBOL    DATA     VOID      src
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      0100091EH   BLOCK     CODE     ---       LVL=0
-      0100091EH   LINE      ---      ---       #61
-      0100092CH   LINE      ---      ---       #62
-      0100092CH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100092CH   LINE      ---      ---       #63
-      0100093BH   LINE      ---      ---       #64
-      0100095AH   LINE      ---      ---       #65
-      01000964H   LINE      ---      ---       #66
-      01000989H   LINE      ---      ---       #67
-      01000997H   LINE      ---      ---       #68
-      010009A1H   LINE      ---      ---       #69
-      010009A1H   LINE      ---      ---       #70
-      010009A3H   LINE      ---      ---       #71
-      010009B2H   LINE      ---      ---       #72
+      01000820H   BLOCK     CODE     ---       LVL=0
+      01000820H   LINE      ---      ---       #61
+      0100082EH   LINE      ---      ---       #62
+      0100082EH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100082EH   LINE      ---      ---       #63
+      0100083DH   LINE      ---      ---       #64
+      0100085CH   LINE      ---      ---       #65
+      01000866H   LINE      ---      ---       #66
+      0100088BH   LINE      ---      ---       #67
+      01000899H   LINE      ---      ---       #68
+      010008A3H   LINE      ---      ---       #69
+      010008A3H   LINE      ---      ---       #70
+      010008A5H   LINE      ---      ---       #71
+      010008B4H   LINE      ---      ---       #72
       02004E4AH   SYMBOL    XDATA    VOID      dest
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010008F6H   BLOCK     CODE     ---       LVL=0
-      010008F6H   LINE      ---      ---       #74
-      010008FBH   LINE      ---      ---       #75
-      010008FBH   BLOCK     CODE     NEAR LAB  LVL=1
-      010008FBH   LINE      ---      ---       #76
-      0100090EH   LINE      ---      ---       #79
-      01000916H   LINE      ---      ---       #80
+      010007F8H   BLOCK     CODE     ---       LVL=0
+      010007F8H   LINE      ---      ---       #74
+      010007FDH   LINE      ---      ---       #75
+      010007FDH   BLOCK     CODE     NEAR LAB  LVL=1
+      010007FDH   LINE      ---      ---       #76
+      01000810H   LINE      ---      ---       #79
+      01000818H   LINE      ---      ---       #80
       02004E72H   SYMBOL    XDATA    VOID      cmdBuff
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010014B2H   BLOCK     CODE     ---       LVL=0
-      010014B2H   LINE      ---      ---       #83
-      010014B7H   LINE      ---      ---       #84
-      010014B7H   LINE      ---      ---       #85
-      010014BDH   LINE      ---      ---       #86
-      010014C9H   LINE      ---      ---       #87
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010014ACH   BLOCK     CODE     ---       LVL=0
-      010014ACH   LINE      ---      ---       #90
-      010014ACH   LINE      ---      ---       #91
-      010014ACH   LINE      ---      ---       #92
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010024A4H   BLOCK     CODE     ---       LVL=0
-      010024A4H   LINE      ---      ---       #98
-      010024A4H   LINE      ---      ---       #99
-      010024A4H   LINE      ---      ---       #100
-      010024A9H   LINE      ---      ---       #101
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100149FH   BLOCK     CODE     ---       LVL=0
-      0100149FH   LINE      ---      ---       #103
-      0100149FH   LINE      ---      ---       #104
-      0100149FH   LINE      ---      ---       #105
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000FB4H   BLOCK     CODE     ---       LVL=0
-      01000FB4H   LINE      ---      ---       #108
-      01000FB4H   LINE      ---      ---       #109
-      01000FB4H   LINE      ---      ---       #110
-      01000FB9H   LINE      ---      ---       #111
-      01000FBDH   LINE      ---      ---       #112
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010017B3H   BLOCK     CODE     ---       LVL=0
-      010017B3H   LINE      ---      ---       #115
-      010017B3H   LINE      ---      ---       #116
-      010017B3H   LINE      ---      ---       #117
-      010017B9H   LINE      ---      ---       #118
-      010017BEH   LINE      ---      ---       #119
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010017BFH   BLOCK     CODE     ---       LVL=0
-      010017BFH   LINE      ---      ---       #121
-      010017BFH   LINE      ---      ---       #122
-      010017BFH   LINE      ---      ---       #123
-      010017D3H   LINE      ---      ---       #124
-      010017D5H   LINE      ---      ---       #125
-      010017D6H   LINE      ---      ---       #126
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010016E3H   BLOCK     CODE     ---       LVL=0
-      010016E3H   LINE      ---      ---       #129
-      010016E3H   LINE      ---      ---       #130
-      010016E3H   BLOCK     CODE     NEAR LAB  LVL=1
-      010016E3H   LINE      ---      ---       #131
-      010016F5H   LINE      ---      ---       #132
-      01001709H   LINE      ---      ---       #133
-      01001709H   LINE      ---      ---       #134
-      01001712H   LINE      ---      ---       #135
-      01001723H   LINE      ---      ---       #136
-      0100172DH   LINE      ---      ---       #137
-      0100174CH   LINE      ---      ---       #138
-      0100174EH   LINE      ---      ---       #139
-      0100174EH   LINE      ---      ---       #140
-      01001750H   LINE      ---      ---       #141
-      01001750H   LINE      ---      ---       #142
-      01001750H   LINE      ---      ---       #143
-      01001764H   LINE      ---      ---       #144
-      01001772H   LINE      ---      ---       #146
-      01001775H   LINE      ---      ---       #148
-      01001784H   LINE      ---      ---       #149
-      01001786H   LINE      ---      ---       #150
-      01001790H   LINE      ---      ---       #151
-      0100179EH   LINE      ---      ---       #153
-      010017A1H   LINE      ---      ---       #155
-      010017A7H   LINE      ---      ---       #156
-      010017A9H   LINE      ---      ---       #158
-      01001750H   SYMBOL    ---      ---       IPC_TIMERingleStep
+      010008B5H   BLOCK     CODE     ---       LVL=0
+      010008B5H   LINE      ---      ---       #83
+      010008BAH   LINE      ---      ---       #84
+      010008BAH   LINE      ---      ---       #85
+      010008C0H   LINE      ---      ---       #86
+      010008CBH   LINE      ---      ---       #87
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F53H   BLOCK     CODE     ---       LVL=0
+      01000F53H   LINE      ---      ---       #90
+      01000F53H   LINE      ---      ---       #91
+      01000F53H   LINE      ---      ---       #92
+      01000F59H   LINE      ---      ---       #93
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010021D3H   BLOCK     CODE     ---       LVL=0
+      010021D3H   LINE      ---      ---       #98
+      010021D3H   LINE      ---      ---       #99
+      010021D3H   LINE      ---      ---       #100
+      010021D8H   LINE      ---      ---       #101
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100152CH   BLOCK     CODE     ---       LVL=0
+      0100152CH   LINE      ---      ---       #103
+      0100152CH   LINE      ---      ---       #104
+      0100152CH   LINE      ---      ---       #105
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001519H   BLOCK     CODE     ---       LVL=0
+      01001519H   LINE      ---      ---       #108
+      01001519H   LINE      ---      ---       #109
+      01001519H   LINE      ---      ---       #110
+      0100151EH   LINE      ---      ---       #111
+      01001522H   LINE      ---      ---       #112
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010017B7H   BLOCK     CODE     ---       LVL=0
+      010017B7H   LINE      ---      ---       #115
+      010017B7H   LINE      ---      ---       #116
+      010017B7H   LINE      ---      ---       #117
+      010017BDH   LINE      ---      ---       #118
+      010017C2H   LINE      ---      ---       #119
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000FADH   BLOCK     CODE     ---       LVL=0
+      01000FADH   LINE      ---      ---       #121
+      01000FADH   LINE      ---      ---       #122
+      01000FADH   LINE      ---      ---       #123
+      01000FC1H   LINE      ---      ---       #124
+      01000FC3H   LINE      ---      ---       #125
+      01000FC4H   LINE      ---      ---       #126
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010016EEH   BLOCK     CODE     ---       LVL=0
+      010016EEH   LINE      ---      ---       #129
+      010016EEH   LINE      ---      ---       #130
+      010016EEH   BLOCK     CODE     NEAR LAB  LVL=1
+      010016EEH   LINE      ---      ---       #131
+      01001700H   LINE      ---      ---       #132
+      01001714H   LINE      ---      ---       #133
+      01001714H   LINE      ---      ---       #134
+      0100171DH   LINE      ---      ---       #135
+      0100172EH   LINE      ---      ---       #136
+      01001738H   LINE      ---      ---       #137
+      01001757H   LINE      ---      ---       #138
+      01001759H   LINE      ---      ---       #139
+      01001759H   LINE      ---      ---       #140
+      0100175BH   LINE      ---      ---       #141
+      0100175BH   LINE      ---      ---       #142
+      0100175BH   LINE      ---      ---       #143
+      0100176FH   LINE      ---      ---       #144
+      0100177DH   LINE      ---      ---       #146
+      01001780H   LINE      ---      ---       #148
+      0100178FH   LINE      ---      ---       #149
+      01001791H   LINE      ---      ---       #150
+      0100179BH   LINE      ---      ---       #151
+      010017A9H   LINE      ---      ---       #153
+      010017ACH   LINE      ---      ---       #155
+      010017B2H   LINE      ---      ---       #156
+      010017B4H   LINE      ---      ---       #158
+      0100175BH   SYMBOL    ---      ---       IPC_TIMERingleStep
       02004E7BH   SYMBOL    XDATA    VOID      pbuff
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       UTILITIES
       02004E38H   PUBLIC    XDATA    BYTE      ?_compare_str?BYTE
-      01001BB6H   PUBLIC    CODE     ---       _compare_str
-      01000A7EH   PUBLIC    CODE     ---       _Delay1ms
-      010024F5H   PUBLIC    CODE     ---       _xmemclear_ff
-      01000EB3H   PUBLIC    CODE     ---       _xmemclear
+      01001B09H   PUBLIC    CODE     ---       _compare_str
+      0100109CH   PUBLIC    CODE     ---       _Delay1ms
+      01002224H   PUBLIC    CODE     ---       _xmemclear_ff
+      01000CCDH   PUBLIC    CODE     ---       _xmemclear
       02004E29H   PUBLIC    XDATA    BYTE      ?_dmemcpy?BYTE
-      010024B1H   PUBLIC    CODE     ---       _dmemcpy
+      010021E0H   PUBLIC    CODE     ---       _dmemcpy
       02004E4CH   PUBLIC    XDATA    BYTE      ?_xmemcpy?BYTE
-      01000C1AH   PUBLIC    CODE     ---       _xmemcpy
-      010024AAH   PUBLIC    CODE     ---       YC_Ice_break
+      010008DAH   PUBLIC    CODE     ---       _xmemcpy
+      010021D9H   PUBLIC    CODE     ---       YC_Ice_break
 
-      010024AAH   BLOCK     CODE     ---       LVL=0
-      010024AAH   LINE      ---      ---       #3
-      010024AAH   LINE      ---      ---       #4
-      010024AAH   LINE      ---      ---       #5
-      010024B0H   LINE      ---      ---       #7
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000C1AH   BLOCK     CODE     ---       LVL=0
-      01000C1AH   LINE      ---      ---       #9
-      01000C2BH   LINE      ---      ---       #10
-      01000C2BH   LINE      ---      ---       #11
-      01000C35H   LINE      ---      ---       #12
-      01000C5CH   LINE      ---      ---       #14
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010024B1H   BLOCK     CODE     ---       LVL=0
-      010024B1H   LINE      ---      ---       #16
-      010024BCH   LINE      ---      ---       #17
-      010024BCH   LINE      ---      ---       #18
-      010024CAH   LINE      ---      ---       #19
-      010024F4H   LINE      ---      ---       #21
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000EB3H   BLOCK     CODE     ---       LVL=0
-      01000EB3H   LINE      ---      ---       #23
-      01000EBEH   LINE      ---      ---       #24
-      01000EBEH   LINE      ---      ---       #25
-      01000EC8H   LINE      ---      ---       #26
-      01000EDEH   LINE      ---      ---       #28
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010024F5H   BLOCK     CODE     ---       LVL=0
-      010024F5H   LINE      ---      ---       #30
-      01002500H   LINE      ---      ---       #31
-      01002500H   LINE      ---      ---       #32
-      0100250AH   LINE      ---      ---       #33
-      01002521H   LINE      ---      ---       #35
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000A7EH   BLOCK     CODE     ---       LVL=0
-      01000A7EH   LINE      ---      ---       #46
-      01000A7EH   LINE      ---      ---       #47
-      01000A7EH   BLOCK     CODE     NEAR LAB  LVL=1
-      01000A7EH   LINE      ---      ---       #49
-      01000A84H   LINE      ---      ---       #50
-      01000A92H   LINE      ---      ---       #51
-      01000A95H   LINE      ---      ---       #52
+      010021D9H   BLOCK     CODE     ---       LVL=0
+      010021D9H   LINE      ---      ---       #3
+      010021D9H   LINE      ---      ---       #4
+      010021D9H   LINE      ---      ---       #5
+      010021DFH   LINE      ---      ---       #7
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010008DAH   BLOCK     CODE     ---       LVL=0
+      010008DAH   LINE      ---      ---       #9
+      010008EBH   LINE      ---      ---       #10
+      010008EBH   LINE      ---      ---       #11
+      010008F5H   LINE      ---      ---       #12
+      0100091CH   LINE      ---      ---       #14
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010021E0H   BLOCK     CODE     ---       LVL=0
+      010021E0H   LINE      ---      ---       #16
+      010021EBH   LINE      ---      ---       #17
+      010021EBH   LINE      ---      ---       #18
+      010021F9H   LINE      ---      ---       #19
+      01002223H   LINE      ---      ---       #21
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000CCDH   BLOCK     CODE     ---       LVL=0
+      01000CCDH   LINE      ---      ---       #23
+      01000CD8H   LINE      ---      ---       #24
+      01000CD8H   LINE      ---      ---       #25
+      01000CE2H   LINE      ---      ---       #26
+      01000CF8H   LINE      ---      ---       #28
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002224H   BLOCK     CODE     ---       LVL=0
+      01002224H   LINE      ---      ---       #30
+      0100222FH   LINE      ---      ---       #31
+      0100222FH   LINE      ---      ---       #32
+      01002239H   LINE      ---      ---       #33
+      01002250H   LINE      ---      ---       #35
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100109CH   BLOCK     CODE     ---       LVL=0
+      0100109CH   LINE      ---      ---       #46
+      0100109CH   LINE      ---      ---       #47
+      0100109CH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100109CH   LINE      ---      ---       #49
+      010010A2H   LINE      ---      ---       #50
+      010010B0H   LINE      ---      ---       #51
+      010010B3H   LINE      ---      ---       #52
       00000004H   SYMBOL    DATA     VOID      j
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001BB6H   BLOCK     CODE     ---       LVL=0
-      01001BB6H   LINE      ---      ---       #54
-      01001BC1H   LINE      ---      ---       #55
-      01001BC1H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001BC1H   LINE      ---      ---       #57
-      01001BCDH   LINE      ---      ---       #58
-      01001BF7H   LINE      ---      ---       #59
-      01001BFAH   LINE      ---      ---       #60
-      01001BFDH   LINE      ---      ---       #61
-      01001BFFH   LINE      ---      ---       #62
+      01001B09H   BLOCK     CODE     ---       LVL=0
+      01001B09H   LINE      ---      ---       #54
+      01001B14H   LINE      ---      ---       #55
+      01001B14H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001B14H   LINE      ---      ---       #57
+      01001B20H   LINE      ---      ---       #58
+      01001B4AH   LINE      ---      ---       #59
+      01001B4DH   LINE      ---      ---       #60
+      01001B50H   LINE      ---      ---       #61
+      01001B52H   LINE      ---      ---       #62
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -2310,247 +2156,247 @@
       ---         MODULE    ---      ---       GPIO
       020000A3H   PUBLIC    XDATA    ---       YC_GPIOWakeupL
       020000A7H   PUBLIC    XDATA    ---       YC_GPIOWakeupH
-      0100257EH   PUBLIC    CODE     ---       GPIO_fillpd
-      01002561H   PUBLIC    CODE     ---       _GPIO_FlipOutBit
-      010012E0H   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
-      01002522H   PUBLIC    CODE     ---       _GPIO_ClearWakeup
+      01002290H   PUBLIC    CODE     ---       GPIO_fillpd
+      010017C3H   PUBLIC    CODE     ---       _GPIO_FlipOutBit
+      0100147AH   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
+      01002251H   PUBLIC    CODE     ---       _GPIO_ClearWakeup
       00000020H.7 PUBLIC    BIT      BIT       ?_GPIO_SetWakeup?BIT
-      010012F3H   PUBLIC    CODE     ---       _GPIO_SetWakeup
+      0100148DH   PUBLIC    CODE     ---       _GPIO_SetWakeup
       00000020H.6 PUBLIC    BIT      BIT       ?_GPIO_SetOutput?BIT
-      01001006H   PUBLIC    CODE     ---       _GPIO_SetOutput
+      01001346H   PUBLIC    CODE     ---       _GPIO_SetOutput
       00000020H.5 PUBLIC    BIT      BIT       ?_GPIO_SetInput?BIT
-      01001044H   PUBLIC    CODE     ---       _GPIO_SetInput
+      0100158FH   PUBLIC    CODE     ---       _GPIO_SetInput
       00000020H.4 PUBLIC    BIT      BIT       ?_GPIO_Setoe?BIT
-      01001033H   PUBLIC    CODE     ---       _GPIO_Setoe
+      010015ADH   PUBLIC    CODE     ---       _GPIO_Setoe
       00000020H.3 PUBLIC    BIT      BIT       ?_GPIO_SetPd?BIT
-      01001062H   PUBLIC    CODE     ---       _GPIO_SetPd
+      010015BEH   PUBLIC    CODE     ---       _GPIO_SetPd
       00000020H.2 PUBLIC    BIT      BIT       ?_GPIO_SetPu?BIT
-      01001022H   PUBLIC    CODE     ---       _GPIO_SetPu
+      0100157EH   PUBLIC    CODE     ---       _GPIO_SetPu
       00000020H.1 PUBLIC    BIT      BIT       ?_GPIO_Setout?BIT
-      0100078BH   PUBLIC    CODE     ---       _GPIO_Setout
-      010014D9H   PUBLIC    CODE     ---       _GPIO_GetInputStatus
+      01000784H   PUBLIC    CODE     ---       _GPIO_Setout
+      01001539H   PUBLIC    CODE     ---       _GPIO_GetInputStatus
 
-      01001073H   BLOCK     CODE     ---       LVL=0
-      01001073H   LINE      ---      ---       #9
-      0100107EH   LINE      ---      ---       #10
-      0100107EH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100107EH   LINE      ---      ---       #11
-      01001080H   LINE      ---      ---       #12
-      01001081H   LINE      ---      ---       #14
-      01001085H   LINE      ---      ---       #15
-      0100108CH   LINE      ---      ---       #17
-      0100108FH   LINE      ---      ---       #18
-      010010B1H   LINE      ---      ---       #19
-      010010B1H   LINE      ---      ---       #21
-      010010B1H   LINE      ---      ---       #22
+      010015CFH   BLOCK     CODE     ---       LVL=0
+      010015CFH   LINE      ---      ---       #9
+      010015DAH   LINE      ---      ---       #10
+      010015DAH   BLOCK     CODE     NEAR LAB  LVL=1
+      010015DAH   LINE      ---      ---       #11
+      010015DCH   LINE      ---      ---       #12
+      010015DDH   LINE      ---      ---       #14
+      010015E1H   LINE      ---      ---       #15
+      010015E8H   LINE      ---      ---       #17
+      010015EBH   LINE      ---      ---       #18
+      0100160DH   LINE      ---      ---       #19
+      0100160DH   LINE      ---      ---       #21
+      0100160DH   LINE      ---      ---       #22
       00000006H   SYMBOL    DATA     VOID      queue
       00000005H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010014DFH   BLOCK     CODE     ---       LVL=0
-      010014DFH   LINE      ---      ---       #26
-      010014E1H   LINE      ---      ---       #27
-      010014E1H   BLOCK     CODE     NEAR LAB  LVL=1
-      010014E1H   LINE      ---      ---       #28
-      010014E6H   LINE      ---      ---       #29
-      010014E7H   LINE      ---      ---       #31
-      010014EBH   LINE      ---      ---       #32
-      010014F2H   LINE      ---      ---       #33
-      0100151DH   LINE      ---      ---       #35
+      0100153FH   BLOCK     CODE     ---       LVL=0
+      0100153FH   LINE      ---      ---       #26
+      01001541H   LINE      ---      ---       #27
+      01001541H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001541H   LINE      ---      ---       #28
+      01001546H   LINE      ---      ---       #29
+      01001547H   LINE      ---      ---       #31
+      0100154BH   LINE      ---      ---       #32
+      01001552H   LINE      ---      ---       #33
+      0100157DH   LINE      ---      ---       #35
       02004E94H   SYMBOL    XDATA    VOID      queue
       00000006H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010014D9H   BLOCK     CODE     ---       LVL=0
-      010014D9H   LINE      ---      ---       #37
-      010014D9H   LINE      ---      ---       #38
-      010014D9H   LINE      ---      ---       #39
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100078BH   BLOCK     CODE     ---       LVL=0
-      0100078BH   LINE      ---      ---       #42
-      0100078BH   LINE      ---      ---       #43
-      0100078BH   LINE      ---      ---       #44
-      0100078FH   LINE      ---      ---       #46
-      0100079CH   LINE      ---      ---       #47
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001022H   BLOCK     CODE     ---       LVL=0
-      01001022H   LINE      ---      ---       #49
-      01001022H   LINE      ---      ---       #50
-      01001022H   LINE      ---      ---       #51
-      01001026H   LINE      ---      ---       #53
-      01001032H   LINE      ---      ---       #54
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001062H   BLOCK     CODE     ---       LVL=0
-      01001062H   LINE      ---      ---       #56
-      01001062H   LINE      ---      ---       #57
-      01001062H   LINE      ---      ---       #58
-      01001066H   LINE      ---      ---       #60
-      01001072H   LINE      ---      ---       #61
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001033H   BLOCK     CODE     ---       LVL=0
-      01001033H   LINE      ---      ---       #63
-      01001033H   LINE      ---      ---       #64
-      01001033H   LINE      ---      ---       #65
-      01001037H   LINE      ---      ---       #67
-      01001043H   LINE      ---      ---       #68
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001044H   BLOCK     CODE     ---       LVL=0
-      01001044H   LINE      ---      ---       #70
-      01001046H   LINE      ---      ---       #71
-      01001046H   LINE      ---      ---       #72
-      0100104AH   LINE      ---      ---       #74
-      01001052H   LINE      ---      ---       #75
-      0100105BH   LINE      ---      ---       #76
-      01001061H   LINE      ---      ---       #77
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001006H   BLOCK     CODE     ---       LVL=0
-      01001006H   LINE      ---      ---       #79
-      01001008H   LINE      ---      ---       #80
-      01001008H   LINE      ---      ---       #81
-      0100100CH   LINE      ---      ---       #83
-      01001012H   LINE      ---      ---       #84
-      0100101BH   LINE      ---      ---       #85
-      01001021H   LINE      ---      ---       #86
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010012F3H   BLOCK     CODE     ---       LVL=0
-      010012F3H   LINE      ---      ---       #88
-      010012F3H   LINE      ---      ---       #89
-      010012F3H   BLOCK     CODE     NEAR LAB  LVL=1
-      010012F3H   LINE      ---      ---       #92
-      010012F9H   LINE      ---      ---       #94
-      010012FDH   LINE      ---      ---       #95
-      01001304H   LINE      ---      ---       #96
-      01001307H   LINE      ---      ---       #97
-      01001328H   LINE      ---      ---       #98
-      01001349H   LINE      ---      ---       #99
-      0100134AH   LINE      ---      ---       #101
-      0100134AH   LINE      ---      ---       #102
-      0100136CH   LINE      ---      ---       #103
-      0100137EH   LINE      ---      ---       #104
-      0100137EH   LINE      ---      ---       #105
+      01001539H   BLOCK     CODE     ---       LVL=0
+      01001539H   LINE      ---      ---       #37
+      01001539H   LINE      ---      ---       #38
+      01001539H   LINE      ---      ---       #39
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000784H   BLOCK     CODE     ---       LVL=0
+      01000784H   LINE      ---      ---       #42
+      01000784H   LINE      ---      ---       #43
+      01000784H   LINE      ---      ---       #44
+      01000788H   LINE      ---      ---       #46
+      01000795H   LINE      ---      ---       #47
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100157EH   BLOCK     CODE     ---       LVL=0
+      0100157EH   LINE      ---      ---       #49
+      0100157EH   LINE      ---      ---       #50
+      0100157EH   LINE      ---      ---       #51
+      01001582H   LINE      ---      ---       #53
+      0100158EH   LINE      ---      ---       #54
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010015BEH   BLOCK     CODE     ---       LVL=0
+      010015BEH   LINE      ---      ---       #56
+      010015BEH   LINE      ---      ---       #57
+      010015BEH   LINE      ---      ---       #58
+      010015C2H   LINE      ---      ---       #60
+      010015CEH   LINE      ---      ---       #61
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010015ADH   BLOCK     CODE     ---       LVL=0
+      010015ADH   LINE      ---      ---       #63
+      010015ADH   LINE      ---      ---       #64
+      010015ADH   LINE      ---      ---       #65
+      010015B1H   LINE      ---      ---       #67
+      010015BDH   LINE      ---      ---       #68
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100158FH   BLOCK     CODE     ---       LVL=0
+      0100158FH   LINE      ---      ---       #70
+      01001591H   LINE      ---      ---       #71
+      01001591H   LINE      ---      ---       #72
+      01001595H   LINE      ---      ---       #74
+      0100159DH   LINE      ---      ---       #75
+      010015A6H   LINE      ---      ---       #76
+      010015ACH   LINE      ---      ---       #77
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001346H   BLOCK     CODE     ---       LVL=0
+      01001346H   LINE      ---      ---       #79
+      01001348H   LINE      ---      ---       #80
+      01001348H   LINE      ---      ---       #81
+      0100134CH   LINE      ---      ---       #83
+      01001352H   LINE      ---      ---       #84
+      0100135BH   LINE      ---      ---       #85
+      01001361H   LINE      ---      ---       #86
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100148DH   BLOCK     CODE     ---       LVL=0
+      0100148DH   LINE      ---      ---       #88
+      0100148DH   LINE      ---      ---       #89
+      0100148DH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100148DH   LINE      ---      ---       #92
+      01001493H   LINE      ---      ---       #94
+      01001497H   LINE      ---      ---       #95
+      0100149EH   LINE      ---      ---       #96
+      010014A1H   LINE      ---      ---       #97
+      010014C2H   LINE      ---      ---       #98
+      010014E3H   LINE      ---      ---       #99
+      010014E4H   LINE      ---      ---       #101
+      010014E4H   LINE      ---      ---       #102
+      01001506H   LINE      ---      ---       #103
+      01001518H   LINE      ---      ---       #104
+      01001518H   LINE      ---      ---       #105
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002522H   BLOCK     CODE     ---       LVL=0
-      01002522H   LINE      ---      ---       #107
-      01002522H   LINE      ---      ---       #108
-      01002522H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002522H   LINE      ---      ---       #111
-      01002526H   LINE      ---      ---       #113
-      0100252AH   LINE      ---      ---       #114
-      01002531H   LINE      ---      ---       #115
-      01002553H   LINE      ---      ---       #116
-      01002560H   LINE      ---      ---       #117
+      01002251H   BLOCK     CODE     ---       LVL=0
+      01002251H   LINE      ---      ---       #107
+      01002251H   LINE      ---      ---       #108
+      01002251H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002251H   LINE      ---      ---       #111
+      01002255H   LINE      ---      ---       #113
+      01002259H   LINE      ---      ---       #114
+      01002260H   LINE      ---      ---       #115
+      01002282H   LINE      ---      ---       #116
+      0100228FH   LINE      ---      ---       #117
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010012E0H   BLOCK     CODE     ---       LVL=0
-      010012E0H   LINE      ---      ---       #119
-      010012E5H   LINE      ---      ---       #120
-      010012E5H   BLOCK     CODE     NEAR LAB  LVL=1
-      010012E5H   LINE      ---      ---       #121
-      010012E9H   LINE      ---      ---       #122
+      0100147AH   BLOCK     CODE     ---       LVL=0
+      0100147AH   LINE      ---      ---       #119
+      0100147FH   LINE      ---      ---       #120
+      0100147FH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100147FH   LINE      ---      ---       #121
+      01001483H   LINE      ---      ---       #122
       00000021H.0 SYMBOL    BIT      VOID      st
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002561H   BLOCK     CODE     ---       LVL=0
-      01002561H   LINE      ---      ---       #125
-      01002566H   LINE      ---      ---       #126
-      01002566H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002566H   LINE      ---      ---       #127
-      01002571H   LINE      ---      ---       #128
+      010017C3H   BLOCK     CODE     ---       LVL=0
+      010017C3H   LINE      ---      ---       #125
+      010017C8H   LINE      ---      ---       #126
+      010017C8H   BLOCK     CODE     NEAR LAB  LVL=1
+      010017C8H   LINE      ---      ---       #127
+      010017D2H   LINE      ---      ---       #128
       00000021H.1 SYMBOL    BIT      VOID      st
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      0100257EH   BLOCK     CODE     ---       LVL=0
-      0100257EH   LINE      ---      ---       #131
-      0100257EH   LINE      ---      ---       #132
-      0100257EH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100257EH   LINE      ---      ---       #134
-      01002580H   LINE      ---      ---       #135
-      010025B1H   LINE      ---      ---       #136
+      01002290H   BLOCK     CODE     ---       LVL=0
+      01002290H   LINE      ---      ---       #131
+      01002290H   LINE      ---      ---       #132
+      01002290H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002290H   LINE      ---      ---       #134
+      01002292H   LINE      ---      ---       #135
+      010022C3H   LINE      ---      ---       #136
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       IIC
-      01001135H   PUBLIC    CODE     ---       _IIC_WriteBlock
-      01001642H   PUBLIC    CODE     ---       _IIC_write
-      01000B6CH   PUBLIC    CODE     ---       _IIC_Read
-
-      010016DBH   BLOCK     CODE     ---       LVL=0
-      010016DBH   LINE      ---      ---       #11
-      010016DBH   LINE      ---      ---       #12
-      010016DBH   LINE      ---      ---       #13
-      010016E2H   LINE      ---      ---       #14
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000B6CH   BLOCK     CODE     ---       LVL=0
-      01000B6CH   LINE      ---      ---       #16
-      01000B7DH   LINE      ---      ---       #17
-      01000B7DH   BLOCK     CODE     NEAR LAB  LVL=1
-      01000B7DH   LINE      ---      ---       #18
-      01000B7DH   LINE      ---      ---       #19
-      01000B86H   LINE      ---      ---       #20
-      01000B8CH   LINE      ---      ---       #21
-      01000B92H   LINE      ---      ---       #22
-      01000B98H   LINE      ---      ---       #23
-      01000BB1H   LINE      ---      ---       #24
-      01000BC6H   LINE      ---      ---       #25
-      01000BDFH   LINE      ---      ---       #26
-      01000BE5H   LINE      ---      ---       #27
-      01000BEDH   LINE      ---      ---       #28
-      01000BF4H   LINE      ---      ---       #29
-      01000BF4H   LINE      ---      ---       #30
-      01000BFBH   LINE      ---      ---       #31
-      01000BFEH   LINE      ---      ---       #32
+      010010F6H   PUBLIC    CODE     ---       _IIC_WriteBlock
+      0100164DH   PUBLIC    CODE     ---       _IIC_write
+      0100127EH   PUBLIC    CODE     ---       _IIC_Read
+
+      010016E6H   BLOCK     CODE     ---       LVL=0
+      010016E6H   LINE      ---      ---       #11
+      010016E6H   LINE      ---      ---       #12
+      010016E6H   LINE      ---      ---       #13
+      010016EDH   LINE      ---      ---       #14
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100127EH   BLOCK     CODE     ---       LVL=0
+      0100127EH   LINE      ---      ---       #16
+      0100128FH   LINE      ---      ---       #17
+      0100128FH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100128FH   LINE      ---      ---       #18
+      0100128FH   LINE      ---      ---       #19
+      01001298H   LINE      ---      ---       #20
+      0100129EH   LINE      ---      ---       #21
+      010012A4H   LINE      ---      ---       #22
+      010012AAH   LINE      ---      ---       #23
+      010012C3H   LINE      ---      ---       #24
+      010012D8H   LINE      ---      ---       #25
+      010012F1H   LINE      ---      ---       #26
+      010012F7H   LINE      ---      ---       #27
+      010012FFH   LINE      ---      ---       #28
+      01001306H   LINE      ---      ---       #29
+      01001306H   LINE      ---      ---       #30
+      0100130DH   LINE      ---      ---       #31
+      0100130FH   LINE      ---      ---       #32
       00000006H   SYMBOL    DATA     VOID      mem_src
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001642H   BLOCK     CODE     ---       LVL=0
-      01001642H   LINE      ---      ---       #35
-      0100165DH   LINE      ---      ---       #36
-      0100165DH   LINE      ---      ---       #37
-      0100167FH   LINE      ---      ---       #38
-      01001685H   LINE      ---      ---       #39
-      01001694H   LINE      ---      ---       #40
-      010016B1H   LINE      ---      ---       #41
-      010016C8H   LINE      ---      ---       #42
-      010016CFH   LINE      ---      ---       #43
-      010016D4H   LINE      ---      ---       #44
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001135H   BLOCK     CODE     ---       LVL=0
-      01001135H   LINE      ---      ---       #48
-      0100114CH   LINE      ---      ---       #49
-      0100114CH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100114CH   LINE      ---      ---       #51
-      01001158H   LINE      ---      ---       #52
-      01001168H   LINE      ---      ---       #53
-      01001176H   LINE      ---      ---       #54
-      0100119CH   LINE      ---      ---       #55
-      010011A9H   LINE      ---      ---       #56
-      010011BEH   LINE      ---      ---       #57
-      010011C3H   LINE      ---      ---       #58
-      010011D4H   LINE      ---      ---       #59
-      010011E0H   LINE      ---      ---       #60
-      010011E2H   LINE      ---      ---       #61
+      0100164DH   BLOCK     CODE     ---       LVL=0
+      0100164DH   LINE      ---      ---       #35
+      01001668H   LINE      ---      ---       #36
+      01001668H   LINE      ---      ---       #37
+      0100168AH   LINE      ---      ---       #38
+      01001690H   LINE      ---      ---       #39
+      0100169FH   LINE      ---      ---       #40
+      010016BCH   LINE      ---      ---       #41
+      010016D3H   LINE      ---      ---       #42
+      010016DAH   LINE      ---      ---       #43
+      010016DFH   LINE      ---      ---       #44
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010010F6H   BLOCK     CODE     ---       LVL=0
+      010010F6H   LINE      ---      ---       #48
+      0100110DH   LINE      ---      ---       #49
+      0100110DH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100110DH   LINE      ---      ---       #51
+      01001119H   LINE      ---      ---       #52
+      01001129H   LINE      ---      ---       #53
+      01001137H   LINE      ---      ---       #54
+      0100115DH   LINE      ---      ---       #55
+      0100116AH   LINE      ---      ---       #56
+      0100117FH   LINE      ---      ---       #57
+      01001183H   LINE      ---      ---       #58
+      01001194H   LINE      ---      ---       #59
+      010011A0H   LINE      ---      ---       #60
+      010011A2H   LINE      ---      ---       #61
       00000004H   SYMBOL    DATA     VOID      cris
       02004E27H   SYMBOL    XDATA    VOID      curr_len
       ---         BLOCKEND  CODE     ---       LVL=1
@@ -2622,5 +2468,5 @@
       ---         MODULE    ---      ---       ?C_INIT
       010005B1H   PUBLIC    CODE     ---       ?C_START
 
-Program Size: data=10.2 xdata=772 const=182 code=9468
+Program Size: data=10.2 xdata=773 const=182 code=8718
 LX51 RUN COMPLETE.  0 WARNING(S),  0 ERROR(S)
Index: output/FW.SBR
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: output/eeprom.dat
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/output/eeprom.dat	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-4a
-10
+9e
+0f
 c5
 12
 80
@@ -15,51 +15,51 @@
 c0
 01
 80
-1d
+1b
 c0
 02
 80
-20
+1e
 c0
 48
 01
-72
+4c
 c0
 49
 01
-3c
+16
 c0
 4a
 01
-42
+1c
 c0
 4a
 81
-2c
+06
 c0
 58
 00
-ee
+c8
 c0
 58
 80
-f0
+ca
 c0
 59
-01
-04
+00
+de
 c0
 59
-81
-1e
+80
+f8
 c0
 5b
 01
-27
+01
 c0
 5c
 80
-f8
+d2
 20
 20
 3b
@@ -67,31 +67,31 @@
 c0
 1f
 01
-ea
+bf
 c0
 1f
 81
-ee
+c3
 c0
 43
 80
-a9
+a7
 c0
 46
 81
-fc
+d1
 c0
 47
 81
-f2
+c7
 c0
 66
 81
-7f
+56
 c0
 68
 00
-b4
+b2
 20
 20
 3b
@@ -104,14 +104,6 @@
 00
 8b
 81
-58
-28
-05
-20
-60
-01
-cd
-4c
 70
 80
 06
@@ -123,11 +115,11 @@
 20
 40
 00
-44
+42
 20
 40
 00
-25
+23
 20
 20
 30
@@ -146,8 +138,8 @@
 24
 20
 40
-02
-12
+01
+e7
 20
 20
 30
@@ -155,7 +147,7 @@
 20
 40
 00
-a4
+a2
 20
 74
 00
@@ -171,7 +163,7 @@
 20
 40
 00
-85
+83
 60
 00
 cb
@@ -179,11 +171,11 @@
 c0
 00
 80
-38
+36
 c0
 03
 00
-42
+40
 1f
 e2
 04
@@ -199,7 +191,7 @@
 c3
 00
 00
-35
+33
 1a
 22
 0c
@@ -227,15 +219,15 @@
 20
 20
 00
-7d
+7b
 20
 40
 00
-85
+83
 20
 40
 00
-85
+83
 60
 00
 8b
@@ -243,7 +235,7 @@
 20
 40
 00
-3d
+3b
 20
 20
 7c
@@ -251,7 +243,7 @@
 20
 40
 00
-88
+86
 18
 c2
 04
@@ -275,7 +267,7 @@
 20
 20
 00
-7d
+7b
 68
 0a
 4c
@@ -355,11 +347,11 @@
 c2
 80
 00
-61
+5f
 c2
 80
 80
-63
+61
 da
 20
 00
@@ -367,7 +359,7 @@
 20
 40
 00
-74
+72
 70
 89
 71
@@ -383,7 +375,7 @@
 20
 40
 00
-64
+62
 da
 20
 00
@@ -391,7 +383,7 @@
 20
 20
 00
-74
+72
 70
 89
 71
@@ -399,7 +391,7 @@
 20
 20
 00
-64
+62
 70
 89
 71
@@ -491,7 +483,7 @@
 24
 3a
 00
-7b
+79
 79
 3f
 84
@@ -507,7 +499,7 @@
 20
 40
 00
-85
+83
 1f
 e2
 72
@@ -515,15 +507,15 @@
 20
 40
 00
-81
+7f
 20
 20
 00
-3d
+3b
 20
 40
 00
-85
+83
 e0
 a0
 80
@@ -531,7 +523,7 @@
 c2
 00
 00
-81
+7f
 20
 60
 00
@@ -539,7 +531,7 @@
 20
 40
 00
-88
+86
 e8
 c0
 80
@@ -607,11 +599,11 @@
 20
 40
 00
-9c
+9a
 c2
 00
 00
-94
+92
 18
 a2
 7e
@@ -659,7 +651,7 @@
 20
 20
 00
-a6
+a4
 68
 01
 4b
@@ -703,7 +695,7 @@
 24
 41
 00
-b0
+ae
 20
 20
 7c
@@ -759,95 +751,11 @@
 20
 40
 00
-d3
-20
-40
-00
-bf
-20
-20
-00
-b8
-68
-00
-cc
-be
-24
-7a
-00
-00
-68
-00
-cc
-9a
-20
-7a
-00
-00
-1f
-e0
-ff
-ff
-60
-00
-cc
-9a
-c1
-80
-80
-00
-70
-4c
-9a
-64
-68
-01
-47
-f4
-c4
-02
-80
-00
-68
-01
-4c
-9b
+bc
 20
-7a
-00
-00
 20
-40
-52
-7e
-24
-7a
-00
-00
-68
-01
-4c
-9b
-1f
-e2
-22
 00
-20
-40
-4b
-2c
-1a
-20
-f2
-02
-d8
-c0
-4c
-9d
-20
-20
-7e
-45
+b6
 68
 00
 cc
@@ -880,10 +788,6 @@
 28
 00
 00
-20
-40
-00
-e0
 1a
 62
 7e
@@ -899,97 +803,41 @@
 20
 20
 00
-8d
-1a
-62
-7e
-00
-c0
-05
-80
-e4
-c0
-01
+8b
+20
+40
+3b
+36
+20
+20
+3c
+dc
+70
+41
+6e
+7f
+20
+40
+3c
+f3
+68
 00
-ec
+cc
+97
 20
-60
+7a
 00
 00
 70
 4c
-9a
-28
-58
+97
 00
+1c
+42
+7e
 00
-0a
 60
-01
-4c
-9b
-68
-01
-42
-b7
-e0
-a1
-00
-00
-58
-00
-01
-a1
-e0
-a1
-00
-00
-20
-60
-00
-00
-70
-4c
-9a
-00
-20
-60
-00
-00
-20
-40
-3b
-36
-20
-20
-3c
-dc
-70
-41
-6e
-7f
-20
-40
-3c
-f3
-68
-00
-cc
-97
-20
-7a
-00
-00
-70
-4c
-97
-00
-1c
-42
-7e
-00
-60
-02
+02
 4c
 59
 20
@@ -1119,7 +967,7 @@
 20
 40
 00
-a4
+a2
 24
 74
 00
@@ -1127,7 +975,7 @@
 20
 40
 00
-a1
+9f
 24
 74
 00
@@ -1142,16 +990,16 @@
 01
 20
 40
-01
-23
+00
+fd
 20
 20
 00
-a4
+a2
 20
 40
-01
-16
+00
+f0
 24
 74
 00
@@ -1178,16 +1026,16 @@
 0a
 c0
 80
-01
-23
+00
+fd
 20
 60
 00
 00
 20
 40
-01
-16
+00
+f0
 24
 74
 00
@@ -1207,7 +1055,7 @@
 20
 40
 01
-2e
+08
 20
 20
 3a
@@ -1219,7 +1067,7 @@
 24
 3a
 01
-34
+0e
 20
 40
 3d
@@ -1295,7 +1143,7 @@
 20
 40
 01
-3f
+19
 58
 00
 05
@@ -1355,7 +1203,7 @@
 c0
 ff
 81
-5a
+34
 68
 02
 ca
@@ -1379,7 +1227,7 @@
 20
 40
 01
-61
+3b
 70
 89
 55
@@ -1491,23 +1339,11 @@
 20
 40
 01
-69
+43
 20
 20
 3a
 6f
-20
-40
-52
-7c
-24
-7a
-00
-00
-20
-20
-00
-25
 78
 34
 7c
@@ -1551,15 +1387,7 @@
 58
 00
 01
-75
-60
-01
-42
-8e
-58
-00
-01
-7e
+55
 60
 01
 42
@@ -1567,7 +1395,7 @@
 58
 00
 00
-d8
+c1
 60
 01
 42
@@ -1575,7 +1403,7 @@
 58
 00
 01
-f1
+c6
 60
 01
 42
@@ -1583,7 +1411,7 @@
 58
 00
 00
-25
+23
 60
 01
 42
@@ -1591,7 +1419,7 @@
 58
 00
 01
-78
+4f
 60
 01
 42
@@ -1639,11 +1467,11 @@
 c0
 2d
 01
-af
+84
 20
 35
 81
-ad
+82
 68
 01
 4c
@@ -1671,7 +1499,7 @@
 20
 40
 01
-ba
+8f
 68
 04
 02
@@ -1679,7 +1507,7 @@
 24
 3a
 01
-a7
+7c
 68
 01
 4a
@@ -1691,15 +1519,15 @@
 20
 3a
 01
-a7
+7c
 60
 01
 4c
 93
 20
 40
-02
-0f
+01
+e4
 70
 4b
 a4
@@ -1707,7 +1535,7 @@
 20
 40
 00
-8d
+8b
 70
 4c
 97
@@ -1727,7 +1555,7 @@
 20
 20
 01
-a9
+7e
 1c
 e2
 7e
@@ -1735,7 +1563,7 @@
 20
 3a
 01
-f4
+c9
 20
 40
 5b
@@ -1771,7 +1599,7 @@
 20
 20
 01
-a9
+7e
 20
 40
 68
@@ -1811,11 +1639,11 @@
 c2
 80
 01
-cc
+a1
 c2
 80
 81
-da
+af
 68
 01
 02
@@ -2002,8 +1830,8 @@
 03
 20
 40
-01
-23
+00
+fd
 70
 4c
 97
@@ -2066,16 +1894,16 @@
 00
 c0
 10
-82
-07
+81
+dc
 c0
 11
-02
-09
+01
+de
 c0
 11
-82
-0c
+81
+e1
 20
 20
 7c
@@ -2086,8 +1914,8 @@
 ff
 20
 20
-03
-15
+02
+ea
 79
 3f
 80
@@ -2099,7 +1927,7 @@
 20
 20
 02
-8f
+64
 5f
 ff
 ff
@@ -2111,7 +1939,7 @@
 20
 20
 02
-e0
+b5
 58
 00
 00
@@ -2131,11 +1959,11 @@
 20
 40
 02
-38
+0d
 24
 34
-02
-29
+01
+fe
 70
 4c
 15
@@ -2143,7 +1971,7 @@
 20
 40
 02
-53
+28
 68
 00
 cb
@@ -2155,7 +1983,7 @@
 20
 40
 02
-b1
+86
 68
 00
 cd
@@ -2166,8 +1994,8 @@
 00
 20
 40
-01
-16
+00
+f0
 24
 74
 00
@@ -2218,8 +2046,8 @@
 da
 20
 40
-01
-16
+00
+f0
 24
 74
 00
@@ -2258,8 +2086,8 @@
 15
 24
 3a
-02
-25
+01
+fa
 68
 04
 4d
@@ -2283,15 +2111,15 @@
 c0
 ff
 82
-e9
+be
 20
 40
 02
-3e
+13
 20
 40
 03
-79
+4e
 70
 4b
 e6
@@ -2315,15 +2143,15 @@
 c0
 00
 82
-47
+1c
 c0
 01
 02
-4b
+20
 c0
 01
 82
-4f
+24
 68
 00
 cd
@@ -2351,7 +2179,7 @@
 20
 20
 02
-51
+26
 58
 00
 00
@@ -2367,7 +2195,7 @@
 20
 20
 02
-51
+26
 70
 4b
 e2
@@ -2399,19 +2227,19 @@
 20
 40
 02
-7e
+53
 24
 37
 82
-64
+39
 20
 40
 02
-92
+67
 20
 40
 02
-a3
+78
 68
 00
 cb
@@ -2435,11 +2263,11 @@
 c0
 ff
 82
-7c
+51
 20
 40
 02
-76
+4b
 70
 4b
 e7
@@ -2475,7 +2303,7 @@
 c0
 ff
 82
-8e
+63
 68
 00
 cb
@@ -2483,7 +2311,7 @@
 c0
 7f
 82
-8f
+64
 68
 00
 cb
@@ -2499,7 +2327,7 @@
 20
 21
 03
-93
+68
 68
 00
 cb
@@ -2519,11 +2347,11 @@
 c0
 83
 82
-54
+29
 20
 20
 03
-93
+68
 58
 00
 00
@@ -2551,11 +2379,11 @@
 20
 40
 02
-a0
+75
 20
 20
-03
-05
+02
+da
 78
 57
 fc
@@ -2563,7 +2391,7 @@
 20
 40
 03
-f1
+c6
 68
 00
 cc
@@ -2571,7 +2399,7 @@
 c0
 00
 82
-8b
+60
 18
 00
 2a
@@ -2599,11 +2427,11 @@
 20
 40
 03
-ab
+80
 20
 57
 83
-e9
+be
 20
 60
 00
@@ -2619,7 +2447,7 @@
 20
 20
 03
-e9
+be
 20
 60
 00
@@ -2639,7 +2467,7 @@
 20
 40
 03
-3b
+10
 68
 00
 cb
@@ -2655,7 +2483,7 @@
 20
 40
 02
-9a
+6f
 d8
 c0
 0c
@@ -2731,7 +2559,7 @@
 24
 41
 02
-af
+84
 68
 00
 cc
@@ -2767,7 +2595,7 @@
 20
 40
 03
-5b
+30
 60
 08
 cc
@@ -2779,11 +2607,11 @@
 20
 40
 82
-bf
+94
 24
 40
 82
-c3
+98
 98
 46
 7c
@@ -2791,7 +2619,7 @@
 24
 21
 02
-d7
+ac
 68
 00
 cc
@@ -2803,7 +2631,7 @@
 24
 21
 02
-c7
+9c
 68
 00
 cc
@@ -2811,7 +2639,7 @@
 c0
 00
 02
-d7
+ac
 20
 60
 00
@@ -2871,11 +2699,11 @@
 20
 40
 82
-c1
+96
 24
 40
 82
-c5
+9a
 98
 46
 7c
@@ -2891,7 +2719,7 @@
 c0
 00
 02
-de
+b3
 1f
 e0
 ff
@@ -2903,7 +2731,7 @@
 c0
 00
 02
-de
+b3
 70
 4c
 3d
@@ -2919,7 +2747,7 @@
 c0
 01
 02
-dc
+b1
 1f
 e0
 fe
@@ -2931,7 +2759,7 @@
 c0
 00
 82
-d5
+aa
 70
 4c
 3d
@@ -2955,11 +2783,11 @@
 20
 40
 02
-e5
+ba
 20
 40
 02
-60
+35
 70
 4b
 ef
@@ -2983,11 +2811,11 @@
 20
 20
 03
-6b
+40
 20
 40
 02
-e5
+ba
 68
 00
 cb
@@ -3003,15 +2831,15 @@
 c0
 00
 82
-f1
+c6
 c0
 01
 02
-f4
+c9
 c0
 01
 82
-f7
+cc
 20
 20
 3b
@@ -3027,7 +2855,7 @@
 20
 20
 02
-f9
+ce
 70
 4b
 ef
@@ -3039,7 +2867,7 @@
 20
 20
 02
-f9
+ce
 70
 4b
 ef
@@ -3083,15 +2911,15 @@
 20
 40
 03
-36
+0b
 20
 40
 03
-79
+4e
 20
 40
 02
-3c
+11
 20
 20
 34
@@ -3106,16 +2934,16 @@
 00
 c0
 08
-83
-0b
+82
+e0
 c0
 09
-03
-0d
+02
+e2
 c0
 09
-83
-0f
+82
+e4
 20
 60
 00
@@ -3127,7 +2955,7 @@
 20
 20
 02
-60
+35
 70
 4b
 ef
@@ -3135,7 +2963,7 @@
 20
 20
 02
-60
+35
 70
 4b
 ef
@@ -3155,11 +2983,11 @@
 20
 40
 03
-6b
+40
 20
 20
 02
-60
+35
 c6
 11
 80
@@ -3167,11 +2995,11 @@
 20
 40
 03
-6c
+41
 20
 40
 03
-93
+68
 68
 00
 cb
@@ -3182,8 +3010,8 @@
 00
 20
 40
-03
-28
+02
+fd
 58
 00
 00
@@ -3207,19 +3035,19 @@
 c0
 7f
 82
-8f
+64
 20
 40
 02
-7e
+53
 24
 37
 83
-31
+06
 20
 40
 02
-76
+4b
 70
 4c
 13
@@ -3267,11 +3095,11 @@
 20
 40
 03
-36
+0b
 20
 20
 03
-79
+4e
 68
 01
 4c
@@ -3287,11 +3115,11 @@
 20
 40
 03
-93
+68
 20
 20
-03
-1d
+02
+f2
 60
 08
 cb
@@ -3403,7 +3231,7 @@
 20
 40
 03
-54
+29
 60
 08
 cc
@@ -3463,7 +3291,7 @@
 c2
 00
 03
-5e
+33
 18
 49
 04
@@ -3531,7 +3359,7 @@
 c2
 00
 03
-6f
+44
 1a
 22
 7e
@@ -3623,7 +3451,7 @@
 c0
 ff
 83
-8b
+60
 68
 00
 cb
@@ -3647,7 +3475,7 @@
 c0
 00
 83
-91
+66
 d8
 c0
 0c
@@ -3671,7 +3499,7 @@
 20
 40
 03
-99
+6e
 18
 40
 84
@@ -3763,7 +3591,7 @@
 20
 40
 03
-a2
+77
 78
 26
 fc
@@ -3795,7 +3623,7 @@
 24
 2c
 03
-ec
+c1
 78
 46
 fc
@@ -3835,7 +3663,7 @@
 24
 22
 83
-e9
+be
 09
 80
 00
@@ -3859,7 +3687,7 @@
 20
 22
 83
-c8
+9d
 68
 00
 8c
@@ -3875,7 +3703,7 @@
 24
 20
 83
-e9
+be
 09
 80
 00
@@ -3899,7 +3727,7 @@
 20
 22
 83
-d2
+a7
 09
 80
 00
@@ -3915,7 +3743,7 @@
 c2
 00
 03
-ce
+a3
 18
 a2
 22
@@ -3967,7 +3795,7 @@
 20
 23
 03
-e9
+be
 78
 37
 fc
@@ -4003,7 +3831,7 @@
 20
 40
 03
-44
+19
 20
 60
 00
@@ -4023,11 +3851,11 @@
 20
 40
 03
-4d
+22
 20
 20
 03
-e9
+be
 20
 40
 3a
@@ -4055,11 +3883,11 @@
 20
 40
 03
-a2
+77
 20
 40
 03
-ee
+c3
 79
 20
 2a
@@ -4138,8 +3966,8 @@
 08
 c2
 00
-04
-07
+03
+dc
 78
 24
 7c
@@ -4172,12 +4000,12 @@
 60
 00
 00
-31
-74
+4c
+d1
 aa
 55
-b4
-25
+c6
+22
 02
 05
 6a
@@ -5578,7 +5406,7 @@
 b1
 02
 17
-aa
+b5
 e4
 93
 a3
@@ -5708,23 +5536,23 @@
 4d
 ee
 ff
-0a
-96
+11
+a3
 00
 00
 00
 ff
-0f
-90
+1e
+10
 ff
-15
-b7
+1f
+cf
 00
 00
 00
 ff
-22
-ed
+1d
+bd
 00
 1a
 08
@@ -5737,11 +5565,11 @@
 18
 19
 17
-15
 14
 13
+12
 11
-16
+15
 1b
 1c
 00
@@ -5930,7 +5758,7 @@
 60
 02
 e1
-8a
+83
 90
 4c
 e9
@@ -5938,17 +5766,16 @@
 60
 02
 e1
-7e
+7d
 90
 4c
 d5
 e0
 b4
 02
-05
-12
-09
-f2
+04
+f1
+f1
 80
 2e
 90
@@ -5994,9 +5821,9 @@
 c2
 01
 7f
-1d
+1e
 f1
-8b
+84
 d1
 c2
 ef
@@ -6013,7 +5840,7 @@
 e0
 6f
 60
-5e
+58
 e0
 30
 e0
@@ -6024,20 +5851,20 @@
 74
 0c
 f0
-c2
+d2
 01
 7f
-10
+ff
 f1
-8b
+84
 80
 0b
-d2
+c2
 01
 7f
-10
+ff
 f1
-8b
+84
 e4
 90
 4c
@@ -6056,20 +5883,20 @@
 74
 0c
 f0
-c2
+d2
 01
 7f
-0f
+ff
 f1
-8b
+84
 80
 0b
-d2
+c2
 01
 7f
-0f
+ff
 f1
-8b
+84
 e4
 90
 4c
@@ -6084,30 +5911,24 @@
 d9
 f0
 22
-d2
+c2
 01
 7f
-10
+ff
 f1
-8b
-d2
+84
+c2
 01
 7f
-0f
+ff
 80
-0d
-d2
-01
-7f
-10
-f1
-8b
-d2
+07
+c2
 01
 7f
-0f
+ff
 f1
-8b
+84
 22
 ef
 f4
@@ -6124,8 +5945,8 @@
 92
 00
 12
-10
-73
+15
+cf
 22
 90
 4d
@@ -6142,10 +5963,10 @@
 60
 05
 7f
-1d
+1e
 12
-25
-61
+17
+c3
 d1
 c2
 ef
@@ -6159,32 +5980,32 @@
 16
 14
 f0
-c2
+d2
 01
 7f
-10
+ff
 f1
-8b
+84
 90
 4c
 e6
 e0
 70
 0e
-d2
+c2
 01
 7f
-10
+ff
 f1
-8b
+84
 80
 06
-d2
+c2
 01
 7f
-10
+ff
 f1
-8b
+84
 90
 4c
 e7
@@ -6193,398 +6014,294 @@
 14
 14
 f0
-c2
+d2
 01
 7f
-0f
+ff
 f1
-8b
+84
 90
 4c
 e7
 e0
 70
 0c
-d2
+c2
 01
 7f
-0f
+ff
 80
 9a
-d2
+c2
 01
 7f
-0f
+ff
 f1
-8b
+84
 22
-d2
-01
-7f
-1d
-80
-8d
 e4
-ff
-90
-4c
-ee
-e0
-60
-01
-22
-90
-4c
-c5
-e0
-64
-03
-60
-1c
-90
-4c
-ef
-e0
-70
-1d
-74
-0a
-f0
-a3
-e0
-70
-16
 90
 4d
-e1
-e0
-b4
-02
-0f
-7f
-09
-11
-33
-7f
-01
-80
-07
-e4
-90
-4c
-eb
+38
 f0
 7f
-01
-22
+19
 90
 4e
-8d
+71
 ef
 f0
-24
-f7
-60
-09
-14
-60
-61
-24
-02
-60
-02
+78
+72
+7c
+4e
+7d
 01
-d9
-e4
+7b
+ff
+7a
+06
+79
+bf
+7e
+00
+7f
+03
+12
+03
 90
-4c
-f0
-f0
-11
-df
-ef
-60
-09
 90
 4e
-8d
+71
 e0
 90
-4c
-ed
+4e
+74
 f0
-22
 7b
 01
 7a
-4c
+4e
 79
-00
+72
 7d
-04
-7c
-00
-7f
-f2
-7e
-3f
-71
-6c
-7f
-0a
-51
-7e
+03
 90
-4c
-00
-e0
-b4
-ff
-1b
+4e
+46
+eb
+f0
 a3
-e0
-b4
-ff
-16
+ea
+f0
+a3
+e9
+f0
 a3
+ed
+f0
+90
+4b
+9c
 e0
-b4
 ff
-11
 a3
 e0
-b4
-ff
-0c
 90
-4c
-00
-74
-0f
-f0
-a3
+4e
+4a
+cf
 f0
 a3
+ef
 f0
+90
+4b
+9a
+e0
+fe
 a3
-f0
-7f
-21
-11
-f6
+e0
+ff
 90
-4c
-c5
-74
-02
-f0
-e4
+4b
+9c
+e0
+fc
 a3
-f0
+e0
+fd
+7b
+64
+12
+21
+29
 90
-4c
-ed
-f0
-22
-e4
+4e
+49
+e0
+fe
+ef
+c3
+9e
+40
+e1
 90
-4c
-f0
+4e
+49
+e0
+ff
+14
 f0
-11
-df
 ef
 60
-09
+3f
 90
 4e
-8d
+46
 e0
-90
-4c
-ed
+fb
+a3
+e4
+75
 f0
-22
-90
-4c
-c5
-e0
-64
 01
-60
-18
-7f
-23
-11
-f6
+12
+04
+24
+a9
+f0
+fa
+12
+03
+b6
+ff
 90
-4c
-c5
-74
+4e
+4a
+e4
+75
+f0
 01
+12
+04
+24
+85
 f0
-e4
-a3
+82
+f5
+83
+ef
 f0
 90
-4c
-ee
+4e
+4a
+e0
+fe
+a3
+e0
+ff
+be
+4b
+c6
+bf
+36
+c3
+90
+4e
+4a
 74
+4a
 f0
+a3
+74
+a0
 f0
-e4
+80
+b7
 90
-4c
-e9
-f0
-e4
+4e
+4a
+e0
+ff
+a3
+e0
 90
-4c
-ed
+4b
+9c
+cf
+f0
+a3
+ef
 f0
 22
-e4
 90
-4c
+4e
+93
 ed
 f0
-22
-90
-4c
-c5
 e0
-ff
-64
-03
-60
-04
-ef
-b4
-02
-07
-7f
-22
-11
-f6
-7f
-01
-22
-7f
-00
-22
+fd
 90
-4e
-71
-ef
+0b
+e8
 f0
-78
-72
-7c
-4e
-7d
-01
-7b
-ff
-7a
-06
-79
-bf
 7e
-00
+0b
 7f
-03
-12
-03
-90
-90
-4e
-71
-e0
+e9
 90
 4e
-74
+51
+ed
 f0
+11
+da
 7b
 01
 7a
-4e
+0b
 79
-72
-7d
-03
+e7
 90
 4e
-46
-eb
-f0
-a3
-ea
-f0
-a3
-e9
-f0
-a3
-ed
-f0
-90
-4b
-9c
-e0
-ff
-a3
+93
 e0
+24
+02
+fd
+01
+20
 90
 4e
-4a
-cf
+4c
+ee
 f0
 a3
 ef
 f0
-90
-4b
-9a
-e0
-fe
 a3
-e0
-ff
-90
-4b
-9c
-e0
-fc
+eb
+f0
 a3
-e0
-fd
-7b
-64
-12
-23
-fa
-90
-4e
-49
-e0
-fe
-ef
-c3
-9e
-40
-e1
+ea
+f0
+a3
+e9
+f0
 90
 4e
-49
+51
 e0
 ff
 14
 f0
 ef
 60
-3f
+27
 90
 4e
-46
+4e
 e0
 fb
 a3
@@ -6604,7 +6321,7 @@
 ff
 90
 4e
-4a
+4c
 e4
 75
 f0
@@ -6619,733 +6336,581 @@
 83
 ef
 f0
+80
+cf
+22
 90
 4e
-4a
-e0
-fe
+52
+eb
+f0
 a3
-e0
-ff
-be
-4b
-c6
-bf
-36
-c3
-90
-4e
-4a
-74
-4a
+ea
 f0
 a3
-74
-a0
+e9
 f0
-80
-b7
-90
-4e
-4a
-e0
-ff
+e4
 a3
-e0
-90
-4b
-9c
-cf
 f0
 a3
-ef
 f0
-22
 90
-4c
-c5
-e0
-b4
-03
-10
+4d
+db
+f0
 90
-4c
-e3
-e0
-64
-0e
-70
-04
-a3
-e0
-64
-10
-70
-29
-80
-28
+4e
+56
+f0
 90
-4c
-c5
+4e
+56
 e0
-b4
-01
-12
+ff
+c3
+94
+05
+50
+2c
 90
-4c
-e3
+4e
+52
 e0
-70
-04
+fb
 a3
 e0
-64
-28
-70
-14
-7f
-22
-11
-f6
-80
-0f
-90
-4c
-e3
-e0
-70
-04
+fa
 a3
 e0
-64
-14
-70
-02
-31
-f2
-22
+24
+01
+f9
 e4
+3a
+fa
+7e
+00
+e9
+2f
+f9
+ee
+3a
+fa
+12
+03
+b6
+b4
+af
+06
 90
 4d
-38
-f0
-7f
-19
+db
+74
 01
-f6
-90
-4c
-ce
-e0
-30
-e1
-3d
+f0
 90
-4c
-d0
-e0
-c3
-94
-fa
-50
-03
+4e
+56
 e0
 04
 f0
+80
+ca
 90
-4c
-d0
+4d
+db
 e0
-64
-b4
-70
-2e
 90
 4d
-dc
-e0
-04
-f0
 e0
-d3
-94
-02
-50
-07
-e4
-90
-4c
-d0
 f0
-80
-1b
 90
-4d
-dc
+4e
+52
 e0
-b4
-03
-14
+a3
+e0
+fa
+a3
+e0
+4a
+70
+02
+61
+55
 90
 4d
-d5
+de
 74
-01
+0a
 f0
 e4
 90
 4c
-d0
+e3
 f0
-31
-f2
-80
-05
-e4
-90
-4d
-dc
+a3
 f0
+7b
+01
+7a
+48
+79
+00
+7d
+09
+fc
+91
+cd
+7b
+01
+7a
+4d
+79
+e5
+7d
+09
+7c
+00
+91
+cd
 90
-4c
-ce
+4e
+52
 e0
-30
-e4
-2d
-90
-4c
-ea
-74
-0a
-f0
-90
-4c
-d1
+fb
+a3
 e0
-c3
-94
 fa
-50
-03
-e0
-04
-f0
-90
-4c
-d1
+a3
 e0
-b4
-06
-19
+f9
 90
-4c
-c3
-e0
-ff
-60
+00
+01
+12
 03
+cf
+ff
 b4
-fe
-0f
-11
-df
-7f
-0a
-51
-7e
-7f
+2e
 0a
-01
-33
-e4
 90
-4c
-d1
-f0
-22
-ef
-d3
-94
 00
-40
-11
-e4
-fd
-fc
-0d
-bd
-00
-01
-0c
-bc
-04
-f8
-bd
-a6
-f5
-1f
-80
-e9
-22
-90
-4e
-92
-ef
-f0
-24
-d0
-60
-47
-14
-60
-46
-14
-70
 02
-61
-3f
-14
-60
-0a
-24
-f7
-60
-3a
-24
-0d
-60
-02
-61
-6b
-f1
-ec
 12
-21
-4f
-7b
-01
-7a
-4c
-79
-00
-7d
-04
-7c
-00
-7f
-f2
-7e
-3f
-71
-6c
-7f
-0a
-51
-7e
+03
+cf
+64
+29
+60
+0f
+ef
+64
+29
+70
+36
 90
-4c
-c1
-e0
-f9
-7a
-00
-7b
-00
-7d
-01
-7c
 00
-7f
-f8
-7e
-3f
-71
-6c
-7f
-0a
-51
-7e
-e1
-aa
-e1
-c1
+02
+12
+03
+cf
+64
+2e
+70
+2c
 90
-4c
-c5
+4b
+eb
 74
-03
+20
 f0
-e4
 a3
+74
+15
 f0
-f1
-69
-e4
-90
-4c
-ee
-f0
-90
-4c
-eb
+a3
+74
+10
 f0
-90
-4c
-c0
+a3
 74
-fe
+05
 f0
 90
 4c
-c3
-f0
-90
-4e
-92
+c5
 e0
 64
-31
-70
-24
+01
+60
+09
 90
 4c
-e5
-74
-1e
-f0
-90
-4b
-eb
+ce
 e0
-b4
-0f
+44
 10
-a3
-e0
-b4
-0f
-0b
-a3
-e0
-b4
-0f
-06
-a3
-e0
-64
-0f
-60
-40
-90
-4c
-bf
-74
-01
 f0
-22
+80
+10
 90
 4c
-e5
+ce
 e0
-70
-33
-c2
-01
-7f
-1d
-02
-07
-8b
-e4
-90
-4c
-c5
-f0
-a3
+54
+ef
 f0
+80
+07
 90
 4c
-e3
-f0
-a3
+ce
+e0
+54
+ef
 f0
 90
 4c
-eb
-04
+b6
+74
+01
 f0
 90
 4c
-ed
-e0
-60
-09
-f1
-69
-90
-4c
-ed
+f4
 e0
 ff
+64
 01
-33
+70
+02
+61
+55
+ef
+64
+04
+70
+02
+61
+55
+ef
+64
+02
+70
+02
+61
+55
 90
 4c
-ec
+c5
 e0
-b4
-01
-04
-e4
-f0
-31
-f2
-22
+64
+03
+70
+45
 90
 4e
-5c
-ec
-f0
-a3
-ed
-f0
-a3
-eb
-f0
-a3
-ea
-f0
-a3
-e9
-f0
-90
-80
-98
-74
-04
-f0
-a3
-e4
-f0
-90
-0c
-af
-74
-a0
-f0
-a3
-ee
-f0
-a3
-ef
+56
 f0
 90
-0c
-b2
-74
-a1
-f0
-7a
-0c
-79
-af
-7e
-0c
-7f
-af
-74
-af
-fc
-74
-0c
+4e
+56
+e0
 ff
-ec
-fe
-ef
-90
-80
-9a
-ee
-f0
-a3
-ef
-f0
+c3
+94
+05
+50
+37
 90
 4e
-5c
+52
 e0
-fc
+fb
 a3
 e0
 fa
-ec
-ff
-ea
-fe
-ef
-90
-80
-9e
-ee
-f0
 a3
-ef
-f0
-7a
-0b
-79
-83
+e0
+24
+01
+f9
+e4
+3a
+fa
 7e
-0b
-7f
-83
-74
-83
-fc
-74
-0b
+00
+e9
+2f
+f9
+ee
+3a
+fa
+12
+03
+b6
 ff
-ec
-fe
+64
+39
+60
+09
 ef
-90
-80
-9c
-ee
-f0
-a3
+64
+53
+60
+04
 ef
-f0
-90
-80
+b4
+47
+06
 90
+4d
+d0
 74
-02
-f0
-90
-80
-9c
-a3
-e0
-20
-e7
-07
-90
-80
-90
-e0
-44
 01
 f0
 90
-80
-06
+4e
+56
 e0
-44
 04
 f0
-12
-16
-db
+80
+bf
 90
 4e
-5e
+52
 e0
+fb
 a3
 e0
 fa
 a3
 e0
-ae
+f9
+71
+56
+90
+4d
+e4
+e0
+b4
+01
+11
+74
 02
-ff
+f0
+90
+4d
+e5
+f0
 7b
 01
 7a
-0b
+4d
 79
+e5
+7d
+03
+a1
 83
 90
-4e
-5c
-e0
-a3
+4d
+e4
 e0
-90
-4e
-51
+b4
+03
+16
+e4
 f0
 90
-4e
-4c
-ee
-f0
-a3
-ef
-f0
-a3
-eb
+4d
+e3
 f0
-a3
-ea
+90
+4d
+e5
+74
+02
 f0
-a3
-e9
+7b
+01
+7a
+4d
+79
+e5
+7d
+03
+a1
+83
+90
+48
+00
+74
+01
 f0
 90
 4e
-51
+52
 e0
-ff
-14
+fb
+a3
+e0
+fa
+a3
+e0
+f9
+12
+03
+b6
+90
+48
+01
+f0
+e4
+a3
 f0
-ef
-60
-27
+90
+4d
+d8
+f0
+90
+00
+01
+12
+03
+cf
+b4
+af
+1e
+7e
+48
+7f
+03
 90
 4e
-4e
+52
 e0
 fb
 a3
+e0
+fa
+a3
+e0
+24
+02
+f9
 e4
-75
+3a
+fa
+90
+4e
+51
+74
+05
 f0
-01
-12
-04
+11
+da
+80
+1c
+7e
+48
+7f
+03
+90
+4e
+52
+e0
+fb
+a3
+e0
+fa
+a3
+e0
 24
-a9
-f0
+01
+f9
+e4
+3a
 fa
-12
+90
+4e
+51
+74
+06
+f0
+11
+da
+90
+4e
+56
+74
 03
-b6
-ff
+f0
 90
 4e
-4c
+56
+e0
+ff
+c3
+94
+09
+50
+25
+74
+00
+2f
+f5
+82
 e4
-75
-f0
-01
-12
-04
+34
+48
+f5
+83
+e0
+b4
+af
+0f
+90
+4e
+56
+e0
 24
-85
-f0
+00
+f5
 82
+e4
+34
+48
 f5
 83
-ef
+e4
+f0
+90
+4e
+56
+e0
+04
 f0
 80
-cf
+d1
+7b
+01
+7a
+48
+79
+00
+7d
+09
+b1
+83
 22
 90
 4e
-52
+65
 eb
 f0
 a3
@@ -7357,29 +6922,22 @@
 e4
 a3
 f0
-a3
-f0
-90
-4d
-db
-f0
-90
-4e
-56
 f0
 90
 4e
-56
+68
 e0
 ff
 c3
 94
-05
-50
-2c
+06
+40
+02
+81
+b1
 90
 4e
-52
+65
 e0
 fb
 a3
@@ -7404,259 +6962,102 @@
 12
 03
 b6
-b4
-af
-06
-90
-4d
-db
-74
-01
-f0
-90
-4e
-56
-e0
-04
+ff
+54
 f0
-80
-ca
-90
-4d
-db
-e0
-90
-4d
-e0
+64
 f0
+60
+09
+ef
+54
+d0
+64
+d0
+60
+02
+81
+a9
+12
+03
+b6
+fb
+b4
+f2
+08
+7f
+cd
+7e
+00
+91
+b2
+81
+7e
+eb
+b4
+f4
+08
+7f
+b6
+7e
+00
+91
+b2
+81
+7e
 90
 4e
-52
+65
 e0
+fb
 a3
 e0
 fa
 a3
 e0
-4a
-70
-02
-c1
-b2
-90
-4d
-de
-74
-0a
-f0
-e4
-90
-4c
-e3
-f0
-a3
-f0
-7b
-01
-7a
-48
-79
-00
-7d
-09
-fc
-d1
-b3
-7b
+24
 01
-7a
-4d
-79
-e5
-7d
-09
-7c
-00
-d1
-b3
-90
-4e
-52
-e0
-fb
-a3
-e0
+f9
+e4
+3a
 fa
 a3
 e0
-f9
-90
-00
-01
-12
-03
-cf
-ff
-b4
-2e
-0a
-90
+7e
 00
-02
-12
-03
-cf
-64
-29
-60
-0f
-ef
-64
 29
-70
-36
-90
-00
-02
+f9
+ee
+3a
+fa
 12
 03
-cf
-64
-2e
-70
-2c
-90
-4b
-eb
-74
-20
-f0
-a3
-74
-15
-f0
-a3
-74
-10
-f0
-a3
-74
-05
-f0
-90
-4c
-c5
-e0
-64
-01
-60
-09
-90
-4c
-ce
-e0
-44
-10
-f0
-80
-10
-90
-4c
-ce
-e0
-54
-ef
-f0
-80
-07
-90
-4c
-ce
-e0
-54
-ef
-f0
-90
-4c
 b6
-74
-01
-f0
-90
-4c
-f4
-e0
+fb
 b4
-01
-2b
-90
-48
-00
-74
-01
-f0
-a3
-e0
-ff
-90
-4c
 f5
-e0
-fe
-ef
-4e
-90
-48
-01
-f0
-e4
-90
-48
-03
-f0
-7b
-01
-7a
-48
-79
+06
+7f
+b5
+91
+b2
+81
+7e
+eb
+b4
+f6
+08
+7f
+ea
+7e
 00
-7d
-09
-12
-14
-0e
-90
-4c
-f4
-74
-02
-f0
-22
-90
-4c
-c5
-e0
-64
-03
-70
-45
-90
-4e
-56
-f0
-90
-4e
-56
-e0
-ff
-c3
-94
-05
-50
-37
+91
+b2
+81
+7e
 90
 4e
-52
+65
 e0
 fb
 a3
@@ -7670,10 +7071,11 @@
 e4
 3a
 fa
+a3
+e0
 7e
 00
-e9
-2f
+29
 f9
 ee
 3a
@@ -7681,37 +7083,31 @@
 12
 03
 b6
-ff
-64
-39
-60
-09
-ef
-64
-53
-60
-04
-ef
+fb
 b4
-47
+f7
 06
-90
-4d
-d0
-74
-01
-f0
-90
-4e
-56
-e0
-04
-f0
-80
-bf
+7f
+e9
+91
+b2
+80
+6f
+eb
+b4
+f8
+08
+7f
+e2
+7e
+00
+91
+b2
+80
+63
 90
 4e
-52
+65
 e0
 fb
 a3
@@ -7719,74 +7115,50 @@
 fa
 a3
 e0
+24
+01
 f9
-12
-1e
-d3
-90
-4d
 e4
+3a
+fa
+a3
 e0
-b4
-01
+7e
+00
+29
+f9
+ee
+3a
+fa
 12
-74
-02
-f0
-90
-4d
-e5
-f0
-7b
-01
-7a
-4d
-79
-e5
-7d
 03
-02
-14
+b6
+fb
+b4
+fa
+07
+7f
+8a
 0e
-90
-4d
-e4
-e0
+91
+b2
+80
+3c
+eb
 b4
-03
-17
-e4
-f0
-90
-4d
-e3
-f0
-90
-4d
-e5
-74
-02
-f0
-7b
-01
-7a
-4d
-79
-e5
-7d
-03
+d5
+08
+7f
+21
+7e
 02
-14
-0e
-90
-48
-00
-74
-01
-f0
+91
+b2
+80
+30
 90
 4e
-52
+65
 e0
 fb
 a3
@@ -7794,37 +7166,54 @@
 fa
 a3
 e0
-f9
-12
-03
-b6
-90
-48
+24
 01
-f0
+f9
 e4
+3a
+fa
 a3
-f0
-90
-4d
-d8
-f0
-90
+e0
+7e
 00
-01
+29
+f9
+ee
+3a
+fa
 12
 03
-cf
+b6
+fb
 b4
-af
-1e
-7e
-48
+d7
+06
 7f
-03
+70
+91
+b2
+80
+0a
+eb
+b4
+d8
+06
+7f
+6f
+7e
+00
+91
+b2
+90
+4d
+e4
+e0
+b4
+02
+24
 90
 4e
-52
+65
 e0
 fb
 a3
@@ -7833,113 +7222,66 @@
 a3
 e0
 24
-02
+01
 f9
 e4
 3a
 fa
-90
-4e
-51
-74
-05
-f0
-91
-1a
-80
-1c
-7e
-48
-7f
-03
-90
-4e
-52
-e0
-fb
-a3
-e0
-fa
 a3
 e0
-24
-01
+7e
+00
+29
 f9
-e4
+ee
 3a
 fa
+12
+03
+b6
 90
-4e
-51
-74
-06
+4d
+e3
 f0
-91
-1a
-90
-4e
-56
-74
+e4
+12
 03
-f0
+fc
 90
 4e
-56
-e0
-ff
-c3
-94
-09
-50
-25
-74
-00
-2f
-f5
-82
-e4
-34
-48
-f5
-83
+68
 e0
-b4
-af
-0f
+04
+f0
+61
+65
+22
+ad
+07
+ac
+06
 90
-4e
-56
+4d
+e4
 e0
-24
-00
-f5
-82
-e4
-34
-48
-f5
-83
-e4
+64
+02
+60
+0e
+74
+01
 f0
 90
-4e
-56
-e0
+4d
+e5
 04
 f0
-80
-d1
-7b
-01
-7a
-48
-79
-00
-7d
-09
-12
-14
-0e
+ef
+a3
+f0
+ee
+a3
+f0
 22
 90
 4e
@@ -7992,11 +7334,11 @@
 79
 bf
 7d
-42
+43
 7c
 00
-d1
-b3
+91
+cd
 7b
 01
 7a
@@ -8007,8 +7349,8 @@
 14
 7c
 00
-d1
-b3
+91
+cd
 7b
 01
 7a
@@ -8019,8 +7361,8 @@
 14
 7c
 00
-d1
-b3
+91
+cd
 7b
 01
 7a
@@ -8031,8 +7373,8 @@
 14
 7c
 00
-d1
-b3
+91
+cd
 7b
 01
 7a
@@ -8043,8 +7385,8 @@
 09
 7c
 00
-d1
-b3
+91
+cd
 7b
 01
 7a
@@ -8055,8 +7397,8 @@
 09
 7c
 00
-d1
-b3
+91
+cd
 e4
 90
 4d
@@ -8123,481 +7465,438 @@
 38
 f0
 22
-e4
 90
-4c
+4e
+61
+eb
+f0
+a3
+ea
+f0
+a3
+e9
 f0
+a3
+ed
 f0
-22
+f1
+78
+ef
+60
+76
 90
 4c
-ee
+eb
 e0
-60
-1a
-e4
+70
+70
 90
 4c
-e3
-f0
-a3
-f0
+c5
+e0
+64
+03
+70
+68
 90
-4c
-ee
+4e
+61
 e0
-14
-f0
+fb
+a3
+e0
+fa
+a3
 e0
+f9
+12
+03
+b6
+ff
+64
+01
 70
-0a
-7f
-22
-11
-f6
-7f
-0a
-51
-7e
-31
-f2
-22
+2e
+90
+00
+01
 12
-07
-9d
+03
+cf
+70
+1e
 90
-4c
-e4
-e0
+00
+03
+12
+03
+cf
+70
+16
+90
+00
 04
-f0
+12
+03
+cf
+70
+0e
+90
+00
+05
+12
+03
+cf
 70
 06
 90
-4c
-e3
-e0
-04
+4d
+d6
 f0
-12
-23
-e9
-31
-b3
-31
-fb
 80
-c5
+28
 90
 4d
-e1
+d6
 74
-02
-f0
-7f
-08
 01
-33
-e4
-90
-0b
-7f
 f0
+80
+20
+ef
+b4
+02
+1c
 90
-0b
-7e
-f0
-7f
+00
 01
-41
-7e
-90
-80
-80
-e4
-f0
-a3
-f0
-a3
-f0
 12
-10
-d4
-e4
+03
+cf
+70
+0e
 90
-4e
+00
+02
+12
+03
+cf
+70
+06
 90
+4d
+d6
 f0
+80
+06
+90
+4d
+d6
+74
+01
 f0
 90
 4e
-90
+64
 e0
-90
-06
-0c
-93
-ff
-60
-0d
-c2
-05
-12
-10
-44
+fd
+f1
+53
+22
 90
 4e
-90
-e0
-04
-f0
-80
-e8
-22
-f1
-c1
-c2
-06
-7f
-10
-12
-10
-06
-c2
-06
-7f
-0f
-12
-10
-06
-c2
-06
-7f
-1d
-11
-06
-c2
-06
-7f
-1d
-ac
-07
-ec
-f4
-60
-15
-af
-04
-d2
-04
-11
-33
-af
-04
-a2
-06
-92
-01
-12
-07
-8b
-af
-04
-c2
-02
-11
-22
-22
+87
 ef
-f4
-60
-0c
+f0
+a3
+ed
+f0
 7b
 01
 7a
-80
+48
 79
-78
-a2
-02
-92
 00
-11
-73
-22
+7d
+09
+7c
+00
+91
+cd
+90
+48
+00
+74
+01
+f0
+a3
+e0
+ff
+90
+4e
+87
+e0
+fe
 ef
-f4
-60
-0c
+4e
+90
+48
+01
+f0
+90
+4e
+88
+e0
+90
+48
+03
+f0
 7b
 01
 7a
-80
+48
 79
-70
-a2
-04
-92
 00
-11
-73
-22
-ac
-07
-ec
+7d
+09
+a1
+83
+90
+4c
 f4
+e0
+ff
 60
-17
-af
-04
-a2
-05
-92
+08
+64
 03
-11
-62
-af
+60
 04
-a2
+ef
+b4
 05
-b3
-92
 02
-11
-22
-af
-04
-c2
-04
-11
-33
-22
-ef
+e1
+20
+90
+4c
 f4
-60
-0c
-7b
+e0
+b4
 01
-7a
-80
-79
-7c
-a2
-03
-92
-00
-11
-73
-22
-90
-4e
-84
-eb
-f0
-a3
-ea
-f0
+0e
 a3
-e9
-f0
+e0
+ff
 e4
-fe
-fd
-ef
-54
-07
-fe
-ef
-13
-13
-13
-54
-03
 fd
-30
-00
+d1
+0d
+90
+4c
+f4
+74
+02
+f0
 22
 90
-4e
-84
+4c
+f4
 e0
-fb
+b4
+02
+0b
+74
+03
+f0
 a3
 e0
-fa
+ff
 a3
 e0
-2d
-f9
-e4
-3a
-fa
-12
-03
-b6
-ff
-74
-01
-a8
-06
-08
+fd
 80
-02
-c3
-33
-d8
-fc
-4f
-02
-03
-fc
+8e
 90
-4e
-84
-e0
-fb
-a3
-e0
-fa
-a3
+4c
+f4
 e0
-2d
-f9
+b4
+04
+1a
 e4
-3a
-fa
-12
-03
-b6
+90
+4c
+f6
+f0
+90
+4c
+f5
+e0
 ff
+e4
+fd
+d1
+0d
+e4
+90
+4c
+f5
+f0
+90
+4c
+f4
 74
-01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
+05
+f0
+22
+90
+4c
 f4
-5f
-02
-03
-fc
+e0
+b4
+06
+15
 e4
 90
-4e
-8f
-f0
+4c
+f6
 f0
 90
-4e
-8f
+4c
+f5
+f0
+a3
 e0
+fd
+e4
 ff
-c3
-94
-08
-50
-0c
-c2
-05
-11
-44
+d1
+0d
+e4
 90
-4e
-8f
-e0
-04
+4c
+f4
 f0
-80
-ea
 22
 90
-4c
-bf
+4d
+d0
 e0
-60
-3d
-7f
-c8
-12
-0a
-7e
-c2
+64
 01
-7f
-ff
-12
-07
-8b
+70
+2f
+90
+4d
+d6
+e0
+70
+29
+90
+4c
+c5
+e0
+64
+03
+70
+4c
 7b
 01
 7a
-4c
+48
 79
 00
 7d
-04
-7c
-00
-7f
-f2
-7e
-3f
-31
-35
+09
+fc
+91
+cd
 7b
 01
 7a
-4c
+48
 79
-c1
+00
 7d
+09
+b1
+83
+90
+4d
+d0
+74
+02
+f0
+e4
+90
+4d
+e4
+f0
+22
+90
+4d
+d0
+e0
+b4
+02
+24
+90
+4d
+d6
+e0
+70
+1e
+90
+4d
+d0
+f0
+7b
 01
-7c
+7a
+48
+79
 00
-7f
-f8
-7e
-3f
-31
-35
-d2
+7d
+09
+fc
+91
+cd
+7b
 01
-7f
-ff
-12
-07
-8b
-7f
-0a
-12
-0a
-7e
+7a
+48
+79
+00
+7d
+09
+b1
+83
 e4
 90
-4c
-bf
+4d
+e4
 f0
 22
 90
 4e
-20
-ee
-f0
-a3
-ef
+75
+e4
 f0
 a3
-ec
 f0
 a3
-ed
 f0
-a3
+f1
+ad
+50
+25
+12
+18
+cf
+90
+4e
+75
 eb
 f0
 a3
@@ -8606,1514 +7905,1721 @@
 a3
 e9
 f0
+4a
+70
+07
+90
+4c
+b6
+04
+f0
+c1
+bd
 90
 4e
-22
+75
 e0
-70
-02
+fb
 a3
 e0
-70
-02
-21
-e2
-90
-4e
-20
-e0
-fe
+fa
 a3
 e0
-ff
-44
-0f
-24
+f9
+31
+1d
+22
+90
+0b
+e7
+74
+06
+f0
 01
-fd
+b5
+91
+f9
+12
+20
+65
+90
+4c
+eb
+74
+01
+f0
+90
+4c
+e5
+74
+1e
+f0
 e4
-3e
-fc
-c3
-ed
-9f
-ff
-ec
-9e
-fe
 90
-4e
-27
+4c
 f0
-a3
-ef
 f0
 90
-4e
+4d
+01
+74
+ff
+f0
 22
-e0
-fc
-a3
-e0
-fd
-d3
-9f
-ec
-9e
-40
-0a
+e4
+ff
 90
-4e
-27
+4c
+ee
 e0
-fe
-a3
+60
+01
+22
+90
+4c
+c5
 e0
-ff
-80
-04
-ae
-04
-af
-05
+64
+03
+60
+1c
 90
-4e
-27
-ee
-f0
-fc
-a3
+4c
 ef
-f0
-fd
-c3
-90
-4e
-23
 e0
-9d
+70
+1d
+74
+0a
 f0
+a3
+e0
+70
+16
 90
-4e
-22
+4d
+e1
 e0
-9c
+b4
+02
+0f
+7f
+09
+f1
+eb
+7f
+01
+80
+07
+e4
+90
+4c
+eb
 f0
+7f
+01
+22
 90
-4e
-20
+4b
+9c
 e0
 fe
 a3
 e0
 ff
 90
-4e
-24
+4b
+9a
 e0
-fb
+b5
+06
+07
 a3
 e0
-fa
-a3
+b5
+07
+02
+d3
+22
+c3
+22
+e4
+90
+4c
+f0
+f0
+22
+90
+4c
+c5
 e0
-f9
-d1
-42
+ff
+64
+03
+60
+04
+ef
+b4
+02
+08
 7f
-0a
+22
 12
-0a
-7e
+07
+f8
+7f
+01
+22
+7f
+00
+22
 90
-4e
-27
-e0
-fe
-a3
-e0
-ff
+4d
+e1
+74
+02
+f0
+7f
+08
 90
 4e
-25
-ee
-8f
+8d
+ef
 f0
-12
-04
-0e
+24
+f7
+60
+0a
+14
+60
+64
+24
+02
+60
+03
+02
+10
+96
+e4
 90
-4e
-21
-e0
-2f
+4c
 f0
+f0
+12
+0f
+cb
+ef
+60
+09
 90
 4e
-20
+8d
 e0
-3e
-f0
-21
+90
 4c
+ed
+f0
 22
-91
-99
-d1
-e3
-71
+7b
+01
+7a
+4c
+79
+00
+7d
+04
+7c
+00
 7f
-11
-f1
-12
-06
-cf
-90
-0b
+f2
 7e
-e0
-14
-60
-0e
-24
-fe
-70
-ec
+3f
 51
-35
-12
-0f
-ee
-12
-0f
-b4
-80
-fe
+7e
+7f
+0a
+11
+9c
 90
 4c
-ea
+00
 e0
-70
-1e
-90
-4c
-ec
+b4
+ff
+1b
+a3
 e0
-70
-18
+b4
+ff
+16
+a3
+e0
+b4
+ff
+11
+a3
+e0
+b4
+ff
+0c
 90
 4c
-e5
-e0
-70
+00
+74
+0f
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+7f
+21
 12
+07
+f8
 90
 4c
-e7
-e0
-70
-0c
+c5
+74
+02
+f0
+e4
+a3
+f0
 90
 4c
-e6
-e0
-70
-06
+ed
+f0
+22
+e4
 90
 4c
-e8
-e0
-60
-04
-f1
-b3
-80
-ba
-51
-35
+f0
+f0
 12
 0f
-b4
-80
-b3
-80
-b1
-22
-e4
-ff
+cb
+ef
+60
+09
 90
 4e
-91
+8d
+e0
+90
+4c
+ed
 f0
-fe
-fd
-ef
+22
 90
-06
-0c
-93
+4c
+c5
+e0
+64
+01
 60
-49
-ef
-93
-fd
-13
-13
-13
-54
-1f
-fe
-ed
-54
+19
+7f
+23
+12
 07
-fd
+f8
+90
+4c
+c5
 74
 01
-a8
-05
-08
-80
-02
-c3
-33
-d8
-fc
-fd
-ee
-24
-78
-fb
-e4
-34
-80
-8b
-82
-f5
-83
-e0
-fc
-ed
-f4
-fb
-ec
-5b
 f0
-ee
-24
-70
-f5
-82
 e4
-34
-80
-f5
-83
-e0
-4d
+a3
 f0
+90
+4c
 ee
-24
 74
-f5
-82
-e4
-34
-80
-f5
-83
-e0
-5b
 f0
-0f
-80
-b0
-12
-25
-7e
-90
-81
-1c
-e0
-90
-4e
-91
 f0
+e4
 90
 4c
-d5
-e0
-64
-02
-60
-36
+e9
+f0
+e4
 90
-4d
-d5
-e0
-60
-20
+4c
+ed
+f0
+22
 e4
-ff
-51
-e0
-7f
+90
+4c
+ed
+f0
+22
+ef
+d3
+94
+00
+40
+11
+e4
+fd
+fc
+0d
+bd
+00
 01
-51
-e0
-7f
-02
-51
+0c
+bc
+04
+f8
+bd
+a6
+f5
+1f
+80
+e9
+22
+90
+4c
+bf
 e0
+60
+3b
 7f
-03
-51
-e0
+c8
+11
+9c
+c2
+01
 7f
+ff
+12
+07
+84
+7b
+01
+7a
+4c
+79
+00
+7d
 04
-51
-e0
+7c
+00
 7f
-05
-51
-e0
+f2
+7e
+3f
+11
+f6
+7b
+01
+7a
+4c
+79
+c1
+7d
+01
+7c
+00
 7f
-06
-51
-e0
+f8
+7e
+3f
+11
+f6
+d2
+01
 7f
+ff
+12
 07
-80
-1a
+84
+7f
+0a
+11
+9c
+e4
+90
+4c
+bf
+f0
+22
 90
 4e
-91
+20
+ee
+f0
+a3
+ef
+f0
+a3
+ec
+f0
+a3
+ed
+f0
+a3
+eb
+f0
+a3
+ea
+f0
+a3
+e9
+f0
+90
+4e
+22
 e0
-ff
+70
+02
+a3
+e0
+70
+02
+21
+a2
 90
-00
+4e
+20
+e0
+fe
 a3
+e0
+ff
+44
+0f
+24
+01
+fd
+e4
+3e
+fc
+c3
+ed
+9f
+ff
+ec
+9e
+fe
+90
+4e
+27
 f0
+a3
 ef
-f4
-90
-00
-a7
 f0
+90
+4e
 22
-e4
+e0
+fc
+a3
+e0
+fd
+d3
+9f
+ec
+9e
+40
+0a
 90
-00
+4e
+27
+e0
+fe
+a3
+e0
+ff
+80
+04
+ae
+04
+af
+05
+90
+4e
+27
+ee
+f0
+fc
 a3
+ef
 f0
+fd
+c3
 90
-00
-a7
+4e
+23
+e0
+9d
 f0
-22
 90
 4e
-95
-ef
+22
+e0
+9c
 f0
-91
-d9
-92
-08
 90
 4e
-95
+20
 e0
-ff
-a2
-08
-b3
-92
-07
-ef
-f4
-70
-02
-61
-7e
-ef
-54
-07
 fe
-ef
-13
-13
-13
-54
-03
+a3
+e0
 ff
-30
-07
-43
+90
+4e
 24
+e0
+fb
 a3
-f5
-82
-e4
-34
-00
-f5
-83
-c0
-83
-c0
-82
-e0
-fd
-74
-01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
-f4
-5d
-d0
-82
-d0
-83
-f0
-74
-a7
-2f
-f5
-82
-e4
-34
-00
-f5
-83
-c0
-83
-c0
-82
 e0
-ff
-74
-01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
-4f
-d0
-82
-d0
-83
-f0
-22
-74
+fa
 a3
-2f
-f5
-82
-e4
-34
-00
-f5
-83
-c0
-83
-c0
-82
 e0
-fd
-74
-01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
-fc
+f9
+d1
 4d
-d0
-82
-d0
-83
-f0
-74
-a7
-2f
-f5
-82
-e4
-34
-00
-f5
-83
-e0
-ff
-ec
-f4
-fe
-ef
-5e
-f0
-22
-90
-4c
-f4
-e0
-ff
-60
-08
-64
-01
-60
-04
-ef
-b4
-03
-02
-a1
-1e
+7f
+0a
+11
+9c
 90
-4c
-f4
+4e
+27
 e0
-b4
-02
-0b
-74
-03
-f0
+fe
 a3
 e0
 ff
-a3
-e0
-fd
-80
-33
-90
-4c
-f4
-e0
-b4
-04
-13
-e4
-90
-4c
-f6
-f0
 90
-4c
-f4
-74
-05
+4e
+25
+ee
+8f
 f0
-a3
-e0
-ff
-a3
-e0
-fd
-80
-19
+12
+04
+0e
 90
-4c
-f4
+4e
+21
 e0
-b4
-05
-11
-e4
-a3
-f0
-a3
+2f
 f0
 90
-4c
-f4
-f0
-a3
-e0
-ff
-a3
+4e
+20
 e0
-fd
-71
-d5
+3e
+f0
+21
+0d
 22
 90
 4e
-87
+92
 ef
 f0
-a3
-ed
-f0
+24
+d0
+60
+48
+14
+60
+47
+14
+70
+02
+41
+4e
+14
+60
+0a
+24
+f7
+60
+3b
+24
+0d
+60
+02
+41
+7d
+71
+2e
+12
+0f
+5b
 7b
 01
 7a
-48
+4c
 79
 00
 7d
-09
+04
 7c
 00
-12
-0e
-b3
-90
-48
-00
-74
-01
-f0
-a3
-e0
-ff
-90
-4e
-87
-e0
-fe
-ef
-4e
-90
-48
-01
-f0
+7f
+f2
+7e
+3f
+51
+7e
+7f
+0a
+11
+9c
 90
-4e
-88
+4c
+c1
 e0
-90
-48
-03
-f0
-7b
-01
+f9
 7a
-48
-79
+00
+7b
 00
 7d
-09
-90
-4e
+01
+7c
+00
+7f
+f8
+7e
+3f
+51
+7e
+7f
+0a
+11
+9c
+02
+0f
+e3
 61
-eb
-f0
-a3
-ea
-f0
-a3
-e9
+62
+90
+4c
+c5
+74
+03
 f0
+e4
 a3
-ed
 f0
 12
-07
-fe
-ef
-60
-76
+0f
+c5
+e4
+90
+4c
+ee
+f0
 90
 4c
 eb
-e0
-70
-70
+f0
 90
 4c
-c5
+c0
+74
+fe
+f0
+90
+4c
+c3
+f0
+90
+4e
+92
 e0
 64
-03
+31
 70
-68
+24
 90
-4e
-61
+4c
+e5
+74
+1e
+f0
+90
+4b
+eb
 e0
-fb
+b4
+0f
+10
 a3
 e0
-fa
+b4
+0f
+0b
+a3
+e0
+b4
+0f
+06
 a3
 e0
-f9
-12
-03
-b6
-ff
 64
-01
-70
-2e
+0f
+60
+43
 90
-00
+4c
+bf
+74
 01
-12
-03
-cf
-70
-1e
-90
-00
-03
-12
-03
-cf
-70
-16
+f0
+22
 90
-00
-04
-12
-03
-cf
+4c
+e5
+e0
 70
-0e
+36
+c2
+01
+7f
+1e
+02
+07
+84
+e4
 90
-00
-05
-12
-03
-cf
-70
-06
+4c
+c5
+f0
+a3
+f0
 90
-4d
-d6
+4c
+e3
+f0
+a3
 f0
-80
-28
 90
-4d
-d6
-74
-01
+4c
+eb
+04
 f0
-80
-20
-ef
-b4
-02
-1c
 90
-00
-01
+4c
+ed
+e0
+60
+0b
 12
-03
-cf
-70
-0e
+0f
+c5
 90
-00
+4c
+ed
+e0
+ff
 02
-12
-03
-cf
-70
-06
-90
-4d
-d6
-f0
-80
-06
+0f
+eb
 90
-4d
-d6
-74
+4c
+ec
+e0
+b4
 01
+05
+e4
 f0
+12
+07
+f1
+22
 90
 4e
-64
-e0
-fd
-91
-ac
-22
-7b
-01
-7a
-4d
-79
-ee
-78
-00
-7c
-4e
-7d
-01
-7e
-00
-7f
-12
-02
-03
-90
+5c
+ec
+f0
+a3
+ed
+f0
+a3
+eb
+f0
+a3
+ea
+f0
+a3
+e9
+f0
 90
-0b
-e7
+80
+98
 74
-06
+04
+f0
+a3
+e4
 f0
 90
-4e
-93
-ed
+0c
+af
+74
+a0
+f0
+a3
+ee
+f0
+a3
+ef
 f0
-e0
-fd
 90
-0b
-e8
+0c
+b2
+74
+a1
 f0
+7a
+0c
+79
+af
 7e
-0b
+0c
 7f
-e9
+af
+74
+af
+fc
+74
+0c
+ff
+ec
+fe
+ef
 90
-4e
-51
-ed
+80
+9a
+ee
+f0
+a3
+ef
 f0
-12
-0c
-1a
-7b
-01
-7a
-0b
-79
-e7
 90
 4e
-93
+5c
 e0
-24
-02
-fd
-02
-09
-1e
-7b
-01
-7a
-81
-79
-1c
-ad
-07
-e4
-90
-4e
-94
-f0
+fc
+a3
+e0
+fa
+ec
+ff
+ea
 fe
 ef
-54
-07
+90
+80
+9e
+ee
 f0
+a3
 ef
-13
-13
-13
-54
-03
-fe
-f5
-82
-75
+f0
+7a
+0b
+79
+83
+7e
+0b
+7f
+83
+74
 83
-00
-12
-03
-cf
-fd
-33
-95
-e0
 fc
-90
-4e
-94
-e0
-ff
 74
-01
-7e
-00
-a8
-07
-08
-80
-05
-c3
-33
-ce
-33
-ce
-d8
-f9
+0b
 ff
-ee
-5c
+ec
 fe
 ef
-5d
-4e
-24
-ff
-22
 90
-4e
-75
-e4
-f0
-a3
+80
+9c
+ee
 f0
 a3
+ef
 f0
-f1
-bf
-50
-26
-12
-19
-7c
 90
-4e
-75
-eb
-f0
-a3
-ea
+80
+90
+74
+02
 f0
+90
+80
+9c
 a3
-e9
-f0
-4a
-70
+e0
+20
+e7
 07
 90
-4c
-b6
-04
+80
+90
+e0
+44
+01
 f0
+90
 80
-0f
+06
+e0
+44
+04
+f0
+d1
+e6
 90
 4e
-75
+5e
 e0
-fb
 a3
 e0
 fa
 a3
 e0
-f9
-12
-0c
-5d
-22
-90
-4d
-d0
-e0
-64
+ae
+02
+ff
+7b
 01
-70
-30
+7a
+0b
+79
+83
 90
-4d
-d6
+4e
+5c
 e0
-70
-2a
-90
-4c
-c5
+a3
 e0
-64
-03
-70
+90
 4e
-7b
+51
+f0
+02
+08
+da
+71
+62
+c2
+06
+7f
+ff
+71
+46
+c2
+06
+7f
+ff
+71
+46
+c2
+06
+7f
+1e
+71
+46
+c2
+06
+7f
+1e
+ac
+07
+ec
+f4
+60
+15
+af
+04
+d2
+04
+b1
+ad
+af
+04
+a2
+06
+92
 01
-7a
-48
-79
-00
-7d
-09
-fc
 12
-0e
-b3
-7b
-01
-7a
-48
-79
-00
-7d
-09
-91
-0e
-90
-4d
-d0
-74
+07
+84
+af
+04
+c2
 02
+b1
+7e
+22
+90
+80
+80
+e4
+f0
+a3
+f0
+a3
 f0
+d1
+30
 e4
 90
-4d
-e4
+4e
+90
+f0
 f0
-22
 90
-4d
-d0
-e0
-b4
-02
-25
+4e
 90
-4d
-d6
 e0
-70
-1f
 90
-4d
-d0
-f0
-7b
-01
-7a
-48
-79
-00
-7d
-09
-fc
-12
-0e
-b3
-7b
-01
-7a
-48
-79
-00
-7d
-09
-91
-0e
-e4
+06
+0c
+93
+ff
+60
+0c
+c2
+05
+b1
+8f
 90
-4d
-e4
-f0
-22
+4e
 90
-4c
-ea
 e0
-60
-02
-14
+04
 f0
+80
+e9
+22
+b1
+26
+d1
+ee
+12
+0e
+47
+11
+b4
+12
+06
+cf
 90
-4c
-ef
+0b
+7e
 e0
-60
-02
 14
-f0
+60
+0c
+24
+fe
+70
+eb
+71
+cf
+71
+30
+b1
+19
+80
+fe
 90
 4c
-e5
+ea
 e0
-60
-0f
-14
-f0
+70
 12
-07
-f8
 90
 4c
-e5
+ec
 e0
 70
-2f
-f1
-ac
-80
-2b
+0c
 90
 4c
-ee
+e5
 e0
 70
-25
+06
 90
 4c
-e2
+f8
 e0
 60
-1f
-14
-f0
-e0
-30
-e1
-09
-d2
-01
-7f
-1d
-12
-07
-8b
-80
-07
-c2
-01
-7f
-1d
-12
+04
+f1
+b7
+80
+c7
+71
+cf
+b1
+19
+80
+c1
+80
+bf
+22
+e4
+ff
+90
+4e
+91
+f0
+fe
+fd
+ef
+90
+06
+0c
+93
+60
+49
+ef
+93
+fd
+13
+13
+13
+54
+1f
+fe
+ed
+54
 07
+fd
+74
+01
+a8
+05
+08
+80
+02
+c3
+33
+d8
+fc
+fd
+ee
+24
+78
+fb
+e4
+34
+80
 8b
-90
-4c
-e2
+82
+f5
+83
 e0
+fc
+ed
+f4
+fb
+ec
+5b
+f0
+ee
+24
 70
-03
+f5
+82
+e4
+34
+80
+f5
+83
+e0
+4d
+f0
+ee
+24
 74
-04
+f5
+82
+e4
+34
+80
+f5
+83
+e0
+5b
 f0
+0f
+80
+b0
+12
+22
 90
-4d
-d5
+90
+81
+1c
 e0
-70
-2b
 90
-4d
-d6
+4e
+91
+f0
+90
+4c
+d5
 e0
 64
-01
-70
-23
-f0
+02
+60
+36
 90
 4d
-e5
+d5
 e0
 60
-0c
-7b
+20
+e4
+ff
+91
+7a
+7f
 01
+91
 7a
-4d
-79
-e5
-7d
+7f
+02
+91
+7a
+7f
 03
 91
-0e
-80
-10
-90
-48
-00
-e0
-60
-0a
-7b
-01
 7a
-48
-79
-00
-7d
-09
+7f
+04
 91
-0e
+7a
+7f
+05
+91
+7a
+7f
+06
+91
+7a
+7f
+07
+80
+1a
 90
-4d
-de
-e0
-60
-03
+4e
+91
 e0
-14
-f0
-22
+ff
 90
-4e
-3f
-ee
-f0
+00
 a3
-ef
 f0
+ef
+f4
 90
-4e
-43
-eb
-f0
-a3
-ea
+00
+a7
 f0
+22
+e4
+90
+00
 a3
-e9
 f0
 90
-4e
-41
-ec
-f0
-a3
-ed
+00
+a7
 f0
-a3
-e0
-f9
-a3
-e0
-fa
-a3
-e0
+22
 90
 4e
-2c
-c9
-f0
-a3
-ea
-f0
-a3
-e9
-f0
-a3
-ec
-f0
-a3
-ed
+95
+ef
 f0
-7b
-01
-7a
-0b
-79
-86
-12
-24
 b1
-90
-0b
-83
-74
-a0
-f0
+39
+92
+08
 90
 4e
-3f
+95
 e0
 ff
-a3
-e0
-90
-0b
-84
-cf
-f0
-a3
+a2
+08
+b3
+92
+07
 ef
-f0
-90
-4e
-42
-e0
-24
+f4
+70
+02
+a1
+18
+ef
+54
+07
+fe
+ef
+13
+13
+13
+54
 03
-fd
-90
-4e
-41
-e0
+ff
+30
+07
+43
+24
+a3
+f5
+82
+e4
 34
 00
+f5
+83
+c0
+83
+c0
+82
+e0
+fd
+74
+01
+a8
+06
+08
+80
+02
+c3
+33
+d8
 fc
-ed
-fa
-ec
+f4
+5d
+d0
+82
+d0
+83
+f0
+74
+a7
+2f
+f5
+82
+e4
+34
+00
+f5
+83
+c0
+83
+c0
+82
+e0
 ff
-ea
-fe
-ef
-90
+74
+01
+a8
+06
+08
 80
-98
-ee
+02
+c3
+33
+d8
+fc
+4f
+d0
+82
+d0
+83
 f0
+22
+74
 a3
-ef
-f0
-7a
-0b
-79
+2f
+f5
+82
+e4
+34
+00
+f5
 83
-7e
-0b
-7f
+c0
 83
+c0
+82
+e0
+fd
 74
-83
+01
+a8
+06
+08
+80
+02
+c3
+33
+d8
+fc
 fc
+4d
+d0
+82
+d0
+83
+f0
 74
-0b
+a7
+2f
+f5
+82
+e4
+34
+00
+f5
+83
+e0
 ff
 ec
+f4
 fe
 ef
-a3
-ee
-f0
-a3
-ef
+5e
 f0
-90
-80
-9e
+22
 e4
-f0
-a3
-f0
-90
-80
 90
-04
+0b
+7f
 f0
 90
-80
-06
-e0
-44
-04
+0b
+7e
 f0
-90
-81
-2c
-e0
-30
-e5
-f9
-22
+7f
+01
+01
+9c
+7b
+01
 7a
-0c
+4d
 79
-4b
-90
+ee
+78
+00
+7c
 4e
-7b
-74
+7d
 01
-f0
-a3
-74
-0c
-f0
-a3
-74
-4b
-f0
-90
-4b
-a0
-e0
-fe
-a3
-e0
-ff
-90
-4b
-9e
-e0
-6e
-70
-03
-a3
-e0
-6f
-60
-47
 7e
-0c
+00
 7f
-4b
-7d
-03
 12
-24
-54
+02
+03
 90
-4e
 7b
+01
+7a
+81
+79
+1c
+ad
+07
+e4
+90
+4e
+94
+f0
+fe
+ef
+54
+07
+f0
+ef
+13
+13
+13
+54
+03
+fe
+f5
+82
+75
+83
+00
+12
+03
+cf
+fd
+33
+95
 e0
-fb
-a3
-e0
-fa
-a3
+fc
+90
+4e
+94
 e0
+ff
+74
+01
+7e
+00
+a8
+07
+08
+80
+05
+c3
+33
+ce
+33
+ce
+d8
 f9
-12
+ff
+ee
+5c
+fe
+ef
+5d
+4e
+24
+ff
+22
+ef
+f4
+60
+0c
+7b
+01
+7a
+80
+79
+78
+a2
+02
+92
+00
+b1
+cf
+22
+ac
+07
+ec
+f4
+60
+17
+af
+04
+a2
+05
+92
 03
-b6
-b4
+b1
+be
+af
+04
+a2
+05
+b3
+92
 02
-2b
+b1
+7e
+af
+04
+c2
+04
+b1
+ad
+22
+ef
+f4
+60
+0c
+7b
+01
+7a
+80
+79
+70
+a2
+04
+92
+00
+b1
+cf
+22
+ef
+f4
+60
+0c
+7b
+01
+7a
+80
+79
+7c
+a2
+03
+92
+00
+b1
+cf
+22
 90
 4e
-7c
-e4
-75
+84
+eb
 f0
-02
-12
-04
-0e
+a3
+ea
+f0
+a3
+e9
+f0
+e4
+fe
+fd
+ef
+54
+07
+fe
+ef
+13
+13
+13
+54
+03
+fd
+30
+00
+22
 90
 4e
-7b
+84
 e0
 fb
 a3
@@ -10121,54 +9627,33 @@
 fa
 a3
 e0
+2d
 f9
+e4
+3a
+fa
 12
 03
 b6
 ff
-90
-4e
-00
-e0
-a3
-e0
-fa
-a3
-e0
-f5
-82
-8a
-83
-12
-05
-68
+74
+01
+a8
+06
+08
 80
 02
-80
-fe
-90
-4b
-a5
-e0
-fe
-a3
-e0
-ff
-90
-4c
-5e
-e0
-6e
-70
+c3
+33
+d8
+fc
+4f
+02
 03
-a3
-e0
-6f
-60
-22
+fc
 90
 4e
-06
+84
 e0
 fb
 a3
@@ -10176,525 +9661,695 @@
 fa
 a3
 e0
+2d
 f9
-4a
-60
-37
+e4
+3a
+fa
 12
-05
-64
+03
+b6
+ff
+74
+01
+a8
+06
+08
+80
+02
+c3
+33
+d8
+fc
+f4
+5f
+02
+03
+fc
+e4
 90
-4b
-a5
+4e
+8f
+f0
+f0
+90
+4e
+8f
 e0
 ff
-a3
+c3
+94
+08
+50
+0c
+c2
+05
+b1
+8f
+90
+4e
+8f
 e0
+04
+f0
+80
+ea
+22
 90
-4c
-5e
-cf
+4e
+3f
+ee
 f0
 a3
 ef
 f0
-80
-ca
 90
-4c
-8d
-e0
-ff
+4e
+43
+eb
+f0
 a3
-e0
-6f
-60
-19
+ea
+f0
+a3
+e9
+f0
 90
 4e
-09
+41
+ec
+f0
+a3
+ed
+f0
+a3
 e0
-fb
+f9
 a3
 e0
 fa
 a3
 e0
-f9
-4a
-60
-0b
-12
-05
-64
 90
-4c
-8d
-e0
+4e
+2c
+c9
+f0
 a3
+ea
 f0
-80
-dd
-22
-21
-e3
-c2
+a3
+e9
+f0
+a3
+ec
+f0
+a3
+ed
+f0
+7b
 01
-7f
-1d
-02
-07
-8b
-90
+7a
 0b
-7f
-74
-01
-f0
-e4
+79
+86
+12
+21
+e0
 90
 0b
-7e
+83
+74
+a0
 f0
-22
 90
-4b
-9c
+4e
+3f
 e0
-fe
+ff
 a3
 e0
-ff
 90
-4b
-9a
-e0
-b5
-06
-07
+0b
+84
+cf
+f0
 a3
+ef
+f0
+90
+4e
+42
 e0
-b5
-07
-02
-d3
-22
-c3
-22
-ad
-07
-ac
-06
+24
+03
+fd
 90
-4d
-e4
+4e
+41
 e0
-64
-02
-60
-0e
-74
-01
-f0
+34
+00
+fc
+ed
+fa
+ec
+ff
+ea
+fe
+ef
 90
-4d
-e5
-04
+80
+98
+ee
 f0
-ef
 a3
+ef
 f0
-ee
+7a
+0b
+79
+83
+7e
+0b
+7f
+83
+74
+83
+fc
+74
+0b
+ff
+ec
+fe
+ef
 a3
+ee
 f0
-22
-ae
-05
+a3
 ef
-30
-e0
-0a
+f0
 90
-4d
-d3
-e0
-04
+80
+9e
+e4
 f0
-ae
-03
+a3
+f0
+90
 80
-0d
 90
-4d
-d3
-e0
-60
-07
-e0
-14
+04
 f0
-af
-03
-ae
-07
-af
+90
+80
 06
-22
-ae
-07
-ac
-05
-e4
+e0
+44
+04
+f0
+90
+81
+2c
+e0
+30
+e5
+f9
+22
+7a
+0c
+79
+4b
 90
 4e
-8e
+7b
+74
+01
 f0
-ec
+a3
+74
+0c
+f0
+a3
+74
+4b
 f0
 90
-4d
-db
+4b
+a0
 e0
-64
-01
+fe
+a3
+e0
+ff
+90
+4b
+9e
+e0
+6e
+70
+03
+a3
+e0
+6f
 60
-02
+47
+7e
+0c
+7f
+4b
+7d
+03
+12
 21
-76
-ec
-24
-c6
+83
+90
+4e
+7b
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+f9
+12
+03
+b6
 b4
-0c
-00
-40
 02
-21
-76
+2b
 90
-18
-3f
+4e
+7c
+e4
 75
 f0
-03
-a4
-c5
-83
-25
-f0
-c5
-83
-73
-02
-18
-63
-02
-18
-73
-02
-18
-83
-02
-18
-af
-02
-18
-da
-02
-19
-06
-02
-19
-16
-02
-19
-26
-02
-19
-36
 02
-19
-46
-02
-19
-56
-02
-19
-66
-af
-06
-ad
-04
-7b
-d7
 12
-17
-f2
+04
+0e
 90
 4e
-8e
-ef
-f0
-21
-76
-af
-06
-ad
-04
 7b
-d8
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+f9
 12
-17
-f2
+03
+b6
+ff
 90
 4e
-8e
-ef
-f0
-21
-76
-90
-4c
+00
+e0
+a3
+e0
+fa
+a3
+e0
 f5
-74
-04
-f0
+82
+8a
+83
+12
+05
+68
+80
+02
+80
+fe
+90
+4b
+a5
+e0
+fe
 a3
-74
-2b
-f0
-ee
-30
 e0
-08
+ff
 90
 4c
-f4
-74
-01
-f0
-80
-06
+5e
+e0
+6e
+70
+03
+a3
+e0
+6f
+60
+22
 90
-4c
-f4
-74
-04
-f0
-af
+4e
 06
-ad
-04
-e4
+e0
 fb
-12
-17
-f2
-90
-4e
-8e
-ef
-f0
-21
-76
-90
-4c
-f5
-74
-08
-f0
 a3
-14
-f0
-ee
-30
 e0
-08
+fa
+a3
+e0
+f9
+4a
+60
+37
+12
+05
+64
+90
+4b
+a5
+e0
+ff
+a3
+e0
 90
 4c
-f4
-74
-01
+5e
+cf
+f0
+a3
+ef
 f0
 80
-06
+ca
 90
 4c
-f4
+8d
+e0
+ff
+a3
+e0
+6f
+60
+19
+90
+4e
+09
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+f9
+4a
+60
+0b
+12
+05
+64
+90
+4c
+8d
+e0
+a3
+f0
+80
+dd
+22
+61
+8b
+90
+0b
+7f
 74
-04
+01
 f0
-af
-06
-ad
-04
 e4
-fb
-12
-17
-f2
+90
+0b
+7e
+f0
+22
 90
 4e
-8e
+96
 ef
 f0
-21
-76
+7b
+01
+7a
+80
+79
+74
+b1
+3f
+92
+09
+90
+4e
+96
+e0
+ff
+a2
+09
+b3
+92
+01
+02
+07
+84
 90
 4c
 f5
-74
-08
+ed
 f0
 a3
-74
-50
+eb
 f0
-ee
+ef
 30
 e0
-08
+12
+90
+4c
+f4
+e0
+b4
+03
+04
+74
+02
+f0
+22
 90
 4c
 f4
 74
 01
 f0
-80
-06
+22
 90
 4c
 f4
 74
 04
 f0
-af
-06
-ad
-04
+22
+ae
+07
 e4
-fb
-12
-17
-f2
 90
 4e
 8e
-ef
+f0
+ed
+f0
+90
+4d
+db
+e0
+64
+01
+60
+02
+01
+c9
+ed
+24
+c6
+b4
+0c
+00
+40
+02
+01
+c9
+90
+18
+2f
+75
+f0
+03
+a4
+c5
+83
+25
+f0
+c5
+83
+73
+02
+18
+53
+02
+18
+5b
+02
+18
+63
+02
+18
+73
+02
+18
+83
+02
+18
+93
+02
+18
+9b
+02
+18
+a3
+02
+18
+ab
+02
+18
+b3
+02
+18
+bb
+02
+18
+c3
+90
+4e
+8e
+74
+d7
 f0
 80
-70
+6e
+90
+4e
+8e
+74
+d8
+f0
+80
+66
 af
 06
-ad
-04
 7b
-d5
+2b
+7d
+04
 12
 17
-f2
+df
+e4
 90
 4e
 8e
-ef
 f0
 80
-60
+56
 af
 06
-ad
-04
 7b
-f4
+07
+7d
+08
 12
 17
-f2
+df
+e4
 90
 4e
 8e
-ef
 f0
 80
-50
+46
 af
 06
-ad
-04
 7b
-f2
+50
+7d
+08
 12
 17
-f2
+df
+e4
 90
 4e
 8e
-ef
 f0
 80
-40
-af
-06
-ad
-04
-7b
-f5
-12
-17
-f2
+36
 90
 4e
 8e
-ef
+74
+d5
 f0
 80
-30
-af
-06
-ad
-04
-7b
-f8
-12
-17
-f2
+2e
 90
 4e
 8e
-ef
+74
+f4
 f0
 80
-20
-af
-06
-ad
-04
-7b
-f6
-12
-17
+26
+90
+4e
+8e
+74
 f2
+f0
+80
+1e
 90
 4e
 8e
-ef
+74
+f5
+f0
+80
+16
+90
+4e
+8e
+74
+f8
+f0
+80
+0e
+90
+4e
+8e
+74
+f6
 f0
 80
-10
-af
-06
-ae
-04
-ad
 06
-7b
-f7
-12
-17
-f2
 90
 4e
 8e
-ef
+74
+f7
 f0
 90
 4e
@@ -10733,8 +10388,8 @@
 f0
 a3
 f0
-b1
-73
+91
+52
 7a
 4d
 79
@@ -10764,7 +10419,7 @@
 79
 bc
 71
-b6
+09
 ef
 60
 16
@@ -10776,8 +10431,8 @@
 bc
 7d
 14
-71
-86
+51
+d9
 ef
 70
 09
@@ -10851,8 +10506,8 @@
 f0
 af
 05
-71
-78
+51
+cb
 a3
 e0
 2f
@@ -10886,8 +10541,8 @@
 19
 e0
 ff
-71
-78
+51
+cb
 90
 4e
 1d
@@ -10953,8 +10608,8 @@
 93
 70
 02
-61
-4c
+41
+9f
 74
 93
 2f
@@ -11008,10 +10663,10 @@
 e0
 70
 04
-61
-44
-61
-44
+41
+97
+41
+97
 90
 4e
 1c
@@ -11099,7 +10754,7 @@
 93
 fd
 11
-12
+04
 90
 4e
 1b
@@ -11117,8 +10772,8 @@
 1b
 e0
 ff
-91
-00
+71
+53
 80
 07
 90
@@ -11126,8 +10781,8 @@
 1b
 e0
 ff
-91
-90
+71
+a9
 90
 4e
 14
@@ -11164,8 +10819,8 @@
 e0
 04
 f0
-41
-6c
+21
+bf
 90
 4d
 e4
@@ -11349,99 +11004,41 @@
 e4
 fe
 ef
-b4
-e7
-08
-90
-4e
-31
-e0
-44
-80
-f0
-22
-ef
-b4
-e6
-08
-90
-4e
-31
+c3
+94
 e0
-44
 40
-f0
-22
-ef
-b4
-e5
-08
-90
-4e
-31
-e0
-44
 20
-f0
-22
-ef
-b4
-e4
-08
-90
-4e
-31
-e0
-44
-10
-f0
-22
-ef
-b4
-e3
-08
-90
-4e
-31
-e0
-44
-08
-f0
-22
 ef
-b4
-e2
-08
+d3
+94
+e7
+50
+1a
 90
 4e
 31
 e0
-44
-04
-f0
-22
+fe
 ef
-b4
-e1
+54
+07
+ff
+74
+01
+a8
+07
 08
-90
-4e
-31
-e0
-44
+80
 02
-f0
-22
-ef
-b4
-e0
-08
+c3
+33
+d8
+fc
+4e
 90
 4e
 31
-e0
-44
-01
 f0
 22
 e4
@@ -11526,99 +11123,41 @@
 01
 f0
 ef
-b4
-e7
-08
-90
-4e
-31
+c3
+94
 e0
-54
-7f
-f0
-22
+40
+20
 ef
-b4
-e6
-08
+d3
+94
+e7
+50
+1a
 90
 4e
 31
 e0
-54
-bf
-f0
-22
-ef
-b4
-e5
-08
-90
-4e
-31
-e0
-54
-df
-f0
-22
-ef
-b4
-e4
-08
-90
-4e
-31
-e0
-54
-ef
-f0
-22
-ef
-b4
-e3
-08
-90
-4e
-31
-e0
-54
-f7
-f0
-22
-ef
-b4
-e2
-08
-90
-4e
-31
-e0
-54
-fb
-f0
-22
+fe
 ef
-b4
-e1
-08
-90
-4e
-31
-e0
 54
-fd
-f0
-22
-ef
-b4
-e0
+07
+ff
+74
+fe
+a8
+07
 08
+80
+02
+c3
+33
+d8
+fc
+5e
 90
 4e
 31
-e0
-54
-fe
 f0
 22
 e4
@@ -11860,8 +11399,8 @@
 5b
 f0
 0f
-a1
 81
+60
 e4
 ff
 ef
@@ -11993,8 +11532,8 @@
 5b
 f0
 0f
-c1
-06
+81
+e5
 e4
 ff
 ef
@@ -12070,677 +11609,697 @@
 b9
 22
 90
-4e
-65
-eb
-f0
-a3
-ea
-f0
-a3
-e9
-f0
-e4
-a3
-f0
+80
+10
+74
+01
 f0
+80
+fe
+22
+80
+f5
 90
 4e
-68
-e0
-ff
-c3
-94
-06
-40
+89
+ed
+f0
+90
+00
+01
+12
 03
-02
-21
-4e
+cf
 90
 4e
-65
+8a
+f0
+22
+90
+4c
+c5
 e0
-fb
-a3
+b4
+03
+11
+90
+4c
+e3
 e0
-fa
+64
+0e
+70
+04
 a3
 e0
-24
-01
-f9
-e4
-3a
-fa
-7e
-00
-e9
-2f
-f9
-ee
-3a
-fa
-12
-03
-b6
-ff
-54
-f0
-64
-f0
-60
-0a
-ef
-54
-d0
 64
-d0
-60
-03
+10
+70
+2d
 02
-21
-45
-12
-03
-b6
-fb
-b4
+07
 f1
-0a
-7f
-83
-7e
+90
+4c
+c5
+e0
+b4
 01
-12
+14
+90
+4c
+e3
+e0
+70
+04
+a3
+e0
+64
+28
+70
 17
-d7
-02
-21
-1a
-eb
-b4
-f2
-0a
 7f
-cd
-7e
-00
+22
 12
-17
-d7
+07
+f8
 02
-21
-1a
+07
+f1
 90
-4e
-65
-e0
-fb
-a3
+4c
+e3
 e0
-fa
+70
+04
 a3
 e0
-24
-01
-f9
+64
+14
+70
+03
+12
+07
+f1
+22
+12
+07
+96
+90
+4c
 e4
-3a
-fa
-a3
 e0
-7e
-00
-29
-f9
-ee
-3a
-fa
-12
-03
-b6
-fb
-b4
-f3
-08
-7f
-b7
-12
-17
-d7
-02
-21
-1a
-eb
-b4
-f4
-0a
-7f
-b6
-7e
-00
-12
-17
-d7
-02
-21
-1a
+04
+f0
+70
+06
 90
-4e
-65
-e0
-fb
-a3
+4c
+e3
 e0
-fa
-a3
+04
+f0
+d1
+4b
+b1
+cd
+d1
+5c
+90
+4c
+ee
 e0
-24
-01
-f9
+60
+1d
 e4
-3a
-fa
+90
+4c
+e3
+f0
 a3
-e0
-7e
-00
-29
-f9
+f0
+90
+4c
 ee
-3a
-fa
-12
-03
-b6
-fb
-b4
-f5
-08
+e0
+14
+f0
+e0
+70
+0d
 7f
-b5
+22
 12
-17
-d7
-02
-21
-1a
-eb
-b4
-f6
-0a
+07
+f8
 7f
-ea
-7e
-00
+0a
 12
-17
-d7
-02
-21
-1a
+10
+9c
+12
+07
+f1
+22
 90
-4e
-65
+4c
+d3
 e0
-fb
-a3
+60
+0a
+14
+f0
 e0
-fa
-a3
+70
+05
+74
+05
+f0
+d1
+e3
+22
+90
+4c
+ce
 e0
-24
-01
-f9
-e4
-3a
-fa
-a3
+30
+e1
+3e
+90
+4c
+d0
 e0
-7e
-00
-29
-f9
-ee
-3a
+c3
+94
 fa
-12
+50
 03
-b6
-fb
-b4
-f7
-08
-7f
-e9
-12
-17
-d7
-02
-21
-1a
-eb
-b4
-f8
-0a
-7f
-e2
-7e
-00
-12
-17
-d7
-02
-21
-1a
+e0
+04
+f0
 90
-4e
-65
+4c
+d0
 e0
-fb
-a3
+64
+b4
+70
+2f
+90
+4d
+dc
 e0
-fa
-a3
+04
+f0
 e0
-24
-01
-f9
+d3
+94
+02
+50
+07
 e4
-3a
-fa
-a3
+90
+4c
+d0
+f0
+80
+1c
+90
+4d
+dc
 e0
-7e
-00
-29
-f9
-ee
-3a
-fa
-12
-03
-b6
-fb
 b4
-f9
-08
-7f
-94
-0e
-12
-17
-d7
-21
-1a
-eb
-b4
-fa
-09
-7f
-8a
-7e
+03
+15
+90
+4d
+d5
+74
 01
+f0
+e4
+90
+4c
+d0
+f0
 12
-17
-d7
-21
-1a
+07
+f1
+80
+05
+e4
 90
-4e
-65
+4d
+dc
+f0
+90
+4c
+ce
 e0
-fb
-a3
+30
+e4
+30
+90
+4c
+ea
+74
+0a
+f0
+90
+4c
+d1
 e0
+c3
+94
 fa
-a3
+50
+03
 e0
-24
-01
-f9
-e4
-3a
-fa
-a3
+04
+f0
+90
+4c
+d1
 e0
-7e
-00
-29
-f9
-ee
-3a
-fa
-12
+b4
+06
+1c
+90
+4c
+c3
+e0
+ff
+60
 03
-b6
-fb
 b4
-fb
-08
+fe
+12
+12
+0f
+cb
 7f
-92
-0e
+0a
 12
-17
-d7
-21
-1a
-eb
-b4
-d0
-09
+10
+9c
 7f
-2a
-7e
+0a
 02
-12
-17
-d7
-21
-1a
+0f
+eb
+e4
+90
+4c
+d1
+f0
+22
 90
 4e
-65
+58
+12
+05
+33
+00
+00
+00
+00
+90
+4c
+95
 e0
-fb
+fe
 a3
 e0
-fa
-a3
+ff
+90
+4c
+d4
+e0
+fd
+04
+f0
+ed
+25
 e0
 24
-01
-f9
+d6
+f5
+82
 e4
-3a
-fa
+34
+4c
+f5
+83
+ee
+f0
 a3
+ef
+f0
+90
+4c
+d4
 e0
-7e
-00
-29
-f9
-ee
-3a
-fa
-12
-03
-b6
-fb
-b4
-d1
-09
-7f
-25
-7e
-02
-12
-17
-d7
-21
-1a
-eb
-b4
-d3
-09
-7f
-26
-7e
+c3
+94
+04
+40
 02
-12
-17
-d7
-21
-1a
+e4
+f0
+e4
 90
 4e
-65
+57
+f0
+90
+4e
+58
 e0
-fb
+f8
 a3
 e0
-fa
+f9
 a3
 e0
-24
-01
-f9
-e4
-3a
 fa
 a3
 e0
-7e
-00
-29
-f9
-ee
-3a
-fa
-12
-03
-b6
 fb
-b4
-d2
-09
-7f
+90
+4e
+57
+e0
+25
+e0
 24
-7e
-02
-12
-17
-d7
-80
-75
-eb
-b4
-d4
-09
-7f
-27
-7e
-02
-12
-17
-d7
-80
-68
-90
-4e
-65
-e0
-fb
-a3
+d6
+f5
+82
+e4
+34
+4c
+f5
+83
 e0
-fa
+fe
 a3
 e0
-24
-01
-f9
+ff
 e4
-3a
-fa
-a3
-e0
-7e
-00
-29
-f9
-ee
-3a
-fa
-12
-03
-b6
-fb
-b4
-d5
-09
-7f
-21
-7e
-02
-12
-17
-d7
-80
-3f
+fc
+fd
 eb
-b4
-d6
-09
-7f
-23
-7e
-02
+2f
+ff
+ea
+3e
+fe
+ed
+39
+fd
+ec
+38
+fc
+90
+4e
+58
 12
-17
-d7
-80
-32
+05
+27
 90
 4e
-65
+57
 e0
-fb
+04
+f0
+e0
+b4
+04
+bf
+90
+4e
+58
+e0
+fc
 a3
 e0
-fa
+fd
 a3
 e0
-24
-01
-f9
-e4
-3a
-fa
+fe
 a3
 e0
-7e
-00
-29
-f9
-ee
-3a
+ff
+e4
+7b
+04
 fa
+f9
+f8
 12
-03
-b6
-fb
-b4
-d7
-07
-7f
-70
-12
-17
-d7
-80
-0b
-eb
-b4
-d8
-07
-7f
-6f
-7e
-00
+04
+76
+90
+4e
+58
 12
-17
+05
+27
+90
+4c
+e0
+e0
+fe
+a3
+e0
+ff
+c3
+90
+4c
 d7
+e0
+9f
 90
-4d
-e4
+4c
+d6
 e0
-b4
+9e
+50
+07
+90
+4c
+d5
+74
 02
-24
+f0
+22
 90
-4e
-65
+4c
+de
 e0
-fb
+fe
 a3
 e0
-fa
+ff
+e4
+fc
+fd
+90
+4e
+58
+e0
+f8
 a3
 e0
-24
-01
 f9
-e4
-3a
-fa
 a3
 e0
-7e
-00
-29
-f9
-ee
-3a
 fa
-12
-03
-b6
-90
-4d
-e3
-f0
-e4
-12
-03
-fc
-90
-4e
-68
+a3
 e0
-04
-f0
-02
-1e
-e2
-22
+fb
+c3
 12
-0e
-df
-31
-6c
+05
+16
+50
+0d
 90
 4c
-eb
+d5
 74
 01
 f0
 90
-4c
-e5
+4d
+3f
 74
-1e
+12
 f0
+22
 e4
 90
 4c
-f0
+d5
 f0
 90
 4d
-00
+3f
 74
-ff
+5d
 f0
 22
 90
 4c
-90
-74
-37
-f0
-90
+ea
+e0
+60
+02
+14
+f0
+90
+4c
+ef
+e0
+60
+02
+14
+f0
+90
+4c
+e5
+e0
+60
+18
+14
+f0
+d2
+01
+7f
+1e
+12
+07
+84
+90
+4c
+e5
+e0
+70
+34
+c2
+01
+7f
+1e
+12
+07
+84
+80
+2b
+90
+4c
+ee
+e0
+70
+25
+90
+4c
+e2
+e0
+60
+1f
+14
+f0
+e0
+30
+e1
+09
+d2
+01
+7f
+1e
+12
+07
+84
+80
+07
+c2
+01
+7f
+1e
+12
+07
+84
+90
+4c
+e2
+e0
+70
+03
+74
+04
+f0
+90
+4d
+d5
+e0
+70
+2d
+90
+4d
+d6
+e0
+64
+01
+70
+25
+f0
+90
+4d
+e5
+e0
+60
+0d
+7b
+01
+7a
+4d
+79
+e5
+7d
+03
+12
+0d
+83
+80
+11
+90
+48
+00
+e0
+60
+0b
+7b
+01
+7a
+48
+79
+00
+7d
+09
+12
+0d
+83
+90
+4d
+de
+e0
+60
+03
+e0
+14
+f0
+22
+90
 4c
 d3
 74
@@ -12749,6 +12308,13 @@
 e4
 a3
 f0
+90
+4c
+90
+74
+37
+f0
+e4
 ff
 ef
 25
@@ -12763,27 +12329,15 @@
 f5
 83
 74
-79
+62
 f0
 a3
-74
-90
 f0
 0f
 ef
 b4
 04
-e8
-90
-4c
-8f
-e0
-64
-02
-60
-02
-41
-3b
+ea
 90
 4c
 91
@@ -12814,9 +12368,9 @@
 7a
 f5
 79
-88
+a8
 78
-3f
+3e
 12
 00
 fb
@@ -12888,13 +12442,13 @@
 02
 06
 7b
-ae
+5c
 7a
-47
+8f
 79
-81
+42
 78
-3f
+3e
 12
 00
 fb
@@ -12942,96 +12496,67 @@
 f0
 22
 90
-4c
-8f
-e0
-64
-01
-70
-02
-41
-e1
+4e
+6d
+ee
+f0
+a3
+ef
+f0
 90
-4c
-91
+4e
+6f
+ec
+f0
+a3
+ed
+f0
+90
+4e
+6f
 e0
 fe
 a3
 e0
 ff
-c3
+d3
 90
-4c
-94
+4e
+6e
 e0
 9f
-fd
 90
-4c
-93
+4e
+6d
 e0
 9e
-fc
-e4
-12
-02
-06
-7b
-c3
-7a
-f5
-79
-a8
-78
-3e
-12
-00
-fb
-c0
-04
-c0
-05
-c0
-06
-c0
-07
+40
+16
 90
-4c
-91
+4e
+6f
 e0
-fc
+fe
 a3
 e0
-fd
-e4
-12
-02
-06
-d0
-03
-d0
-02
-d0
-01
-d0
-00
-12
-00
-0a
-12
-02
-3f
+ff
 90
-4c
-de
-ee
-f0
-a3
-ef
-f0
+4e
+6e
+e0
+9f
+ff
 90
-4c
-91
+4e
+6d
+e0
+9e
+fe
+80
+1e
+90
+4e
+6d
 e0
 fe
 a3
@@ -13039,69 +12564,101 @@
 ff
 c3
 90
-4c
-94
+4e
+70
 e0
 9f
-fd
+ff
 90
-4c
-93
+4e
+6f
 e0
 9e
-fc
+fe
+ad
+03
+c3
+eb
+9f
+ff
 e4
-12
-02
-06
-7b
-5c
-7a
-8f
-79
-42
-78
-3e
-12
-00
-fb
-c0
-04
-c0
+9e
+fe
+22
+90
+4e
+8b
+ee
+f0
+a3
+ef
+f0
+a9
 05
-c0
-06
-c0
-07
 90
-4c
-91
+4b
+9e
 e0
-fc
+fe
 a3
 e0
+ff
+ad
+01
+19
+ed
+60
+2f
+0f
+ef
+ac
+06
+70
+01
+0e
+14
+f5
+82
+8c
+83
+e0
 fd
+90
+4e
+8b
 e4
-12
-02
-06
-d0
-03
-d0
-02
-d0
+75
+f0
 01
-d0
-00
-12
-00
-0a
 12
-02
-3f
+04
+24
+85
+f0
+82
+f5
+83
+ed
+f0
+ad
+07
+ac
+06
+bc
+4b
+d4
+bd
+9a
+d1
+7e
+4b
+7f
+36
+80
+cb
 90
-4c
-e0
+4b
+9e
 ee
 f0
 a3
@@ -13109,863 +12666,1089 @@
 f0
 22
 90
+04
+46
+e0
+ff
+22
+90
+82
 80
-10
 74
 01
 f0
-80
-fe
 22
-80
-f5
 90
 4e
-89
-ed
+29
+eb
 f0
-90
-00
-01
-12
-03
-cf
-90
-4e
-8a
+a3
+ea
+f0
+a3
+e9
 f0
-22
 90
 4e
-58
+2f
+74
+ff
+f5
+f0
 12
-05
-33
-00
-00
-00
-00
+04
+24
+45
+f0
+60
+2a
 90
-4c
-95
+4e
+2c
 e0
-fe
+fb
 a3
-e0
+e4
+75
+f0
+01
+12
+04
+24
+a9
+f0
+fa
+12
+03
+b6
 ff
 90
-4c
-d4
+4e
+29
 e0
-fd
-04
+fb
+a3
+e4
+75
 f0
-ed
-25
-e0
+01
+12
+04
 24
-d6
-f5
-82
-e4
-34
-4c
-f5
-83
-ee
+a9
 f0
-a3
+fa
 ef
-f0
-90
-4c
-d4
-e0
-c3
-94
-04
-40
-02
-e4
-f0
-e4
+12
+03
+fc
+80
+c8
+22
 90
 4e
-57
+81
+eb
 f0
-90
-4e
-58
-e0
-f8
-a3
-e0
-f9
 a3
-e0
-fa
+ea
+f0
 a3
-e0
-fb
+e9
+f0
+ed
+1d
+ae
+04
+70
+01
+1c
+4e
+60
+17
 90
 4e
-57
-e0
-25
+81
 e0
+fb
+a3
+e4
+75
+f0
+01
+12
+04
 24
-d6
+a9
+f0
+fa
+74
+ff
+12
+03
+fc
+80
+df
+22
+ef
+f4
+60
+3a
+ef
+54
+07
+fe
+ef
+13
+13
+13
+54
+03
+ff
+24
+a3
 f5
 82
 e4
 34
-4c
+00
 f5
 83
+c0
+83
+c0
+82
 e0
-fe
-a3
-e0
-ff
-e4
-fc
 fd
-eb
+74
+01
+a8
+06
+08
+80
+02
+c3
+33
+d8
+fc
+f4
+fc
+5d
+d0
+82
+d0
+83
+f0
+74
+a7
 2f
+f5
+82
+e4
+34
+00
+f5
+83
+e0
+5c
+f0
+22
+e4
 ff
-ea
-3e
+ef
+fd
+7c
+00
+24
+78
+fb
+ec
+34
+80
+8b
+82
+f5
+83
+e0
 fe
 ed
-39
+24
+70
 fd
 ec
-38
-fc
-90
-4e
-58
-12
-05
-27
-90
-4e
-57
-e0
-04
-f0
+34
+80
+8d
+82
+f5
+83
 e0
-b4
-04
-bf
-90
 4e
-58
-e0
-fc
-a3
-e0
-fd
-a3
-e0
+f4
 fe
-a3
-e0
-ff
-e4
-7b
-04
-fa
-f9
-f8
-12
+ef
+24
+7c
+fd
+ec
+34
+80
+8d
+82
+f5
+83
+ee
+f0
+0f
+ef
+b4
 04
-76
-90
-4e
-58
-12
-05
+cf
+22
+d2
+24
+aa
+55
+01
+00
+16
+00
 27
-90
-4c
-e0
-e0
-fe
-a3
-e0
-ff
-c3
-90
-4c
-d7
-e0
-9f
-90
-4c
-d6
-e0
-9e
-50
+aa
+55
+09
+00
+a2
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+02
+00
+dc
 07
-90
-4c
-d5
-74
+00
+00
+aa
+55
+0a
+00
+37
+0d
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+40
+00
+00
+40
+29
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+35
+00
+00
+00
+4f
 02
-f0
-22
-90
-4c
-de
-e0
-fe
-a3
-e0
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+c0
+00
+00
+00
+00
+00
+00
+00
+00
+80
+a0
+00
+00
+00
+00
+00
+00
+00
+20
+01
+00
+00
+00
+00
+00
+aa
+55
+02
+00
+31
+41
+01
+43
+aa
+55
+0e
+00
+38
+41
 ff
-e4
-fc
-fd
-90
-4e
-58
-e0
+ff
+8f
 f8
-a3
-e0
-f9
-a3
-e0
-fa
-a3
-e0
-fb
-c3
+83
+9d
+59
+82
+36
+08
+c2
+08
+66
+22
+aa
+55
+1b
+00
+4a
+41
+40
+25
+00
 12
-05
-16
-50
-0d
-90
-4c
-d5
-74
-01
-f0
-90
-4d
-3f
-74
+00
+00
+02
 12
-f0
-22
-e4
-90
-4c
-d5
-f0
-90
-4d
-3f
-74
-5d
-f0
-22
-90
-4c
-d3
-e0
-60
-0a
-14
-f0
-e0
+00
+00
+02
+00
+00
+20
+00
+00
+20
+20
+00
+02
+24
+80
+03
+00
+06
 70
+4f
+aa
+55
 05
-74
-05
-f0
-51
-fd
-22
-90
-4e
-6d
-ee
-f0
-a3
-ef
-f0
-90
-4e
-6f
-ec
-f0
-a3
-ed
-f0
-90
-4e
-6f
-e0
-fe
-a3
-e0
-ff
-d3
-90
-4e
-6e
-e0
-9f
-90
-4e
-6d
-e0
-9e
-40
-16
-90
-4e
-6f
-e0
-fe
-a3
-e0
-ff
-90
-4e
+00
 6e
-e0
-9f
-ff
-90
-4e
-6d
-e0
-9e
-fe
+41
 80
-1e
-90
-4e
-6d
-e0
-fe
-a3
-e0
-ff
-c3
-90
-4e
-70
-e0
-9f
-ff
-90
-4e
-6f
-e0
-9e
-fe
-ad
+00
+00
+00
+01
+aa
+55
 03
-c3
-eb
-9f
-ff
-e4
-9e
-fe
-22
-90
-4e
-8b
-ee
-f0
-a3
+00
+f5
+41
+10
+00
+0a
+aa
+55
+0b
+00
+13
+42
+40
+03
+00
+00
+00
+00
+00
+0a
+0b
 ef
-f0
-a9
+0f
+aa
+55
 05
-90
-4b
-9e
-e0
-fe
-a3
-e0
-ff
-ad
+00
+80
+42
+0e
+00
 01
-19
-ed
-60
-2f
-0f
-ef
-ac
-06
-70
+00
 01
-0e
-14
-f5
-82
-8c
-83
-e0
-fd
-90
-4e
-8b
-e4
-75
-f0
+aa
+55
+02
+00
+9b
+42
+30
+3f
+aa
+55
+01
+00
+aa
+42
+20
+aa
+55
+1c
+00
+d9
+43
+1f
+02
 01
+05
+03
+19
+c1
+03
+03
+03
 12
-04
-24
-85
-f0
-82
-f5
-83
-ed
-f0
-ad
-07
-ac
-06
-bc
+18
+0f
+09
+42
+54
+34
+2e
+32
+20
 4b
-d4
-bd
-9a
-d1
-7e
+65
+79
+62
+6f
+61
+72
+64
+aa
+55
+11
+00
+f9
+43
+1f
+0f
+09
+42
+54
+34
+2e
+32
+20
 4b
-7f
-36
-80
-cb
-90
+65
+79
+62
+6f
+61
+72
+64
+aa
+55
+0f
+00
+19
+44
+0e
+42
+54
+34
+2e
+32
+20
 4b
-9e
-ee
-f0
-a3
-ef
-f0
-22
-90
-04
+65
+79
+62
+6f
+61
+72
+64
+aa
+55
+01
+00
+c2
+44
+14
+aa
+55
+01
+00
+dd
+44
+01
+aa
+55
+01
+00
+e4
+44
+07
+aa
+55
+06
+00
+f9
+44
+11
 46
-e0
-ff
-22
-90
-82
-80
-74
+34
+54
+77
+dd
+aa
+55
+dd
 01
-f0
-22
-90
-4e
-29
-eb
-f0
-a3
-ea
-f0
-a3
-e9
-f0
-90
-4e
-2f
-74
-ff
-f5
-f0
-12
 04
-24
 45
-f0
-60
-2a
-90
-4e
-2c
-e0
-fb
-a3
-e4
-75
-f0
 01
-12
-04
-24
-a9
-f0
-fa
-12
-03
-b6
-ff
-90
-4e
-29
-e0
-fb
-a3
-e4
-75
-f0
+00
+00
+28
+02
 01
-12
-04
-24
-a9
-f0
-fa
-ef
-12
+18
+02
+00
 03
-fc
-80
-c8
-22
-90
-4e
-81
-eb
-f0
-a3
-ea
-f0
-a3
-e9
-f0
-ed
-1d
-ae
-04
-70
+28
 01
-1c
-4e
-60
-17
-90
-4e
-81
-e0
-fb
-a3
-e4
-75
-f0
+20
+03
+00
+05
+2a
 01
-12
+00
 04
-24
-a9
-f0
-fa
-74
-ff
-12
+00
+02
+29
+02
+00
+00
+05
+00
+00
+28
+02
+00
+18
+06
+00
 03
-fc
-80
-df
-22
-ef
-f4
-60
-3a
-ef
-54
+28
+01
+02
 07
-fe
-ef
-13
-13
-13
+00
+00
+2a
+0e
+42
 54
-03
-ff
-24
-a3
-f5
-82
-e4
 34
+2e
+32
+20
+4b
+65
+79
+62
+6f
+61
+72
+64
+08
 00
-f5
-83
-c0
-83
-c0
-82
-e0
-fd
-74
+03
+28
 01
-a8
-06
-08
-80
 02
-c3
-33
-d8
-fc
-f4
-fc
-5d
-d0
-82
-d0
-83
-f0
-74
-a7
-2f
-f5
-82
-e4
-34
+09
 00
-f5
-83
-e0
-5c
-f0
-22
-90
-4e
-96
-ef
-f0
-7b
 01
-7a
-80
-79
-74
-12
-14
-df
-92
-09
-90
-4e
-96
-e0
-ff
-a2
-09
-b3
-92
+2a
+02
+c1
+03
+0a
+00
+03
+28
 01
 02
-07
-8b
-e4
-ff
-ef
-fd
-7c
+0b
 00
-24
-78
-fb
-ec
-34
-80
-8b
-82
-f5
-83
-e0
-fe
-ed
-24
-70
-fd
-ec
-34
-80
-8d
-82
-f5
-83
-e0
-4e
-f4
-fe
-ef
-24
-7c
-fd
-ec
-34
-80
-8d
-82
-f5
-83
-ee
-f0
-0f
-ef
-b4
 04
-cf
-22
-4f
-9f
-aa
-55
-40
-00
-00
-40
-29
-00
+2a
+08
+06
 00
+06
 00
+64
 00
+2c
+01
+0c
 00
 00
+28
+02
+0a
+18
+0d
 00
+03
+28
+01
+02
+0e
 00
+50
+2a
+07
+02
+e8
+04
+21
+70
+01
 00
+0f
 00
 00
+28
+02
+12
+18
+10
 00
+03
+28
+01
+06
+11
 00
+4e
+2a
+01
+01
+12
 00
+03
+28
+01
+12
+13
 00
+4d
+2a
+08
 00
 00
-35
 00
 00
 00
-4f
-02
 00
 00
 00
+14
 00
+02
+29
+02
 00
 00
+15
 00
+08
+29
+02
+01
+01
+16
 00
+03
+28
+01
+12
+17
 00
+4d
+2a
+02
 00
 00
+18
 00
+02
+29
+02
 00
 00
+19
 00
-c0
+08
+29
+02
+02
+01
+1a
 00
+03
+28
+01
+12
+1b
 00
+4d
+2a
+05
 00
 00
 00
 00
 00
+1c
 00
-80
-a0
+02
+29
+02
 00
 00
+1d
 00
+08
+29
+02
+03
+01
+1e
 00
+03
+28
+01
+0e
+1f
 00
+4d
+2a
+02
 00
 00
 20
-01
-00
-00
 00
+02
+29
+02
 00
 00
-aa
-55
-01
+21
 00
-31
-41
+08
+29
+02
 01
-aa
-55
 02
+22
 00
-13
-42
-40
 03
-aa
-55
+28
 01
-00
-f7
-41
 0a
-aa
-55
-02
+23
 00
-f5
-41
+4b
+2a
+a0
+05
+01
+09
+06
+a1
+01
+85
+01
+75
+01
+95
+08
+05
+07
+19
+e0
+29
+e7
+15
+00
+25
+01
+81
+02
+95
+01
+75
+08
+81
+03
+95
+05
+75
+01
+05
+08
+19
+01
+29
+05
+91
+02
+95
+01
+75
+03
+91
+03
+95
+06
+75
+08
+15
+00
+26
+ff
+00
+05
+07
+19
+00
+29
+ff
+81
+00
+c0
+05
+0c
+09
+01
+a1
+01
+85
+02
+19
+00
+2a
+ff
+03
+15
+00
+26
+ff
+03
+95
+01
+75
 10
+81
 00
-aa
-55
+c0
+05
+01
+09
+02
+a1
+01
+85
+03
+09
 01
+a1
 00
-33
-41
+05
+09
+19
+01
+29
+08
+15
 00
-aa
-55
+25
+01
+75
+01
+95
+08
+81
+02
+05
+01
+09
+30
+09
+31
+16
+01
+80
+26
+ff
+7f
+75
+10
+95
+02
+81
+06
+09
+38
+15
+81
+25
+7f
+75
+08
+95
+01
+81
+06
+05
+0c
+0a
+38
+02
+95
+01
+81
+06
+c0
+c0
+24
+00
+03
+28
+01
 02
+25
+00
+4a
+2a
+04
+11
+01
+00
+01
+26
+00
+03
+28
+01
+04
+27
 00
-b1
 4c
+2a
+01
 00
+28
+00
+00
+28
+02
+0f
+18
+29
 00
-aa
-55
 03
+28
+01
+12
+2a
+00
+19
+2a
+01
+64
+2b
+00
+02
+29
+02
+00
+00
 00
-4a
-41
-40
-25
 00
 aa
 55
-06
+01
 00
-40
-41
-36
-08
-c2
-08
-66
-22
+f9
+46
+50
 aa
 55
 0f
@@ -13989,22 +13772,6 @@
 64
 aa
 55
-03
-00
-80
-42
-0e
-00
-01
-aa
-55
-01
-00
-84
-42
-01
-aa
-55
 01
 00
 47
@@ -14012,31 +13779,12 @@
 0a
 aa
 55
-01
+10
 00
-dc
-47
-00
-aa
-55
-01
-00
-f6
-47
-01
-aa
-55
-01
-00
-72
-41
-01
-aa
-55
-0e
-00
-5b
+59
 47
+11
+48
 06
 03
 11
@@ -14053,14 +13801,22 @@
 00
 aa
 55
-01
+02
 00
-71
+f6
 47
+01
+ff
+aa
+55
+01
 00
+fd
+47
+ff
 aa
 55
-76
+8a
 02
 11
 48
@@ -14668,14 +14424,14 @@
 02
 01
 09
-0a
-5c
+04
+e8
 09
 02
 02
 09
-85
-02
+70
+21
 09
 02
 03
@@ -14694,1163 +14450,1326 @@
 00
 02
 00
-aa
 55
-02
-00
+d0
+56
+c0
+57
+4c
+58
+6c
 59
-47
-11
-48
+50
+55
+d0
+56
+c0
+57
+4c
+58
+6c
+59
+50
 aa
 55
-01
+02
 00
-32
-41
-43
+a2
+4b
+02
+01
 aa
 55
-01
+04
 00
-fb
-41
+e2
+4b
+02
 00
+c0
+12
 aa
 55
-08
+15
 00
-38
-41
-ff
+eb
+4b
+20
+15
+10
+05
 ff
-8f
-f8
-83
-9d
-59
-82
+00
+13
+2c
+42
+06
+15
+36
+48
+0f
+1a
+3a
+4c
+11
+23
+31
+4d
 aa
 55
-01
+03
 00
-dc
-07
+0f
+4c
+40
 00
+01
 aa
 55
 01
 00
-a2
-00
-00
+60
+4c
+50
 aa
 55
-01
+12
 00
-dd
-07
+6a
+4c
+17
 00
-aa
-55
-01
+0c
 00
-16
+05
 00
-27
-aa
-55
-01
+12
+b4
+08
 00
-fd
-47
-ff
-aa
-55
-01
+10
 00
-f7
-47
-ff
-aa
-55
-01
+10
 00
-6e
-41
-80
-aa
-55
-02
 00
-a2
-4b
-02
+00
+2c
 01
 aa
 55
-04
+0b
 00
-91
+8f
 4c
+04
+00
 9f
 3e
 cd
 4d
+00
+00
+00
+00
+13
 aa
 55
-01
+06
 00
-8f
+b8
 4c
-04
-aa
-55
-dd
-01
-04
-45
-01
+13
 00
+17
 00
-28
-02
-01
-18
-02
+1b
 00
-03
-28
-01
-20
-03
+aa
+55
+08
 00
-05
-2a
-01
+3d
+4d
 00
-04
+48
+5d
 00
-02
-29
-02
 00
 00
-05
 00
 00
-28
-02
+aa
+55
+04
 00
-18
+4c
+4d
+20
+20
 06
+12
+aa
+55
+7f
 00
-03
-28
-01
-02
+70
+4f
 07
-00
-00
-2a
-0e
-42
-54
-34
-2e
-32
-20
-4b
-65
-79
-62
-6f
-61
-72
-64
-08
-00
-03
-28
-01
-02
-09
-00
-01
-2a
-02
-c1
-03
+ff
 0a
-00
-03
-28
-01
-02
+fb
 0b
-00
-04
-2a
-08
-06
-00
-06
-00
-64
-00
-2c
-01
-0c
-00
-00
-28
-02
-0a
-18
-0d
-00
-03
-28
-01
-02
-0e
-00
-50
-2a
-07
-02
-8a
-24
-66
-82
-01
-00
-0f
-00
-00
-28
-02
-12
-18
-10
-00
-03
-28
-01
-06
-11
-00
-4e
-2a
-01
-01
-12
-00
-03
-28
-01
-12
-13
-00
-4d
-2a
-08
-00
-00
-00
-00
-00
-00
-00
-00
-14
-00
-02
-29
-02
-00
-00
-15
-00
-08
-29
-02
-01
-01
-16
-00
-03
-28
-01
-12
-17
-00
-4d
-2a
-02
-00
-00
-18
-00
-02
-29
-02
-00
-00
-19
-00
-08
-29
-02
-02
-01
+ff
 1a
-00
-03
-28
-01
-12
+fb
 1b
-00
-4d
-2a
-05
-00
-00
-00
-00
-00
+fb
 1c
-00
-02
-29
-02
-00
-00
+fb
 1d
-00
-08
-29
-02
-03
-01
+f6
 1e
-00
-03
-28
-01
-0e
+f2
 1f
-00
-4d
-2a
-02
-00
-00
+ee
 20
-00
-02
-29
-02
-00
-00
+ea
 21
-00
-08
-29
-02
-01
-02
+e6
 22
-00
-03
-28
-01
-0a
+e2
 23
-00
-4b
-2a
-a0
-05
-01
-09
-06
-a1
-01
-85
-01
-75
-01
-95
-08
-05
-07
-19
-e0
-29
-e7
-15
-00
+de
+24
+da
 25
-01
-81
-02
-95
-01
-75
-08
-81
-03
-95
-05
-75
-01
-05
-08
-19
-01
-29
-05
-91
-02
-95
-01
-75
-03
-91
-03
-95
-06
-75
-08
-15
-00
+d6
 26
-ff
-00
-05
-07
-19
-00
+d2
+27
+ce
+28
+ca
 29
-ff
-81
-00
-c0
-05
-0c
-09
-01
-a1
-01
-85
-02
-19
-00
+c6
 2a
-ff
-03
-15
-00
-26
-ff
-03
-95
-01
-75
-10
-81
-00
-c0
-05
-01
-09
-02
-a1
-01
-85
-03
-09
-01
-a1
-00
-05
-09
-19
-01
-29
-08
-15
-00
-25
-01
-75
-01
-95
-08
-81
-02
-05
-01
-09
+c2
+2b
+bd
+2c
+b9
+2d
+b5
+2e
+b1
+2f
+ad
 30
-09
+a9
 31
-16
-01
 80
-26
-ff
-7f
-75
-10
-95
-02
-81
-06
-09
-38
-15
-81
-25
-7f
-75
-08
-95
-01
-81
-06
-05
-0c
-0a
+32
+80
+33
+80
+34
+c0
+35
+c1
+36
+c2
+37
+c3
 38
-02
-95
-01
-81
+c4
+39
+c5
+3a
+c6
+3b
+c7
+3c
 06
-c0
-c0
-24
-00
-03
-28
-01
-02
-25
+3d
+07
+3e
+46
+3f
+85
+40
+86
+41
+87
+42
+c6
+43
+c7
+44
+d6
+45
+d7
+46
+e6
+47
+f5
+48
 00
+49
+f8
 4a
-2a
-04
-11
-01
-00
-01
-26
-00
-03
-28
-01
-04
-27
-00
-4c
-2a
-01
-00
-28
-00
-00
-28
-02
-0f
-18
-29
-00
-03
-28
-01
-12
-2a
-00
-19
-2a
-01
-64
-2b
-00
-02
-29
-02
-00
-00
-00
-00
-aa
+7f
+4e
+ec
+4f
+5e
 55
-01
+d0
+56
+c0
+57
+4c
+58
+6c
+59
+50
+68
+e4
+69
 00
 6a
-4c
-17
-aa
-55
-01
 00
-f9
-46
-50
-aa
-55
-01
-00
-c2
-44
-14
-aa
-55
-06
-00
-f9
-44
-11
-46
-34
-54
-77
-dd
-aa
-55
-01
-00
-7e
-4c
-00
-aa
-55
-06
-00
-b8
-4c
-13
-00
-17
-00
-1b
-00
-aa
-55
-01
-00
-60
-4c
-50
-aa
-55
-10
-00
-6c
-4c
-0c
-00
-05
-00
-12
-b4
-08
-00
-10
-00
-10
-00
-00
-00
-2c
-01
-aa
-55
-0f
-00
-19
-44
-0e
-42
-54
-34
-2e
-32
-20
-4b
-65
-79
-62
-6f
-61
-72
-64
-aa
-55
-01
-00
-e4
-44
-07
-aa
-55
-01
-00
-dd
-44
-01
-aa
-55
-1c
-00
-d9
-43
-1f
-02
-01
-05
-03
-19
-c1
-03
-03
-03
-12
-18
-0f
-09
-42
-54
-34
-2e
-32
-20
-4b
-65
-79
-62
-6f
-61
-72
-64
-aa
-55
-11
-00
-f9
-43
-1f
-0f
-09
-42
-54
-34
-2e
-32
-20
-4b
-65
-79
-62
-6f
-61
-72
-64
-aa
-55
-01
-00
-10
-4c
-01
-aa
-55
-01
-00
-e2
-4b
-02
-aa
-55
-01
-00
-0f
-4c
-40
-aa
-55
-01
-00
-0a
-4c
-00
-aa
-55
-02
-00
-e4
-4b
-c0
-12
-aa
-55
-10
-00
-f0
-4b
-00
-13
-2c
-42
-06
-15
-36
+6b
+30
+ff
 48
-0f
-1a
-3a
-4c
-11
-23
-31
-4d
-aa
-55
-01
-00
-ef
-4b
+33
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
 ff
-aa
-55
-04
-00
-eb
-4b
-20
-15
-10
-05
-aa
-55
-0a
-00
-37
-0d
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-aa
-55
-08
-00
-3d
-4d
-00
-48
-5d
-00
-00
-00
-00
-00
-aa
-55
-05
-00
-19
-42
-00
-0a
-0b
-ef
-0f
-aa
-55
-01
-00
-f8
-41
-00
-aa
-55
-08
-00
-a3
-00
-00
-00
-00
-00
-00
-00
-00
-00
-aa
-55
-02
-00
-5d
-41
-02
-24
-aa
-55
-08
-00
-4d
-41
-12
-00
-00
-02
-12
-00
-00
-02
-aa
-55
-02
-00
-5b
-41
-20
-00
-aa
-55
-04
-00
-57
-41
-20
-00
-00
-20
-aa
-55
-04
-00
-5f
-41
-80
-03
-00
-06
-aa
-55
-02
-00
-98
-4c
-00
-13
-aa
-55
-02
-00
-9b
-42
-30
-3f
-aa
-55
-01
-00
-aa
-42
-20
-aa
-55
-7f
-00
-70
-4f
-07
 ff
-0a
-fb
-0b
 ff
-1a
-fb
-1b
-fb
-1c
-fb
-1d
-f6
-1e
-f2
-1f
-ee
-20
-ea
-21
-e6
-22
-e2
-23
-de
-24
-da
-25
-d6
-26
-d2
-27
-ce
-28
-ca
-29
-c6
-2a
-c2
-2b
-bd
-2c
-b9
-2d
-b5
-2e
-b1
-2f
-ad
-30
-a9
-31
-80
-32
-80
-33
-80
-34
-c0
-35
-c1
-36
-c2
-37
-c3
-38
-c4
-39
-c5
-3a
-c6
-3b
-c7
-3c
-06
-3d
-07
-3e
-46
-3f
-85
-40
-86
-41
-87
-42
-c6
-43
-c7
-44
-d6
-45
-d7
-46
-e6
-47
-f5
-48
-00
-49
-f8
-4a
-7f
-4e
-ec
-4f
-5e
-55
-d0
-56
-c0
-57
-4c
-58
-6c
-59
-50
-68
-e4
-69
-00
-6a
-00
-6b
-30
 ff
-aa
-55
-02
-00
-63
-41
-70
-4f
-aa
-55
-00
-00
-ee
-46
-aa
-55
-0a
-00
-91
-4a
-55
-d0
-56
-c0
-57
-4c
-58
-6c
-59
-50
-aa
-55
-0a
-00
-87
-4a
-55
-d0
-56
-c0
-57
-4c
-58
-6c
-59
-50
-6d
-4d
 ff
 ff
 ff
@@ -16380,5 +16299,86 @@
 ff
 ff
 ff
-16
-08
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+82
+12
Index: output/fw.hex
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/output/fw.hex	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/output/fw.hex	(working copy)
@@ -85,7 +85,7 @@
 :10054000054A12054A12054AE473E493A3C583C51C
 :10055000F0C583C8C582C8F0A3C583C5F0C583C8EC
 :10056000C582C8228A838982E473787FE4F6D8FD45
-:100570007581CF0205B10217AAE493A3F8E493A30F
+:100570007581CF0205B10217B5E493A3F8E493A304
 :100580004003F68001F208DFF48029E493A3F854D5
 :1005900007240CC8C333C4540F4420C8834004F458
 :1005A00056800146F6DFE4800B010204081020406B
@@ -93,9 +93,9 @@
 :1005C00009541FFEE493A360010ECF54C025E060E0
 :1005D000A840B8E493A3FAE493A3F8E493A3C8C5AE
 :1005E00082C8CAC583CAF0A3C8C582C8CAC583CA9F
-:1005F000DFE9DEE780BE524DEEFF0A96000000FF05
-:100600000F90FF15B7000000FF22ED001A08090A3D
-:100610000B0C0D0E18191715141311161B1C0000C6
+:1005F000DFE9DEE780BE524DEEFF11A3000000FFF1
+:100600001E10FF1FCF000000FF1DBD001A08090AC1
+:100610000B0C0D0E18191714131211151B1C0000CA
 :100620000048000000E400E03E142B04291D8B3537
 :100630001E1A3916641B8A3A1F083C073D06883B80
 :10064000201517090A19052221181C0D0B1011235A
@@ -107,499 +107,452 @@
 :1006A000F1FAE3D1D3D2D4F8D591D0AFF9F3FBD698
 :1006B00090000000000000000000000000000001A9
 :1006C0000100904CC5E0B403037F01227F0022901B
-:1006D0004DE1E064026002E18A904CE9E06002E1F1
-:1006E0007E904CD5E0B402051209F2802E904CD5D4
-:1006F000E0B40114904CF7E07021904CE27404F0E7
-:10070000904CF77401F08013904CF7E0B4010CE4C6
-:10071000F0904CE2F0C2017F1DF18BD1C2EF60522C
-:10072000904DD9E0FF904CB7E06F605EE030E00E96
-:10073000904CE6740CF0C2017F10F18B800BD2015B
-:100740007F10F18BE4904CE6F0904CB7E030E10E76
-:10075000904CE7740CF0C2017F0FF18B800BD2013B
-:100760007F0FF18BE4904CE7F0904CB7E0904DD9BF
-:10077000F022D2017F10F18BD2017F0F800DD201C8
-:100780007F10F18BD2017F0FF18B22EFF4600D7B94
-:10079000017A807974A201920012107322904DE1C7
-:1007A000E064027052904CEEE060057F1D122561FE
-:1007B000D1C2EF6042904CE6E0601614F0C2017FB7
-:1007C00010F18B904CE6E0700ED2017F10F18B801F
-:1007D00006D2017F10F18B904CE7E0601414F0C258
-:1007E000017F0FF18B904CE7E0700CD2017F0F80FE
-:1007F0009AD2017F0FF18B22D2017F1D808DE4FF01
-:10080000904CEEE0600122904CC5E06403601C90C7
-:100810004CEFE0701D740AF0A3E07016904DE1E01B
-:10082000B4020F7F0911337F018007E4904CEBF095
-:100830007F0122904E8DEFF024F76009146061244F
-:1008400002600201D9E4904CF0F011DFEF600990F2
-:100850004E8DE0904CEDF0227B017A4C79007D04C6
-:100860007C007FF27E3F716C7F0A517E904C00E0ED
-:10087000B4FF1BA3E0B4FF16A3E0B4FF11A3E0B4E0
-:10088000FF0C904C00740FF0A3F0A3F0A3F07F21B5
-:1008900011F6904CC57402F0E4A3F0904CEDF022F8
-:1008A000E4904CF0F011DFEF6009904E8DE0904C39
-:1008B000EDF022904CC5E0640160187F2311F690A2
-:1008C0004CC57401F0E4A3F0904CEE74F0F0E490A9
-:1008D0004CE9F0E4904CEDF022E4904CEDF02290E5
-:1008E0004CC5E0FF64036004EFB402077F2211F6F9
-:1008F0007F01227F0022904E71EFF078727C4E7D56
-:10090000017BFF7A0679BF7E007F03120390904E31
-:1009100071E0904E74F07B017A4E79727D03904EB7
-:1009200046EBF0A3EAF0A3E9F0A3EDF0904B9CE0D6
-:10093000FFA3E0904E4ACFF0A3EFF0904B9AE0FE79
-:10094000A3E0FF904B9CE0FCA3E0FD7B641223FA44
-:10095000904E49E0FEEFC39E40E1904E49E0FF1407
-:10096000F0EF603F904E46E0FBA3E475F001120407
-:1009700024A9F0FA1203B6FF904E4AE475F0011272
-:10098000042485F082F583EFF0904E4AE0FEA3E068
-:10099000FFBE4BC6BF36C3904E4A744AF0A374A044
-:1009A000F080B7904E4AE0FFA3E0904B9CCFF0A3BD
-:1009B000EFF022904CC5E0B40310904CE3E0640EDD
-:1009C0007004A3E0641070298028904CC5E0B40145
-:1009D00012904CE3E07004A3E0642870147F2211AD
-:1009E000F6800F904CE3E07004A3E06414700231D1
-:1009F000F222E4904D38F07F1901F6904CCEE030B1
-:100A0000E13D904CD0E0C394FA5003E004F0904CE8
-:100A1000D0E064B4702E904DDCE004F0E0D394029A
-:100A20005007E4904CD0F0801B904DDCE0B40314F0
-:100A3000904DD57401F0E4904CD0F031F28005E493
-:100A4000904DDCF0904CCEE030E42D904CEA740AEE
-:100A5000F0904CD1E0C394FA5003E004F0904CD1F4
-:100A6000E0B40619904CC3E0FF6003B4FE0F11DF41
-:100A70007F0A517E7F0A0133E4904CD1F022EFD3FC
-:100A800094004011E4FDFC0DBD00010CBC04F8BD58
-:100A9000A6F51F80E922904E92EFF024D060471413
-:100AA0006046147002613F14600A24F7603A240D16
-:100AB0006002616BF1EC12214F7B017A4C79007D71
-:100AC000047C007FF27E3F716C7F0A517E904CC1A6
-:100AD000E0F97A007B007D017C007FF87E3F716C3D
-:100AE0007F0A517EE1AAE1C1904CC57403F0E4A3F2
-:100AF000F0F169E4904CEEF0904CEBF0904CC07447
-:100B0000FEF0904CC3F0904E92E064317024904C13
-:100B1000E5741EF0904BEBE0B40F10A3E0B40F0BA4
-:100B2000A3E0B40F06A3E0640F6040904CBF7401D3
-:100B3000F022904CE5E07033C2017F1D02078BE488
-:100B4000904CC5F0A3F0904CE3F0A3F0904CEB0474
-:100B5000F0904CEDE06009F169904CEDE0FF01335D
-:100B6000904CECE0B40104E4F031F222904E5CECE5
-:100B7000F0A3EDF0A3EBF0A3EAF0A3E9F0908098E6
-:100B80007404F0A3E4F0900CAF74A0F0A3EEF0A313
-:100B9000EFF0900CB274A1F07A0C79AF7E0C7FAFBD
-:100BA00074AFFC740CFFECFEEF90809AEEF0A3EFB4
-:100BB000F0904E5CE0FCA3E0FAECFFEAFEEF9080E0
-:100BC0009EEEF0A3EFF07A0B79837E0B7F83748324
-:100BD000FC740BFFECFEEF90809CEEF0A3EFF09026
-:100BE00080907402F090809CA3E020E707908090B2
-:100BF000E04401F0908006E04404F01216DB904ED1
-:100C00005EE0A3E0FAA3E0AE02FF7B017A0B7983FA
-:100C1000904E5CE0A3E0904E51F0904E4CEEF0A36D
-:100C2000EFF0A3EBF0A3EAF0A3E9F0904E51E0FF60
-:100C300014F0EF6027904E4EE0FBA3E475F0011234
-:100C40000424A9F0FA1203B6FF904E4CE475F001AB
-:100C500012042485F082F583EFF080CF22904E526B
-:100C6000EBF0A3EAF0A3E9F0E4A3F0A3F0904DDBEE
-:100C7000F0904E56F0904E56E0FFC39405502C90E5
-:100C80004E52E0FBA3E0FAA3E02401F9E43AFA7E35
-:100C900000E92FF9EE3AFA1203B6B4AF06904DDB35
-:100CA0007401F0904E56E004F080CA904DDBE09065
-:100CB0004DE0F0904E52E0A3E0FAA3E04A7002C18A
-:100CC000B2904DDE740AF0E4904CE3F0A3F07B01A7
-:100CD0007A4879007D09FCD1B37B017A4D79E57DB5
-:100CE000097C00D1B3904E52E0FBA3E0FAA3E0F9F7
-:100CF0009000011203CFFFB42E0A9000021203CF1E
-:100D00006429600FEF642970369000021203CF64EB
-:100D10002E702C904BEB7420F0A37415F0A374107C
-:100D2000F0A37405F0904CC5E064016009904CCECE
-:100D3000E04410F08010904CCEE054EFF08007902B
-:100D40004CCEE054EFF0904CB67401F0904CF4E0CF
-:100D5000B4012B9048007401F0A3E0FF904CF5E043
-:100D6000FEEF4E904801F0E4904803F07B017A4892
-:100D700079007D0912140E904CF47402F022904C0C
-:100D8000C5E064037045904E56F0904E56E0FFC3A8
-:100D900094055037904E52E0FBA3E0FAA3E0240103
-:100DA000F9E43AFA7E00E92FF9EE3AFA1203B6FFB7
-:100DB00064396009EF64536004EFB44706904DD086
-:100DC0007401F0904E56E004F080BF904E52E0FB6C
-:100DD000A3E0FAA3E0F9121ED3904DE4E0B40112AF
-:100DE0007402F0904DE5F07B017A4D79E57D0302C8
-:100DF000140E904DE4E0B40317E4F0904DE3F0904E
-:100E00004DE57402F07B017A4D79E57D0302140E05
-:100E10009048007401F0904E52E0FBA3E0FAA3E08A
-:100E2000F91203B6904801F0E4A3F0904DD8F09089
-:100E300000011203CFB4AF1E7E487F03904E52E0F4
-:100E4000FBA3E0FAA3E02402F9E43AFA904E5174CD
-:100E500005F0911A801C7E487F03904E52E0FBA360
-:100E6000E0FAA3E02401F9E43AFA904E517406F056
-:100E7000911A904E567403F0904E56E0FFC39409B9
-:100E8000502574002FF582E43448F583E0B4AF0FA9
-:100E9000904E56E02400F582E43448F583E4F09067
-:100EA0004E56E004F080D17B017A4879007D09122A
-:100EB000140E22904E7EEBF0A3EAF0A3E9F0ED1DB4
-:100EC000AE0470011C4E6016904E7EE0FBA3E475EC
-:100ED000F001120424A9F0FAE41203FC80E0227B62
-:100EE000017A4C79BF7D427C00D1B37B017A4D7988
-:100EF000937D147C00D1B37B017A4D79A87D147C5D
-:100F000000D1B37B017A4D79BC7D147C00D1B37BD9
-:100F1000017A4879007D097C00D1B37B017A4D7953
-:100F2000E57D097C00D1B3E4904DDEF0904DE2F018
-:100F3000904DE1F0904DD6F0904DD0F0904DDCF01A
-:100F4000904DE4F0904DD5F0904DD8F0904DDBF001
-:100F5000904DE0F0904DD3F0904DDFF0904DE3F0E8
-:100F6000904DD9F0904D38F022E4904CF0F0229062
-:100F70004CEEE0601AE4904CE3F0A3F0904CEEE00D
-:100F800014F0E0700A7F2211F67F0A517E31F222BE
-:100F900012079D904CE4E004F07006904CE3E004EE
-:100FA000F01223E931B331FB80C5904DE17402F0BA
-:100FB0007F080133E4900B7FF0900B7EF07F0141BE
-:100FC0007E908080E4F0A3F0A3F01210D4E4904E61
-:100FD00090F0F0904E90E090060C93FF600DC205EB
-:100FE000121044904E90E004F080E822F1C1C20655
-:100FF0007F10121006C2067F0F121006C2067F1D58
-:101000001106C2067F1DAC07ECF46015AF04D204D4
-:101010001133AF04A206920112078BAF04C2021172
-:101020002222EFF4600C7B017A807978A202920090
-:10103000117322EFF4600C7B017A807970A2049224
-:1010400000117322AC07ECF46017AF04A205920301
-:101050001162AF04A205B392021122AF04C20411BF
-:101060003322EFF4600C7B017A80797CA20392003A
-:10107000117322904E84EBF0A3EAF0A3E9F0E4FEB2
-:10108000FDEF5407FEEF1313135403FD30002290BD
-:101090004E84E0FBA3E0FAA3E02DF9E43AFA120350
-:1010A000B6FF7401A806088002C333D8FC4F0203C0
-:1010B000FC904E84E0FBA3E0FAA3E02DF9E43AFAB9
-:1010C0001203B6FF7401A806088002C333D8FCF4EB
-:1010D0005F0203FCE4904E8FF0F0904E8FE0FFC370
-:1010E0009408500CC2051144904E8FE004F080EA41
-:1010F00022904CBFE0603D7FC8120A7EC2017FFF94
-:1011000012078B7B017A4C79007D047C007FF27E94
-:101110003F31357B017A4C79C17D017C007FF87EBF
-:101120003F3135D2017FFF12078B7F0A120A7EE41E
-:10113000904CBFF022904E20EEF0A3EFF0A3ECF025
-:10114000A3EDF0A3EBF0A3EAF0A3E9F0904E22E0C8
-:101150007002A3E0700221E2904E20E0FEA3E0FFC7
-:10116000440F2401FDE43EFCC3ED9FFFEC9EFE9086
-:101170004E27F0A3EFF0904E22E0FCA3E0FDD39FBA
-:10118000EC9E400A904E27E0FEA3E0FF8004AE04F0
-:10119000AF05904E27EEF0FCA3EFF0FDC3904E2379
-:1011A000E09DF0904E22E09CF0904E20E0FEA3E007
-:1011B000FF904E24E0FBA3E0FAA3E0F9D1427F0ABE
-:1011C000120A7E904E27E0FEA3E0FF904E25EE8FA0
-:1011D000F012040E904E21E02FF0904E20E03EF0F1
-:1011E000214C229199D1E3717F11F11206CF900B1E
-:1011F0007EE014600E24FE70EC5135120FEE120FDB
-:10120000B480FE904CEAE0701E904CECE0701890B8
-:101210004CE5E07012904CE7E0700C904CE6E0700A
-:1012200006904CE8E06004F1B380BA5135120FB477
-:1012300080B380B122E4FF904E91F0FEFDEF900666
-:101240000C936049EF93FD131313541FFEED5407E5
-:10125000FD7401A805088002C333D8FCFDEE247894
-:10126000FBE434808B82F583E0FCEDF4FBEC5BF077
-:10127000EE2470F582E43480F583E04DF0EE2474C2
-:10128000F582E43480F583E05BF00F80B012257EB8
-:1012900090811CE0904E91F0904CD5E06402603655
-:1012A000904DD5E06020E4FF51E07F0151E07F02E6
-:1012B00051E07F0351E07F0451E07F0551E07F065C
-:1012C00051E07F07801A904E91E0FF9000A3F0EF6D
-:1012D000F49000A7F022E49000A3F09000A7F02281
-:1012E000904E95EFF091D99208904E95E0FFA208AC
-:1012F000B39207EFF47002617EEF5407FEEF131311
-:10130000135403FF30074324A3F582E43400F5832C
-:10131000C083C082E0FD7401A806088002C333D8F0
-:10132000FCF45DD082D083F074A72FF582E4340002
-:10133000F583C083C082E0FF7401A806088002C361
-:1013400033D8FC4FD082D083F02274A32FF582E4EF
-:101350003400F583C083C082E0FD7401A8060880D4
-:1013600002C333D8FCFC4DD082D083F074A72FF594
-:1013700082E43400F583E0FFECF4FEEF5EF02290AF
-:101380004CF4E0FF600864016004EFB40302A11EA6
-:10139000904CF4E0B4020B7403F0A3E0FFA3E0FD73
-:1013A0008033904CF4E0B40413E4904CF6F0904C8D
-:1013B000F47405F0A3E0FFA3E0FD8019904CF4E085
-:1013C000B40511E4A3F0A3F0904CF4F0A3E0FFA364
-:1013D000E0FD71D522904E87EFF0A3EDF07B017A0E
-:1013E0004879007D097C00120EB39048007401F02A
-:1013F000A3E0FF904E87E0FEEF4E904801F0904E44
-:1014000088E0904803F07B017A4879007D09904E8E
-:1014100061EBF0A3EAF0A3E9F0A3EDF01207FEEF11
-:101420006076904CEBE07070904CC5E0640370689F
-:10143000904E61E0FBA3E0FAA3E0F91203B6FF646B
-:1014400001702E9000011203CF701E900003120352
-:10145000CF70169000041203CF700E900005120397
-:10146000CF7006904DD6F08028904DD67401F08054
-:1014700020EFB4021C9000011203CF700E90000206
-:101480001203CF7006904DD6F08006904DD67401B1
-:10149000F0904E64E0FD91AC227B017A4D79EE78BC
-:1014A000007C4E7D017E007F12020390900BE7745A
-:1014B00006F0904E93EDF0E0FD900BE8F07E0B7F90
-:1014C000E9904E51EDF0120C1A7B017A0B79E790FE
-:1014D0004E93E02402FD02091E7B017A81791CAD46
-:1014E00007E4904E94F0FEEF5407F0EF13131354FB
-:1014F00003FEF5827583001203CFFD3395E0FC9067
-:101500004E94E0FF74017E00A807088005C333CE27
-:1015100033CED8F9FFEE5CFEEF5D4E24FF22904EF5
-:1015200075E4F0A3F0A3F0F1BF502612197C904EA1
-:1015300075EBF0A3EAF0A3E9F04A7007904CB6040B
-:10154000F0800F904E75E0FBA3E0FAA3E0F9120CD7
-:101550005D22904DD0E064017030904DD6E0702A4D
-:10156000904CC5E06403704E7B017A4879007D0998
-:10157000FC120EB37B017A4879007D09910E904DE3
-:10158000D07402F0E4904DE4F022904DD0E0B4022B
-:1015900025904DD6E0701F904DD0F07B017A4879B0
-:1015A000007D09FC120EB37B017A4879007D099118
-:1015B0000EE4904DE4F022904CEAE0600214F090CA
-:1015C0004CEFE0600214F0904CE5E0600F14F01274
-:1015D00007F8904CE5E0702FF1AC802B904CEEE0DA
-:1015E0007025904CE2E0601F14F0E030E109D20178
-:1015F0007F1D12078B8007C2017F1D12078B904C45
-:10160000E2E070037404F0904DD5E0702B904DD65D
-:10161000E064017023F0904DE5E0600C7B017A4DB1
-:1016200079E57D03910E8010904800E0600A7B010F
-:101630007A4879007D09910E904DDEE06003E01458
-:10164000F022904E3FEEF0A3EFF0904E43EBF0A36C
-:10165000EAF0A3E9F0904E41ECF0A3EDF0A3E0F93D
-:10166000A3E0FAA3E0904E2CC9F0A3EAF0A3E9F0BE
-:10167000A3ECF0A3EDF07B017A0B79861224B190F4
-:101680000B8374A0F0904E3FE0FFA3E0900B84CF5B
-:10169000F0A3EFF0904E42E02403FD904E41E03481
-:1016A00000FCEDFAECFFEAFEEF908098EEF0A3EF7D
-:1016B000F07A0B79837E0B7F837483FC740BFFECD1
-:1016C000FEEFA3EEF0A3EFF090809EE4F0A3F09085
-:1016D000809004F0908006E04404F090812CE0308B
-:1016E000E5F9227A0C794B904E7B7401F0A3740CCF
-:1016F000F0A3744BF0904BA0E0FEA3E0FF904B9E54
-:10170000E06E7003A3E06F60477E0C7F4B7D031299
-:101710002454904E7BE0FBA3E0FAA3E0F91203B659
-:10172000B4022B904E7CE475F00212040E904E7BB6
-:10173000E0FBA3E0FAA3E0F91203B6FF904E00E04D
-:10174000A3E0FAA3E0F5828A83120568800280FE96
-:10175000904BA5E0FEA3E0FF904C5EE06E7003A30B
-:10176000E06F6022904E06E0FBA3E0FAA3E0F94AA6
-:101770006037120564904BA5E0FFA3E0904C5ECF6C
-:10178000F0A3EFF080CA904C8DE0FFA3E06F6019EA
-:10179000904E09E0FBA3E0FAA3E0F94A600B1205C2
-:1017A00064904C8DE0A3F080DD2221E3C2017F1D17
-:1017B00002078B900B7F7401F0E4900B7EF0229077
-:1017C0004B9CE0FEA3E0FF904B9AE0B50607A3E038
-:1017D000B50702D322C322AD07AC06904DE4E06406
-:1017E00002600E7401F0904DE504F0EFA3F0EEA35B
-:1017F000F022AE05EF30E00A904DD3E004F0AE03E6
-:10180000800D904DD3E06007E014F0AF03AE07AF5A
-:101810000622AE07AC05E4904E8EF0ECF0904DDB66
-:10182000E0640160022176EC24C6B40C0040022181
-:101830007690183F75F003A4C58325F0C583730225
-:1018400018630218730218830218AF0218DA02191B
-:1018500006021916021926021936021946021956ED
-:10186000021966AF06AD047BD71217F2904E8EEFC9
-:10187000F02176AF06AD047BD81217F2904E8EEFB2
-:10188000F02176904CF57404F0A3742BF0EE30E068
-:1018900008904CF47401F08006904CF47404F0AF9E
-:1018A00006AD04E4FB1217F2904E8EEFF021769015
-:1018B0004CF57408F0A314F0EE30E008904CF4748A
-:1018C00001F08006904CF47404F0AF06AD04E4FB24
-:1018D0001217F2904E8EEFF02176904CF57408F0CE
-:1018E000A37450F0EE30E008904CF47401F08006E0
-:1018F000904CF47404F0AF06AD04E4FB1217F290C0
-:101900004E8EEFF08070AF06AD047BD51217F290CB
-:101910004E8EEFF08060AF06AD047BF41217F290AC
-:101920004E8EEFF08050AF06AD047BF21217F290AE
-:101930004E8EEFF08040AF06AD047BF51217F290AB
-:101940004E8EEFF08030AF06AD047BF81217F290A8
-:101950004E8EEFF08020AF06AD047BF61217F290AA
-:101960004E8EEFF08010AF06AE04AD067BF7121777
-:10197000F2904E8EEFF0904E8EE0FF22E4904E12E9
-:10198000F0A3F0A3F0A3F0A3F0A3F0A3F0A3F0A3BF
-:10199000F0A3F0A3F0A3F0A3F0A3F0B1737A4D7914
-:1019A000A8904E3B7401F0A3744DF0A374A8F0A36B
-:1019B0007414F07B017A4D79BC71B6EF60167B012F
-:1019C0007A4D79BC7D147186EF7009904CCEE0445D
-:1019D00002F0800C904CCEE054FDF0E4904CD0F03E
-:1019E000E4904E12F0904E12E0FF90060C93602FA0
-:1019F00074BC2FF582E4344DF583E0904E14F0E092
-:101A0000FD6014904E18E004F0A3E0FEED4EF0AF40
-:101A1000057178A3E02FF0904E12E004F080C6909C
-:101A20004E1AE0904E1FF0904E18E0904E1EF0902F
-:101A30004E19E0FF7178904E1DEFF0904E1FE0FFC1
-:101A4000D39402401D904E1DE0FEA3E0FDD39E40C6
-:101A500004AE058000EFD39E4008904E1C7401F048
-:101A60008005E4904E1CF0E4904E12F0904E12E08F
-:101A7000FF90060C937002614C74932FF582E4344E
-:101A80004DF583E0FE74BC2FF582E4344DF583E020
-:101A90006E904E14F0904E12E0FF24BCF582E434B8
-:101AA0004DF583E0904E17F0904E14E070046144C1
-:101AB0006144904E1CE060077B007A00790022743C
-:101AC000BC2FF582E4344DF583E0FE74932FF5824C
-:101AD000E4344DF583EEF0E4904E13F0904E13E0B5
-:101AE000FFC394085058A3E030E03B904E12E0FE54
-:101AF00033333354F8FEEF4E904E16F0A3E0FF90D0
-:101B00004E16E090062193FD1112904E1BEFF090BF
-:101B10004E17E030E009904E1BE0FF9100800790E7
-:101B20004E1BE0FF9190904E14E0FFC313F0904ED7
-:101B300017E0FFC313F0904E13E004F0809E904E28
-:101B4000157401F0904E12E004F0416C904DE4E009
-:101B5000B4030A904DD8E0B401037402F0904E151E
-:101B6000E07007904DD8E0B402077B017A4E7931DE
-:101B7000227B007A00790022E4FEEF6006145FFF0A
-:101B80000E80F7AF0622904E78EBF0A3EAF0A3E9BF
-:101B9000F0E4FFEFC39D501B904E78E0FBA3E0FA0A
-:101BA000A3E0F98F827583001203CF60037F0022C8
-:101BB0000F80E07F0122904E38EBF0A3EAF0A3E91A
-:101BC000F0E4FF904E3EE0FEEFC39E5030904E3B5F
-:101BD000E0FBA3E0FAA3E0F98F827583001203CF44
-:101BE000FE904E38E0FBA3E0FAA3E0F98F82758304
-:101BF000001203CF6E60037F00220F80C67F012298
-:101C0000E4FEEFB4E708904E31E04480F022EFB4F8
-:101C1000E608904E31E04440F022EFB4E508904EE3
-:101C200031E04420F022EFB4E408904E31E044105B
-:101C3000F022EFB4E308904E31E04408F022EFB414
-:101C4000E208904E31E04404F022EFB4E108904EF7
-:101C500031E04402F022EFB4E008904E31E044015C
-:101C6000F022E4FE74322EF582E4344EF583E0FD7A
-:101C70006F601CED7014904DE3E06F601274322EB3
-:101C8000F582E4344EF583EFF0220EEEB406D52251
-:101C9000E4FEFDEF54F064F06007EF54D0FCBCD0DC
-:101CA0000C904DE4E0B4020B7403F08006904DD824
-:101CB0007401F0EFB4E708904E31E0547FF022EF6A
-:101CC000B4E608904E31E054BFF022EFB4E508903E
-:101CD0004E31E054DFF022EFB4E408904E31E0548E
-:101CE000EFF022EFB4E308904E31E054F7F022EF2A
-:101CF000B4E208904E31E054FBF022EFB4E10890DA
-:101D00004E31E054FDF022EFB4E008904E31E05443
-:101D1000FEF022E4FEED702174322EF582E4344EA2
-:101D2000F583E06F7047EEB4050B2432F582E4349E
-:101D30004EF583E4F07D01803474322EF582E43474
-:101D40004EF583E0FC74312EF582E4344EF583ECDD
-:101D5000F074322EF582E4344EF583E06014EEB474
-:101D6000050B2432F582E4344EF583E4F00EEEB434
-:101D700006A322E4FF904E69F0FEFDA3F0A3F0A3BA
-:101D8000F0EF90060C93607CEF93FD131313541F38
-:101D9000FEED5407FD7401A805088002C333D8FC8A
-:101DA000FDEE2478FBE434808B82F583E0FCEDF4D7
-:101DB000FBEC5BF0EE2470F582E43480F583E04DBB
-:101DC000F0EE2474F582E43480F583E05BF09081DA
-:101DD0001CE0F4FC74BC2FF582E4344DF583ECF088
-:101DE000EE2478FBE434808B82F583E04DF0EE2422
-:101DF00070FBE434808B82F583E0FCEDF4FBEC5B5C
-:101E0000F00FA181E4FFEF90060C93607CEF93FD4F
-:101E1000131313541FFEED5407FD7401A805088029
-:101E200002C333D8FCFDEE2478FBE434808B82F5CA
-:101E300083E0FCEDF4FBEC5BF0EE2470F582E4341F
-:101E400080F583E04DF0EE2474F582E43480F58370
-:101E5000E05BF090811CE0F4FC74A82FF582E43480
-:101E60004DF583ECF0EE2478FBE434808B82F5832F
-:101E7000E04DF0EE2470FBE434808B82F583E0FCCF
-:101E8000EDF4FBEC5BF00FC106E4FFEF90060C9362
-:101E9000604074BC2FF582E4344DF583E0FE74A8F5
-:101EA0002FF582E4344DF583E06E602374BC2FF58A
-:101EB00082E4344DF583C083C082E0FE74A82FF520
-:101EC00082E4344DF583E0FDEE5DD082D083F00FE7
-:101ED00080B922904E65EBF0A3EAF0A3E9F0E4A309
-:101EE000F0F0904E68E0FFC39406400302214E904C
-:101EF0004E65E0FBA3E0FAA3E02401F9E43AFA7EA0
-:101F000000E92FF9EE3AFA1203B6FF54F064F060DC
-:101F10000AEF54D064D060030221451203B6FBB42B
-:101F2000F10A7F837E011217D702211AEBB4F20A5D
-:101F30007FCD7E001217D702211A904E65E0FBA3D9
-:101F4000E0FAA3E02401F9E43AFAA3E07E0029F9DB
-:101F5000EE3AFA1203B6FBB4F3087FB71217D702B2
-:101F6000211AEBB4F40A7FB67E001217D702211AA9
-:101F7000904E65E0FBA3E0FAA3E02401F9E43AFA0D
-:101F8000A3E07E0029F9EE3AFA1203B6FBB4F50895
-:101F90007FB51217D702211AEBB4F60A7FEA7E004A
-:101FA0001217D702211A904E65E0FBA3E0FAA3E0D6
-:101FB0002401F9E43AFAA3E07E0029F9EE3AFA1294
-:101FC00003B6FBB4F7087FE91217D702211AEBB466
-:101FD000F80A7FE27E001217D702211A904E65E0C0
-:101FE000FBA3E0FAA3E02401F9E43AFAA3E07E00BF
-:101FF00029F9EE3AFA1203B6FBB4F9087F940E12EF
-:1020000017D7211AEBB4FA097F8A7E011217D7215C
-:102010001A904E65E0FBA3E0FAA3E02401F9E43A4C
-:10202000FAA3E07E0029F9EE3AFA1203B6FBB4FBFC
-:10203000087F920E1217D7211AEBB4D0097F2A7E9F
-:10204000021217D7211A904E65E0FBA3E0FAA3E035
-:102050002401F9E43AFAA3E07E0029F9EE3AFA12F3
-:1020600003B6FBB4D1097F257E021217D7211AEBE4
-:10207000B4D3097F267E021217D7211A904E65E04D
-:10208000FBA3E0FAA3E02401F9E43AFAA3E07E001E
-:1020900029F9EE3AFA1203B6FBB4D2097F247E0284
-:1020A0001217D78075EBB4D4097F277E021217D799
-:1020B0008068904E65E0FBA3E0FAA3E02401F9E418
-:1020C0003AFAA3E07E0029F9EE3AFA1203B6FBB41D
-:1020D000D5097F217E021217D7803FEBB4D6097F46
-:1020E000237E021217D78032904E65E0FBA3E0FA00
-:1020F000A3E02401F9E43AFAA3E07E0029F9EE3ADC
-:10210000FA1203B6FBB4D7077F701217D7800BEB18
-:10211000B4D8077F6F7E001217D7904DE4E0B40269
-:1021200024904E65E0FBA3E0FAA3E02401F9E43A31
-:10213000FAA3E07E0029F9EE3AFA1203B6904DE3D5
-:10214000F0E41203FC904E68E004F0021EE222125A
-:102150000EDF316C904CEB7401F0904CE5741EF086
-:10216000E4904CF0F0904D0074FFF022904C90748D
-:1021700037F0904CD37405F0E4A3F0FFEF25E02492
-:10218000D6F582E4344CF5837479F0A37490F00FA3
-:10219000EFB404E8904C8FE064026002413B904C45
-:1021A00091E0FEA3E0FFC3904C94E09FFD904C9320
-:1021B000E09EFCE41202067BC37AF57988783F1230
-:1021C00000FBC004C005C006C007904C91E0FCA312
-:1021D000E0FDE4120206D003D002D001D0001200CC
-:1021E0000A12023F904CDEEEF0A3EFF0904C91E02B
-:1021F000FEA3E0FFC3904C94E09FFD904C93E09EC3
-:10220000FCE41202067BAE7A477981783F1200FB2C
-:10221000C004C005C006C007904C91E0FCA3E0FDDF
-:10222000E4120206D003D002D001D00012000A123C
-:10223000023F904CE0EEF0A3EFF022904C8FE06470
-:1022400001700241E1904C91E0FEA3E0FFC3904C8D
-:1022500094E09FFD904C93E09EFCE41202067BC349
-:102260007AF579A8783E1200FBC004C005C006C00C
-:1022700007904C91E0FCA3E0FDE4120206D003D0ED
-:1022800002D001D00012000A12023F904CDEEEF0A4
-:10229000A3EFF0904C91E0FEA3E0FFC3904C94E0DC
-:1022A0009FFD904C93E09EFCE41202067B5C7A8FCB
-:1022B0007942783E1200FBC004C005C006C00790FA
-:1022C0004C91E0FCA3E0FDE4120206D003D002D062
-:1022D00001D00012000A12023F904CE0EEF0A3EF92
-:1022E000F0229080107401F080FE2280F5904E89DB
-:1022F000EDF09000011203CF904E8AF022904E58DC
-:1023000012053300000000904C95E0FEA3E0FF9022
-:102310004CD4E0FD04F0ED25E024D6F582E4344C05
-:10232000F583EEF0A3EFF0904CD4E0C394044002A8
-:10233000E4F0E4904E57F0904E58E0F8A3E0F9A393
-:10234000E0FAA3E0FB904E57E025E024D6F582E4C6
-:10235000344CF583E0FEA3E0FFE4FCFDEB2FFFEA45
-:102360003EFEED39FDEC38FC904E58120527904E9C
-:1023700057E004F0E0B404BF904E58E0FCA3E0FD49
-:10238000A3E0FEA3E0FFE47B04FAF9F812047690E0
-:102390004E58120527904CE0E0FEA3E0FFC3904C9E
-:1023A000D7E09F904CD6E09E5007904CD57402F039
-:1023B00022904CDEE0FEA3E0FFE4FCFD904E58E0EE
-:1023C000F8A3E0F9A3E0FAA3E0FBC3120516500D51
-:1023D000904CD57401F0904D3F7412F022E4904C73
-:1023E000D5F0904D3F745DF022904CD3E0600A141C
-:1023F000F0E070057405F051FD22904E6DEEF0A3F3
-:10240000EFF0904E6FECF0A3EDF0904E6FE0FEA376
-:10241000E0FFD3904E6EE09F904E6DE09E40169090
-:102420004E6FE0FEA3E0FF904E6EE09FFF904E6D7A
-:10243000E09EFE801E904E6DE0FEA3E0FFC3904E36
-:1024400070E09FFF904E6FE09EFEAD03C3EB9FFFD9
-:10245000E49EFE22904E8BEEF0A3EFF0A905904B88
-:102460009EE0FEA3E0FFAD0119ED602F0FEFAC067B
-:1024700070010E14F5828C83E0FD904E8BE475F0B4
-:102480000112042485F082F583EDF0AD07AC06BCA3
-:102490004BD4BD9AD17E4B7F3680CB904B9EEEF0D5
-:1024A000A3EFF022900446E0FF229082807401F0B6
-:1024B00022904E29EBF0A3EAF0A3E9F0904E2F749E
-:1024C000FFF5F012042445F0602A904E2CE0FBA3A7
-:1024D000E475F001120424A9F0FA1203B6FF904E3D
-:1024E00029E0FBA3E475F001120424A9F0FAEF122D
-:1024F00003FC80C822904E81EBF0A3EAF0A3E9F040
-:10250000ED1DAE0470011C4E6017904E81E0FBA3E0
-:10251000E475F001120424A9F0FA74FF1203FC80A0
-:10252000DF22EFF4603AEF5407FEEF131313540366
-:10253000FF24A3F582E43400F583C083C082E0FD6C
-:102540007401A806088002C333D8FCF4FC5DD08275
-:10255000D083F074A72FF582E43400F583E05CF0BB
-:1025600022904E96EFF07B017A8079741214DF92FC
-:1025700009904E96E0FFA209B3920102078BE4FF97
-:10258000EFFD7C002478FBEC34808B82F583E0FE49
-:10259000ED2470FDEC34808D82F583E04EF4FEEF87
-:1025A000247CFDEC34808D82F583EEF00FEFB404D3
-:0225B000CF2238
+:1006D0004DE1E064026002E183904CE9E06002E1F8
+:1006E0007D904CD5E0B40204F1F1802E904CD5E021
+:1006F000B40114904CF7E07021904CE27404F09037
+:100700004CF77401F08013904CF7E0B4010CE4F066
+:10071000904CE2F0C2017F1EF184D1C2EF60529092
+:100720004DD9E0FF904CB7E06F6058E030E00E909C
+:100730004CE6740CF0D2017FFFF184800BC2017F84
+:10074000FFF184E4904CE6F0904CB7E030E10E907D
+:100750004CE7740CF0D2017FFFF184800BC2017F63
+:10076000FFF184E4904CE7F0904CB7E0904DD9F065
+:1007700022C2017FFFF184C2017FFF8007C2017F97
+:10078000FFF18422EFF4600D7B017A807974A2017D
+:1007900092001215CF22904DE1E064027052904C0D
+:1007A000EEE060057F1E1217C3D1C2EF6042904C8D
+:1007B000E6E0601614F0D2017FFFF184904CE6E091
+:1007C000700EC2017FFFF1848006C2017FFFF184B9
+:1007D000904CE7E0601414F0D2017FFFF184904C5C
+:1007E000E7E0700CC2017FFF809AC2017FFFF184B5
+:1007F00022E4904D38F07F19904E71EFF078727CC2
+:100800004E7D017BFF7A0679BF7E007F0312039045
+:10081000904E71E0904E74F07B017A4E79727D03B8
+:10082000904E46EBF0A3EAF0A3E9F0A3EDF0904B75
+:100830009CE0FFA3E0904E4ACFF0A3EFF0904B9ADC
+:10084000E0FEA3E0FF904B9CE0FCA3E0FD7B641284
+:100850002129904E49E0FEEFC39E40E1904E49E0D1
+:10086000FF14F0EF603F904E46E0FBA3E475F0010B
+:10087000120424A9F0FA1203B6FF904E4AE475F070
+:100880000112042485F082F583EFF0904E4AE0FED9
+:10089000A3E0FFBE4BC6BF36C3904E4A744AF0A3D6
+:1008A00074A0F080B7904E4AE0FFA3E0904B9CCF3D
+:1008B000F0A3EFF022904E93EDF0E0FD900BE8F006
+:1008C0007E0B7FE9904E51EDF011DA7B017A0B79C6
+:1008D000E7904E93E02402FD0120904E4CEEF0A3F1
+:1008E000EFF0A3EBF0A3EAF0A3E9F0904E51E0FFA4
+:1008F00014F0EF6027904E4EE0FBA3E475F0011278
+:100900000424A9F0FA1203B6FF904E4CE475F001EE
+:1009100012042485F082F583EFF080CF22904E52AE
+:10092000EBF0A3EAF0A3E9F0E4A3F0A3F0904DDB31
+:10093000F0904E56F0904E56E0FFC39405502C9028
+:100940004E52E0FBA3E0FAA3E02401F9E43AFA7E78
+:1009500000E92FF9EE3AFA1203B6B4AF06904DDB78
+:100960007401F0904E56E004F080CA904DDBE090A8
+:100970004DE0F0904E52E0A3E0FAA3E04A7002612D
+:1009800055904DDE740AF0E4904CE3F0A3F07B0147
+:100990007A4879007D09FC91CD7B017A4D79E57D1E
+:1009A000097C0091CD904E52E0FBA3E0FAA3E0F960
+:1009B0009000011203CFFFB42E0A9000021203CF61
+:1009C0006429600FEF642970369000021203CF642F
+:1009D0002E702C904BEB7420F0A37415F0A37410C0
+:1009E000F0A37405F0904CC5E064016009904CCE12
+:1009F000E04410F08010904CCEE054EFF08007906F
+:100A00004CCEE054EFF0904CB67401F0904CF4E012
+:100A1000FF640170026155EF640470026155EF6478
+:100A20000270026155904CC5E064037045904E56CB
+:100A3000F0904E56E0FFC394055037904E52E0FBC5
+:100A4000A3E0FAA3E02401F9E43AFA7E00E92FF9E1
+:100A5000EE3AFA1203B6FF64396009EF645360049A
+:100A6000EFB44706904DD07401F0904E56E004F07C
+:100A700080BF904E52E0FBA3E0FAA3E0F9715690DC
+:100A80004DE4E0B401117402F0904DE5F07B017A81
+:100A90004D79E57D03A183904DE4E0B40316E4F0C5
+:100AA000904DE3F0904DE57402F07B017A4D79E5CD
+:100AB0007D03A1839048007401F0904E52E0FBA3A7
+:100AC000E0FAA3E0F91203B6904801F0E4A3F09035
+:100AD0004DD8F09000011203CFB4AF1E7E487F03C3
+:100AE000904E52E0FBA3E0FAA3E02402F9E43AFAC4
+:100AF000904E517405F011DA801C7E487F03904EB1
+:100B000052E0FBA3E0FAA3E02401F9E43AFA904EA4
+:100B1000517406F011DA904E567403F0904E56E080
+:100B2000FFC39409502574002FF582E43448F583FF
+:100B3000E0B4AF0F904E56E02400F582E43448F55F
+:100B400083E4F0904E56E004F080D17B017A48793E
+:100B5000007D09B18322904E65EBF0A3EAF0A3E992
+:100B6000F0E4A3F0F0904E68E0FFC39406400281E9
+:100B7000B1904E65E0FBA3E0FAA3E02401F9E43A6A
+:100B8000FA7E00E92FF9EE3AFA1203B6FF54F06448
+:100B9000F06009EF54D064D0600281A91203B6FB63
+:100BA000B4F2087FCD7E0091B2817EEBB4F4087F71
+:100BB000B67E0091B2817E904E65E0FBA3E0FAA381
+:100BC000E02401F9E43AFAA3E07E0029F9EE3AFACA
+:100BD0001203B6FBB4F5067FB591B2817EEBB4F695
+:100BE000087FEA7E0091B2817E904E65E0FBA3E033
+:100BF000FAA3E02401F9E43AFAA3E07E0029F9EE31
+:100C00003AFA1203B6FBB4F7067FE991B2806FEBB4
+:100C1000B4F8087FE27E0091B28063904E65E0FBFD
+:100C2000A3E0FAA3E02401F9E43AFAA3E07E002964
+:100C3000F9EE3AFA1203B6FBB4FA077F8A0E91B2C4
+:100C4000803CEBB4D5087F217E0291B28030904E7B
+:100C500065E0FBA3E0FAA3E02401F9E43AFAA3E09B
+:100C60007E0029F9EE3AFA1203B6FBB4D7067F707C
+:100C700091B2800AEBB4D8067F6F7E0091B2904D9E
+:100C8000E4E0B40224904E65E0FBA3E0FAA3E02484
+:100C900001F9E43AFAA3E07E0029F9EE3AFA1203E8
+:100CA000B6904DE3F0E41203FC904E68E004F0616E
+:100CB0006522AD07AC06904DE4E06402600E74015D
+:100CC000F0904DE504F0EFA3F0EEA3F022904E7EFD
+:100CD000EBF0A3EAF0A3E9F0ED1DAE0470011C4EA9
+:100CE0006016904E7EE0FBA3E475F001120424A987
+:100CF000F0FAE41203FC80E0227B017A4C79BF7D9C
+:100D0000437C0091CD7B017A4D79937D147C0091D9
+:100D1000CD7B017A4D79A87D147C0091CD7B017A41
+:100D20004D79BC7D147C0091CD7B017A4879007DA2
+:100D3000097C0091CD7B017A4D79E57D097C00919C
+:100D4000CDE4904DDEF0904DE2F0904DE1F0904D0D
+:100D5000D6F0904DD0F0904DDCF0904DE4F0904DF9
+:100D6000D5F0904DD8F0904DDBF0904DE0F0904DE7
+:100D7000D3F0904DDFF0904DE3F0904DD9F0904DD1
+:100D800038F022904E61EBF0A3EAF0A3E9F0A3ED76
+:100D9000F0F178EF6076904CEBE07070904CC5E02D
+:100DA00064037068904E61E0FBA3E0FAA3E0F912DF
+:100DB00003B6FF6401702E9000011203CF701E90E5
+:100DC00000031203CF70169000041203CF700E9030
+:100DD00000051203CF7006904DD6F08028904DD6B6
+:100DE0007401F08020EFB4021C9000011203CF7058
+:100DF0000E9000021203CF7006904DD6F080069040
+:100E00004DD67401F0904E64E0FDF15322904E8770
+:100E1000EFF0A3EDF07B017A4879007D097C009129
+:100E2000CD9048007401F0A3E0FF904E87E0FEEF04
+:100E30004E904801F0904E88E0904803F07B017A94
+:100E40004879007D09A183904CF4E0FF60086403B9
+:100E50006004EFB40502E120904CF4E0B4010EA36D
+:100E6000E0FFE4FDD10D904CF47402F022904CF4BC
+:100E7000E0B4020B7403F0A3E0FFA3E0FD808E90CA
+:100E80004CF4E0B4041AE4904CF6F0904CF5E0FF1A
+:100E9000E4FDD10DE4904CF5F0904CF47405F02293
+:100EA000904CF4E0B40615E4904CF6F0904CF5F05C
+:100EB000A3E0FDE4FFD10DE4904CF4F022904DD07E
+:100EC000E06401702F904DD6E07029904CC5E0642D
+:100ED00003704C7B017A4879007D09FC91CD7B0140
+:100EE0007A4879007D09B183904DD07402F0E49086
+:100EF0004DE4F022904DD0E0B40224904DD6E07045
+:100F00001E904DD0F07B017A4879007D09FC91CD8F
+:100F10007B017A4879007D09B183E4904DE4F022A9
+:100F2000904E75E4F0A3F0A3F0F1AD50251218CF68
+:100F3000904E75EBF0A3EAF0A3E9F04A7007904CED
+:100F4000B604F0C1BD904E75E0FBA3E0FAA3E0F952
+:100F5000311D22900BE77406F001B591F91220655E
+:100F6000904CEB7401F0904CE5741EF0E4904CF062
+:100F7000F0904D0174FFF022E4FF904CEEE0600130
+:100F800022904CC5E06403601C904CEFE0701D742F
+:100F90000AF0A3E07016904DE1E0B4020F7F09F172
+:100FA000EB7F018007E4904CEBF07F0122904B9C9B
+:100FB000E0FEA3E0FF904B9AE0B50607A3E0B5077B
+:100FC00002D322C322E4904CF0F022904CC5E0FF03
+:100FD00064036004EFB402087F221207F87F012245
+:100FE0007F0022904DE17402F07F08904E8DEFF06B
+:100FF00024F7600A14606424026003021096E490EF
+:101000004CF0F0120FCBEF6009904E8DE0904CED5C
+:10101000F0227B017A4C79007D047C007FF27E3FD8
+:10102000517E7F0A119C904C00E0B4FF1BA3E0B4FA
+:10103000FF16A3E0B4FF11A3E0B4FF0C904C0074C2
+:101040000FF0A3F0A3F0A3F07F211207F8904CC596
+:101050007402F0E4A3F0904CEDF022E4904CF0F038
+:10106000120FCBEF6009904E8DE0904CEDF0229086
+:101070004CC5E0640160197F231207F8904CC574D9
+:1010800001F0E4A3F0904CEE74F0F0E4904CE9F041
+:10109000E4904CEDF022E4904CEDF022EFD394007C
+:1010A0004011E4FDFC0DBD00010CBC04F8BDA6F52B
+:1010B0001F80E922904CBFE0603B7FC8119CC201B9
+:1010C0007FFF1207847B017A4C79007D047C007FCE
+:1010D000F27E3F11F67B017A4C79C17D017C007F65
+:1010E000F87E3F11F6D2017FFF1207847F0A119C20
+:1010F000E4904CBFF022904E20EEF0A3EFF0A3EC72
+:10110000F0A3EDF0A3EBF0A3EAF0A3E9F0904E22F8
+:10111000E07002A3E0700221A2904E20E0FEA3E066
+:10112000FF440F2401FDE43EFCC3ED9FFFEC9EFE57
+:10113000904E27F0A3EFF0904E22E0FCA3E0FDD309
+:101140009FEC9E400A904E27E0FEA3E0FF8004AE95
+:1011500004AF05904E27EEF0FCA3EFF0FDC3904ED8
+:1011600023E09DF0904E22E09CF0904E20E0FEA304
+:10117000E0FF904E24E0FBA3E0FAA3E0F9D14D7F1D
+:101180000A119C904E27E0FEA3E0FF904E25EE8FC3
+:10119000F012040E904E21E02FF0904E20E03EF031
+:1011A000210D22904E92EFF024D060481460471435
+:1011B0007002414E14600A24F7603B240D60024126
+:1011C0007D712E120F5B7B017A4C79007D047C00CF
+:1011D0007FF27E3F517E7F0A119C904CC1E0F97AEC
+:1011E000007B007D017C007FF87E3F517E7F0A11ED
+:1011F0009C020FE36162904CC57403F0E4A3F0120B
+:101200000FC5E4904CEEF0904CEBF0904CC074FEA7
+:10121000F0904CC3F0904E92E064317024904CE515
+:10122000741EF0904BEBE0B40F10A3E0B40F0BA3CF
+:10123000E0B40F06A3E0640F6043904CBF7401F06C
+:1012400022904CE5E07036C2017F1E020784E490D4
+:101250004CC5F0A3F0904CE3F0A3F0904CEB04F0FD
+:10126000904CEDE0600B120FC5904CEDE0FF020FCB
+:10127000EB904CECE0B40105E4F01207F122904E43
+:101280005CECF0A3EDF0A3EBF0A3EAF0A3E9F0909F
+:1012900080987404F0A3E4F0900CAF74A0F0A3EE77
+:1012A000F0A3EFF0900CB274A1F07A0C79AF7E0C41
+:1012B0007FAF74AFFC740CFFECFEEF90809AEEF001
+:1012C000A3EFF0904E5CE0FCA3E0FAECFFEAFEEF47
+:1012D00090809EEEF0A3EFF07A0B79837E0B7F83F4
+:1012E0007483FC740BFFECFEEF90809CEEF0A3EF98
+:1012F000F09080907402F090809CA3E020E707902B
+:101300008090E04401F0908006E04404F0D1E69043
+:101310004E5EE0A3E0FAA3E0AE02FF7B017A0B7918
+:1013200083904E5CE0A3E0904E51F00208DA7162C7
+:10133000C2067FFF7146C2067FFF7146C2067F1E4E
+:101340007146C2067F1EAC07ECF46015AF04D204F0
+:10135000B1ADAF04A2069201120784AF04C202B17C
+:101360007E22908080E4F0A3F0A3F0D130E4904E90
+:1013700090F0F0904E90E090060C93FF600CC20548
+:10138000B18F904E90E004F080E922B126D1EE12A8
+:101390000E4711B41206CF900B7EE014600C24FEB1
+:1013A00070EB71CF7130B11980FE904CEAE0701291
+:1013B000904CECE0700C904CE5E07006904CF8E03E
+:1013C0006004F1B780C771CFB11980C180BF22E43A
+:1013D000FF904E91F0FEFDEF90060C936049EF9365
+:1013E000FD131313541FFEED5407FD7401A80508E7
+:1013F0008002C333D8FCFDEE2478FBE434808B827A
+:10140000F583E0FCEDF4FBEC5BF0EE2470F582E498
+:101410003480F583E04DF0EE2474F582E43480F5F9
+:1014200083E05BF00F80B012229090811CE0904E20
+:1014300091F0904CD5E064026036904DD5E060208C
+:10144000E4FF917A7F01917A7F02917A7F03917A0A
+:101450007F04917A7F05917A7F06917A7F07801ABF
+:10146000904E91E0FF9000A3F0EFF49000A7F022DF
+:10147000E49000A3F09000A7F022904E95EFF0B119
+:10148000399208904E95E0FFA208B39207EFF470EE
+:1014900002A118EF5407FEEF1313135403FF300794
+:1014A0004324A3F582E43400F583C083C082E0FDC9
+:1014B0007401A806088002C333D8FCF45DD082D042
+:1014C00083F074A72FF582E43400F583C083C082D3
+:1014D000E0FF7401A806088002C333D8FC4FD08215
+:1014E000D083F02274A32FF582E43400F583C08307
+:1014F000C082E0FD7401A806088002C333D8FCFC5A
+:101500004DD082D083F074A72FF582E43400F583A8
+:10151000E0FFECF4FEEF5EF022E4900B7FF0900B26
+:101520007EF07F01019C7B017A4D79EE78007C4E44
+:101530007D017E007F120203907B017A81791CADD0
+:1015400007E4904E94F0FEEF5407F0EF131313549A
+:1015500003FEF5827583001203CFFD3395E0FC9006
+:101560004E94E0FF74017E00A807088005C333CEC7
+:1015700033CED8F9FFEE5CFEEF5D4E24FF22EFF490
+:10158000600C7B017A807978A2029200B1CF22AC04
+:1015900007ECF46017AF04A2059203B1BEAF04A23A
+:1015A00005B39202B17EAF04C204B1AD22EFF46084
+:1015B0000C7B017A807970A2049200B1CF22EFF403
+:1015C000600C7B017A80797CA2039200B1CF2290DB
+:1015D0004E84EBF0A3EAF0A3E9F0E4FEFDEF54073C
+:1015E000FEEF1313135403FD300022904E84E0FBF2
+:1015F000A3E0FAA3E02DF9E43AFA1203B6FF74016E
+:10160000A806088002C333D8FC4F0203FC904E8426
+:10161000E0FBA3E0FAA3E02DF9E43AFA1203B6FFE7
+:101620007401A806088002C333D8FCF45F0203FCEF
+:10163000E4904E8FF0F0904E8FE0FFC39408500C72
+:10164000C205B18F904E8FE004F080EA22904E3FA9
+:10165000EEF0A3EFF0904E43EBF0A3EAF0A3E9F035
+:10166000904E41ECF0A3EDF0A3E0F9A3E0FAA3E083
+:10167000904E2CC9F0A3EAF0A3E9F0A3ECF0A3ED9F
+:10168000F07B017A0B79861221E0900B8374A0F035
+:10169000904E3FE0FFA3E0900B84CFF0A3EFF090DB
+:1016A0004E42E02403FD904E41E03400FCEDFAECA4
+:1016B000FFEAFEEF908098EEF0A3EFF07A0B7983CB
+:1016C0007E0B7F837483FC740BFFECFEEFA3EEF0C4
+:1016D000A3EFF090809EE4F0A3F090809004F0904F
+:1016E0008006E04404F090812CE030E5F9227A0C89
+:1016F000794B904E7B7401F0A3740CF0A3744BF003
+:10170000904BA0E0FEA3E0FF904B9EE06E7003A321
+:10171000E06F60477E0C7F4B7D03122183904E7BF0
+:10172000E0FBA3E0FAA3E0F91203B6B4022B904E5B
+:101730007CE475F00212040E904E7BE0FBA3E0FA0D
+:10174000A3E0F91203B6FF904E00E0A3E0FAA3E095
+:10175000F5828A83120568800280FE904BA5E0FE28
+:10176000A3E0FF904C5EE06E7003A3E06F602290F8
+:101770004E06E0FBA3E0FAA3E0F94A6037120564E5
+:10178000904BA5E0FFA3E0904C5ECFF0A3EFF0807C
+:10179000CA904C8DE0FFA3E06F6019904E09E0FB0A
+:1017A000A3E0FAA3E0F94A600B120564904C8DE0C7
+:1017B000A3F080DD22618B900B7F7401F0E4900B2D
+:1017C0007EF022904E96EFF07B017A807974B13FE3
+:1017D0009209904E96E0FFA209B39201020784900D
+:1017E0004CF5EDF0A3EBF0EF30E012904CF4E0B4E8
+:1017F00003047402F022904CF47401F022904CF433
+:101800007404F022AE07E4904E8EF0EDF0904DDBC4
+:10181000E06401600201C9ED24C6B40C004002017D
+:10182000C990182F75F003A4C58325F0C5837302F2
+:10183000185302185B021863021873021883021807
+:101840009302189B0218A30218AB0218B30218BB2C
+:101850000218C3904E8E74D7F0806E904E8E74D85E
+:10186000F08066AF067B2B7D041217DFE4904E8E6E
+:10187000F08056AF067B077D081217DFE4904E8E8E
+:10188000F08046AF067B507D081217DFE4904E8E45
+:10189000F08036904E8E74D5F0802E904E8E74F47B
+:1018A000F08026904E8E74F2F0801E904E8E74F56D
+:1018B000F08016904E8E74F8F0800E904E8E74F676
+:1018C000F08006904E8E74F7F0904E8EE0FF22E48A
+:1018D000904E12F0A3F0A3F0A3F0A3F0A3F0A3F0B6
+:1018E000A3F0A3F0A3F0A3F0A3F0A3F0A3F0915210
+:1018F0007A4D79A8904E3B7401F0A3744DF0A37417
+:10190000A8F0A37414F07B017A4D79BC7109EF60E3
+:10191000167B017A4D79BC7D1451D9EF7009904C3A
+:10192000CEE04402F0800C904CCEE054FDF0E49008
+:101930004CD0F0E4904E12F0904E12E0FF90060C66
+:1019400093602F74BC2FF582E4344DF583E0904E04
+:1019500014F0E0FD6014904E18E004F0A3E0FEEDFA
+:101960004EF0AF0551CBA3E02FF0904E12E004F003
+:1019700080C6904E1AE0904E1FF0904E18E0904EA8
+:101980001EF0904E19E0FF51CB904E1DEFF0904E9F
+:101990001FE0FFD39402401D904E1DE0FEA3E0FD2A
+:1019A000D39E4004AE058000EFD39E4008904E1CAD
+:1019B0007401F08005E4904E1CF0E4904E12F0901B
+:1019C0004E12E0FF90060C937002419F74932FF526
+:1019D00082E4344DF583E0FE74BC2FF582E4344D8F
+:1019E000F583E06E904E14F0904E12E0FF24BCF5AB
+:1019F00082E4344DF583E0904E17F0904E14E07081
+:101A00000441974197904E1CE060077B007A007973
+:101A1000002274BC2FF582E4344DF583E0FE74930C
+:101A20002FF582E4344DF583EEF0E4904E13F09000
+:101A30004E13E0FFC394085058A3E030E03B904EB3
+:101A400012E0FE33333354F8FEEF4E904E16F0A3FF
+:101A5000E0FF904E16E090062193FD1104904E1B7E
+:101A6000EFF0904E17E030E009904E1BE0FF71530D
+:101A70008007904E1BE0FF71A9904E14E0FFC31346
+:101A8000F0904E17E0FFC313F0904E13E004F08087
+:101A90009E904E157401F0904E12E004F021BF901C
+:101AA0004DE4E0B4030A904DD8E0B401037402F0B1
+:101AB000904E15E07007904DD8E0B402077B017A94
+:101AC0004E7931227B007A00790022E4FEEF600635
+:101AD000145FFF0E80F7AF0622904E78EBF0A3EA7A
+:101AE000F0A3E9F0E4FFEFC39D501B904E78E0FBBC
+:101AF000A3E0FAA3E0F98F827583001203CF60039D
+:101B00007F00220F80E07F0122904E38EBF0A3EAA5
+:101B1000F0A3E9F0E4FF904E3EE0FEEFC39E5030AC
+:101B2000904E3BE0FBA3E0FAA3E0F98F82758300BF
+:101B30001203CFFE904E38E0FBA3E0FAA3E0F98F4A
+:101B4000827583001203CF6E60037F00220F80C670
+:101B50007F0122E4FEEFC394E04020EFD394E750EE
+:101B60001A904E31E0FEEF5407FF7401A807088079
+:101B700002C333D8FC4E904E31F022E4FE74322E74
+:101B8000F582E4344EF583E0FD6F601CED70149037
+:101B90004DE3E06F601274322EF582E4344EF5832B
+:101BA000EFF0220EEEB406D522E4FEFDEF54F06411
+:101BB000F06007EF54D0FCBCD00C904DE4E0B402D0
+:101BC0000B7403F08006904DD87401F0EFC394E0DD
+:101BD0004020EFD394E7501A904E31E0FEEF5407C7
+:101BE000FF74FEA807088002C333D8FC5E904E3114
+:101BF000F022E4FEED702174322EF582E4344EF5CD
+:101C000083E06F7047EEB4050B2432F582E4344E66
+:101C1000F583E4F07D01803474322EF582E4344E95
+:101C2000F583E0FC74312EF582E4344EF583ECF05C
+:101C300074322EF582E4344EF583E06014EEB40580
+:101C40000B2432F582E4344EF583E4F00EEEB40654
+:101C5000A322E4FF904E69F0FEFDA3F0A3F0A3F0F1
+:101C6000EF90060C93607CEF93FD131313541FFE4B
+:101C7000ED5407FD7401A805088002C333D8FCFDAC
+:101C8000EE2478FBE434808B82F583E0FCEDF4FBFA
+:101C9000EC5BF0EE2470F582E43480F583E04DF0E7
+:101CA000EE2474F582E43480F583E05BF090811CCF
+:101CB000E0F4FC74BC2FF582E4344DF583ECF0EED7
+:101CC0002478FBE434808B82F583E04DF0EE2470C1
+:101CD000FBE434808B82F583E0FCEDF4FBEC5BF0FD
+:101CE0000F8160E4FFEF90060C93607CEF93FD138F
+:101CF0001313541FFEED5407FD7401A8050880025C
+:101D0000C333D8FCFDEE2478FBE434808B82F5836A
+:101D1000E0FCEDF4FBEC5BF0EE2470F582E4348043
+:101D2000F583E04DF0EE2474F582E43480F583E031
+:101D30005BF090811CE0F4FC74A82FF582E4344D34
+:101D4000F583ECF0EE2478FBE434808B82F583E0BD
+:101D50004DF0EE2470FBE434808B82F583E0FCEDE3
+:101D6000F4FBEC5BF00F81E5E4FFEF90060C936071
+:101D70004074BC2FF582E4344DF583E0FE74A82F47
+:101D8000F582E4344DF583E06E602374BC2FF58258
+:101D9000E4344DF583C083C082E0FE74A82FF58241
+:101DA000E4344DF583E0FDEE5DD082D083F00F800A
+:101DB000B9229080107401F080FE2280F5904E8947
+:101DC000EDF09000011203CF904E8AF022904CC5A6
+:101DD000E0B40311904CE3E0640E7004A3E06410DF
+:101DE000702D0207F1904CC5E0B40114904CE3E073
+:101DF0007004A3E0642870177F221207F80207F12D
+:101E0000904CE3E07004A3E0641470031207F12225
+:101E1000120796904CE4E004F07006904CE3E00466
+:101E2000F0D14BB1CDD15C904CEEE0601DE4904C14
+:101E3000E3F0A3F0904CEEE014F0E0700D7F22127E
+:101E400007F87F0A12109C1207F122904CD3E06031
+:101E50000A14F0E070057405F0D1E322904CCEE056
+:101E600030E13E904CD0E0C394FA5003E004F0908F
+:101E70004CD0E064B4702F904DDCE004F0E0D394DB
+:101E8000025007E4904CD0F0801C904DDCE0B4038D
+:101E900015904DD57401F0E4904CD0F01207F1800C
+:101EA00005E4904DDCF0904CCEE030E430904CEA0C
+:101EB000740AF0904CD1E0C394FA5003E004F0901F
+:101EC0004CD1E0B4061C904CC3E0FF6003B4FE129A
+:101ED000120FCB7F0A12109C7F0A020FEBE4904C8A
+:101EE000D1F022904E5812053300000000904C951E
+:101EF000E0FEA3E0FF904CD4E0FD04F0ED25E024EB
+:101F0000D6F582E4344CF583EEF0A3EFF0904CD498
+:101F1000E0C394044002E4F0E4904E57F0904E5831
+:101F2000E0F8A3E0F9A3E0FAA3E0FB904E57E02528
+:101F3000E024D6F582E4344CF583E0FEA3E0FFE430
+:101F4000FCFDEB2FFFEA3EFEED39FDEC38FC904E38
+:101F500058120527904E57E004F0E0B404BF904EAD
+:101F600058E0FCA3E0FDA3E0FEA3E0FFE47B04FA5D
+:101F7000F9F8120476904E58120527904CE0E0FED6
+:101F8000A3E0FFC3904CD7E09F904CD6E09E500753
+:101F9000904CD57402F022904CDEE0FEA3E0FFE40A
+:101FA000FCFD904E58E0F8A3E0F9A3E0FAA3E0FBB3
+:101FB000C3120516500D904CD57401F0904D3F742E
+:101FC00012F022E4904CD5F0904D3F745DF02290D9
+:101FD0004CEAE0600214F0904CEFE0600214F090E4
+:101FE0004CE5E0601814F0D2017F1E120784904C7B
+:101FF000E5E07034C2017F1E120784802B904CEE06
+:10200000E07025904CE2E0601F14F0E030E109D26E
+:10201000017F1E1207848007C2017F1E1207849071
+:102020004CE2E070037404F0904DD5E0702D904DBB
+:10203000D6E064017025F0904DE5E0600D7B017AFB
+:102040004D79E57D03120D838011904800E0600B0F
+:102050007B017A4879007D09120D83904DDEE060A6
+:1020600003E014F022904CD37405F0E4A3F0904CFC
+:10207000907437F0E4FFEF25E024D6F582E4344C89
+:10208000F5837462F0A3F00FEFB404EA904C91E092
+:10209000FEA3E0FFC3904C94E09FFD904C93E09E24
+:1020A000FCE41202067BC37AF579A8783E1200FBA5
+:1020B000C004C005C006C007904C91E0FCA3E0FD41
+:1020C000E4120206D003D002D001D00012000A129E
+:1020D000023F904CDEEEF0A3EFF0904C91E0FEA3B7
+:1020E000E0FFC3904C94E09FFD904C93E09EFCE495
+:1020F0001202067B5C7A8F7942783E1200FBC004A4
+:10210000C005C006C007904C91E0FCA3E0FDE412BE
+:102110000206D003D002D001D00012000A12023F02
+:10212000904CE0EEF0A3EFF022904E6DEEF0A3EFB6
+:10213000F0904E6FECF0A3EDF0904E6FE0FEA3E058
+:10214000FFD3904E6EE09F904E6DE09E4016904EF5
+:102150006FE0FEA3E0FF904E6EE09FFF904E6DE0BB
+:102160009EFE801E904E6DE0FEA3E0FFC3904E7079
+:10217000E09FFF904E6FE09EFEAD03C3EB9FFFE438
+:102180009EFE22904E8BEEF0A3EFF0A905904B9EA1
+:10219000E0FEA3E0FFAD0119ED602F0FEFAC06707C
+:1021A000010E14F5828C83E0FD904E8BE475F001F6
+:1021B00012042485F082F583EDF0AD07AC06BC4B2C
+:1021C000D4BD9AD17E4B7F3680CB904B9EEEF0A350
+:1021D000EFF022900446E0FF229082807401F0220A
+:1021E000904E29EBF0A3EAF0A3E9F0904E2F74FF94
+:1021F000F5F012042445F0602A904E2CE0FBA3E495
+:1022000075F001120424A9F0FA1203B6FF904E29CA
+:10221000E0FBA3E475F001120424A9F0FAEF120325
+:10222000FC80C822904E81EBF0A3EAF0A3E9F0ED28
+:102230001DAE0470011C4E6017904E81E0FBA3E4BC
+:1022400075F001120424A9F0FA74FF1203FC80DF78
+:1022500022EFF4603AEF5407FEEF1313135403FF19
+:1022600024A3F582E43400F583C083C082E0FD74CA
+:1022700001A806088002C333D8FCF4FC5DD082D0EC
+:1022800083F074A72FF582E43400F583E05CF0223C
+:10229000E4FFEFFD7C002478FBEC34808B82F58337
+:1022A000E0FEED2470FDEC34808D82F583E04EF489
+:1022B000FEEF247CFDEC34808D82F583EEF00FEF91
+:0422C000B404CF2271
 :00000001FF
Index: output/fwram.rom
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/output/fwram.rom	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/output/fwram.rom	(working copy)
@@ -1398,7 +1398,7 @@
 b1
 02
 17
-aa
+b5
 e4
 93
 a3
@@ -1528,23 +1528,23 @@
 4d
 ee
 ff
-0a
-96
+11
+a3
 00
 00
 00
 ff
-0f
-90
+1e
+10
 ff
-15
-b7
+1f
+cf
 00
 00
 00
 ff
-22
-ed
+1d
+bd
 00
 1a
 08
@@ -1557,11 +1557,11 @@
 18
 19
 17
-15
 14
 13
+12
 11
-16
+15
 1b
 1c
 00
@@ -1750,7 +1750,7 @@
 60
 02
 e1
-8a
+83
 90
 4c
 e9
@@ -1758,17 +1758,16 @@
 60
 02
 e1
-7e
+7d
 90
 4c
 d5
 e0
 b4
 02
-05
-12
-09
-f2
+04
+f1
+f1
 80
 2e
 90
@@ -1814,9 +1813,9 @@
 c2
 01
 7f
-1d
+1e
 f1
-8b
+84
 d1
 c2
 ef
@@ -1833,7 +1832,7 @@
 e0
 6f
 60
-5e
+58
 e0
 30
 e0
@@ -1844,20 +1843,20 @@
 74
 0c
 f0
-c2
+d2
 01
 7f
-10
+ff
 f1
-8b
+84
 80
 0b
-d2
+c2
 01
 7f
-10
+ff
 f1
-8b
+84
 e4
 90
 4c
@@ -1876,20 +1875,20 @@
 74
 0c
 f0
-c2
+d2
 01
 7f
-0f
+ff
 f1
-8b
+84
 80
 0b
-d2
+c2
 01
 7f
-0f
+ff
 f1
-8b
+84
 e4
 90
 4c
@@ -1904,30 +1903,24 @@
 d9
 f0
 22
-d2
+c2
 01
 7f
-10
+ff
 f1
-8b
-d2
+84
+c2
 01
 7f
-0f
+ff
 80
-0d
-d2
-01
-7f
-10
-f1
-8b
-d2
+07
+c2
 01
 7f
-0f
+ff
 f1
-8b
+84
 22
 ef
 f4
@@ -1944,8 +1937,8 @@
 92
 00
 12
-10
-73
+15
+cf
 22
 90
 4d
@@ -1962,10 +1955,10 @@
 60
 05
 7f
-1d
+1e
 12
-25
-61
+17
+c3
 d1
 c2
 ef
@@ -1979,32 +1972,32 @@
 16
 14
 f0
-c2
+d2
 01
 7f
-10
+ff
 f1
-8b
+84
 90
 4c
 e6
 e0
 70
 0e
-d2
+c2
 01
 7f
-10
+ff
 f1
-8b
+84
 80
 06
-d2
+c2
 01
 7f
-10
+ff
 f1
-8b
+84
 90
 4c
 e7
@@ -2013,325 +2006,78 @@
 14
 14
 f0
-c2
+d2
 01
 7f
-0f
+ff
 f1
-8b
+84
 90
 4c
 e7
 e0
 70
 0c
-d2
+c2
 01
 7f
-0f
+ff
 80
 9a
-d2
+c2
 01
 7f
-0f
+ff
 f1
-8b
+84
 22
-d2
-01
-7f
-1d
-80
-8d
 e4
-ff
-90
-4c
-ee
-e0
-60
-01
-22
-90
-4c
-c5
-e0
-64
-03
-60
-1c
-90
-4c
-ef
-e0
-70
-1d
-74
-0a
-f0
-a3
-e0
-70
-16
 90
 4d
-e1
-e0
-b4
-02
-0f
-7f
-09
-11
-33
-7f
-01
-80
-07
-e4
-90
-4c
-eb
+38
 f0
 7f
-01
-22
+19
 90
 4e
-8d
+71
 ef
 f0
-24
-f7
-60
-09
-14
-60
-61
-24
-02
-60
-02
+78
+72
+7c
+4e
+7d
 01
-d9
-e4
+7b
+ff
+7a
+06
+79
+bf
+7e
+00
+7f
+03
+12
+03
 90
-4c
-f0
-f0
-11
-df
-ef
-60
-09
 90
 4e
-8d
+71
 e0
 90
-4c
-ed
+4e
+74
 f0
-22
 7b
 01
 7a
-4c
+4e
 79
-00
+72
 7d
-04
-7c
-00
-7f
-f2
-7e
-3f
-71
-6c
-7f
-0a
-51
-7e
-90
-4c
-00
-e0
-b4
-ff
-1b
-a3
-e0
-b4
-ff
-16
-a3
-e0
-b4
-ff
-11
-a3
-e0
-b4
-ff
-0c
-90
-4c
-00
-74
-0f
-f0
-a3
-f0
-a3
-f0
-a3
-f0
-7f
-21
-11
-f6
-90
-4c
-c5
-74
-02
-f0
-e4
-a3
-f0
-90
-4c
-ed
-f0
-22
-e4
-90
-4c
-f0
-f0
-11
-df
-ef
-60
-09
-90
-4e
-8d
-e0
-90
-4c
-ed
-f0
-22
-90
-4c
-c5
-e0
-64
-01
-60
-18
-7f
-23
-11
-f6
-90
-4c
-c5
-74
-01
-f0
-e4
-a3
-f0
-90
-4c
-ee
-74
-f0
-f0
-e4
-90
-4c
-e9
-f0
-e4
-90
-4c
-ed
-f0
-22
-e4
-90
-4c
-ed
-f0
-22
-90
-4c
-c5
-e0
-ff
-64
-03
-60
-04
-ef
-b4
-02
-07
-7f
-22
-11
-f6
-7f
-01
-22
-7f
-00
-22
-90
-4e
-71
-ef
-f0
-78
-72
-7c
-4e
-7d
-01
-7b
-ff
-7a
-06
-79
-bf
-7e
-00
-7f
-03
-12
-03
-90
-90
-4e
-71
-e0
-90
-4e
-74
-f0
-7b
-01
-7a
-4e
-79
-72
-7d
-03
+03
 90
 4e
 46
@@ -2380,8 +2126,8 @@
 7b
 64
 12
-23
-fa
+21
+29
 90
 4e
 49
@@ -2482,690 +2228,681 @@
 f0
 22
 90
-4c
-c5
+4e
+93
+ed
+f0
 e0
-b4
-03
-10
+fd
 90
-4c
-e3
-e0
-64
-0e
-70
-04
-a3
-e0
-64
-10
-70
-29
-80
-28
+0b
+e8
+f0
+7e
+0b
+7f
+e9
 90
-4c
-c5
+4e
+51
+ed
+f0
+11
+da
+7b
+01
+7a
+0b
+79
+e7
+90
+4e
+93
 e0
-b4
+24
+02
+fd
 01
-12
+20
 90
+4e
 4c
-e3
-e0
-70
-04
+ee
+f0
+a3
+ef
+f0
+a3
+eb
+f0
 a3
+ea
+f0
+a3
+e9
+f0
+90
+4e
+51
 e0
-64
-28
-70
+ff
 14
-7f
-22
-11
-f6
-80
-0f
+f0
+ef
+60
+27
 90
-4c
-e3
+4e
+4e
 e0
-70
-04
+fb
 a3
-e0
-64
-14
-70
-02
-31
-f2
-22
 e4
-90
-4d
-38
+75
 f0
-7f
-19
 01
-f6
-90
-4c
-ce
-e0
-30
-e1
-3d
-90
-4c
-d0
-e0
-c3
-94
+12
+04
+24
+a9
+f0
 fa
-50
+12
 03
-e0
+b6
+ff
+90
+4e
+4c
+e4
+75
+f0
+01
+12
 04
+24
+85
+f0
+82
+f5
+83
+ef
 f0
+80
+cf
+22
 90
-4c
-d0
-e0
-64
-b4
-70
-2e
+4e
+52
+eb
+f0
+a3
+ea
+f0
+a3
+e9
+f0
+e4
+a3
+f0
+a3
+f0
 90
 4d
-dc
-e0
-04
+db
+f0
+90
+4e
+56
 f0
+90
+4e
+56
 e0
-d3
+ff
+c3
 94
-02
+05
 50
-07
-e4
-90
-4c
-d0
-f0
-80
-1b
+2c
 90
-4d
-dc
+4e
+52
 e0
-b4
+fb
+a3
+e0
+fa
+a3
+e0
+24
+01
+f9
+e4
+3a
+fa
+7e
+00
+e9
+2f
+f9
+ee
+3a
+fa
+12
 03
-14
+b6
+b4
+af
+06
 90
 4d
-d5
+db
 74
 01
 f0
-e4
 90
-4c
-d0
+4e
+56
+e0
+04
 f0
-31
-f2
 80
-05
-e4
+ca
 90
 4d
-dc
-f0
-90
-4c
-ce
+db
 e0
-30
-e4
-2d
 90
-4c
-ea
-74
-0a
+4d
+e0
 f0
 90
-4c
-d1
+4e
+52
 e0
-c3
-94
-fa
-50
-03
+a3
 e0
-04
-f0
-90
-4c
-d1
+fa
+a3
 e0
-b4
-06
-19
+4a
+70
+02
+61
+55
 90
-4c
-c3
-e0
-ff
-60
-03
-b4
-fe
-0f
-11
-df
-7f
-0a
-51
-7e
-7f
+4d
+de
+74
 0a
-01
-33
+f0
 e4
 90
 4c
-d1
+e3
 f0
-22
-ef
-d3
-94
+a3
+f0
+7b
+01
+7a
+48
+79
 00
-40
-11
-e4
-fd
+7d
+09
 fc
-0d
-bd
-00
-01
-0c
-bc
-04
-f8
-bd
-a6
-f5
-1f
-80
-e9
-22
-90
-4e
-92
-ef
-f0
-24
-d0
-60
-47
-14
-60
-46
-14
-70
-02
-61
-3f
-14
-60
-0a
-24
-f7
-60
-3a
-24
-0d
-60
-02
-61
-6b
-f1
-ec
-12
-21
-4f
-7b
+91
+cd
+7b
 01
 7a
-4c
+4d
 79
-00
+e5
 7d
-04
+09
 7c
 00
-7f
-f2
-7e
-3f
-71
-6c
-7f
-0a
-51
-7e
+91
+cd
 90
-4c
-c1
+4e
+52
+e0
+fb
+a3
+e0
+fa
+a3
 e0
 f9
-7a
-00
-7b
+90
 00
-7d
 01
-7c
-00
-7f
-f8
-7e
-3f
-71
-6c
-7f
+12
+03
+cf
+ff
+b4
+2e
 0a
-51
-7e
-e1
-aa
-e1
-c1
 90
-4c
-c5
-74
+00
+02
+12
 03
-f0
-e4
-a3
-f0
-f1
-69
-e4
-90
-4c
-ee
-f0
-90
-4c
-eb
-f0
-90
-4c
-c0
-74
-fe
-f0
-90
-4c
-c3
-f0
-90
-4e
-92
-e0
+cf
 64
-31
+29
+60
+0f
+ef
+64
+29
 70
-24
+36
 90
-4c
-e5
-74
-1e
-f0
+00
+02
+12
+03
+cf
+64
+2e
+70
+2c
 90
 4b
 eb
-e0
-b4
-0f
-10
+74
+20
+f0
 a3
-e0
-b4
-0f
-0b
+74
+15
+f0
 a3
-e0
-b4
-0f
-06
+74
+10
+f0
 a3
-e0
-64
-0f
-60
-40
-90
-4c
-bf
 74
-01
+05
 f0
-22
 90
 4c
-e5
+c5
 e0
-70
-33
-c2
+64
 01
-7f
-1d
-02
-07
-8b
-e4
+60
+09
 90
 4c
-c5
-f0
-a3
+ce
+e0
+44
+10
 f0
+80
+10
 90
 4c
-e3
-f0
-a3
+ce
+e0
+54
+ef
 f0
+80
+07
 90
 4c
-eb
-04
+ce
+e0
+54
+ef
 f0
 90
 4c
-ed
-e0
-60
-09
-f1
-69
+b6
+74
+01
+f0
 90
 4c
-ed
+f4
 e0
 ff
+64
 01
-33
+70
+02
+61
+55
+ef
+64
+04
+70
+02
+61
+55
+ef
+64
+02
+70
+02
+61
+55
 90
 4c
-ec
+c5
 e0
-b4
-01
-04
-e4
-f0
-31
-f2
-22
+64
+03
+70
+45
 90
 4e
-5c
-ec
-f0
-a3
-ed
-f0
-a3
-eb
-f0
-a3
-ea
-f0
-a3
-e9
-f0
-90
-80
-98
-74
-04
-f0
-a3
-e4
-f0
-90
-0c
-af
-74
-a0
-f0
-a3
-ee
-f0
-a3
-ef
+56
 f0
 90
-0c
-b2
-74
-a1
-f0
-7a
-0c
-79
-af
-7e
-0c
-7f
-af
-74
-af
-fc
-74
-0c
+4e
+56
+e0
 ff
-ec
-fe
-ef
-90
-80
-9a
-ee
-f0
-a3
-ef
-f0
+c3
+94
+05
+50
+37
 90
 4e
-5c
+52
 e0
-fc
+fb
 a3
 e0
 fa
-ec
-ff
-ea
-fe
-ef
-90
-80
-9e
-ee
-f0
 a3
-ef
-f0
-7a
-0b
-79
-83
+e0
+24
+01
+f9
+e4
+3a
+fa
 7e
-0b
-7f
-83
-74
-83
-fc
-74
-0b
+00
+e9
+2f
+f9
+ee
+3a
+fa
+12
+03
+b6
 ff
-ec
-fe
+64
+39
+60
+09
 ef
-90
-80
-9c
-ee
-f0
-a3
+64
+53
+60
+04
 ef
-f0
-90
-80
+b4
+47
+06
 90
+4d
+d0
 74
-02
-f0
-90
-80
-9c
-a3
-e0
-20
-e7
-07
-90
-80
-90
-e0
-44
 01
 f0
 90
-80
-06
+4e
+56
 e0
-44
 04
 f0
-12
-16
-db
+80
+bf
 90
 4e
-5e
+52
 e0
+fb
 a3
 e0
 fa
 a3
 e0
-ae
+f9
+71
+56
+90
+4d
+e4
+e0
+b4
+01
+11
+74
 02
-ff
+f0
+90
+4d
+e5
+f0
 7b
 01
 7a
-0b
+4d
 79
+e5
+7d
+03
+a1
 83
 90
-4e
-5c
-e0
-a3
+4d
+e4
 e0
-90
-4e
-51
+b4
+03
+16
+e4
 f0
 90
-4e
-4c
-ee
-f0
-a3
-ef
-f0
-a3
-eb
+4d
+e3
 f0
-a3
-ea
+90
+4d
+e5
+74
+02
 f0
-a3
-e9
+7b
+01
+7a
+4d
+79
+e5
+7d
+03
+a1
+83
+90
+48
+00
+74
+01
 f0
 90
 4e
-51
+52
 e0
-ff
-14
+fb
+a3
+e0
+fa
+a3
+e0
+f9
+12
+03
+b6
+90
+48
+01
+f0
+e4
+a3
 f0
-ef
-60
-27
+90
+4d
+d8
+f0
+90
+00
+01
+12
+03
+cf
+b4
+af
+1e
+7e
+48
+7f
+03
 90
 4e
-4e
+52
 e0
 fb
 a3
+e0
+fa
+a3
+e0
+24
+02
+f9
 e4
-75
+3a
+fa
+90
+4e
+51
+74
+05
 f0
-01
-12
-04
+11
+da
+80
+1c
+7e
+48
+7f
+03
+90
+4e
+52
+e0
+fb
+a3
+e0
+fa
+a3
+e0
 24
-a9
-f0
+01
+f9
+e4
+3a
 fa
-12
+90
+4e
+51
+74
+06
+f0
+11
+da
+90
+4e
+56
+74
 03
-b6
-ff
+f0
 90
 4e
-4c
+56
+e0
+ff
+c3
+94
+09
+50
+25
+74
+00
+2f
+f5
+82
 e4
-75
-f0
-01
-12
-04
+34
+48
+f5
+83
+e0
+b4
+af
+0f
+90
+4e
+56
+e0
 24
-85
-f0
+00
+f5
 82
+e4
+34
+48
 f5
 83
-ef
+e4
+f0
+90
+4e
+56
+e0
+04
 f0
 80
-cf
+d1
+7b
+01
+7a
+48
+79
+00
+7d
+09
+b1
+83
 22
 90
 4e
-52
+65
 eb
 f0
 a3
@@ -3177,29 +2914,22 @@
 e4
 a3
 f0
-a3
-f0
-90
-4d
-db
-f0
-90
-4e
-56
 f0
 90
 4e
-56
+68
 e0
 ff
 c3
 94
-05
-50
-2c
+06
+40
+02
+81
+b1
 90
 4e
-52
+65
 e0
 fb
 a3
@@ -3224,259 +2954,102 @@
 12
 03
 b6
-b4
-af
-06
-90
-4d
-db
-74
-01
-f0
-90
-4e
-56
-e0
-04
+ff
+54
 f0
-80
-ca
-90
-4d
-db
-e0
-90
-4d
-e0
+64
 f0
+60
+09
+ef
+54
+d0
+64
+d0
+60
+02
+81
+a9
+12
+03
+b6
+fb
+b4
+f2
+08
+7f
+cd
+7e
+00
+91
+b2
+81
+7e
+eb
+b4
+f4
+08
+7f
+b6
+7e
+00
+91
+b2
+81
+7e
 90
 4e
-52
+65
 e0
+fb
 a3
 e0
 fa
 a3
 e0
-4a
-70
-02
-c1
-b2
-90
-4d
-de
-74
-0a
-f0
-e4
-90
-4c
-e3
-f0
-a3
-f0
-7b
-01
-7a
-48
-79
-00
-7d
-09
-fc
-d1
-b3
-7b
+24
 01
-7a
-4d
-79
-e5
-7d
-09
-7c
-00
-d1
-b3
-90
-4e
-52
-e0
-fb
-a3
-e0
+f9
+e4
+3a
 fa
 a3
 e0
-f9
-90
-00
-01
-12
-03
-cf
-ff
-b4
-2e
-0a
-90
+7e
 00
-02
-12
-03
-cf
-64
-29
-60
-0f
-ef
-64
 29
-70
-36
-90
-00
-02
+f9
+ee
+3a
+fa
 12
 03
-cf
-64
-2e
-70
-2c
-90
-4b
-eb
-74
-20
-f0
-a3
-74
-15
-f0
-a3
-74
-10
-f0
-a3
-74
-05
-f0
-90
-4c
-c5
-e0
-64
-01
-60
-09
-90
-4c
-ce
-e0
-44
-10
-f0
-80
-10
-90
-4c
-ce
-e0
-54
-ef
-f0
-80
-07
-90
-4c
-ce
-e0
-54
-ef
-f0
-90
-4c
 b6
-74
-01
-f0
-90
-4c
-f4
-e0
+fb
 b4
-01
-2b
-90
-48
-00
-74
-01
-f0
-a3
-e0
-ff
-90
-4c
 f5
-e0
-fe
-ef
-4e
-90
-48
-01
-f0
-e4
-90
-48
-03
-f0
-7b
-01
-7a
-48
-79
+06
+7f
+b5
+91
+b2
+81
+7e
+eb
+b4
+f6
+08
+7f
+ea
+7e
 00
-7d
-09
-12
-14
-0e
-90
-4c
-f4
-74
-02
-f0
-22
-90
-4c
-c5
-e0
-64
-03
-70
-45
-90
-4e
-56
-f0
-90
-4e
-56
-e0
-ff
-c3
-94
-05
-50
-37
+91
+b2
+81
+7e
 90
 4e
-52
+65
 e0
 fb
 a3
@@ -3490,10 +3063,11 @@
 e4
 3a
 fa
+a3
+e0
 7e
 00
-e9
-2f
+29
 f9
 ee
 3a
@@ -3501,37 +3075,31 @@
 12
 03
 b6
-ff
-64
-39
-60
-09
-ef
-64
-53
-60
-04
-ef
+fb
 b4
-47
+f7
 06
-90
-4d
-d0
-74
-01
-f0
-90
-4e
-56
-e0
-04
-f0
+7f
+e9
+91
+b2
 80
-bf
+6f
+eb
+b4
+f8
+08
+7f
+e2
+7e
+00
+91
+b2
+80
+63
 90
 4e
-52
+65
 e0
 fb
 a3
@@ -3539,74 +3107,50 @@
 fa
 a3
 e0
+24
+01
 f9
-12
-1e
-d3
-90
-4d
 e4
+3a
+fa
+a3
 e0
-b4
-01
+7e
+00
+29
+f9
+ee
+3a
+fa
 12
-74
-02
-f0
-90
-4d
-e5
-f0
-7b
-01
-7a
-4d
-79
-e5
-7d
 03
-02
-14
+b6
+fb
+b4
+fa
+07
+7f
+8a
 0e
-90
-4d
-e4
-e0
+91
+b2
+80
+3c
+eb
 b4
-03
-17
-e4
-f0
-90
-4d
-e3
-f0
-90
-4d
-e5
-74
-02
-f0
-7b
-01
-7a
-4d
-79
-e5
-7d
-03
+d5
+08
+7f
+21
+7e
 02
-14
-0e
-90
-48
-00
-74
-01
-f0
+91
+b2
+80
+30
 90
 4e
-52
+65
 e0
 fb
 a3
@@ -3614,37 +3158,54 @@
 fa
 a3
 e0
-f9
-12
-03
-b6
-90
-48
+24
 01
-f0
+f9
 e4
+3a
+fa
 a3
-f0
-90
-4d
-d8
-f0
-90
+e0
+7e
 00
-01
+29
+f9
+ee
+3a
+fa
 12
 03
-cf
+b6
+fb
 b4
-af
-1e
-7e
-48
+d7
+06
 7f
-03
+70
+91
+b2
+80
+0a
+eb
+b4
+d8
+06
+7f
+6f
+7e
+00
+91
+b2
+90
+4d
+e4
+e0
+b4
+02
+24
 90
 4e
-52
+65
 e0
 fb
 a3
@@ -3653,113 +3214,66 @@
 a3
 e0
 24
-02
+01
 f9
 e4
 3a
 fa
-90
-4e
-51
-74
-05
-f0
-91
-1a
-80
-1c
-7e
-48
-7f
-03
-90
-4e
-52
-e0
-fb
-a3
-e0
-fa
 a3
 e0
-24
-01
+7e
+00
+29
 f9
-e4
+ee
 3a
 fa
+12
+03
+b6
 90
-4e
-51
-74
-06
+4d
+e3
 f0
-91
-1a
-90
-4e
-56
-74
+e4
+12
 03
-f0
+fc
 90
 4e
-56
-e0
-ff
-c3
-94
-09
-50
-25
-74
-00
-2f
-f5
-82
-e4
-34
-48
-f5
-83
+68
 e0
-b4
-af
-0f
+04
+f0
+61
+65
+22
+ad
+07
+ac
+06
 90
-4e
-56
+4d
+e4
 e0
-24
-00
-f5
-82
-e4
-34
-48
-f5
-83
-e4
+64
+02
+60
+0e
+74
+01
 f0
 90
-4e
-56
-e0
+4d
+e5
 04
 f0
-80
-d1
-7b
-01
-7a
-48
-79
-00
-7d
-09
-12
-14
-0e
+ef
+a3
+f0
+ee
+a3
+f0
 22
 90
 4e
@@ -3812,11 +3326,11 @@
 79
 bf
 7d
-42
+43
 7c
 00
-d1
-b3
+91
+cd
 7b
 01
 7a
@@ -3827,8 +3341,8 @@
 14
 7c
 00
-d1
-b3
+91
+cd
 7b
 01
 7a
@@ -3839,8 +3353,8 @@
 14
 7c
 00
-d1
-b3
+91
+cd
 7b
 01
 7a
@@ -3851,8 +3365,8 @@
 14
 7c
 00
-d1
-b3
+91
+cd
 7b
 01
 7a
@@ -3863,8 +3377,8 @@
 09
 7c
 00
-d1
-b3
+91
+cd
 7b
 01
 7a
@@ -3875,8 +3389,8 @@
 09
 7c
 00
-d1
-b3
+91
+cd
 e4
 90
 4d
@@ -3943,481 +3457,438 @@
 38
 f0
 22
-e4
 90
-4c
+4e
+61
+eb
+f0
+a3
+ea
+f0
+a3
+e9
 f0
+a3
+ed
 f0
-22
+f1
+78
+ef
+60
+76
 90
 4c
-ee
+eb
 e0
-60
-1a
-e4
+70
+70
 90
 4c
-e3
-f0
-a3
-f0
+c5
+e0
+64
+03
+70
+68
 90
-4c
-ee
+4e
+61
 e0
-14
-f0
+fb
+a3
+e0
+fa
+a3
 e0
+f9
+12
+03
+b6
+ff
+64
+01
 70
-0a
-7f
-22
-11
-f6
-7f
-0a
-51
-7e
-31
-f2
-22
+2e
+90
+00
+01
 12
-07
-9d
+03
+cf
+70
+1e
 90
-4c
-e4
-e0
+00
+03
+12
+03
+cf
+70
+16
+90
+00
 04
-f0
+12
+03
+cf
+70
+0e
+90
+00
+05
+12
+03
+cf
 70
 06
 90
-4c
-e3
-e0
-04
+4d
+d6
 f0
-12
-23
-e9
-31
-b3
-31
-fb
 80
-c5
+28
 90
 4d
-e1
+d6
 74
-02
-f0
-7f
-08
 01
-33
-e4
-90
-0b
-7f
 f0
+80
+20
+ef
+b4
+02
+1c
 90
-0b
-7e
-f0
-7f
+00
 01
-41
-7e
-90
-80
-80
-e4
-f0
-a3
-f0
-a3
-f0
 12
-10
-d4
-e4
+03
+cf
+70
+0e
 90
-4e
+00
+02
+12
+03
+cf
+70
+06
 90
+4d
+d6
 f0
+80
+06
+90
+4d
+d6
+74
+01
 f0
 90
 4e
-90
+64
 e0
-90
-06
-0c
-93
-ff
-60
-0d
-c2
-05
-12
-10
-44
+fd
+f1
+53
+22
 90
 4e
-90
-e0
-04
-f0
-80
-e8
-22
-f1
-c1
-c2
-06
-7f
-10
-12
-10
-06
-c2
-06
-7f
-0f
-12
-10
-06
-c2
-06
-7f
-1d
-11
-06
-c2
-06
-7f
-1d
-ac
-07
-ec
-f4
-60
-15
-af
-04
-d2
-04
-11
-33
-af
-04
-a2
-06
-92
-01
-12
-07
-8b
-af
-04
-c2
-02
-11
-22
-22
+87
 ef
-f4
-60
-0c
+f0
+a3
+ed
+f0
 7b
 01
 7a
-80
+48
 79
-78
-a2
-02
-92
 00
-11
-73
-22
+7d
+09
+7c
+00
+91
+cd
+90
+48
+00
+74
+01
+f0
+a3
+e0
+ff
+90
+4e
+87
+e0
+fe
 ef
-f4
-60
-0c
+4e
+90
+48
+01
+f0
+90
+4e
+88
+e0
+90
+48
+03
+f0
 7b
 01
 7a
-80
+48
 79
-70
-a2
-04
-92
 00
-11
-73
-22
-ac
-07
-ec
+7d
+09
+a1
+83
+90
+4c
 f4
+e0
+ff
 60
-17
-af
-04
-a2
-05
-92
+08
+64
 03
-11
-62
-af
+60
 04
-a2
+ef
+b4
 05
-b3
-92
 02
-11
-22
-af
-04
-c2
-04
-11
-33
-22
-ef
+e1
+20
+90
+4c
 f4
-60
-0c
-7b
+e0
+b4
 01
-7a
-80
-79
-7c
-a2
-03
-92
-00
-11
-73
-22
-90
-4e
-84
-eb
-f0
-a3
-ea
-f0
+0e
 a3
-e9
-f0
+e0
+ff
 e4
-fe
-fd
-ef
-54
-07
-fe
-ef
-13
-13
-13
-54
-03
 fd
-30
-00
+d1
+0d
+90
+4c
+f4
+74
+02
+f0
 22
 90
-4e
-84
+4c
+f4
 e0
-fb
+b4
+02
+0b
+74
+03
+f0
 a3
 e0
-fa
+ff
 a3
 e0
-2d
-f9
-e4
-3a
-fa
-12
-03
-b6
-ff
-74
-01
-a8
-06
-08
+fd
 80
-02
-c3
-33
-d8
-fc
-4f
-02
-03
-fc
+8e
 90
-4e
-84
-e0
-fb
-a3
-e0
-fa
-a3
+4c
+f4
 e0
-2d
-f9
+b4
+04
+1a
 e4
-3a
-fa
-12
-03
-b6
+90
+4c
+f6
+f0
+90
+4c
+f5
+e0
 ff
+e4
+fd
+d1
+0d
+e4
+90
+4c
+f5
+f0
+90
+4c
+f4
 74
-01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
+05
+f0
+22
+90
+4c
 f4
-5f
-02
-03
-fc
+e0
+b4
+06
+15
 e4
 90
-4e
-8f
-f0
+4c
+f6
 f0
 90
-4e
-8f
+4c
+f5
+f0
+a3
 e0
+fd
+e4
 ff
-c3
-94
-08
-50
-0c
-c2
-05
-11
-44
+d1
+0d
+e4
 90
-4e
-8f
-e0
-04
+4c
+f4
 f0
-80
-ea
 22
 90
-4c
-bf
+4d
+d0
 e0
-60
-3d
-7f
-c8
-12
-0a
-7e
-c2
+64
 01
-7f
-ff
-12
-07
-8b
+70
+2f
+90
+4d
+d6
+e0
+70
+29
+90
+4c
+c5
+e0
+64
+03
+70
+4c
 7b
 01
 7a
-4c
+48
 79
 00
 7d
-04
-7c
-00
-7f
-f2
-7e
-3f
-31
-35
+09
+fc
+91
+cd
 7b
 01
 7a
-4c
+48
 79
-c1
+00
 7d
+09
+b1
+83
+90
+4d
+d0
+74
+02
+f0
+e4
+90
+4d
+e4
+f0
+22
+90
+4d
+d0
+e0
+b4
+02
+24
+90
+4d
+d6
+e0
+70
+1e
+90
+4d
+d0
+f0
+7b
 01
-7c
+7a
+48
+79
 00
-7f
-f8
-7e
-3f
-31
-35
-d2
+7d
+09
+fc
+91
+cd
+7b
 01
-7f
-ff
-12
-07
-8b
-7f
-0a
-12
-0a
-7e
+7a
+48
+79
+00
+7d
+09
+b1
+83
 e4
 90
-4c
-bf
+4d
+e4
 f0
 22
 90
 4e
-20
-ee
-f0
-a3
-ef
+75
+e4
 f0
 a3
-ec
 f0
 a3
-ed
 f0
-a3
+f1
+ad
+50
+25
+12
+18
+cf
+90
+4e
+75
 eb
 f0
 a3
@@ -4426,1514 +3897,1721 @@
 a3
 e9
 f0
+4a
+70
+07
+90
+4c
+b6
+04
+f0
+c1
+bd
 90
 4e
-22
+75
 e0
-70
-02
+fb
 a3
 e0
-70
-02
-21
-e2
-90
-4e
-20
-e0
-fe
+fa
 a3
 e0
-ff
-44
-0f
-24
+f9
+31
+1d
+22
+90
+0b
+e7
+74
+06
+f0
 01
-fd
+b5
+91
+f9
+12
+20
+65
+90
+4c
+eb
+74
+01
+f0
+90
+4c
+e5
+74
+1e
+f0
 e4
-3e
-fc
-c3
-ed
-9f
-ff
-ec
-9e
-fe
 90
-4e
-27
+4c
 f0
-a3
-ef
 f0
 90
-4e
+4d
+01
+74
+ff
+f0
 22
-e0
-fc
-a3
-e0
-fd
-d3
-9f
-ec
-9e
-40
-0a
+e4
+ff
 90
-4e
-27
+4c
+ee
 e0
-fe
-a3
+60
+01
+22
+90
+4c
+c5
 e0
-ff
-80
-04
-ae
-04
-af
-05
+64
+03
+60
+1c
 90
-4e
-27
-ee
-f0
-fc
-a3
+4c
 ef
-f0
-fd
-c3
-90
-4e
-23
 e0
-9d
+70
+1d
+74
+0a
 f0
+a3
+e0
+70
+16
 90
-4e
-22
+4d
+e1
 e0
-9c
+b4
+02
+0f
+7f
+09
+f1
+eb
+7f
+01
+80
+07
+e4
+90
+4c
+eb
 f0
+7f
+01
+22
 90
-4e
-20
+4b
+9c
 e0
 fe
 a3
 e0
 ff
 90
-4e
-24
+4b
+9a
 e0
-fb
+b5
+06
+07
 a3
 e0
-fa
-a3
+b5
+07
+02
+d3
+22
+c3
+22
+e4
+90
+4c
+f0
+f0
+22
+90
+4c
+c5
 e0
-f9
-d1
-42
+ff
+64
+03
+60
+04
+ef
+b4
+02
+08
 7f
-0a
+22
 12
-0a
-7e
+07
+f8
+7f
+01
+22
+7f
+00
+22
 90
-4e
-27
-e0
-fe
-a3
-e0
-ff
+4d
+e1
+74
+02
+f0
+7f
+08
 90
 4e
-25
-ee
-8f
+8d
+ef
 f0
-12
-04
-0e
+24
+f7
+60
+0a
+14
+60
+64
+24
+02
+60
+03
+02
+10
+96
+e4
 90
-4e
-21
-e0
-2f
+4c
 f0
+f0
+12
+0f
+cb
+ef
+60
+09
 90
 4e
-20
+8d
 e0
-3e
-f0
-21
+90
 4c
+ed
+f0
 22
-91
-99
-d1
-e3
-71
+7b
+01
+7a
+4c
+79
+00
+7d
+04
+7c
+00
 7f
-11
-f1
-12
-06
-cf
-90
-0b
+f2
 7e
-e0
-14
-60
-0e
-24
-fe
-70
-ec
+3f
 51
-35
-12
-0f
-ee
-12
-0f
-b4
-80
-fe
+7e
+7f
+0a
+11
+9c
 90
 4c
-ea
+00
 e0
-70
-1e
-90
-4c
-ec
+b4
+ff
+1b
+a3
 e0
-70
-18
+b4
+ff
+16
+a3
+e0
+b4
+ff
+11
+a3
+e0
+b4
+ff
+0c
 90
 4c
-e5
-e0
-70
+00
+74
+0f
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+7f
+21
 12
+07
+f8
 90
 4c
-e7
-e0
-70
-0c
+c5
+74
+02
+f0
+e4
+a3
+f0
 90
 4c
-e6
-e0
-70
-06
+ed
+f0
+22
+e4
 90
 4c
-e8
-e0
-60
-04
-f1
-b3
-80
-ba
-51
-35
+f0
+f0
 12
 0f
-b4
-80
-b3
-80
-b1
-22
-e4
-ff
+cb
+ef
+60
+09
 90
 4e
-91
+8d
+e0
+90
+4c
+ed
 f0
-fe
-fd
-ef
+22
 90
-06
-0c
-93
+4c
+c5
+e0
+64
+01
 60
-49
-ef
-93
-fd
-13
-13
-13
-54
-1f
-fe
-ed
-54
+19
+7f
+23
+12
 07
-fd
+f8
+90
+4c
+c5
 74
 01
-a8
-05
-08
-80
-02
-c3
-33
-d8
-fc
-fd
-ee
-24
-78
-fb
-e4
-34
-80
-8b
-82
-f5
-83
-e0
-fc
-ed
-f4
-fb
-ec
-5b
 f0
-ee
-24
-70
-f5
-82
 e4
-34
-80
-f5
-83
-e0
-4d
+a3
 f0
+90
+4c
 ee
-24
 74
-f5
-82
-e4
-34
-80
-f5
-83
-e0
-5b
 f0
-0f
-80
-b0
-12
-25
-7e
-90
-81
-1c
-e0
-90
-4e
-91
 f0
+e4
 90
 4c
-d5
-e0
-64
-02
-60
-36
+e9
+f0
+e4
 90
-4d
-d5
-e0
-60
-20
+4c
+ed
+f0
+22
 e4
-ff
-51
-e0
-7f
-01
-51
-e0
-7f
-02
-51
+90
+4c
+ed
+f0
+22
+ef
+d3
+94
+00
+40
+11
+e4
+fd
+fc
+0d
+bd
+00
+01
+0c
+bc
+04
+f8
+bd
+a6
+f5
+1f
+80
+e9
+22
+90
+4c
+bf
 e0
+60
+3b
 7f
-03
-51
-e0
+c8
+11
+9c
+c2
+01
 7f
+ff
+12
+07
+84
+7b
+01
+7a
+4c
+79
+00
+7d
 04
-51
-e0
+7c
+00
 7f
-05
-51
-e0
+f2
+7e
+3f
+11
+f6
+7b
+01
+7a
+4c
+79
+c1
+7d
+01
+7c
+00
 7f
-06
-51
-e0
+f8
+7e
+3f
+11
+f6
+d2
+01
 7f
+ff
+12
 07
-80
-1a
+84
+7f
+0a
+11
+9c
+e4
+90
+4c
+bf
+f0
+22
 90
 4e
-91
+20
+ee
+f0
+a3
+ef
+f0
+a3
+ec
+f0
+a3
+ed
+f0
+a3
+eb
+f0
+a3
+ea
+f0
+a3
+e9
+f0
+90
+4e
+22
 e0
-ff
+70
+02
+a3
+e0
+70
+02
+21
+a2
 90
-00
+4e
+20
+e0
+fe
 a3
+e0
+ff
+44
+0f
+24
+01
+fd
+e4
+3e
+fc
+c3
+ed
+9f
+ff
+ec
+9e
+fe
+90
+4e
+27
 f0
+a3
 ef
-f4
-90
-00
-a7
 f0
+90
+4e
 22
-e4
+e0
+fc
+a3
+e0
+fd
+d3
+9f
+ec
+9e
+40
+0a
 90
-00
+4e
+27
+e0
+fe
+a3
+e0
+ff
+80
+04
+ae
+04
+af
+05
+90
+4e
+27
+ee
+f0
+fc
 a3
+ef
 f0
+fd
+c3
 90
-00
-a7
+4e
+23
+e0
+9d
 f0
-22
 90
 4e
-95
-ef
+22
+e0
+9c
 f0
-91
-d9
-92
-08
 90
 4e
-95
+20
 e0
-ff
-a2
-08
-b3
-92
-07
-ef
-f4
-70
-02
-61
-7e
-ef
-54
-07
 fe
-ef
-13
-13
-13
-54
-03
+a3
+e0
 ff
-30
-07
-43
+90
+4e
 24
+e0
+fb
 a3
-f5
-82
-e4
-34
-00
-f5
-83
-c0
-83
-c0
-82
-e0
-fd
-74
-01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
-f4
-5d
-d0
-82
-d0
-83
-f0
-74
-a7
-2f
-f5
-82
-e4
-34
-00
-f5
-83
-c0
-83
-c0
-82
 e0
-ff
-74
-01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
-4f
-d0
-82
-d0
-83
-f0
-22
-74
+fa
 a3
-2f
-f5
-82
-e4
-34
-00
-f5
-83
-c0
-83
-c0
-82
 e0
-fd
-74
-01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
-fc
+f9
+d1
 4d
-d0
-82
-d0
-83
-f0
-74
-a7
-2f
-f5
-82
-e4
-34
-00
-f5
-83
-e0
-ff
-ec
-f4
-fe
-ef
-5e
-f0
-22
-90
-4c
-f4
-e0
-ff
-60
-08
-64
-01
-60
-04
-ef
-b4
-03
-02
-a1
-1e
+7f
+0a
+11
+9c
 90
-4c
-f4
+4e
+27
 e0
-b4
-02
-0b
-74
-03
-f0
+fe
 a3
 e0
 ff
-a3
-e0
-fd
-80
-33
-90
-4c
-f4
-e0
-b4
-04
-13
-e4
-90
-4c
-f6
-f0
 90
-4c
-f4
-74
-05
+4e
+25
+ee
+8f
 f0
-a3
-e0
-ff
-a3
-e0
-fd
-80
-19
+12
+04
+0e
 90
-4c
-f4
+4e
+21
 e0
-b4
-05
-11
-e4
-a3
-f0
-a3
+2f
 f0
 90
-4c
-f4
-f0
-a3
-e0
-ff
-a3
+4e
+20
 e0
-fd
-71
-d5
+3e
+f0
+21
+0d
 22
 90
 4e
-87
+92
 ef
 f0
-a3
-ed
-f0
+24
+d0
+60
+48
+14
+60
+47
+14
+70
+02
+41
+4e
+14
+60
+0a
+24
+f7
+60
+3b
+24
+0d
+60
+02
+41
+7d
+71
+2e
+12
+0f
+5b
 7b
 01
 7a
-48
+4c
 79
 00
 7d
-09
+04
 7c
 00
-12
-0e
-b3
-90
-48
-00
-74
-01
-f0
-a3
-e0
-ff
-90
-4e
-87
-e0
-fe
-ef
-4e
-90
-48
-01
-f0
+7f
+f2
+7e
+3f
+51
+7e
+7f
+0a
+11
+9c
 90
-4e
-88
+4c
+c1
 e0
-90
-48
-03
-f0
-7b
-01
+f9
 7a
-48
-79
+00
+7b
 00
 7d
-09
-90
-4e
+01
+7c
+00
+7f
+f8
+7e
+3f
+51
+7e
+7f
+0a
+11
+9c
+02
+0f
+e3
 61
-eb
-f0
-a3
-ea
-f0
-a3
-e9
+62
+90
+4c
+c5
+74
+03
 f0
+e4
 a3
-ed
 f0
 12
-07
-fe
-ef
-60
-76
+0f
+c5
+e4
+90
+4c
+ee
+f0
 90
 4c
 eb
-e0
-70
-70
+f0
 90
 4c
-c5
+c0
+74
+fe
+f0
+90
+4c
+c3
+f0
+90
+4e
+92
 e0
 64
-03
+31
 70
-68
+24
 90
-4e
-61
+4c
+e5
+74
+1e
+f0
+90
+4b
+eb
 e0
-fb
+b4
+0f
+10
 a3
 e0
-fa
+b4
+0f
+0b
+a3
+e0
+b4
+0f
+06
 a3
 e0
-f9
-12
-03
-b6
-ff
 64
-01
-70
-2e
+0f
+60
+43
 90
-00
+4c
+bf
+74
 01
-12
-03
-cf
-70
-1e
-90
-00
-03
-12
-03
-cf
-70
-16
+f0
+22
 90
-00
-04
-12
-03
-cf
+4c
+e5
+e0
 70
-0e
+36
+c2
+01
+7f
+1e
+02
+07
+84
+e4
 90
-00
-05
-12
-03
-cf
-70
-06
+4c
+c5
+f0
+a3
+f0
 90
-4d
-d6
+4c
+e3
+f0
+a3
 f0
-80
-28
 90
-4d
-d6
-74
-01
+4c
+eb
+04
 f0
-80
-20
-ef
-b4
-02
-1c
 90
-00
-01
+4c
+ed
+e0
+60
+0b
 12
-03
-cf
-70
-0e
+0f
+c5
 90
-00
+4c
+ed
+e0
+ff
 02
-12
-03
-cf
-70
-06
-90
-4d
-d6
-f0
-80
-06
+0f
+eb
 90
-4d
-d6
-74
+4c
+ec
+e0
+b4
 01
+05
+e4
 f0
+12
+07
+f1
+22
 90
 4e
-64
-e0
-fd
-91
-ac
-22
-7b
-01
-7a
-4d
-79
-ee
-78
-00
-7c
-4e
-7d
-01
-7e
-00
-7f
-12
-02
-03
-90
+5c
+ec
+f0
+a3
+ed
+f0
+a3
+eb
+f0
+a3
+ea
+f0
+a3
+e9
+f0
 90
-0b
-e7
+80
+98
 74
-06
+04
+f0
+a3
+e4
 f0
 90
-4e
-93
-ed
+0c
+af
+74
+a0
+f0
+a3
+ee
+f0
+a3
+ef
 f0
-e0
-fd
 90
-0b
-e8
+0c
+b2
+74
+a1
 f0
+7a
+0c
+79
+af
 7e
-0b
+0c
 7f
-e9
+af
+74
+af
+fc
+74
+0c
+ff
+ec
+fe
+ef
 90
-4e
-51
-ed
+80
+9a
+ee
+f0
+a3
+ef
 f0
-12
-0c
-1a
-7b
-01
-7a
-0b
-79
-e7
 90
 4e
-93
+5c
 e0
-24
-02
-fd
-02
-09
-1e
-7b
-01
-7a
-81
-79
-1c
-ad
-07
-e4
-90
-4e
-94
-f0
+fc
+a3
+e0
+fa
+ec
+ff
+ea
 fe
 ef
-54
-07
+90
+80
+9e
+ee
 f0
+a3
 ef
-13
-13
-13
-54
-03
-fe
-f5
-82
-75
+f0
+7a
+0b
+79
+83
+7e
+0b
+7f
+83
+74
 83
-00
-12
-03
-cf
-fd
-33
-95
-e0
 fc
-90
-4e
-94
-e0
-ff
 74
-01
-7e
-00
-a8
-07
-08
-80
-05
-c3
-33
-ce
-33
-ce
-d8
-f9
+0b
 ff
-ee
-5c
+ec
 fe
 ef
-5d
-4e
-24
-ff
-22
 90
-4e
-75
-e4
-f0
-a3
+80
+9c
+ee
 f0
 a3
+ef
 f0
-f1
-bf
-50
-26
-12
-19
-7c
 90
-4e
-75
-eb
-f0
-a3
-ea
+80
+90
+74
+02
 f0
+90
+80
+9c
 a3
-e9
-f0
-4a
-70
+e0
+20
+e7
 07
 90
-4c
-b6
-04
+80
+90
+e0
+44
+01
 f0
+90
 80
-0f
+06
+e0
+44
+04
+f0
+d1
+e6
 90
 4e
-75
+5e
 e0
-fb
 a3
 e0
 fa
 a3
 e0
-f9
-12
-0c
-5d
-22
-90
-4d
-d0
-e0
-64
+ae
+02
+ff
+7b
 01
-70
-30
+7a
+0b
+79
+83
 90
-4d
-d6
+4e
+5c
 e0
-70
-2a
-90
-4c
-c5
+a3
 e0
-64
-03
-70
+90
 4e
-7b
+51
+f0
+02
+08
+da
+71
+62
+c2
+06
+7f
+ff
+71
+46
+c2
+06
+7f
+ff
+71
+46
+c2
+06
+7f
+1e
+71
+46
+c2
+06
+7f
+1e
+ac
+07
+ec
+f4
+60
+15
+af
+04
+d2
+04
+b1
+ad
+af
+04
+a2
+06
+92
 01
-7a
-48
-79
-00
-7d
-09
-fc
 12
-0e
-b3
-7b
-01
-7a
-48
-79
-00
-7d
-09
-91
-0e
-90
-4d
-d0
-74
+07
+84
+af
+04
+c2
 02
+b1
+7e
+22
+90
+80
+80
+e4
+f0
+a3
+f0
+a3
 f0
+d1
+30
 e4
 90
-4d
-e4
+4e
+90
+f0
 f0
-22
 90
-4d
-d0
-e0
-b4
-02
-25
+4e
 90
-4d
-d6
 e0
-70
-1f
 90
-4d
-d0
-f0
-7b
-01
-7a
-48
-79
-00
-7d
-09
-fc
-12
-0e
-b3
-7b
-01
-7a
-48
-79
-00
-7d
-09
-91
-0e
-e4
+06
+0c
+93
+ff
+60
+0c
+c2
+05
+b1
+8f
 90
-4d
-e4
-f0
-22
+4e
 90
-4c
-ea
 e0
-60
-02
-14
+04
 f0
+80
+e9
+22
+b1
+26
+d1
+ee
+12
+0e
+47
+11
+b4
+12
+06
+cf
 90
-4c
-ef
+0b
+7e
 e0
-60
-02
 14
-f0
+60
+0c
+24
+fe
+70
+eb
+71
+cf
+71
+30
+b1
+19
+80
+fe
 90
 4c
-e5
+ea
 e0
-60
-0f
-14
-f0
+70
 12
-07
-f8
 90
 4c
-e5
+ec
 e0
 70
-2f
-f1
-ac
-80
-2b
+0c
 90
 4c
-ee
+e5
 e0
 70
-25
+06
 90
 4c
-e2
+f8
 e0
 60
-1f
-14
-f0
-e0
-30
-e1
-09
-d2
-01
-7f
-1d
-12
-07
-8b
-80
-07
-c2
-01
-7f
-1d
-12
+04
+f1
+b7
+80
+c7
+71
+cf
+b1
+19
+80
+c1
+80
+bf
+22
+e4
+ff
+90
+4e
+91
+f0
+fe
+fd
+ef
+90
+06
+0c
+93
+60
+49
+ef
+93
+fd
+13
+13
+13
+54
+1f
+fe
+ed
+54
 07
+fd
+74
+01
+a8
+05
+08
+80
+02
+c3
+33
+d8
+fc
+fd
+ee
+24
+78
+fb
+e4
+34
+80
 8b
-90
-4c
-e2
+82
+f5
+83
 e0
+fc
+ed
+f4
+fb
+ec
+5b
+f0
+ee
+24
 70
-03
+f5
+82
+e4
+34
+80
+f5
+83
+e0
+4d
+f0
+ee
+24
 74
-04
+f5
+82
+e4
+34
+80
+f5
+83
+e0
+5b
 f0
+0f
+80
+b0
+12
+22
 90
-4d
-d5
+90
+81
+1c
 e0
-70
-2b
 90
-4d
-d6
+4e
+91
+f0
+90
+4c
+d5
 e0
 64
-01
-70
-23
-f0
+02
+60
+36
 90
 4d
-e5
+d5
 e0
 60
-0c
-7b
+20
+e4
+ff
+91
+7a
+7f
 01
+91
 7a
-4d
-79
-e5
-7d
+7f
+02
+91
+7a
+7f
 03
 91
-0e
-80
-10
-90
-48
-00
-e0
-60
-0a
-7b
-01
 7a
-48
-79
-00
-7d
-09
+7f
+04
 91
-0e
+7a
+7f
+05
+91
+7a
+7f
+06
+91
+7a
+7f
+07
+80
+1a
 90
-4d
-de
-e0
-60
-03
+4e
+91
 e0
-14
-f0
-22
+ff
 90
-4e
-3f
-ee
-f0
+00
 a3
-ef
 f0
+ef
+f4
 90
-4e
-43
-eb
-f0
-a3
-ea
+00
+a7
 f0
+22
+e4
+90
+00
 a3
-e9
 f0
 90
-4e
-41
-ec
-f0
-a3
-ed
+00
+a7
 f0
-a3
-e0
-f9
-a3
-e0
-fa
-a3
-e0
+22
 90
 4e
-2c
-c9
-f0
-a3
-ea
-f0
-a3
-e9
-f0
-a3
-ec
-f0
-a3
-ed
+95
+ef
 f0
-7b
-01
-7a
-0b
-79
-86
-12
-24
 b1
-90
-0b
-83
-74
-a0
-f0
+39
+92
+08
 90
 4e
-3f
+95
 e0
 ff
-a3
-e0
-90
-0b
-84
-cf
-f0
-a3
+a2
+08
+b3
+92
+07
 ef
-f0
-90
-4e
-42
-e0
-24
+f4
+70
+02
+a1
+18
+ef
+54
+07
+fe
+ef
+13
+13
+13
+54
 03
-fd
-90
-4e
-41
-e0
+ff
+30
+07
+43
+24
+a3
+f5
+82
+e4
 34
 00
+f5
+83
+c0
+83
+c0
+82
+e0
+fd
+74
+01
+a8
+06
+08
+80
+02
+c3
+33
+d8
 fc
-ed
-fa
-ec
+f4
+5d
+d0
+82
+d0
+83
+f0
+74
+a7
+2f
+f5
+82
+e4
+34
+00
+f5
+83
+c0
+83
+c0
+82
+e0
 ff
-ea
-fe
-ef
-90
+74
+01
+a8
+06
+08
 80
-98
-ee
+02
+c3
+33
+d8
+fc
+4f
+d0
+82
+d0
+83
 f0
+22
+74
 a3
-ef
-f0
-7a
-0b
-79
+2f
+f5
+82
+e4
+34
+00
+f5
 83
-7e
-0b
-7f
+c0
 83
+c0
+82
+e0
+fd
 74
-83
+01
+a8
+06
+08
+80
+02
+c3
+33
+d8
 fc
+fc
+4d
+d0
+82
+d0
+83
+f0
 74
-0b
+a7
+2f
+f5
+82
+e4
+34
+00
+f5
+83
+e0
 ff
 ec
+f4
 fe
 ef
-a3
-ee
-f0
-a3
-ef
+5e
 f0
-90
-80
-9e
+22
 e4
-f0
-a3
-f0
 90
-80
-90
-04
+0b
+7f
 f0
 90
-80
-06
-e0
-44
-04
+0b
+7e
 f0
-90
-81
-2c
-e0
-30
-e5
-f9
-22
+7f
+01
+01
+9c
+7b
+01
 7a
-0c
+4d
 79
-4b
-90
+ee
+78
+00
+7c
 4e
-7b
-74
+7d
 01
-f0
-a3
-74
-0c
-f0
-a3
-74
-4b
-f0
-90
-4b
-a0
-e0
-fe
-a3
-e0
-ff
-90
-4b
-9e
-e0
-6e
-70
-03
-a3
-e0
-6f
-60
-47
 7e
-0c
+00
 7f
-4b
-7d
-03
 12
-24
-54
+02
+03
 90
-4e
 7b
+01
+7a
+81
+79
+1c
+ad
+07
+e4
+90
+4e
+94
+f0
+fe
+ef
+54
+07
+f0
+ef
+13
+13
+13
+54
+03
+fe
+f5
+82
+75
+83
+00
+12
+03
+cf
+fd
+33
+95
 e0
-fb
-a3
-e0
-fa
-a3
+fc
+90
+4e
+94
 e0
+ff
+74
+01
+7e
+00
+a8
+07
+08
+80
+05
+c3
+33
+ce
+33
+ce
+d8
 f9
-12
+ff
+ee
+5c
+fe
+ef
+5d
+4e
+24
+ff
+22
+ef
+f4
+60
+0c
+7b
+01
+7a
+80
+79
+78
+a2
+02
+92
+00
+b1
+cf
+22
+ac
+07
+ec
+f4
+60
+17
+af
+04
+a2
+05
+92
 03
-b6
-b4
+b1
+be
+af
+04
+a2
+05
+b3
+92
 02
-2b
+b1
+7e
+af
+04
+c2
+04
+b1
+ad
+22
+ef
+f4
+60
+0c
+7b
+01
+7a
+80
+79
+70
+a2
+04
+92
+00
+b1
+cf
+22
+ef
+f4
+60
+0c
+7b
+01
+7a
+80
+79
+7c
+a2
+03
+92
+00
+b1
+cf
+22
 90
 4e
-7c
-e4
-75
+84
+eb
 f0
-02
-12
-04
-0e
+a3
+ea
+f0
+a3
+e9
+f0
+e4
+fe
+fd
+ef
+54
+07
+fe
+ef
+13
+13
+13
+54
+03
+fd
+30
+00
+22
 90
 4e
-7b
+84
 e0
 fb
 a3
@@ -5941,54 +5619,33 @@
 fa
 a3
 e0
+2d
 f9
+e4
+3a
+fa
 12
 03
 b6
 ff
-90
-4e
-00
-e0
-a3
-e0
-fa
-a3
-e0
-f5
-82
-8a
-83
-12
-05
-68
+74
+01
+a8
+06
+08
 80
 02
-80
-fe
-90
-4b
-a5
-e0
-fe
-a3
-e0
-ff
-90
-4c
-5e
-e0
-6e
-70
+c3
+33
+d8
+fc
+4f
+02
 03
-a3
-e0
-6f
-60
-22
+fc
 90
 4e
-06
+84
 e0
 fb
 a3
@@ -5996,525 +5653,695 @@
 fa
 a3
 e0
+2d
 f9
-4a
-60
-37
+e4
+3a
+fa
 12
-05
-64
-90
-4b
-a5
+03
+b6
+ff
+74
+01
+a8
+06
+08
+80
+02
+c3
+33
+d8
+fc
+f4
+5f
+02
+03
+fc
+e4
+90
+4e
+8f
+f0
+f0
+90
+4e
+8f
 e0
 ff
-a3
+c3
+94
+08
+50
+0c
+c2
+05
+b1
+8f
+90
+4e
+8f
 e0
+04
+f0
+80
+ea
+22
 90
-4c
-5e
-cf
+4e
+3f
+ee
 f0
 a3
 ef
 f0
-80
-ca
 90
-4c
-8d
-e0
-ff
+4e
+43
+eb
+f0
 a3
-e0
-6f
-60
-19
+ea
+f0
+a3
+e9
+f0
 90
 4e
-09
+41
+ec
+f0
+a3
+ed
+f0
+a3
 e0
-fb
+f9
 a3
 e0
 fa
 a3
 e0
-f9
-4a
-60
-0b
-12
-05
-64
 90
-4c
-8d
-e0
+4e
+2c
+c9
+f0
 a3
+ea
 f0
-80
-dd
-22
-21
-e3
-c2
+a3
+e9
+f0
+a3
+ec
+f0
+a3
+ed
+f0
+7b
 01
-7f
-1d
-02
-07
-8b
-90
+7a
 0b
-7f
-74
-01
-f0
-e4
+79
+86
+12
+21
+e0
 90
 0b
-7e
+83
+74
+a0
 f0
-22
 90
-4b
-9c
+4e
+3f
 e0
-fe
+ff
 a3
 e0
-ff
 90
-4b
-9a
-e0
-b5
-06
-07
+0b
+84
+cf
+f0
 a3
+ef
+f0
+90
+4e
+42
 e0
-b5
-07
-02
-d3
-22
-c3
-22
-ad
-07
-ac
-06
+24
+03
+fd
 90
-4d
-e4
+4e
+41
 e0
-64
-02
-60
-0e
-74
-01
-f0
+34
+00
+fc
+ed
+fa
+ec
+ff
+ea
+fe
+ef
 90
-4d
-e5
-04
+80
+98
+ee
 f0
-ef
 a3
+ef
 f0
-ee
+7a
+0b
+79
+83
+7e
+0b
+7f
+83
+74
+83
+fc
+74
+0b
+ff
+ec
+fe
+ef
 a3
+ee
 f0
-22
-ae
-05
+a3
 ef
-30
-e0
-0a
+f0
 90
-4d
-d3
-e0
-04
+80
+9e
+e4
 f0
-ae
-03
+a3
+f0
+90
 80
-0d
 90
-4d
-d3
-e0
-60
-07
-e0
-14
+04
 f0
-af
-03
-ae
-07
-af
+90
+80
 06
+e0
+44
+04
+f0
+90
+81
+2c
+e0
+30
+e5
+f9
 22
-ae
-07
-ac
-05
-e4
+7a
+0c
+79
+4b
 90
 4e
-8e
+7b
+74
+01
 f0
-ec
+a3
+74
+0c
+f0
+a3
+74
+4b
 f0
 90
-4d
-db
+4b
+a0
 e0
-64
-01
+fe
+a3
+e0
+ff
+90
+4b
+9e
+e0
+6e
+70
+03
+a3
+e0
+6f
 60
-02
+47
+7e
+0c
+7f
+4b
+7d
+03
+12
 21
-76
-ec
-24
-c6
+83
+90
+4e
+7b
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+f9
+12
+03
+b6
 b4
-0c
-00
-40
 02
-21
-76
+2b
 90
-18
-3f
+4e
+7c
+e4
 75
 f0
-03
-a4
-c5
-83
-25
-f0
-c5
-83
-73
-02
-18
-63
-02
-18
-73
-02
-18
-83
-02
-18
-af
-02
-18
-da
-02
-19
-06
-02
-19
-16
-02
-19
-26
-02
-19
-36
-02
-19
-46
-02
-19
-56
 02
-19
-66
-af
-06
-ad
-04
-7b
-d7
 12
-17
-f2
+04
+0e
 90
 4e
-8e
-ef
-f0
-21
-76
-af
-06
-ad
-04
 7b
-d8
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+f9
 12
-17
-f2
+03
+b6
+ff
 90
 4e
-8e
-ef
-f0
-21
-76
-90
-4c
+00
+e0
+a3
+e0
+fa
+a3
+e0
 f5
-74
-04
-f0
+82
+8a
+83
+12
+05
+68
+80
+02
+80
+fe
+90
+4b
+a5
+e0
+fe
 a3
-74
-2b
-f0
-ee
-30
 e0
-08
+ff
 90
 4c
-f4
-74
-01
-f0
-80
-06
+5e
+e0
+6e
+70
+03
+a3
+e0
+6f
+60
+22
 90
-4c
-f4
-74
-04
-f0
-af
+4e
 06
-ad
-04
-e4
+e0
 fb
-12
-17
-f2
-90
-4e
-8e
-ef
-f0
-21
-76
-90
-4c
-f5
-74
-08
-f0
 a3
-14
-f0
-ee
-30
 e0
-08
-90
+fa
+a3
+e0
+f9
+4a
+60
+37
+12
+05
+64
+90
+4b
+a5
+e0
+ff
+a3
+e0
+90
 4c
-f4
-74
-01
+5e
+cf
+f0
+a3
+ef
 f0
 80
-06
+ca
 90
 4c
-f4
+8d
+e0
+ff
+a3
+e0
+6f
+60
+19
+90
+4e
+09
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+f9
+4a
+60
+0b
+12
+05
+64
+90
+4c
+8d
+e0
+a3
+f0
+80
+dd
+22
+61
+8b
+90
+0b
+7f
 74
-04
+01
 f0
-af
-06
-ad
-04
 e4
-fb
-12
-17
-f2
+90
+0b
+7e
+f0
+22
 90
 4e
-8e
+96
 ef
 f0
-21
-76
+7b
+01
+7a
+80
+79
+74
+b1
+3f
+92
+09
+90
+4e
+96
+e0
+ff
+a2
+09
+b3
+92
+01
+02
+07
+84
 90
 4c
 f5
-74
-08
+ed
 f0
 a3
-74
-50
+eb
 f0
-ee
+ef
 30
 e0
-08
+12
+90
+4c
+f4
+e0
+b4
+03
+04
+74
+02
+f0
+22
 90
 4c
 f4
 74
 01
 f0
-80
-06
+22
 90
 4c
 f4
 74
 04
 f0
-af
-06
-ad
-04
+22
+ae
+07
 e4
-fb
-12
-17
-f2
 90
 4e
 8e
-ef
+f0
+ed
+f0
+90
+4d
+db
+e0
+64
+01
+60
+02
+01
+c9
+ed
+24
+c6
+b4
+0c
+00
+40
+02
+01
+c9
+90
+18
+2f
+75
+f0
+03
+a4
+c5
+83
+25
+f0
+c5
+83
+73
+02
+18
+53
+02
+18
+5b
+02
+18
+63
+02
+18
+73
+02
+18
+83
+02
+18
+93
+02
+18
+9b
+02
+18
+a3
+02
+18
+ab
+02
+18
+b3
+02
+18
+bb
+02
+18
+c3
+90
+4e
+8e
+74
+d7
 f0
 80
-70
+6e
+90
+4e
+8e
+74
+d8
+f0
+80
+66
 af
 06
-ad
-04
 7b
-d5
+2b
+7d
+04
 12
 17
-f2
+df
+e4
 90
 4e
 8e
-ef
 f0
 80
-60
+56
 af
 06
-ad
-04
 7b
-f4
+07
+7d
+08
 12
 17
-f2
+df
+e4
 90
 4e
 8e
-ef
 f0
 80
-50
+46
 af
 06
-ad
-04
 7b
-f2
+50
+7d
+08
 12
 17
-f2
+df
+e4
 90
 4e
 8e
-ef
 f0
 80
-40
-af
-06
-ad
-04
-7b
-f5
-12
-17
-f2
+36
 90
 4e
 8e
-ef
+74
+d5
 f0
 80
-30
-af
-06
-ad
-04
-7b
-f8
-12
-17
-f2
+2e
 90
 4e
 8e
-ef
+74
+f4
 f0
 80
-20
-af
-06
-ad
-04
-7b
-f6
-12
-17
+26
+90
+4e
+8e
+74
 f2
+f0
+80
+1e
 90
 4e
 8e
-ef
+74
+f5
+f0
+80
+16
+90
+4e
+8e
+74
+f8
+f0
+80
+0e
+90
+4e
+8e
+74
+f6
 f0
 80
-10
-af
-06
-ae
-04
-ad
 06
-7b
-f7
-12
-17
-f2
 90
 4e
 8e
-ef
+74
+f7
 f0
 90
 4e
@@ -6553,8 +6380,8 @@
 f0
 a3
 f0
-b1
-73
+91
+52
 7a
 4d
 79
@@ -6584,7 +6411,7 @@
 79
 bc
 71
-b6
+09
 ef
 60
 16
@@ -6596,8 +6423,8 @@
 bc
 7d
 14
-71
-86
+51
+d9
 ef
 70
 09
@@ -6671,8 +6498,8 @@
 f0
 af
 05
-71
-78
+51
+cb
 a3
 e0
 2f
@@ -6706,8 +6533,8 @@
 19
 e0
 ff
-71
-78
+51
+cb
 90
 4e
 1d
@@ -6773,8 +6600,8 @@
 93
 70
 02
-61
-4c
+41
+9f
 74
 93
 2f
@@ -6828,10 +6655,10 @@
 e0
 70
 04
-61
-44
-61
-44
+41
+97
+41
+97
 90
 4e
 1c
@@ -6919,7 +6746,7 @@
 93
 fd
 11
-12
+04
 90
 4e
 1b
@@ -6937,8 +6764,8 @@
 1b
 e0
 ff
-91
-00
+71
+53
 80
 07
 90
@@ -6946,8 +6773,8 @@
 1b
 e0
 ff
-91
-90
+71
+a9
 90
 4e
 14
@@ -6984,8 +6811,8 @@
 e0
 04
 f0
-41
-6c
+21
+bf
 90
 4d
 e4
@@ -7169,99 +6996,41 @@
 e4
 fe
 ef
-b4
-e7
-08
-90
-4e
-31
-e0
-44
-80
-f0
-22
-ef
-b4
-e6
-08
-90
-4e
-31
+c3
+94
 e0
-44
 40
-f0
-22
-ef
-b4
-e5
-08
-90
-4e
-31
-e0
-44
 20
-f0
-22
-ef
-b4
-e4
-08
-90
-4e
-31
-e0
-44
-10
-f0
-22
-ef
-b4
-e3
-08
-90
-4e
-31
-e0
-44
-08
-f0
-22
 ef
-b4
-e2
-08
+d3
+94
+e7
+50
+1a
 90
 4e
 31
 e0
-44
-04
-f0
-22
+fe
 ef
-b4
-e1
+54
+07
+ff
+74
+01
+a8
+07
 08
-90
-4e
-31
-e0
-44
+80
 02
-f0
-22
-ef
-b4
-e0
-08
+c3
+33
+d8
+fc
+4e
 90
 4e
 31
-e0
-44
-01
 f0
 22
 e4
@@ -7346,99 +7115,41 @@
 01
 f0
 ef
-b4
-e7
-08
-90
-4e
-31
+c3
+94
 e0
-54
-7f
-f0
-22
+40
+20
 ef
-b4
-e6
-08
+d3
+94
+e7
+50
+1a
 90
 4e
 31
 e0
-54
-bf
-f0
-22
+fe
 ef
-b4
-e5
-08
-90
-4e
-31
-e0
-54
-df
-f0
-22
-ef
-b4
-e4
-08
-90
-4e
-31
-e0
-54
-ef
-f0
-22
-ef
-b4
-e3
-08
-90
-4e
-31
-e0
-54
-f7
-f0
-22
-ef
-b4
-e2
-08
-90
-4e
-31
-e0
-54
-fb
-f0
-22
-ef
-b4
-e1
-08
-90
-4e
-31
-e0
 54
-fd
-f0
-22
-ef
-b4
-e0
+07
+ff
+74
+fe
+a8
+07
 08
+80
+02
+c3
+33
+d8
+fc
+5e
 90
 4e
 31
-e0
-54
-fe
 f0
 22
 e4
@@ -7680,8 +7391,8 @@
 5b
 f0
 0f
-a1
 81
+60
 e4
 ff
 ef
@@ -7813,8 +7524,8 @@
 5b
 f0
 0f
-c1
-06
+81
+e5
 e4
 ff
 ef
@@ -7890,687 +7601,336 @@
 b9
 22
 90
-4e
-65
-eb
-f0
-a3
-ea
-f0
-a3
-e9
-f0
-e4
-a3
-f0
-f0
-90
-4e
-68
-e0
-ff
-c3
-94
-06
-40
-03
-02
-21
-4e
-90
-4e
-65
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-24
+80
+10
+74
 01
-f9
-e4
-3a
-fa
-7e
-00
-e9
-2f
-f9
-ee
-3a
-fa
-12
-03
-b6
-ff
-54
-f0
-64
 f0
-60
-0a
-ef
-54
-d0
-64
-d0
-60
-03
-02
-21
-45
-12
-03
-b6
-fb
-b4
-f1
-0a
-7f
-83
-7e
-01
-12
-17
-d7
-02
-21
-1a
-eb
-b4
-f2
-0a
-7f
-cd
-7e
-00
-12
-17
-d7
-02
-21
-1a
-90
-4e
-65
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-24
-01
-f9
-e4
-3a
-fa
-a3
-e0
-7e
-00
-29
-f9
-ee
-3a
-fa
-12
-03
-b6
-fb
-b4
-f3
-08
-7f
-b7
-12
-17
-d7
-02
-21
-1a
-eb
-b4
-f4
-0a
-7f
-b6
-7e
-00
-12
-17
-d7
-02
-21
-1a
-90
-4e
-65
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-24
-01
-f9
-e4
-3a
-fa
-a3
-e0
-7e
-00
-29
-f9
-ee
-3a
-fa
-12
-03
-b6
-fb
-b4
+80
+fe
+22
+80
 f5
-08
-7f
-b5
-12
-17
-d7
-02
-21
-1a
-eb
-b4
-f6
-0a
-7f
-ea
-7e
-00
-12
-17
-d7
-02
-21
-1a
 90
 4e
-65
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-24
-01
-f9
-e4
-3a
-fa
-a3
-e0
-7e
-00
-29
-f9
-ee
-3a
-fa
-12
-03
-b6
-fb
-b4
-f7
-08
-7f
-e9
-12
-17
-d7
-02
-21
-1a
-eb
-b4
-f8
-0a
-7f
-e2
-7e
-00
-12
-17
-d7
-02
-21
-1a
-90
-4e
-65
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-24
-01
-f9
-e4
-3a
-fa
-a3
-e0
-7e
-00
-29
-f9
-ee
-3a
-fa
-12
-03
-b6
-fb
-b4
-f9
-08
-7f
-94
-0e
-12
-17
-d7
-21
-1a
-eb
-b4
-fa
-09
-7f
-8a
-7e
-01
-12
-17
-d7
-21
-1a
+89
+ed
+f0
 90
-4e
-65
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-24
-01
-f9
-e4
-3a
-fa
-a3
-e0
-7e
 00
-29
-f9
-ee
-3a
-fa
-12
-03
-b6
-fb
-b4
-fb
-08
-7f
-92
-0e
-12
-17
-d7
-21
-1a
-eb
-b4
-d0
-09
-7f
-2a
-7e
-02
-12
-17
-d7
-21
-1a
-90
-4e
-65
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-24
 01
-f9
-e4
-3a
-fa
-a3
-e0
-7e
-00
-29
-f9
-ee
-3a
-fa
 12
 03
-b6
-fb
-b4
-d1
-09
-7f
-25
-7e
-02
-12
-17
-d7
-21
-1a
-eb
-b4
-d3
-09
-7f
-26
-7e
-02
-12
-17
-d7
-21
-1a
+cf
 90
 4e
-65
+8a
+f0
+22
+90
+4c
+c5
 e0
-fb
-a3
+b4
+03
+11
+90
+4c
+e3
 e0
-fa
+64
+0e
+70
+04
 a3
 e0
-24
+64
+10
+70
+2d
+02
+07
+f1
+90
+4c
+c5
+e0
+b4
 01
-f9
-e4
-3a
-fa
+14
+90
+4c
+e3
+e0
+70
+04
 a3
 e0
-7e
-00
-29
-f9
-ee
-3a
-fa
-12
-03
-b6
-fb
-b4
-d2
-09
-7f
-24
-7e
-02
-12
+64
+28
+70
 17
-d7
-80
-75
-eb
-b4
-d4
-09
 7f
-27
-7e
-02
+22
 12
-17
-d7
-80
-68
+07
+f8
+02
+07
+f1
 90
-4e
-65
-e0
-fb
-a3
-e0
-fa
-a3
+4c
+e3
 e0
-24
-01
-f9
-e4
-3a
-fa
+70
+04
 a3
 e0
-7e
-00
-29
-f9
-ee
-3a
-fa
-12
+64
+14
+70
 03
-b6
-fb
-b4
-d5
-09
-7f
-21
-7e
-02
 12
-17
-d7
-80
-3f
-eb
-b4
-d6
-09
-7f
-23
-7e
-02
+07
+f1
+22
 12
-17
-d7
-80
-32
+07
+96
 90
-4e
-65
+4c
+e4
 e0
-fb
-a3
+04
+f0
+70
+06
+90
+4c
+e3
 e0
-fa
-a3
+04
+f0
+d1
+4b
+b1
+cd
+d1
+5c
+90
+4c
+ee
 e0
-24
-01
-f9
+60
+1d
 e4
-3a
-fa
+90
+4c
+e3
+f0
 a3
-e0
-7e
-00
-29
-f9
+f0
+90
+4c
 ee
-3a
-fa
-12
-03
-b6
-fb
-b4
-d7
-07
-7f
+e0
+14
+f0
+e0
 70
+0d
+7f
+22
 12
-17
-d7
-80
-0b
-eb
-b4
-d8
 07
+f8
 7f
-6f
-7e
-00
+0a
 12
-17
-d7
-90
-4d
-e4
-e0
-b4
-02
-24
+10
+9c
+12
+07
+f1
+22
 90
-4e
-65
+4c
+d3
 e0
-fb
-a3
+60
+0a
+14
+f0
 e0
-fa
-a3
+70
+05
+74
+05
+f0
+d1
+e3
+22
+90
+4c
+ce
 e0
-24
-01
-f9
-e4
-3a
-fa
-a3
+30
+e1
+3e
+90
+4c
+d0
 e0
-7e
-00
-29
-f9
-ee
-3a
+c3
+94
 fa
-12
+50
 03
-b6
-90
-4d
-e3
+e0
+04
 f0
-e4
-12
-03
-fc
 90
-4e
-68
+4c
+d0
+e0
+64
+b4
+70
+2f
+90
+4d
+dc
 e0
 04
 f0
+e0
+d3
+94
 02
-1e
-e2
-22
-12
-0e
-df
-31
-6c
+50
+07
+e4
 90
 4c
-eb
-74
-01
+d0
 f0
+80
+1c
 90
-4c
-e5
+4d
+dc
+e0
+b4
+03
+15
+90
+4d
+d5
 74
-1e
+01
 f0
 e4
 90
 4c
+d0
 f0
-f0
+12
+07
+f1
+80
+05
+e4
 90
 4d
-00
-74
-ff
+dc
 f0
-22
 90
 4c
+ce
+e0
+30
+e4
+30
 90
+4c
+ea
 74
-37
+0a
 f0
 90
 4c
-d3
-74
-05
+d1
+e0
+c3
+94
+fa
+50
+03
+e0
+04
 f0
+90
+4c
+d1
+e0
+b4
+06
+1c
+90
+4c
+c3
+e0
+ff
+60
+03
+b4
+fe
+12
+12
+0f
+cb
+7f
+0a
+12
+10
+9c
+7f
+0a
+02
+0f
+eb
 e4
-a3
+90
+4c
+d1
 f0
+22
+90
+4e
+58
+12
+05
+33
+00
+00
+00
+00
+90
+4c
+95
+e0
+fe
+a3
+e0
 ff
-ef
+90
+4c
+d4
+e0
+fd
+04
+f0
+ed
 25
 e0
 24
@@ -8582,109 +7942,124 @@
 4c
 f5
 83
-74
-79
+ee
 f0
 a3
-74
-90
-f0
-0f
 ef
-b4
-04
-e8
+f0
 90
 4c
-8f
+d4
 e0
-64
-02
-60
+c3
+94
+04
+40
 02
-41
-3b
+e4
+f0
+e4
 90
-4c
-91
+4e
+57
+f0
+90
+4e
+58
 e0
-fe
+f8
 a3
 e0
-ff
-c3
+f9
+a3
+e0
+fa
+a3
+e0
+fb
 90
+4e
+57
+e0
+25
+e0
+24
+d6
+f5
+82
+e4
+34
 4c
-94
+f5
+83
 e0
-9f
+fe
+a3
+e0
+ff
+e4
+fc
+fd
+eb
+2f
+ff
+ea
+3e
+fe
+ed
+39
 fd
+ec
+38
+fc
+90
+4e
+58
+12
+05
+27
 90
-4c
-93
+4e
+57
 e0
-9e
-fc
-e4
-12
-02
-06
-7b
-c3
-7a
-f5
-79
-88
-78
-3f
-12
-00
-fb
-c0
 04
-c0
-05
-c0
-06
-c0
-07
+f0
+e0
+b4
+04
+bf
 90
-4c
-91
+4e
+58
 e0
 fc
 a3
 e0
 fd
+a3
+e0
+fe
+a3
+e0
+ff
 e4
+7b
+04
+fa
+f9
+f8
 12
-02
-06
-d0
-03
-d0
-02
-d0
-01
-d0
-00
-12
-00
-0a
-12
-02
-3f
+04
+76
 90
-4c
-de
-ee
-f0
-a3
-ef
-f0
+4e
+58
+12
+05
+27
 90
 4c
-91
+e0
 e0
 fe
 a3
@@ -8693,294 +8068,247 @@
 c3
 90
 4c
-94
+d7
 e0
 9f
-fd
 90
 4c
-93
+d6
 e0
 9e
-fc
-e4
-12
-02
-06
-7b
-ae
-7a
-47
-79
-81
-78
-3f
-12
-00
-fb
-c0
-04
-c0
-05
-c0
-06
-c0
+50
 07
 90
 4c
-91
-e0
-fc
-a3
-e0
-fd
-e4
-12
-02
-06
-d0
-03
-d0
-02
-d0
-01
-d0
-00
-12
-00
-0a
-12
+d5
+74
 02
-3f
-90
-4c
-e0
-ee
-f0
-a3
-ef
 f0
 22
 90
 4c
-8f
-e0
-64
-01
-70
-02
-41
-e1
-90
-4c
-91
+de
 e0
 fe
 a3
 e0
 ff
-c3
-90
-4c
-94
-e0
-9f
+e4
+fc
 fd
 90
-4c
-93
+4e
+58
 e0
-9e
-fc
-e4
-12
-02
-06
-7b
+f8
+a3
+e0
+f9
+a3
+e0
+fa
+a3
+e0
+fb
 c3
-7a
-f5
-79
-a8
-78
-3e
 12
-00
-fb
-c0
-04
-c0
 05
-c0
-06
-c0
-07
+16
+50
+0d
 90
 4c
-91
-e0
-fc
-a3
-e0
-fd
-e4
-12
-02
-06
-d0
-03
-d0
-02
-d0
+d5
+74
 01
-d0
-00
-12
-00
-0a
+f0
+90
+4d
+3f
+74
 12
-02
+f0
+22
+e4
+90
+4c
+d5
+f0
+90
+4d
 3f
+74
+5d
+f0
+22
 90
 4c
-de
-ee
+ea
+e0
+60
+02
+14
 f0
-a3
+90
+4c
 ef
+e0
+60
+02
+14
 f0
 90
 4c
-91
-e0
-fe
-a3
+e5
 e0
-ff
-c3
+60
+18
+14
+f0
+d2
+01
+7f
+1e
+12
+07
+84
 90
 4c
-94
+e5
 e0
-9f
-fd
+70
+34
+c2
+01
+7f
+1e
+12
+07
+84
+80
+2b
 90
 4c
-93
+ee
 e0
-9e
-fc
-e4
-12
-02
-06
-7b
-5c
-7a
-8f
-79
-42
-78
-3e
-12
-00
-fb
-c0
-04
-c0
-05
-c0
-06
-c0
-07
+70
+25
 90
 4c
-91
+e2
 e0
-fc
-a3
+60
+1f
+14
+f0
 e0
-fd
-e4
-12
-02
-06
-d0
-03
-d0
-02
-d0
+30
+e1
+09
+d2
 01
-d0
-00
+7f
+1e
 12
-00
-0a
+07
+84
+80
+07
+c2
+01
+7f
+1e
 12
-02
-3f
+07
+84
 90
 4c
+e2
 e0
-ee
-f0
-a3
-ef
+70
+03
+74
+04
 f0
-22
 90
-80
-10
-74
+4d
+d5
+e0
+70
+2d
+90
+4d
+d6
+e0
+64
 01
+70
+25
 f0
-80
-fe
-22
-80
-f5
 90
-4e
-89
-ed
-f0
+4d
+e5
+e0
+60
+0d
+7b
+01
+7a
+4d
+79
+e5
+7d
+03
+12
+0d
+83
+80
+11
 90
+48
 00
+e0
+60
+0b
+7b
 01
+7a
+48
+79
+00
+7d
+09
 12
-03
-cf
+0d
+83
 90
-4e
-8a
+4d
+de
+e0
+60
+03
+e0
+14
 f0
 22
 90
-4e
-58
-12
-05
-33
-00
-00
-00
-00
-90
 4c
-95
-e0
-fe
+d3
+74
+05
+f0
+e4
 a3
-e0
-ff
+f0
 90
 4c
-d4
-e0
-fd
-04
+90
+74
+37
 f0
-ed
+e4
+ff
+ef
 25
 e0
 24
@@ -8992,124 +8320,97 @@
 4c
 f5
 83
-ee
+74
+62
 f0
 a3
-ef
-f0
-90
-4c
-d4
-e0
-c3
-94
-04
-40
-02
-e4
-f0
-e4
-90
-4e
-57
 f0
-90
-4e
-58
-e0
-f8
-a3
-e0
-f9
-a3
-e0
-fa
-a3
-e0
-fb
-90
-4e
-57
-e0
-25
-e0
-24
-d6
-f5
-82
-e4
-34
+0f
+ef
+b4
+04
+ea
+90
 4c
-f5
-83
+91
 e0
 fe
 a3
 e0
 ff
-e4
-fc
-fd
-eb
-2f
-ff
-ea
-3e
-fe
-ed
-39
-fd
-ec
-38
-fc
-90
-4e
-58
-12
-05
-27
+c3
 90
-4e
-57
+4c
+94
 e0
-04
-f0
+9f
+fd
+90
+4c
+93
 e0
-b4
+9e
+fc
+e4
+12
+02
+06
+7b
+c3
+7a
+f5
+79
+a8
+78
+3e
+12
+00
+fb
+c0
 04
-bf
+c0
+05
+c0
+06
+c0
+07
 90
-4e
-58
+4c
+91
 e0
 fc
 a3
 e0
 fd
-a3
-e0
-fe
-a3
-e0
-ff
 e4
-7b
-04
-fa
-f9
-f8
 12
-04
-76
-90
-4e
-58
+02
+06
+d0
+03
+d0
+02
+d0
+01
+d0
+00
 12
-05
-27
+00
+0a
+12
+02
+3f
 90
 4c
-e0
+de
+ee
+f0
+a3
+ef
+f0
+90
+4c
+91
 e0
 fe
 a3
@@ -9118,95 +8419,73 @@
 c3
 90
 4c
-d7
+94
 e0
 9f
+fd
 90
 4c
-d6
+93
 e0
 9e
-50
-07
-90
-4c
-d5
-74
+fc
+e4
+12
 02
-f0
-22
+06
+7b
+5c
+7a
+8f
+79
+42
+78
+3e
+12
+00
+fb
+c0
+04
+c0
+05
+c0
+06
+c0
+07
 90
 4c
-de
-e0
-fe
-a3
+91
 e0
-ff
-e4
 fc
-fd
-90
-4e
-58
-e0
-f8
-a3
-e0
-f9
-a3
-e0
-fa
 a3
 e0
-fb
-c3
+fd
+e4
 12
-05
-16
-50
-0d
-90
-4c
-d5
-74
+02
+06
+d0
+03
+d0
+02
+d0
 01
-f0
-90
-4d
-3f
-74
+d0
+00
 12
-f0
-22
-e4
-90
-4c
-d5
-f0
-90
-4d
+00
+0a
+12
+02
 3f
-74
-5d
-f0
-22
 90
 4c
-d3
 e0
-60
-0a
-14
+ee
 f0
-e0
-70
-05
-74
-05
+a3
+ef
 f0
-51
-fd
 22
 90
 4e
@@ -9567,35 +8846,6 @@
 5c
 f0
 22
-90
-4e
-96
-ef
-f0
-7b
-01
-7a
-80
-79
-74
-12
-14
-df
-92
-09
-90
-4e
-96
-e0
-ff
-a2
-09
-b3
-92
-01
-02
-07
-8b
 e4
 ff
 ef
Index: output/ramcode.rom
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/output/ramcode.rom	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/output/ramcode.rom	(working copy)
@@ -1,71 +1,69 @@
 c512800f
 c0000017
-c001801d
-c0028020
-c0480172
-c049013c
-c04a0142
-c04a812c
-c05800ee
-c05880f0
-c0590104
-c059811e
-c05b0127
-c05c80f8
+c001801b
+c002801e
+c048014c
+c0490116
+c04a011c
+c04a8106
+c05800c8
+c05880ca
+c05900de
+c05980f8
+c05b0101
+c05c80d2
 20203bf1
-c01f01ea
-c01f81ee
-c04380a9
-c04681fc
-c04781f2
-c066817f
-c06800b4
+c01f01bf
+c01f81c3
+c04380a7
+c04681d1
+c04781c7
+c0668156
+c06800b2
 20203bf1
 6810813b
 60008b81
-58280520
-6001cd4c
 70800608
 20203003
-20400044
-20400025
+20400042
+20400023
 20203015
 20403392
 20403407
 20403024
-20400212
+204001e7
 20203022
-204000a4
+204000a2
 20740000
 1ff0fe00
 1fe20c00
-20400085
+20400083
 6000cba7
-c0008038
-c0030042
+c0008036
+c0030040
 1fe20400
 18c22200
 6800c040
-c3000035
+c3000033
 1a220c00
 c6848000
 18427e00
 20600000
 1a220c00
 d8a000f8
-2020007d
-20400085
-20400085
+2020007b
+20400083
+20400083
 60008b7d
-2040003d
+2040003b
 20207c33
-20400088
+20400086
 18c20400
 18508400
 60094b9a
 20600000
 d8a00cd5
-2020007d
+2020007b
 680a4c59
 1c427e00
 98467e00
@@ -85,18 +83,18 @@
 1fe17e03
 c1800000
 6800cc8f
-c2800061
-c2808063
+c280005f
+c2808061
 da200000
-20400074
+20400072
 7089718f
 6800cc90
 60108973
-20400064
+20400062
 da200001
-20200074
+20200072
 708971bf
-20200064
+20200062
 708971af
 68108053
 79207e07
@@ -119,19 +117,19 @@
 98460400
 1a227e00
 79200407
-243a007b
+243a0079
 793f8407
 d8a08078
 202069f4
-20400085
+20400083
 1fe27200
-20400081
-2020003d
-20400085
+2040007f
+2020003b
+20400083
 e0a08000
-c2000081
+c200007f
 20600000
-20400088
+20400086
 e8c08000
 20600000
 58004b36
@@ -148,8 +146,8 @@
 1a220c00
 e8c08000
 e0a08000
-2040009c
-c2000094
+2040009a
+c2000092
 18a27e00
 1ff0fe00
 60014ba0
@@ -161,7 +159,7 @@
 20600000
 68014b9e
 68094ba0
-202000a6
+202000a4
 68014b9a
 68094b9c
 98467c00
@@ -172,7 +170,7 @@
 6808c7ef
 6800cd4b
 98467c00
-244100b0
+244100ae
 20207c06
 680a4d48
 600a47ec
@@ -186,29 +184,8 @@
 207a0000
 1fe0ffff
 60008259
-204000d3
-204000bf
-202000b8
-6800ccbe
-247a0000
-6800cc9a
-207a0000
-1fe0ffff
-6000cc9a
-c1808000
-704c9a64
-680147f4
-c4028000
-68014c9b
-207a0000
-2040527e
-247a0000
-68014c9b
-1fe22200
-20404b2c
-1a20f202
-d8c04c9d
-20207e45
+204000bc
+202000b6
 6800cc15
 207a0000
 1fe0ffff
@@ -217,25 +194,10 @@
 1a627e00
 1fe17ef0
 c1280000
-204000e0
 1a627e00
 207a0000
 6000cba4
-2020008d
-1a627e00
-c00580e4
-c00100ec
-20600000
-704c9a28
-5800000a
-60014c9b
-680142b7
-e0a10000
-580001a1
-e0a10000
-20600000
-704c9a00
-20600000
+2020008b
 20403b36
 20203cdc
 70416e7f
@@ -276,32 +238,32 @@
 6800c793
 207a0000
 20203d25
-204000a4
+204000a2
 24740000
-204000a1
+2040009f
 24740000
 700b7f01
 700b7e01
-20400123
-202000a4
-20400116
+204000fd
+202000a2
+204000f0
 24740000
 68008b7f
 247a0000
 20203d2d
 68008b7e
 2000000a
-c0800123
+c08000fd
 20600000
-20400116
+204000f0
 24740000
 68008b7f
 247a0000
 20203d4f
-2040012e
+20400108
 20203aaf
 6800c219
-243a0134
+243a010e
 20403d91
 20007530
 20007530
@@ -320,7 +282,7 @@
 60088017
 1840a200
 20203ab6
-2040013f
+20400119
 58000500
 20403bf3
 70890601
@@ -335,13 +297,13 @@
 2000000a
 7089027d
 6800cbef
-c0ff815a
+c0ff8134
 6802ca91
 e0a28000
 e8c28000
 e0a28000
 708956df
-20400161
+2040013b
 708955df
 20600000
 6802ca87
@@ -369,11 +331,8 @@
 708956c0
 20600000
 2030ba6f
-20400169
+20400143
 20203a6f
-2040527c
-247a0000
-20200025
 78347c00
 68120138
 79347e1a
@@ -384,17 +343,15 @@
 700b7e00
 70017706
 20403fa4
-58000175
-6001428e
-5800017e
+58000155
 6001428a
-580000d8
+580000c1
 60014292
-580001f1
+580001c6
 60014290
-58000025
+58000023
 6001428c
-58000178
+5800014f
 60014288
 58004aa0
 1ff0fe00
@@ -406,31 +363,31 @@
 60014b9e
 60014ba0
 6800cc97
-c02d01af
-203581ad
+c02d0184
+20358182
 68014c91
 1ff0fe00
 60014c91
 68014c93
 1ff0fe00
 60014c93
-204001ba
+2040018f
 680402a0
-243a01a7
+243a017c
 68014ad4
 1ff0fe00
-203a01a7
+203a017c
 60014c93
-2040020f
+204001e4
 704ba42f
-2040008d
+2040008b
 704c9700
 70828003
 20600000
 704ba430
-202001a9
+2020017e
 1ce27e00
-203a01f4
+203a01c9
 20405b63
 20404d99
 58000000
@@ -439,7 +396,7 @@
 1c427e00
 60024c59
 704ba433
-202001a9
+2020017e
 2040688a
 580007e2
 da2002a0
@@ -449,8 +406,8 @@
 680402a0
 207a0000
 6800cc8f
-c28001cc
-c28081da
+c28001a1
+c28081af
 680102a0
 1ff0fe00
 60014c91
@@ -497,7 +454,7 @@
 202053d9
 20600000
 700b7e03
-20400123
+204000fd
 704c975a
 20403db8
 68120138
@@ -513,32 +470,32 @@
 20407c24
 18427e00
 207a0000
-c0108207
-c0110209
-c011820c
+c01081dc
+c01101de
+c01181e1
 20207c5a
 704befff
-20200315
+202002ea
 793f8023
 704befff
-2020028f
+20200264
 5fffffff
 60024c00
-202002e0
+202002b5
 58000000
 60024ba9
 20600000
 c6918000
-20400238
-24340229
+2040020d
+243401fe
 704c150a
-20400253
+20400228
 6800cbef
 c1ff8000
-204002b1
+20400286
 6800cd46
 247a0000
-20400116
+204000f0
 24740000
 68008b7f
 247a0000
@@ -551,7 +508,7 @@
 20407e8a
 600a41fc
 20203cda
-20400116
+204000f0
 24740000
 68008b7f
 247a0000
@@ -561,34 +518,34 @@
 6800c131
 207a0000
 6800cc15
-243a0225
+243a01fa
 68044d3d
 20407e8a
 600a41fc
 20203cda
 6800cbef
-c0ff82e9
-2040023e
-20400379
+c0ff82be
+20400213
+2040034e
 704be601
 20600000
 78547c00
 704be202
 68008cd5
-c0008247
-c001024b
-c001824f
+c000821c
+c0010220
+c0018224
 6800cd46
 245a34df
 20600000
 58000000
 60008cd5
 704be10a
-20200251
+20200226
 58000003
 60008cd5
 704be104
-20200251
+20200226
 704be201
 704be108
 704be700
@@ -596,17 +553,17 @@
 704be800
 d9600d00
 34730200
-2040027e
-24378264
-20400292
-204002a3
+20400253
+24378239
+20400267
+20400278
 6800cbe0
 1fe0fe01
 6000cbe0
 704d4600
 6800cbef
-c0ff827c
-20400276
+c0ff8251
+2040024b
 704be700
 704be600
 20600000
@@ -615,52 +572,52 @@
 1fe0fe01
 6000cbe7
 6800cbef
-c0ff828e
+c0ff8263
 6800cbe7
-c07f828f
+c07f8264
 6800cbe7
 d8400010
 98467c00
-20210393
+20210368
 6800cbe8
 1fe0fe01
 6000cbe8
 2000000a
-c0838254
-20200393
+c0838229
+20200368
 58000000
 60048cd5
 20600000
 c591f2b9
 68040cd5
 20600000
-204002a0
-20200305
+20400275
+202002da
 7857fc00
-204003f1
+204003c6
 6800cc0a
-c000828b
+c0008260
 18002a00
 68024c00
 98001200
 68088017
 20403a82
 20403a87
-204003ab
-205783e9
+20400380
+205783be
 20600000
 700cb400
 7837fc00
-202003e9
+202003be
 20600000
 704d4600
 700b7d32
 20207c27
-2040033b
+20400310
 6800cbdf
 207a0000
 98007200
-2040029a
+2040026f
 d8c00cb5
 d8a00d17
 20207e45
@@ -679,7 +636,7 @@
 20600000
 6800cc27
 1fe67c01
-244102af
+24410284
 6800cc27
 c1000000
 1fe0ffff
@@ -688,18 +645,18 @@
 704c2702
 20600000
 da204c2b
-2040035b
+20400330
 6008cc29
 280ffe23
-204082bf
-244082c3
+20408294
+24408298
 98467c00
-242102d7
+242102ac
 6800cc27
 1fe67c01
-242102c7
+2421029c
 6800cc27
-c00002d7
+c00002ac
 20600000
 58000082
 20600000
@@ -714,49 +671,49 @@
 704c2700
 6808cc29
 280ffe23
-204082c1
-244082c5
+20408296
+2440829a
 98467c00
 24610000
 6800cc28
-c00002de
+c00002b3
 1fe0ffff
 6000cc28
-c00002de
+c00002b3
 704c3d00
 20600000
 6800cc28
-c00102dc
+c00102b1
 1fe0fe01
 6000cc28
-c00082d5
+c00082aa
 704c3d02
 20600000
 704c3d04
 20600000
 79200023
-204002e5
-20400260
+204002ba
+20400235
 704bef01
 20600000
 704be000
 704be94e
 68024beb
-2020036b
-204002e5
+20200340
+204002ba
 6800cbe6
 c000b4df
 6800cbef
-c00082f1
-c00102f4
-c00182f7
+c00082c6
+c00102c9
+c00182cc
 20203bf1
 704bef11
 700d37aa
-202002f9
+202002ce
 704bef12
 700d3755
-202002f9
+202002ce
 704bef13
 700d3722
 6800cbe2
@@ -767,41 +724,41 @@
 700d3d00
 da200d37
 d8400007
-20400336
-20400379
-2040023c
+2040030b
+2040034e
+20400211
 202034df
 6800cbef
 c17f8000
-c008830b
-c009030d
-c009830f
+c00882e0
+c00902e2
+c00982e4
 20600000
 704bef02
-20200260
+20200235
 704bef03
-20200260
+20200235
 704befff
 700b7d31
 20407c27
 68020d19
-2040036b
-20200260
+20400340
+20200235
 c6118000
-2040036c
-20400393
+20400341
+20400368
 6800cbef
 c1ff8000
-20400328
+204002fd
 58000000
 60014c04
 20403cab
 200007d0
 6800cc04
-c07f828f
-2040027e
-24378331
-20400276
+c07f8264
+20400253
+24378306
+2040024b
 704c1303
 79200023
 700b7d3c
@@ -813,13 +770,13 @@
 60020d39
 d8400006
 da200d37
-20400336
-20200379
+2040030b
+2020034e
 68014c04
 1fe0fe01
 60014c04
-20400393
-2020031d
+20400368
+202002f2
 6008cbe1
 18427200
 d8a00cd5
@@ -847,7 +804,7 @@
 207a0000
 6808cc3b
 da204c33
-20400354
+20400329
 6008cc3b
 20600000
 1a227e00
@@ -862,7 +819,7 @@
 1a220c00
 e8c08000
 98408400
-c200035e
+c2000333
 18490400
 1fe20400
 c6918000
@@ -879,7 +836,7 @@
 d8c04c00
 e8c08000
 9a20a200
-c200036f
+c2000344
 1a227e00
 60014c16
 6800cc16
@@ -902,19 +859,19 @@
 9840fe00
 e0a08000
 6800cbef
-c0ff838b
+c0ff8360
 6800cbe2
 e0a08000
 6800cbe1
 98007200
 6800cbe2
-c0008391
+c0008366
 d8c00cd5
 20207e45
 d8c00cd6
 20207e45
 6808cbea
-20400399
+2040036e
 18408401
 18410403
 6008cbea
@@ -937,7 +894,7 @@
 79200401
 18431c00
 20600000
-204003a2
+20400377
 7826fc00
 7830fc00
 78507c00
@@ -945,7 +902,7 @@
 68014be4
 98003600
 37c18400
-242c03ec
+242c03c1
 7846fc00
 7825fc00
 7823fc00
@@ -955,27 +912,27 @@
 6000cc19
 6808cc18
 98467c00
-242283e9
+242283be
 09800008
 19897e00
 60008cb3
 6800cc10
 1fe67c02
-202283c8
+2022839d
 68008cb3
 6808cbe2
 a8400e00
-242083e9
+242083be
 09800008
 19897e00
 e0a08000
 1fe97e00
 1fe1721f
-202283d2
+202283a7
 09800008
 19897e00
 e0a08000
-c20003ce
+c20003a3
 18a22200
 09800008
 19897e00
@@ -988,7 +945,7 @@
 1ff17e00
 e0a18000
 7845fc00
-202303e9
+202303be
 7837fc00
 68008017
 1fe0a200
@@ -997,21 +954,21 @@
 20403a7a
 6800cc2a
 1fe22200
-20400344
+20400319
 20600000
 784dfc00
 7845fc00
 2020375c
-2040034d
-202003e9
+20400322
+202003be
 20403a7a
 6808cbe9
 20203a91
 204053d2
 68024c00
 98001200
-204003a2
-204003ee
+20400377
+204003c3
 79202a00
 782efc00
 78307c00
@@ -1031,7 +988,7 @@
 d8c00cf5
 e8c08000
 08008608
-c2000407
+c20003dc
 78247c00
 08008618
 78447c00
Index: output/sched.rom
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/output/sched.rom	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/output/sched.rom	(working copy)
@@ -1,390 +1,207 @@
+0016:27
+
+00a2:00
+00a3:00 00 00 00 00 00 00 00
+07dc:00
+07dd:00
+0d37:00 00 00 00 00 00 00 00 00 00
 4000:
-29   #mem_patch00
-00   #mem_patch01
-00   #mem_patch02
-00   #mem_patch03
-00   #mem_patch04
-00   #mem_patch05
-00   #mem_patch06
-00   #mem_patch07
-00   #mem_patch08
-00   #mem_patch09
-00   #mem_patch0A
-00   #mem_patch0B
-00   #mem_patch0C
-00   #mem_patch0D
-00   #mem_patch0E
-00   #mem_patch0F
-00   #mem_patch10
-00   #mem_patch11
-35   #mem_patch12
-00   #mem_patch13
-00   #mem_patch14
-00   #mem_patch15
-4f   #mem_patch16
-02   #mem_patch17
-00   #mem_patch18
-00   #mem_patch19
-00   #mem_patch1A
-00   #mem_patch1B
-00   #mem_patch1C
-00   #mem_patch1D
-00   #mem_patch1E
-00   #mem_patch1F
-00   #mem_patch20
-00   #mem_patch21
-00   #mem_patch22
-00   #mem_patch23
-00   #mem_patch24
-00   #mem_patch25
-00   #mem_patch26
-c0   #mem_patch27
-00   #mem_patch28
-00   #mem_patch29
-00   #mem_patch2A
-00   #mem_patch2B
-00   #mem_patch2C
-00  #mem_patch2D
-00   #mem_patch2E
-00   #mem_patch2F
-80   #mem_patch30
-a0   #mem_patch31
-00   #mem_patch32
-00   #mem_patch33
-00   #mem_patch34
-00   #mem_patch35
-00   #mem_patch36
-00   #mem_patch37
-00   #mem_patch38
-20   #mem_patch39
-01   #mem_patch3A
-00   #mem_patch3B
-00   #mem_patch3C
-00   #mem_patch3D
-00   #mem_patch3E
-00   #mem_patch3F
+29   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+35   
+00   
+00   
+00   
+4f   
+02   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+c0   
+00   
+00   
+00   
+00   
+00   
+00  
+00   
+00   
+80   
+a0   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+20   
+01   
+00   
+00   
+00   
+00   
+00   
 
 4131:01
-4213:40
-4214:03
-41f7:0a
-41f5:10 00
-4133:00
-4cb1:00 00
-
-414a: 40 25 00
-
-4140:36 08 c2 08 66 22    
-4702:
-'BT3.0 Keyboard
-4280:0e 00
-4282:01
-4284:01
-4747:0a
-47dc:00
-47f6:01
-
-4172:01
-
-475b:
-06
-03#Type: Complete list of 16-bit UUIDs
-1100 0001 0210 2411  0012  0100
-
-4771:00
-
-#keyboard uuid
-4811:
-#uuids
-04 0011 0100 1002 1124
-
-#handle
-00010000
-
-#total length
-3601b6
-
-#attribute start, first 4 digit is attribute ID
-090000 0a 00010000
-090001 3503 191124
-090004 350d 3506 190100 090011 3503 190011
-090005 3503 191002
-090006 3509 09656e 09006a 090100
-090009 3508 3506 191124 090100
-09000d 350f 350d 3506 190100 090013 3503 190011
-
-#Service Name
-#090100 2517
-#'Apple Wireless Keyboard
-#41 70 70 6c 65 20 57 69 72 65 6c 65 73 73 20 4b 65 79 62 6f 61 72 64
-#Service Name
-090100 253d
-#'Broadcom Bluetooth Wireless  Keyboard                        
-4272 6f61 6463 6f6d 2042 6c75 6574 6f6f 7468 2057 6972 656c 6573 7320 204b 6579 626f 6172 6420 
-2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 20
-
-#Service Description
-090101 2508
-#'Keyboard
-4b6579626f617264
-
-#Provider Name
-#090102 250a
-#'Apple Inc.
-#41 70 70 6c 65 20 49 6e 63 2e
-#Provider Name
-090102 2510
-#'Broadcom Corp.  
-4272 6f61 6463 6f6d 2043 6f72 702e 2020
-
-090200 090100
-090201 090111
-090202 0840
-090203 0821
-090204 2801
-090205 2801
-090206 35a5 35a3 0822 259f
-
-# hid descriptor
-0501 # Usage Page(Generic Desktop)
-0906 # Usage(Keyboard)
-a101 # Collection(Application)
-8501 # Report ID(1)
-7501 # Report Size(1)
-9508 # Report Count(8)
-0507 # Usage Page(Keyboard/Keypad)
-19e0 # Usage Minimum(224)
-29e7 # Usage Maximum(231)
-1500 # Logical Minimum(0)
-2501 # Logical Maximum(1)
-8102 # Input(Data Variable Absolute) ; Modifier byte
-9501 # Report Count(1)
-7508 # Report Size(8)
-8103 # Input(Constant Variable Absolute) ; 
-9505 # Report Count(5)
-7501 # Report Size(1)
-0508 # Usage Page(LEDs)
-1901 # Usage Minimum(1)
-2905 # Usage Maximum(5)
-9102 # Output(Data Variable Absolute) ; LED report
-9501 # Report Count(1)
-7503 # Report Size(3)
-9103 # Output(Constant Variable Absolute) ; 
-9506 # Report Count(6)
-7508 # Report Size(8)
-1500 # Logical Minimum(0)
-25ff # Logical Maximum(255)
-0507 # Usage Page(Keyboard/Keypad)
-1900 # Usage Minimum(0)
-29ff # Usage Maximum(255)
-8100 # Input(Data Array) ; Key arrarys 6 bytes
-c0 # End Collection
-
-05 0c  		
-09 01  		
-a1 01	
-85 02			
-19 00  		
-2a ff 03 
-15 00 
-26 ff 03		
-95 01  		
-75 10  			
-81 00  		
-c0
-
-#29
-#05 01
-#09 80
-#A1 01
-#85 03
-#15 00
-#25 01
-#75 01
-#95 03
-#19 81
-#29 83
-#81 02
-#95 01
-#75 05
-#81 03
-#C0
-
-#69
-05 01 # Usage Page(Generic Desktop)
-09 02 # Usage(Mouse)
-a1 01 # Collection(Application)
-85 03 # Report ID(3)
-09 01 # Usage(Pointer)
-a1 00 # Collection(Physical)
-05 09 # Usage Page(Buttons)
-19 01 # Usage Minimum(1)
-29 08 # Usage Maximum(8)
-15 00 # Logical Minimum(0)
-25 01 # Logical Maximum(1)
-75 01 # Report Size(1)
-95 08 # Report Count(8)
-81 02 # Input(Data Variable Absolute)
-05 01 # Usage Page(Generic Desktop)
-09 30 # Usage(X)
-09 31 # Usage(Y)
-16 01 80  #Logical Minimum (-32767)
-26 FF 7F #Logical Maximum (32767) 
-75 10 # Report Size(16)
-95 02 # Report Count(2)
-81 06 # Input(Data Variable Relative)
-09 38 # Usage(Wheel)
-15 81 # Logical Minimum(-127)
-25 7f # Logical Maximum(127)
-75 08 # Report Size(8)
-95 01 # Report Count(1)
-81 06 # Input(Data Variable Relative)
-
-05 0c  #USAGE_PAGE(Consumer Devices)
-0a 38 02
-95 01   #REPORT_COUNT (1)	
-81 06  #INPUT (Data,Var,Rel)
-
-c0 # End Collection
-c0 # End Collection
-
-090207 3508 3506 090409 090100
-09020b 090100
-09020c 090c80
-09020d 2800
-09020e 2801
-09020f 090318
-090210 090000
-#attribute end
-
-#uuids for pnpInformation	
-03 1002 1200 0001
-
-#handle
-00010001
-
-#total length 90 bytes
-3600a1
-
-#attribute list
-090000 0a00010001
-090001 3503 191200
-090004 350d 3506 190100 090001 3503 190001
-090006 3509 09656e 09006a 090100
-090009 3508 3506 191200 090100
-090100 252f42726f6164636f6d20426c7565746f6f746820576972656c657373204b6579626f61726420506e5020536572766572
-090101 25084b6579626f617264
-090200 090103
-090201# VendorID
-090a5c
-090202#ProductID
-098502
-090203 090001
-090204 2801
-090205 090002
-
-#attribute end
-00
-
-#Auto reconnection after power on
-
-4759:11 48
-#Auto reconnection after power on
-4132:43
-41fb:0
+43
 4138:
 ff
 ff
 8f
-f8	#fe--EDR  F8--BR
-83	#AFHclose 83
+f8	
+83	
 9d
 59
 82
 
-#bluetootch param init
-07dc:00
-00a2:00
-07dd:00
-0016:27
 
-47fd:ff
-47f7:ff
+36 08 c2 08 66 22    
+414a: 40 25 00
+
+12 00
+00 02
+12 00
+00 02
+00 00 
+20 00
+00 20
+20 00
+02
+24
+80 03
+00 06
+70 4f
 
 416e:80
 
 
-4ba2:02 01
+00 00 00 
+01
+
+41f5:10 00
+0a
+4213:40
+03
+00 00 00 00 
+00 0a 0b ef 0f
+4280:0e 00
+01
+00 
+01
+429b:30 3f
+42aa:20
 
+43d9:1f
 
-4c91:9f 3e
-4c93:cd 4d
-4c8f:04    #01 VINLPM      #02 HVIN      #04 GPIO
+
+02 01 05 03 19 c1 03 03 03 12 18
+'\09BT4.2 Keyboard
+
+43f9:1f
+
+'\09BT4.2 Keyboard
+
+4419:
+'BT4.2 Keyboard
+
+44c2:14
+44dd:01
+
+44e4:07 
+44f9:11 46 34 54 77 dd
 
 
-#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
 4504:
 
-#Primary service: GATT
+
 01 00 00 28 02 01 18
-#Characteristic: Service changed
+
 02 00 03 28 01 20
 03 00 05 2a 01 00
-#Client Characteristic Configuration
+
 04 00 02 29 02 00 00
 
-#Primary Service: GAP
+
 05 00 00 28 02 00 18 
-#Characteristic: Device Name
+
 06 00 03 28 01 02 
 07 00 00 2a 
 'BT4.2 Keyboard
 
-#Characteristic: Appearance
+
 08 00 03 28 01 02 
 09 00 01 2a 02 c1 03 
-#Characteristic: Peripheral Preferred Connection Parameters
+
 0a 00 03 28 01 02
-0b 00 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+0b 00 04 2a 08 06 00 06 00 64 00 2c 01 
+
 
-#Primary Service: Device Information
 0c 00 00 28 02 0a 18 
-#Characteristic: pnp id
+
 0d 00 03 28 01 02
-0e 00 50 2a 07 02 8a 24 66 82 01 00
+0e 00 50 2a 07 02 e8 04 21 70 01 00		
+
 
-#Primary service: HID
 0f 00 00 28 02 12 18
-#Characteristic:Protocol mode
+
 10 00 03 28 01 06
 11 00 4e 2a 01 01
-#Characteristic: hid report
+
 12 00 03 28 01 12   
-13 00 4d 2a 08 00 00 00 00 00 00 00 00	#hid report	led handle write
+13 00 4d 2a 08 00 00 00 00 00 00 00 00	
 14 00 02 29 02 00 00	
-15 00 08 29 02 01 01	#Report ID: 1	Report Type: Input
-#Characteristic:hid report
+15 00 08 29 02 01 01	
+
 16 00 03 28 01 12   
-17 00 4d 2a 02 00 00 	#hid report	led handle write
+17 00 4d 2a 02 00 00 	
 18 00 02 29 02 00 00	
-19 00 08 29 02 02 01	#Report ID: 2	Report Type: Input
+19 00 08 29 02 02 01	
+
 
-#Characteristic:hid report
 1a 00 03 28 01 12  
 1b 00 4d 2a 05 00 00 00 00 00
 1c 00 02 29 02 00 00
-1d 00 08 29 02 03 01	#Report ID: 3	Report Type: Input
+1d 00 08 29 02 03 01	
+
 
-#Characteristic:hid report
 1e 00 03 28 01 0e   
-1f 00 4d 2a 02 00	00	#hid report	led handle write
+1f 00 4d 2a 02 00	00	
 20 00 02 29 02 00 00	
-21 00 08 29 02 01 02	#Report ID: 1	Report Type: Output
+21 00 08 29 02 01 02	
+
 
-#Characteristic:Report map
 22 00 03 28 01 0a
 23 00 4b 2a a0
-#66
+
 05 01
 09 06
 a1 01
@@ -419,7 +236,7 @@
 81 00
 c0 
 
-#25
+
 05 0c  		
 09 01  		
 a1 01	
@@ -433,157 +250,356 @@
 81 00  		
 c0
 
-#29
-#05 01
-#09 80
-#A1 01
-#85 03
-#15 00
-#25 01
-#75 01
-#95 03
-#19 81
-#29 83
-#81 02
-#95 01
-#75 05
-#81 03
-#C0
-
-#60
-05 01 # Usage Page(Generic Desktop)
-09 02 # Usage(Mouse)
-a1 01 # Collection(Application)
-85 03 # Report ID(3)
-09 01 # Usage(Pointer)
-a1 00 # Collection(Physical)
-05 09 # Usage Page(Buttons)
-19 01 # Usage Minimum(1)
-29 08 # Usage Maximum(8)
-15 00 # Logical Minimum(0)
-25 01 # Logical Maximum(1)
-75 01 # Report Size(1)
-95 08 # Report Count(8)
-81 02 # Input(Data Variable Absolute)
-05 01 # Usage Page(Generic Desktop)
-09 30 # Usage(X)
-09 31 # Usage(Y)
-16 01 80  #Logical Minimum (-32767)
-26 FF 7F #Logical Maximum (32767) 
-75 10 # Report Size(16)
-95 02 # Report Count(2)
-81 06 # Input(Data Variable Relative)
-09 38 # Usage(Wheel)
-15 81 # Logical Minimum(-127)
-25 7f # Logical Maximum(127)
-75 08 # Report Size(8)
-95 01 # Report Count(1)
-81 06 # Input(Data Variable Relative)
 
-05 0c  #USAGE_PAGE(Consumer Devices)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+05 01 
+09 02 
+a1 01 
+85 03 
+09 01 
+a1 00 
+05 09 
+19 01 
+29 08 
+15 00 
+25 01 
+75 01 
+95 08 
+81 02 
+05 01 
+09 30 
+09 31 
+16 01 80  
+26 FF 7F 
+75 10 
+95 02 
+81 06 
+09 38 
+15 81 
+25 7f 
+75 08 
+95 01 
+81 06 
+
+05 0c  
 0a 38 02
-95 01   #REPORT_COUNT (1)	
-81 06  #INPUT (Data,Var,Rel)
+95 01   
+81 06  
+
+c0 
+c0 
 
-c0 # End Collection
-c0 # End Collection
 
-#Characteristic:Hid information
 24 00 03 28 01 02
 25 00 4a 2a 04 11 01 00 01        
-#Characteristic
+
 26 00 03 28 01 04
 27 00 4c 2a 01 00
 
-#Primary Service: BAS
+
 28 00 00 28 02 0f 18 
-#Characteristic: Battery Level
+
 29 00 03 28 01 12 
 2a 00 19 2a 01 64 
-#Client Characteristic Configuration
+
 2b 00 02 29 02 00 00 
-#End of Attribute list
+
 00 00
 
 
-4c6a:17
 46f9:50
-44c2:14
-44f9:11 46 34 54 77 dd
+4702:
+'BT3.0 Keyboard
+4747:0a
+4759:11 48
 
 
-4c7e:00
-4cb8:13 00
-4cba:17 00
-4cbc:1b 00
-4c60:50
+06
+03
+1100 0001 0210 2411  0012  0100
 
-4c6c:
-0c 00 #Length
-05 00 #CID
-12 b4 
-08 00 
-10 00 #min interval
-10 00 #max interval
-00 00 #latency
-2c 01 #timeout
+47f6:01
+
+ff
+
+47fd:ff
+4811:
+
+04 0011 0100 1002 1124
+
+
+00010000
+
+
+3601b6
+
+
+090000 0a 00010000
+090001 3503 191124
+090004 350d 3506 190100 090011 3503 190011
+090005 3503 191002
+090006 3509 09656e 09006a 090100
+090009 3508 3506 191124 090100
+09000d 350f 350d 3506 190100 090013 3503 190011
+
+
+
+
+
+
+090100 253d
+
+4272 6f61 6463 6f6d 2042 6c75 6574 6f6f 7468 2057 6972 656c 6573 7320 204b 6579 626f 6172 6420 
+2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 20
+
+
+090101 2508
+
+4b6579626f617264
 
-4419:
-'BT4.2 Keyboard
 
-44e4:07 
-44dd:01
-#mem_le_adv_interval_max:00 01
-43d9:1f
-43da:
-#02 01 05 05 02 12 18 0f 18 03 19 c1 03
-02 01 05 03 19 c1 03 03 03 12 18
-'\09BT4.2 Keyboard
 
-43f9:1f
-43fa:
-'\09BT4.2 Keyboard
 
 
-#24g init
-4c10:01#tx
-4be2:02        #mouse 1,kb 2
-4c0f:4#max tx retry
-4c0a:00#with ack
-4be4:c0 12     #400us 
-4bf0:00 13 2c 42
-4bf4:06 15 36 48
-4bf8:0f 1a 3a 4c
-4bfc:11 23 31 4d
-4bef:ff
+
+090102 2510
+
+4272 6f61 6463 6f6d 2043 6f72 702e 2020
+
+090200 090100
+090201 090111
+090202 0840
+090203 0821
+090204 2801
+090205 2801
+090206 35a5 35a3 0822 259f
+
+
+0501 
+0906 
+a101 
+8501 
+7501 
+9508 
+0507 
+19e0 
+29e7 
+1500 
+2501 
+8102 
+9501 
+7508 
+8103 
+9505 
+7501 
+0508 
+1901 
+2905 
+9102 
+9501 
+7503 
+9103 
+9506 
+7508 
+1500 
+25ff 
+0507 
+1900 
+29ff 
+8100 
+c0 
+
+05 0c  		
+09 01  		
+a1 01	
+85 02			
+19 00  		
+2a ff 03 
+15 00 
+26 ff 03		
+95 01  		
+75 10  			
+81 00  		
+c0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+05 01 
+09 02 
+a1 01 
+85 03 
+09 01 
+a1 00 
+05 09 
+19 01 
+29 08 
+15 00 
+25 01 
+75 01 
+95 08 
+81 02 
+05 01 
+09 30 
+09 31 
+16 01 80  
+26 FF 7F 
+75 10 
+95 02 
+81 06 
+09 38 
+15 81 
+25 7f 
+75 08 
+95 01 
+81 06 
+
+05 0c  
+0a 38 02
+95 01   
+81 06  
+
+c0 
+c0 
+
+090207 3508 3506 090409 090100
+09020b 090100
+09020c 090c80
+09020d 2800
+09020e 2801
+09020f 090318
+090210 090000
+
+
+
+03 1002 1200 0001
+
+
+00010001
+
+
+3600a1
+
+
+090000 0a00010001
+090001 3503 191200
+090004 350d 3506 190100 090001 3503 190001
+090006 3509 09656e 09006a 090100
+090009 3508 3506 191200 090100
+090100 252f42726f6164636f6d20426c7565746f6f746820576972656c657373204b6579626f61726420506e5020536572766572
+090101 25084b6579626f617264
+090200 090103
+090201
+0904e8
+090202
+097021
+090203 090001
+090204 2801
+090205 090002
+
+
+00
+
+
+
+
+55 d0
+56 c0
+57 4c
+58 6c
+59 50
+
+
+55 d0
+56 c0
+57 4c
+58 6c
+59 50
+
+4ba2:02 01
+
+
+
+
+
+4be2:02        
+00 
+c0 12     
 4beb:20 15 10 05
-0d37:00 00 00 00 00 00 00 00 00 00
-4d3d:00 48 5d 00 00 00 00 00#10 minmem_lpm_config:8f 10 ce
-4219:00 0a 0b ef 0f
-41f8:00
-00a3:00 00 00 00 00 00 00 00
-415d:02
-415e:24
-414d:12 00
-414f:00 02
-4151:12 00
-4153:00 02
-415b:20 00
-4157:20 00
-4159:00 20
-415f:80 03
-4161:00 06
-4c98:00 13
+ff
+00 13 2c 42
+06 15 36 48
+0f 1a 3a 4c
+11 23 31 4d
+4c0f:4
+00 
+01
+4c60:50
+
+4c6a:17
+00 
+
+0c 00 
+05 00 
+12 b4 
+08 00 
+10 00 
+10 00 
+00 00 
+2c 01 
+
+4c8f:04    
+
+
+00 
+9f 3e
+cd 4d
+00 00 00 
+00 13
+
+4cb8:13 00
+17 00
+1b 00
+4d3d:00 48 5d 00 00 00 00 00
+4d4c:20 20 06 12		
 
-429b:30 3f
-42aa:20
-#pointers to tail space of mem_le_att_list
 4f70:
-07 ff #2M_IF
+07 ff 
 0a fb
 0b ff 
 
-#agc table
+
 1a fb
 1b fb
 1c fb
@@ -636,33 +652,16 @@
 4e ec
 4f 5e
 
-# tx power
+
 55 d0
 56 c0
 57 4c
 58 6c
 59 50
 
-#dpll
+
 68 e4
 69 00
 6a 00
 6b 30
 ff
-4163:70 4f
-
-46ee:
-4a91:
-55 d0
-56 c0
-57 4c
-58 6c
-59 50
-
-4a87:
-55 d0
-56 c0
-57 4c
-58 6c
-59 50
-
Index: patch/adc.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: patch/bluetooth.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: patch/global_variable.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: patch/kb.dat
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/patch/kb.dat	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/patch/kb.dat	(working copy)
@@ -276,9 +276,9 @@
 090101 25084b6579626f617264
 090200 090103
 090201# VendorID
-090a5c
+0904e8
 090202#ProductID
-098502
+097021
 090203 090001
 090204 2801
 090205 090002
@@ -317,9 +317,6 @@
 mem_ipc_tx_evt_buff:02 01
 
 
-mem_adc_0v:9f 3e
-mem_adc_3v:cd 4d
-mem_adc_config_flag:04    #01 VINLPM      #02 HVIN      #04 GPIO
 
 
 #attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
@@ -351,7 +348,7 @@
 0c 00 00 28 02 0a 18 
 #Characteristic: pnp id
 0d 00 03 28 01 02
-0e 00 50 2a 07 02 8a 24 66 82 01 00
+0e 00 50 2a 07 02 e8 04 21 70 01 00		# SAMSUNG soft keyboard,setup shortcuts
 
 #Primary service: HID
 0f 00 00 28 02 12 18
@@ -544,6 +541,11 @@
 mem_le_scan_data:
 '\09BT4.2 Keyboard
 
+mem_version_yy_mm_dd:20 20 06 12		#version data 20200612
+
+mem_adc_0v:9f 3e
+mem_adc_3v:cd 4d
+mem_adc_config_flag:04    #01 VINLPM      #02 HVIN      #04 GPIO
 
 #24g init
 mem_24g_mode:01#tx
Index: patch/kb_process.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: patch/keyboard.format
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/patch/keyboard.format	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/patch/keyboard.format	(working copy)
@@ -167,7 +167,7 @@
 1 mem_mouse_retry_flag
 1 mem_adc_pu_bit
 4 mem_ui_timer_last_btclk_temp
-3 mem_version_yy_mm_dd
+4 mem_version_yy_mm_dd
 )
 
 //C51 synchronous task
Index: patch/keyscan.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: patch/led.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: patch/ram.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: patch/ramcode.rom
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/patch/ramcode.rom	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/patch/ramcode.rom	(working copy)
@@ -1,71 +1,69 @@
 c512800f
 c0000017
-c001801d
-c0028020
-c0480172
-c049013c
-c04a0142
-c04a812c
-c05800ee
-c05880f0
-c0590104
-c059811e
-c05b0127
-c05c80f8
+c001801b
+c002801e
+c048014c
+c0490116
+c04a011c
+c04a8106
+c05800c8
+c05880ca
+c05900de
+c05980f8
+c05b0101
+c05c80d2
 20203bf1
-c01f01ea
-c01f81ee
-c04380a9
-c04681fc
-c04781f2
-c066817f
-c06800b4
+c01f01bf
+c01f81c3
+c04380a7
+c04681d1
+c04781c7
+c0668156
+c06800b2
 20203bf1
 6810813b
 60008b81
-58280520
-6001cd4c
 70800608
 20203003
-20400044
-20400025
+20400042
+20400023
 20203015
 20403392
 20403407
 20403024
-20400212
+204001e7
 20203022
-204000a4
+204000a2
 20740000
 1ff0fe00
 1fe20c00
-20400085
+20400083
 6000cba7
-c0008038
-c0030042
+c0008036
+c0030040
 1fe20400
 18c22200
 6800c040
-c3000035
+c3000033
 1a220c00
 c6848000
 18427e00
 20600000
 1a220c00
 d8a000f8
-2020007d
-20400085
-20400085
+2020007b
+20400083
+20400083
 60008b7d
-2040003d
+2040003b
 20207c33
-20400088
+20400086
 18c20400
 18508400
 60094b9a
 20600000
 d8a00cd5
-2020007d
+2020007b
 680a4c59
 1c427e00
 98467e00
@@ -85,18 +83,18 @@
 1fe17e03
 c1800000
 6800cc8f
-c2800061
-c2808063
+c280005f
+c2808061
 da200000
-20400074
+20400072
 7089718f
 6800cc90
 60108973
-20400064
+20400062
 da200001
-20200074
+20200072
 708971bf
-20200064
+20200062
 708971af
 68108053
 79207e07
@@ -119,19 +117,19 @@
 98460400
 1a227e00
 79200407
-243a007b
+243a0079
 793f8407
 d8a08078
 202069f4
-20400085
+20400083
 1fe27200
-20400081
-2020003d
-20400085
+2040007f
+2020003b
+20400083
 e0a08000
-c2000081
+c200007f
 20600000
-20400088
+20400086
 e8c08000
 20600000
 58004b36
@@ -148,8 +146,8 @@
 1a220c00
 e8c08000
 e0a08000
-2040009c
-c2000094
+2040009a
+c2000092
 18a27e00
 1ff0fe00
 60014ba0
@@ -161,7 +159,7 @@
 20600000
 68014b9e
 68094ba0
-202000a6
+202000a4
 68014b9a
 68094b9c
 98467c00
@@ -172,7 +170,7 @@
 6808c7ef
 6800cd4b
 98467c00
-244100b0
+244100ae
 20207c06
 680a4d48
 600a47ec
@@ -186,29 +184,8 @@
 207a0000
 1fe0ffff
 60008259
-204000d3
-204000bf
-202000b8
-6800ccbe
-247a0000
-6800cc9a
-207a0000
-1fe0ffff
-6000cc9a
-c1808000
-704c9a64
-680147f4
-c4028000
-68014c9b
-207a0000
-2040527e
-247a0000
-68014c9b
-1fe22200
-20404b2c
-1a20f202
-d8c04c9d
-20207e45
+204000bc
+202000b6
 6800cc15
 207a0000
 1fe0ffff
@@ -217,25 +194,10 @@
 1a627e00
 1fe17ef0
 c1280000
-204000e0
 1a627e00
 207a0000
 6000cba4
-2020008d
-1a627e00
-c00580e4
-c00100ec
-20600000
-704c9a28
-5800000a
-60014c9b
-680142b7
-e0a10000
-580001a1
-e0a10000
-20600000
-704c9a00
-20600000
+2020008b
 20403b36
 20203cdc
 70416e7f
@@ -276,32 +238,32 @@
 6800c793
 207a0000
 20203d25
-204000a4
+204000a2
 24740000
-204000a1
+2040009f
 24740000
 700b7f01
 700b7e01
-20400123
-202000a4
-20400116
+204000fd
+202000a2
+204000f0
 24740000
 68008b7f
 247a0000
 20203d2d
 68008b7e
 2000000a
-c0800123
+c08000fd
 20600000
-20400116
+204000f0
 24740000
 68008b7f
 247a0000
 20203d4f
-2040012e
+20400108
 20203aaf
 6800c219
-243a0134
+243a010e
 20403d91
 20007530
 20007530
@@ -320,7 +282,7 @@
 60088017
 1840a200
 20203ab6
-2040013f
+20400119
 58000500
 20403bf3
 70890601
@@ -335,13 +297,13 @@
 2000000a
 7089027d
 6800cbef
-c0ff815a
+c0ff8134
 6802ca91
 e0a28000
 e8c28000
 e0a28000
 708956df
-20400161
+2040013b
 708955df
 20600000
 6802ca87
@@ -369,11 +331,8 @@
 708956c0
 20600000
 2030ba6f
-20400169
+20400143
 20203a6f
-2040527c
-247a0000
-20200025
 78347c00
 68120138
 79347e1a
@@ -384,17 +343,15 @@
 700b7e00
 70017706
 20403fa4
-58000175
-6001428e
-5800017e
+58000155
 6001428a
-580000d8
+580000c1
 60014292
-580001f1
+580001c6
 60014290
-58000025
+58000023
 6001428c
-58000178
+5800014f
 60014288
 58004aa0
 1ff0fe00
@@ -406,31 +363,31 @@
 60014b9e
 60014ba0
 6800cc97
-c02d01af
-203581ad
+c02d0184
+20358182
 68014c91
 1ff0fe00
 60014c91
 68014c93
 1ff0fe00
 60014c93
-204001ba
+2040018f
 680402a0
-243a01a7
+243a017c
 68014ad4
 1ff0fe00
-203a01a7
+203a017c
 60014c93
-2040020f
+204001e4
 704ba42f
-2040008d
+2040008b
 704c9700
 70828003
 20600000
 704ba430
-202001a9
+2020017e
 1ce27e00
-203a01f4
+203a01c9
 20405b63
 20404d99
 58000000
@@ -439,7 +396,7 @@
 1c427e00
 60024c59
 704ba433
-202001a9
+2020017e
 2040688a
 580007e2
 da2002a0
@@ -449,8 +406,8 @@
 680402a0
 207a0000
 6800cc8f
-c28001cc
-c28081da
+c28001a1
+c28081af
 680102a0
 1ff0fe00
 60014c91
@@ -497,7 +454,7 @@
 202053d9
 20600000
 700b7e03
-20400123
+204000fd
 704c975a
 20403db8
 68120138
@@ -513,32 +470,32 @@
 20407c24
 18427e00
 207a0000
-c0108207
-c0110209
-c011820c
+c01081dc
+c01101de
+c01181e1
 20207c5a
 704befff
-20200315
+202002ea
 793f8023
 704befff
-2020028f
+20200264
 5fffffff
 60024c00
-202002e0
+202002b5
 58000000
 60024ba9
 20600000
 c6918000
-20400238
-24340229
+2040020d
+243401fe
 704c150a
-20400253
+20400228
 6800cbef
 c1ff8000
-204002b1
+20400286
 6800cd46
 247a0000
-20400116
+204000f0
 24740000
 68008b7f
 247a0000
@@ -551,7 +508,7 @@
 20407e8a
 600a41fc
 20203cda
-20400116
+204000f0
 24740000
 68008b7f
 247a0000
@@ -561,34 +518,34 @@
 6800c131
 207a0000
 6800cc15
-243a0225
+243a01fa
 68044d3d
 20407e8a
 600a41fc
 20203cda
 6800cbef
-c0ff82e9
-2040023e
-20400379
+c0ff82be
+20400213
+2040034e
 704be601
 20600000
 78547c00
 704be202
 68008cd5
-c0008247
-c001024b
-c001824f
+c000821c
+c0010220
+c0018224
 6800cd46
 245a34df
 20600000
 58000000
 60008cd5
 704be10a
-20200251
+20200226
 58000003
 60008cd5
 704be104
-20200251
+20200226
 704be201
 704be108
 704be700
@@ -596,17 +553,17 @@
 704be800
 d9600d00
 34730200
-2040027e
-24378264
-20400292
-204002a3
+20400253
+24378239
+20400267
+20400278
 6800cbe0
 1fe0fe01
 6000cbe0
 704d4600
 6800cbef
-c0ff827c
-20400276
+c0ff8251
+2040024b
 704be700
 704be600
 20600000
@@ -615,52 +572,52 @@
 1fe0fe01
 6000cbe7
 6800cbef
-c0ff828e
+c0ff8263
 6800cbe7
-c07f828f
+c07f8264
 6800cbe7
 d8400010
 98467c00
-20210393
+20210368
 6800cbe8
 1fe0fe01
 6000cbe8
 2000000a
-c0838254
-20200393
+c0838229
+20200368
 58000000
 60048cd5
 20600000
 c591f2b9
 68040cd5
 20600000
-204002a0
-20200305
+20400275
+202002da
 7857fc00
-204003f1
+204003c6
 6800cc0a
-c000828b
+c0008260
 18002a00
 68024c00
 98001200
 68088017
 20403a82
 20403a87
-204003ab
-205783e9
+20400380
+205783be
 20600000
 700cb400
 7837fc00
-202003e9
+202003be
 20600000
 704d4600
 700b7d32
 20207c27
-2040033b
+20400310
 6800cbdf
 207a0000
 98007200
-2040029a
+2040026f
 d8c00cb5
 d8a00d17
 20207e45
@@ -679,7 +636,7 @@
 20600000
 6800cc27
 1fe67c01
-244102af
+24410284
 6800cc27
 c1000000
 1fe0ffff
@@ -688,18 +645,18 @@
 704c2702
 20600000
 da204c2b
-2040035b
+20400330
 6008cc29
 280ffe23
-204082bf
-244082c3
+20408294
+24408298
 98467c00
-242102d7
+242102ac
 6800cc27
 1fe67c01
-242102c7
+2421029c
 6800cc27
-c00002d7
+c00002ac
 20600000
 58000082
 20600000
@@ -714,49 +671,49 @@
 704c2700
 6808cc29
 280ffe23
-204082c1
-244082c5
+20408296
+2440829a
 98467c00
 24610000
 6800cc28
-c00002de
+c00002b3
 1fe0ffff
 6000cc28
-c00002de
+c00002b3
 704c3d00
 20600000
 6800cc28
-c00102dc
+c00102b1
 1fe0fe01
 6000cc28
-c00082d5
+c00082aa
 704c3d02
 20600000
 704c3d04
 20600000
 79200023
-204002e5
-20400260
+204002ba
+20400235
 704bef01
 20600000
 704be000
 704be94e
 68024beb
-2020036b
-204002e5
+20200340
+204002ba
 6800cbe6
 c000b4df
 6800cbef
-c00082f1
-c00102f4
-c00182f7
+c00082c6
+c00102c9
+c00182cc
 20203bf1
 704bef11
 700d37aa
-202002f9
+202002ce
 704bef12
 700d3755
-202002f9
+202002ce
 704bef13
 700d3722
 6800cbe2
@@ -767,41 +724,41 @@
 700d3d00
 da200d37
 d8400007
-20400336
-20400379
-2040023c
+2040030b
+2040034e
+20400211
 202034df
 6800cbef
 c17f8000
-c008830b
-c009030d
-c009830f
+c00882e0
+c00902e2
+c00982e4
 20600000
 704bef02
-20200260
+20200235
 704bef03
-20200260
+20200235
 704befff
 700b7d31
 20407c27
 68020d19
-2040036b
-20200260
+20400340
+20200235
 c6118000
-2040036c
-20400393
+20400341
+20400368
 6800cbef
 c1ff8000
-20400328
+204002fd
 58000000
 60014c04
 20403cab
 200007d0
 6800cc04
-c07f828f
-2040027e
-24378331
-20400276
+c07f8264
+20400253
+24378306
+2040024b
 704c1303
 79200023
 700b7d3c
@@ -813,13 +770,13 @@
 60020d39
 d8400006
 da200d37
-20400336
-20200379
+2040030b
+2020034e
 68014c04
 1fe0fe01
 60014c04
-20400393
-2020031d
+20400368
+202002f2
 6008cbe1
 18427200
 d8a00cd5
@@ -847,7 +804,7 @@
 207a0000
 6808cc3b
 da204c33
-20400354
+20400329
 6008cc3b
 20600000
 1a227e00
@@ -862,7 +819,7 @@
 1a220c00
 e8c08000
 98408400
-c200035e
+c2000333
 18490400
 1fe20400
 c6918000
@@ -879,7 +836,7 @@
 d8c04c00
 e8c08000
 9a20a200
-c200036f
+c2000344
 1a227e00
 60014c16
 6800cc16
@@ -902,19 +859,19 @@
 9840fe00
 e0a08000
 6800cbef
-c0ff838b
+c0ff8360
 6800cbe2
 e0a08000
 6800cbe1
 98007200
 6800cbe2
-c0008391
+c0008366
 d8c00cd5
 20207e45
 d8c00cd6
 20207e45
 6808cbea
-20400399
+2040036e
 18408401
 18410403
 6008cbea
@@ -937,7 +894,7 @@
 79200401
 18431c00
 20600000
-204003a2
+20400377
 7826fc00
 7830fc00
 78507c00
@@ -945,7 +902,7 @@
 68014be4
 98003600
 37c18400
-242c03ec
+242c03c1
 7846fc00
 7825fc00
 7823fc00
@@ -955,27 +912,27 @@
 6000cc19
 6808cc18
 98467c00
-242283e9
+242283be
 09800008
 19897e00
 60008cb3
 6800cc10
 1fe67c02
-202283c8
+2022839d
 68008cb3
 6808cbe2
 a8400e00
-242083e9
+242083be
 09800008
 19897e00
 e0a08000
 1fe97e00
 1fe1721f
-202283d2
+202283a7
 09800008
 19897e00
 e0a08000
-c20003ce
+c20003a3
 18a22200
 09800008
 19897e00
@@ -988,7 +945,7 @@
 1ff17e00
 e0a18000
 7845fc00
-202303e9
+202303be
 7837fc00
 68008017
 1fe0a200
@@ -997,21 +954,21 @@
 20403a7a
 6800cc2a
 1fe22200
-20400344
+20400319
 20600000
 784dfc00
 7845fc00
 2020375c
-2040034d
-202003e9
+20400322
+202003be
 20403a7a
 6808cbe9
 20203a91
 204053d2
 68024c00
 98001200
-204003a2
-204003ee
+20400377
+204003c3
 79202a00
 782efc00
 78307c00
@@ -1031,7 +988,7 @@
 d8c00cf5
 e8c08000
 08008608
-c2000407
+c20003dc
 78247c00
 08008618
 78447c00
Index: patch/sch.rom
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/patch/sch.rom	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/patch/sch.rom	(working copy)
@@ -1,68 +1,68 @@
 mem_patch00:
-29   #mem_patch00
-00   #mem_patch01
-00   #mem_patch02
-00   #mem_patch03
-00   #mem_patch04
-00   #mem_patch05
-00   #mem_patch06
-00   #mem_patch07
-00   #mem_patch08
-00   #mem_patch09
-00   #mem_patch0A
-00   #mem_patch0B
-00   #mem_patch0C
-00   #mem_patch0D
-00   #mem_patch0E
-00   #mem_patch0F
-00   #mem_patch10
-00   #mem_patch11
-35   #mem_patch12
-00   #mem_patch13
-00   #mem_patch14
-00   #mem_patch15
-4f   #mem_patch16
-02   #mem_patch17
-00   #mem_patch18
-00   #mem_patch19
-00   #mem_patch1A
-00   #mem_patch1B
-00   #mem_patch1C
-00   #mem_patch1D
-00   #mem_patch1E
-00   #mem_patch1F
-00   #mem_patch20
-00   #mem_patch21
-00   #mem_patch22
-00   #mem_patch23
-00   #mem_patch24
-00   #mem_patch25
-00   #mem_patch26
-c0   #mem_patch27
-00   #mem_patch28
-00   #mem_patch29
-00   #mem_patch2A
-00   #mem_patch2B
-00   #mem_patch2C
-00  #mem_patch2D
-00   #mem_patch2E
-00   #mem_patch2F
-80   #mem_patch30
-a0   #mem_patch31
-00   #mem_patch32
-00   #mem_patch33
-00   #mem_patch34
-00   #mem_patch35
-00   #mem_patch36
-00   #mem_patch37
-00   #mem_patch38
-20   #mem_patch39
-01   #mem_patch3A
-00   #mem_patch3B
-00   #mem_patch3C
-00   #mem_patch3D
-00   #mem_patch3E
-00   #mem_patch3F
+29   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+35   
+00   
+00   
+00   
+4f   
+02   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+c0   
+00   
+00   
+00   
+00   
+00   
+00  
+00   
+00   
+80   
+a0   
+00   
+00   
+00   
+00   
+00   
+00   
+00   
+20   
+01   
+00   
+00   
+00   
+00   
+00   
 
 mem_lpm_mode:01
 mem_lpm_mult:40
@@ -88,23 +88,23 @@
 
 mem_all_uuid_16bits:
 06
-03#Type: Complete list of 16-bit UUIDs
+03
 1100 0001 0210 2411  0012  0100
 
 mem_all_uuid_128bits:00
 
-#keyboard uuid
+
 mem_kb_uuid_list:
-#uuids
+
 04 0011 0100 1002 1124
 
-#handle
+
 00010000
 
-#total length
+
 3601b6
 
-#attribute start, first 4 digit is attribute ID
+
 090000 0a 00010000
 090001 3503 191124
 090004 350d 3506 190100 090011 3503 190011
@@ -113,28 +113,28 @@
 090009 3508 3506 191124 090100
 09000d 350f 350d 3506 190100 090013 3503 190011
 
-#Service Name
-#090100 2517
-#'Apple Wireless Keyboard
-#41 70 70 6c 65 20 57 69 72 65 6c 65 73 73 20 4b 65 79 62 6f 61 72 64
-#Service Name
+
+
+
+
+
 090100 253d
-#'Broadcom Bluetooth Wireless  Keyboard                        
+
 4272 6f61 6463 6f6d 2042 6c75 6574 6f6f 7468 2057 6972 656c 6573 7320 204b 6579 626f 6172 6420 
 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 20
 
-#Service Description
+
 090101 2508
-#'Keyboard
+
 4b6579626f617264
 
-#Provider Name
-#090102 250a
-#'Apple Inc.
-#41 70 70 6c 65 20 49 6e 63 2e
-#Provider Name
+
+
+
+
+
 090102 2510
-#'Broadcom Corp.  
+
 4272 6f61 6463 6f6d 2043 6f72 702e 2020
 
 090200 090100
@@ -145,40 +145,40 @@
 090205 2801
 090206 35a5 35a3 0822 259f
 
-# hid descriptor
-0501 # Usage Page(Generic Desktop)
-0906 # Usage(Keyboard)
-a101 # Collection(Application)
-8501 # Report ID(1)
-7501 # Report Size(1)
-9508 # Report Count(8)
-0507 # Usage Page(Keyboard/Keypad)
-19e0 # Usage Minimum(224)
-29e7 # Usage Maximum(231)
-1500 # Logical Minimum(0)
-2501 # Logical Maximum(1)
-8102 # Input(Data Variable Absolute) ; Modifier byte
-9501 # Report Count(1)
-7508 # Report Size(8)
-8103 # Input(Constant Variable Absolute) ; 
-9505 # Report Count(5)
-7501 # Report Size(1)
-0508 # Usage Page(LEDs)
-1901 # Usage Minimum(1)
-2905 # Usage Maximum(5)
-9102 # Output(Data Variable Absolute) ; LED report
-9501 # Report Count(1)
-7503 # Report Size(3)
-9103 # Output(Constant Variable Absolute) ; 
-9506 # Report Count(6)
-7508 # Report Size(8)
-1500 # Logical Minimum(0)
-25ff # Logical Maximum(255)
-0507 # Usage Page(Keyboard/Keypad)
-1900 # Usage Minimum(0)
-29ff # Usage Maximum(255)
-8100 # Input(Data Array) ; Key arrarys 6 bytes
-c0 # End Collection
+
+0501 
+0906 
+a101 
+8501 
+7501 
+9508 
+0507 
+19e0 
+29e7 
+1500 
+2501 
+8102 
+9501 
+7508 
+8103 
+9505 
+7501 
+0508 
+1901 
+2905 
+9102 
+9501 
+7503 
+9103 
+9506 
+7508 
+1500 
+25ff 
+0507 
+1900 
+29ff 
+8100 
+c0 
 
 05 0c  		
 09 01  		
@@ -193,60 +193,60 @@
 81 00  		
 c0
 
-#29
-#05 01
-#09 80
-#A1 01
-#85 03
-#15 00
-#25 01
-#75 01
-#95 03
-#19 81
-#29 83
-#81 02
-#95 01
-#75 05
-#81 03
-#C0
-
-#69
-05 01 # Usage Page(Generic Desktop)
-09 02 # Usage(Mouse)
-a1 01 # Collection(Application)
-85 03 # Report ID(3)
-09 01 # Usage(Pointer)
-a1 00 # Collection(Physical)
-05 09 # Usage Page(Buttons)
-19 01 # Usage Minimum(1)
-29 08 # Usage Maximum(8)
-15 00 # Logical Minimum(0)
-25 01 # Logical Maximum(1)
-75 01 # Report Size(1)
-95 08 # Report Count(8)
-81 02 # Input(Data Variable Absolute)
-05 01 # Usage Page(Generic Desktop)
-09 30 # Usage(X)
-09 31 # Usage(Y)
-16 01 80  #Logical Minimum (-32767)
-26 FF 7F #Logical Maximum (32767) 
-75 10 # Report Size(16)
-95 02 # Report Count(2)
-81 06 # Input(Data Variable Relative)
-09 38 # Usage(Wheel)
-15 81 # Logical Minimum(-127)
-25 7f # Logical Maximum(127)
-75 08 # Report Size(8)
-95 01 # Report Count(1)
-81 06 # Input(Data Variable Relative)
 
-05 0c  #USAGE_PAGE(Consumer Devices)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+05 01 
+09 02 
+a1 01 
+85 03 
+09 01 
+a1 00 
+05 09 
+19 01 
+29 08 
+15 00 
+25 01 
+75 01 
+95 08 
+81 02 
+05 01 
+09 30 
+09 31 
+16 01 80  
+26 FF 7F 
+75 10 
+95 02 
+81 06 
+09 38 
+15 81 
+25 7f 
+75 08 
+95 01 
+81 06 
+
+05 0c  
 0a 38 02
-95 01   #REPORT_COUNT (1)	
-81 06  #INPUT (Data,Var,Rel)
+95 01   
+81 06  
 
-c0 # End Collection
-c0 # End Collection
+c0 
+c0 
 
 090207 3508 3506 090409 090100
 09020b 090100
@@ -255,18 +255,18 @@
 09020e 2801
 09020f 090318
 090210 090000
-#attribute end
 
-#uuids for pnpInformation	
+
+
 03 1002 1200 0001
 
-#handle
+
 00010001
 
-#total length 90 bytes
+
 3600a1
 
-#attribute list
+
 090000 0a00010001
 090001 3503 191200
 090004 350d 3506 190100 090001 3503 190001
@@ -275,34 +275,34 @@
 090100 252f42726f6164636f6d20426c7565746f6f746820576972656c657373204b6579626f61726420506e5020536572766572
 090101 25084b6579626f617264
 090200 090103
-090201# VendorID
-090a5c
-090202#ProductID
-098502
+090201
+0904e8
+090202
+097021
 090203 090001
 090204 2801
 090205 090002
 
-#attribute end
+
 00
 
-#Auto reconnection after power on
+
 
 memui_uuid_table:mem_kb_uuid_list
-#Auto reconnection after power on
+
 mem_device_option:43
 mem_ptt:0
 mem_features:
 ff
 ff
 8f
-f8	#fe--EDR  F8--BR
-83	#AFHclose 83
+f8	
+83	
 9d
 59
 82
 
-#bluetootch param init
+
 mem_sp_flag:00
 mem_lpm_current_mult:00
 mem_master_sp_flag:00
@@ -317,74 +317,71 @@
 mem_ipc_tx_evt_buff:02 01
 
 
-mem_adc_0v:9f 3e
-mem_adc_3v:cd 4d
-mem_adc_config_flag:04    #01 VINLPM      #02 HVIN      #04 GPIO
 
 
-#attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
+
 mem_le_att_list:
 
-#Primary service: GATT
+
 01 00 00 28 02 01 18
-#Characteristic: Service changed
+
 02 00 03 28 01 20
 03 00 05 2a 01 00
-#Client Characteristic Configuration
+
 04 00 02 29 02 00 00
 
-#Primary Service: GAP
+
 05 00 00 28 02 00 18 
-#Characteristic: Device Name
+
 06 00 03 28 01 02 
 07 00 00 2a 
 'BT4.2 Keyboard
 
-#Characteristic: Appearance
+
 08 00 03 28 01 02 
 09 00 01 2a 02 c1 03 
-#Characteristic: Peripheral Preferred Connection Parameters
+
 0a 00 03 28 01 02
-0b 00 04 2a 08 06 00 06 00 64 00 2c 01 # interval 6ms, latency 100, timeout 300
+0b 00 04 2a 08 06 00 06 00 64 00 2c 01 
+
 
-#Primary Service: Device Information
 0c 00 00 28 02 0a 18 
-#Characteristic: pnp id
+
 0d 00 03 28 01 02
-0e 00 50 2a 07 02 8a 24 66 82 01 00
+0e 00 50 2a 07 02 e8 04 21 70 01 00		
+
 
-#Primary service: HID
 0f 00 00 28 02 12 18
-#Characteristic:Protocol mode
+
 10 00 03 28 01 06
 11 00 4e 2a 01 01
-#Characteristic: hid report
+
 12 00 03 28 01 12   
-13 00 4d 2a 08 00 00 00 00 00 00 00 00	#hid report	led handle write
+13 00 4d 2a 08 00 00 00 00 00 00 00 00	
 14 00 02 29 02 00 00	
-15 00 08 29 02 01 01	#Report ID: 1	Report Type: Input
-#Characteristic:hid report
+15 00 08 29 02 01 01	
+
 16 00 03 28 01 12   
-17 00 4d 2a 02 00 00 	#hid report	led handle write
+17 00 4d 2a 02 00 00 	
 18 00 02 29 02 00 00	
-19 00 08 29 02 02 01	#Report ID: 2	Report Type: Input
+19 00 08 29 02 02 01	
+
 
-#Characteristic:hid report
 1a 00 03 28 01 12  
 1b 00 4d 2a 05 00 00 00 00 00
 1c 00 02 29 02 00 00
-1d 00 08 29 02 03 01	#Report ID: 3	Report Type: Input
+1d 00 08 29 02 03 01	
+
 
-#Characteristic:hid report
 1e 00 03 28 01 0e   
-1f 00 4d 2a 02 00	00	#hid report	led handle write
+1f 00 4d 2a 02 00	00	
 20 00 02 29 02 00 00	
-21 00 08 29 02 01 02	#Report ID: 1	Report Type: Output
+21 00 08 29 02 01 02	
+
 
-#Characteristic:Report map
 22 00 03 28 01 0a
 23 00 4b 2a a0
-#66
+
 05 01
 09 06
 a1 01
@@ -419,7 +416,7 @@
 81 00
 c0 
 
-#25
+
 05 0c  		
 09 01  		
 a1 01	
@@ -433,76 +430,76 @@
 81 00  		
 c0
 
-#29
-#05 01
-#09 80
-#A1 01
-#85 03
-#15 00
-#25 01
-#75 01
-#95 03
-#19 81
-#29 83
-#81 02
-#95 01
-#75 05
-#81 03
-#C0
-
-#60
-05 01 # Usage Page(Generic Desktop)
-09 02 # Usage(Mouse)
-a1 01 # Collection(Application)
-85 03 # Report ID(3)
-09 01 # Usage(Pointer)
-a1 00 # Collection(Physical)
-05 09 # Usage Page(Buttons)
-19 01 # Usage Minimum(1)
-29 08 # Usage Maximum(8)
-15 00 # Logical Minimum(0)
-25 01 # Logical Maximum(1)
-75 01 # Report Size(1)
-95 08 # Report Count(8)
-81 02 # Input(Data Variable Absolute)
-05 01 # Usage Page(Generic Desktop)
-09 30 # Usage(X)
-09 31 # Usage(Y)
-16 01 80  #Logical Minimum (-32767)
-26 FF 7F #Logical Maximum (32767) 
-75 10 # Report Size(16)
-95 02 # Report Count(2)
-81 06 # Input(Data Variable Relative)
-09 38 # Usage(Wheel)
-15 81 # Logical Minimum(-127)
-25 7f # Logical Maximum(127)
-75 08 # Report Size(8)
-95 01 # Report Count(1)
-81 06 # Input(Data Variable Relative)
 
-05 0c  #USAGE_PAGE(Consumer Devices)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+05 01 
+09 02 
+a1 01 
+85 03 
+09 01 
+a1 00 
+05 09 
+19 01 
+29 08 
+15 00 
+25 01 
+75 01 
+95 08 
+81 02 
+05 01 
+09 30 
+09 31 
+16 01 80  
+26 FF 7F 
+75 10 
+95 02 
+81 06 
+09 38 
+15 81 
+25 7f 
+75 08 
+95 01 
+81 06 
+
+05 0c  
 0a 38 02
-95 01   #REPORT_COUNT (1)	
-81 06  #INPUT (Data,Var,Rel)
+95 01   
+81 06  
+
+c0 
+c0 
 
-c0 # End Collection
-c0 # End Collection
 
-#Characteristic:Hid information
 24 00 03 28 01 02
 25 00 4a 2a 04 11 01 00 01        
-#Characteristic
+
 26 00 03 28 01 04
 27 00 4c 2a 01 00
 
-#Primary Service: BAS
+
 28 00 00 28 02 0f 18 
-#Characteristic: Battery Level
+
 29 00 03 28 01 12 
 2a 00 19 2a 01 64 
-#Client Characteristic Configuration
+
 2b 00 02 29 02 00 00 
-#End of Attribute list
+
 00 00
 
 
@@ -519,24 +516,24 @@
 mem_le_rx_window:50
 
 mem_le_connection_updata_param:
-0c 00 #Length
-05 00 #CID
+0c 00 
+05 00 
 12 b4 
 08 00 
-10 00 #min interval
-10 00 #max interval
-00 00 #latency
-2c 01 #timeout
+10 00 
+10 00 
+00 00 
+2c 01 
 
 mem_le_name_len:
 'BT4.2 Keyboard
 
 mem_le_adv_channel_map:07 
 mem_le_adv_direct_addr_type:01
-#mem_le_adv_interval_max:00 01
+
 mem_le_adv_data_len:1f
 mem_le_adv_data:
-#02 01 05 05 02 12 18 0f 18 03 19 c1 03
+
 02 01 05 03 19 c1 03 03 03 12 18
 '\09BT4.2 Keyboard
 
@@ -544,13 +541,18 @@
 mem_le_scan_data:
 '\09BT4.2 Keyboard
 
+mem_version_yy_mm_dd:20 20 06 12		
+
+mem_adc_0v:9f 3e
+mem_adc_3v:cd 4d
+mem_adc_config_flag:04    
 
-#24g init
-mem_24g_mode:01#tx
-mem_24g_data_type:02        #mouse 1,kb 2
-mem_24g_max_retry:4#max tx retry
-mem_24g_no_ack:00#with ack
-mem_24g_rx_window:c0 12     #400us 
+
+mem_24g_mode:01
+mem_24g_data_type:02        
+mem_24g_max_retry:4
+mem_24g_no_ack:00
+mem_24g_rx_window:c0 12     
 mem_24g_ch_map1:00 13 2c 42
 mem_24g_ch_map2:06 15 36 48
 mem_24g_ch_map3:0f 1a 3a 4c
@@ -558,7 +560,7 @@
 mem_24g_pairing_sm:ff
 mem_24g_paring_addr:20 15 10 05
 mem_24g_common_temp:00 00 00 00 00 00 00 00 00 00
-mem_24g_enter_hibernate:00 48 5d 00 00 00 00 00#10 minmem_lpm_config:8f 10 ce
+mem_24g_enter_hibernate:00 48 5d 00 00 00 00 00
 mem_lpm_xtalcnt:00 0a 0b ef 0f
 mem_lpm_hibernate_switch:00
 mem_gpio_wakeup_low:00 00 00 00 00 00 00 00
@@ -577,13 +579,13 @@
 
 mem_eeprom_base:30 3f
 mem_eeprom_block_size:20
-#pointers to tail space of mem_le_att_list
+
 4f70:
-07 ff #2M_IF
+07 ff 
 0a fb
 0b ff 
 
-#agc table
+
 1a fb
 1b fb
 1c fb
@@ -636,14 +638,14 @@
 4e ec
 4f 5e
 
-# tx power
+
 55 d0
 56 c0
 57 4c
 58 6c
 59 50
 
-#dpll
+
 68 e4
 69 00
 6a 00
Index: patch/sched.rom
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/patch/sched.rom	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/patch/sched.rom	(working copy)
@@ -276,9 +276,9 @@
 090101 25084b6579626f617264
 090200 090103
 090201# VendorID
-090a5c
+0904e8
 090202#ProductID
-098502
+097021
 090203 090001
 090204 2801
 090205 090002
@@ -317,9 +317,6 @@
 mem_ipc_tx_evt_buff:02 01
 
 
-mem_adc_0v:9f 3e
-mem_adc_3v:cd 4d
-mem_adc_config_flag:04    #01 VINLPM      #02 HVIN      #04 GPIO
 
 
 #attribute list: handle 2bytes, uuid 2bytes, length 1bytes, attribute Nbytes
@@ -351,7 +348,7 @@
 0c 00 00 28 02 0a 18 
 #Characteristic: pnp id
 0d 00 03 28 01 02
-0e 00 50 2a 07 02 8a 24 66 82 01 00
+0e 00 50 2a 07 02 e8 04 21 70 01 00		# SAMSUNG soft keyboard,setup shortcuts
 
 #Primary service: HID
 0f 00 00 28 02 12 18
@@ -544,6 +541,11 @@
 mem_le_scan_data:
 '\09BT4.2 Keyboard
 
+mem_version_yy_mm_dd:20 20 06 12		#version data 20200612
+
+mem_adc_0v:9f 3e
+mem_adc_3v:cd 4d
+mem_adc_config_flag:04    #01 VINLPM      #02 HVIN      #04 GPIO
 
 #24g init
 mem_24g_mode:01#tx
Index: patch/sys.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: sys.c
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/sys.c	(revision 110)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/sys.c	(working copy)
@@ -176,22 +176,23 @@
 		if(g_variable.sys_numlockled_on_timer)
 		{
 			g_variable.sys_numlockled_on_timer--;
-			GPIO_Setout(NUM_LOCK_LED_GPIO, 0);
+			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_ON);
 			if(!g_variable.sys_numlockled_on_timer)
-				GPIO_Setout(NUM_LOCK_LED_GPIO, 1);
+				GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
 		}
 		else 
-			GPIO_Setout(NUM_LOCK_LED_GPIO, 1);
+			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
+			
 
 		if(g_variable.sys_capslockled_on_timer)
 		{
 			g_variable.sys_capslockled_on_timer--;
-			GPIO_Setout(CAPS_LED_GPIO, 0);
+			GPIO_Setout(CAPS_LED_GPIO, LED_ON);
 			if(!g_variable.sys_capslockled_on_timer)
-				GPIO_Setout(CAPS_LED_GPIO, 1);
+				GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
 		}
 		else
-			GPIO_Setout(CAPS_LED_GPIO, 1);
+			GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
 	}	
 }
 
@@ -316,10 +317,10 @@
 	if (g_variable.powerOn_timer != 0)
 	{	
 		g_variable.powerOn_timer--;
-		LED_device_poweron();
+		GPIO_Setout(G24_LED_GPIO,LED_ON);
 		if (!g_variable.powerOn_timer)
 		{
-			LED_device_poweroff();
+			GPIO_Setout(G24_LED_GPIO,LED_OFF);
 		}
 	}
 	else
@@ -401,8 +402,8 @@
 			break;
 			
 		case FIX_ENTER_LPM:
-			if (g_variable.delay_enter_lpm_timer ||g_variable.lockLpm ||g_variable.powerOn_timer ||
-			g_variable.sys_capslockled_on_timer ||g_variable.sys_numlockled_on_timer || g_variable.sys_scrolllockled_on_timer) 
+			if (g_variable.delay_enter_lpm_timer ||g_variable.lockLpm ||g_variable.powerOn_timer ||g_variable.one_key_press_wait_release_timer
+			) 
 			{
 				IPC_AbandonLpm();
 				break;
Index: util/DeleteNote.pl
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/util/DeleteNote.pl	(nonexistent)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/util/DeleteNote.pl	(working copy)
@@ -0,0 +1,27 @@
+
+#print "输入注释的标志:";
+
+#chomp ($text = <STDIN>);
+
+#print $text;
+
+###########################
+#该脚本的功能为删除，#为注释的注释代码。
+
+$Sched_path=$ARGV[0];
+
+open(Sched,$Sched_path)||die("Cannot open files\n");
+@sched=<Sched>;
+close(Sched);
+
+foreach $sched(@sched)
+{
+	$sched_begin = $sched;
+	@Sched = split(/[#]+/, $sched);
+	chomp @Sched[0];
+	$sched = @Sched[0]."\n";
+}
+
+open(Sched,">$Sched_path")||die("Cannot open files\n");
+print Sched @sched;
+close(Sched);
Index: util/memalloc.pl
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/util/memalloc.pl	(nonexistent)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/util/memalloc.pl	(working copy)
@@ -0,0 +1,74 @@
+#!/usr/bin/perl
+$path="output/bt_format.meta";
+open file, $path;
+@f = <file>;
+close file;
+open file, ">$path";
+$path =~ s/\/.*//;
+open file1, ">output/memmap.format";
+$xaddr = 0x4000;
+$addr = 0;
+if($#ARGV == 1) {
+	$addr = hex($ARGV[0]);
+	$xaddr = hex($ARGV[1]);
+}
+for($i = 0;$i < @f;$i++) { $cmalloc[$i] = (); }
+for($i = 0;$i < @f;$i++) { 
+	$_ = $f[$i];
+	$start = 1 if(/^\s*memalloc\s*\(\s*$/);
+	$start = 2 if(/^\s*xmemalloc\s*\(\s*$/);
+	$start = 3 if(/^\s*omemalloc\s*\(\s*$/);
+	$start = 10 + $1 if(/^\s*cmemalloc\s+([0-9])\s*\(\s*$/);
+	if($start) {
+		if(/^\s*([0-9]+)\s+([a-zA-Z0-9_]+)\s*(.*)$/) {
+			if($start == 1) {
+				$str = sprintf "0x%04x %s%s\n", $addr, $2, $3;
+				$addr += $1;
+				$bstr .= $str;
+				$sstr .= $str;
+			} elsif($start == 2) {
+				$str = sprintf "0x%04x %s%s\n", $xaddr, $2, $3;
+				$xaddr += $1;
+				$xstr .= $str;
+			} else {
+				push @ostr, $_;
+			}
+		}
+		if(/^\s*\)\s*$/) {
+			if(@ostr > 0) {
+				if($start == 3) {
+					push @omalloc,[@ostr];
+				} elsif($start > 9) {
+					$j = $start - 10;
+					push @{$cmalloc[$j]},@ostr;
+				} 
+			}
+			$start = 0;
+			@ostr = ();
+		}
+	} else {
+		$sstr .= $_;
+	}
+}
+for($i = 0;$i <= $#cmalloc;$i++) {
+	push @omalloc,$cmalloc[$i];
+#	for($j = 0;$j <= $#{$cmalloc[$i]};$j++) {		print $cmalloc[$i][$j];	}
+}
+
+$xend = $xaddr;
+for($i = 0;$i <= $#omalloc;$i++) {
+	for($j = 0, $oaddr = $xaddr;$j <= $#{$omalloc[$i]};$j++) {
+		if($omalloc[$i][$j] =~ /^\s*([0-9]+)\s+([a-zA-Z0-9_]+)\s*(.*)$/) {
+			$str = sprintf "0x%04x %s%s\n", $oaddr, $2, $3;
+			$oaddr += $1;
+			$xstr .= $str;
+		}
+	}
+}
+$xend = $oaddr if($oaddr > $xend);
+print file $xstr, $sstr;
+print file1 $bstr, $xstr;
+close file;
+close file1;
+printf "\nLast allocated address is %04x\n", $addr;
+printf "\nLast allocated xmem address is %04x\n", $xend;
\ No newline at end of file
Index: util/mergepatch.pl
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/util/mergepatch.pl	(nonexistent)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/util/mergepatch.pl	(working copy)
@@ -0,0 +1,44 @@
+#!/usr/bin/perl
+$defs = "";
+$fmt = 0;
+
+
+sub parseif {
+	my($fname) = @_;
+	open file, $fname;
+	@f = <file>;
+	close file;
+	open file, ">$fname";
+	@valid = (1);
+	for($i = 0;$i < @f;$i++) { 
+		$_ = $f[$i];
+		$defs .= $1 . " " if(/^define\s+(\w+)\s*/);
+		if(/^ifdef\s+(\w+)\s*/) {
+			push @valid, ($defs =~ /(^|\s)$1(\s|$)/ ? 1 : 0) & $valid[$#valid];
+		} elsif(/^ifndef\s+(\w+)\s*/) {
+			push @valid, ($defs =~ /(^|\s)$1(\s|$)/ ? 0 : 1) & $valid[$#valid];
+		} elsif(/^else/) {
+			printf "%s\nelse without if at line %d\n", $f[$i - 3], $i if($#valid == 0);
+			$valid[$#valid] = (1 - $valid[$#valid]) & $valid[$#valid - 1];
+		} elsif(/^endif/) {
+			printf "%s\nendif without if at line %d\n", $_, $i if($#valid == 0);
+			pop @valid;
+		} elsif($valid[$#valid]) {
+			if(/^include\s+(.+)\s*/) {
+				open file2, "program/$1";
+				@f2 = <file2>;
+				close file2;
+				splice(@f, $i + 1, 0, @f2);
+			} else {
+				print file $_;
+			}
+		}
+	}
+	close file;
+}
+
+parseif("output/bt_program23.meta");
+$fmt = 1;
+parseif("output/bt_format.meta");
+
+
Index: util/sortsched.pl
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/util/sortsched.pl	(nonexistent)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/util/sortsched.pl	(working copy)
@@ -0,0 +1,163 @@
+
+
+$Sched_path=$ARGV[0];
+$Sched_test_path=$ARGV[1];
+
+open(Sched,"$Sched_path")||die("Cannot open files1\n");
+@sched=<Sched>;
+@sched[-1] = "";
+close(Sched);
+#open(Sched_test,">ResultsFile.rom")||die("Cannot open files2\n");
+#print Sched_test ("");
+#close (Sched_test);
+#open(Sched_test,">ResultsFile.rom")||die("Cannot open file3s\n");
+open(Sched_test1,">$Sched_test_path")||die("Cannot open files4\n");
+#@Sched_test=<Sched_test>;
+@Data[0]="";
+$Data_num=0;
+@Address_num;
+@OriginalRecord;
+foreach $sched (@sched)
+{
+	if($sched=~/[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]:/)
+	{
+		#$lap_flag = 0;
+		#$le_lap_flag = 0;
+		#if($sched=~/40a0:/)
+		#{
+		#	$lap_data = $sched;
+		#	$lap_flag = 1;
+		#}
+		#elsif($sched =~ /44a0:/)
+		#{
+		#	$le_lap_data = $sched;
+		#	$le_lap_flag = 1;
+		#}
+		#else
+		#{
+			$Data_num++;
+			@OriginalRecord[$Data_num]=$sched;
+			@snap_variable=split(/[#\n]/,$sched);
+			@Data[$Data_num]=@snap_variable[0]."\n";
+		#}
+	}
+	else
+	{
+		#if($lap_flag == 1)
+		#{
+		#	$lap_data .= $sched;
+		#}
+		#elsif($le_lap_flag == 1)
+		#{
+		#	$le_lap_data .= $sched;
+		#}
+		#else
+		#{
+			@OriginalRecord[$Data_num].=$sched;
+			@snap_variable=split(/[#\n]/,$sched);
+			@Data[$Data_num].=@snap_variable[0]."\n";
+		#}
+	}
+}
+@sort_Data = sort(@Data);
+@OriginalRecord=sort(@OriginalRecord);
+$PreviousADDR=0;
+$CurrentADDR=0;
+$PreviousData="";
+$CurrentData="";
+$I=0;
+$len_sort_Data=@sort_Data;
+$NextADDR="";
+for($i=0;$i<$len_sort_Data;$i++)
+{
+	$sort_Data=@sort_Data[$i];
+	@snap_variable=split(/:/,$sort_Data);
+	$WData=@snap_variable[1];
+	
+	if($WData =~ /[1-9a-fA-F]/ && hex(@snap_variable[0]) >= 16384){
+	$WADDR=@snap_variable[0];
+	@sort_Data[$i]=@OriginalRecord[$i];
+	@LLL[$i]=0;
+	if($NextADDR eq $WADDR){
+		@snap_variable=split(/[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]:/,@OriginalRecord[$i]);
+		@sort_Data[$i]=@snap_variable[1];
+		@LLL[$i]=1;
+	}
+	if(@LLL[$i]==0 && hex($PreviousADDR)+6>hex($WADDR)){
+		$LEN=hex($WADDR) - hex($NextADDR);
+		#print $LEN;
+		for($j=0;$j<$LEN;$j++)
+		{
+			@sort_Data[$i-1].="00 "
+		}
+		@sort_Data[$i-1].="\n";
+		@snap_variable=split(/[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]:/,@OriginalRecord[$i]);
+		@sort_Data[$i]=@snap_variable[1];
+		@LLL[$i]=1;
+	}
+	if($PreviousADDR eq $WADDR){
+		@sort_Data[$i-1]="";
+		if(@LLL[$i-1]==1){
+			@snap_variable=split(/[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]:/,@OriginalRecord[$i]);
+			@sort_Data[$i]=@snap_variable[1];
+			@LLL[$i]=1;
+		}
+	}
+	else{
+		@DataNum=split(/[0-9a-fA-F][0-9a-fA-F]/,$WData);
+		$DataNum=@DataNum;
+		$PreviousADDR=$WADDR;
+		#@sort_Data[$i].="      ".$DataNum."\n";
+		$NextADDR = &hex_add($WADDR,$DataNum);
+	}
+	}
+	else{
+		if(hex(@snap_variable[0]) >= 16384)
+		{
+			@sort_Data[$i]="";
+		}
+	}
+	#@sort_Data[$i].="      ".$NextADDR."\n";
+	#$sort_Data =~ s/\n//;
+	#$sort_Data.="\n";
+}
+#print Sched_test @OriginalRecord;
+#print Sched_test1 $lap_data;
+#print Sched_test1 $le_lap_data;
+print Sched_test1 @sort_Data;
+#print  $lap_data;
+#print  $le_lap_data;
+#for($i=0;$i<$len_sort_Data;$i++)
+#foreach $sort_Data (@sort_Data)
+#{	
+	#$sort_Data=@sort_Data[$i];
+	#print Sched_test $PreviousData;
+	#@snap_variable=split(/:/,$sort_Data);
+	#$CurrentADDR=@snap_variable[0];
+	#$CurrentData=$sort_Data;
+	#print ($CurrentADDR);
+	#if($CurrentADDR-$PreviousADDR==1)
+	#{
+	#	$CurrentVal=@snap_variable[1];
+	#	@snap_variable=split(/\n/,$PreviousData);
+		
+	#	$PreviousData.=" ".$CurrentVal;
+	#	$CurrentData=$PreviousData;
+	#	@sort_Data[$i]="";
+	#	@sort_Data[$i-1]=$CurrentData;
+		#print ($CurrentData."\n");
+	#}
+	#$PreviousADDR=$CurrentADDR;
+	#$PreviousData=$CurrentData;
+	#print Sched_test $CurrentData;
+#}
+#print Sched_test @sort_Data;
+#close(Sched_test);
+close(Sched_test1);
+
+sub hex_add{
+	my($ADDR,$Len)=@_;
+	$data=hex($ADDR);
+	$data=$data+$Len-1;
+	return(sprintf("%04x",$data));
+}
\ No newline at end of file
Index: util/transform_memmap2btreg.pl
===================================================================
--- /YC1026/YC1085_only_24g_SDK_CUSTOMER/util/transform_memmap2btreg.pl	(nonexistent)
+++ /YC1026/YC1085_only_24g_SDK_CUSTOMER/util/transform_memmap2btreg.pl	(working copy)
@@ -0,0 +1,45 @@
+$memmap_path=$ARGV[0];
+$memblocks_path=$ARGV[1];
+$btreg_path=$ARGV[2];
+open(btreg,">$btreg_path");
+print btreg ("");#reset file
+close(btreg);
+open(memmap,$memmap_path);
+open(memblocks,$memblocks_path);
+open(btreg,">>$btreg_path");
+@text = <memmap>;
+print btreg ("#ifndef _BT_REG_H_\n");
+print btreg ("#define _BT_REG_H_\n");
+foreach $text (@text){
+	@word = split (/[\t ]+/,$text);
+	$reg_addr = @word[0];
+	if ($reg_addr =~ /0x[0-9abcdef]*/){#Is 0x0000~0xffff
+		$word1 = @word[1];
+		@reg_name = split(/\/[\/\*]/,$word1);#delete // or /*  */
+		$reg_name = @reg_name[0];
+		$reg_name =~ s/[\r\n]//;#delete Carriage return
+		
+		printf btreg ("#define\t%-40s\t%s\n",$reg_name,$reg_addr);
+		#print btreg ("#define \t $reg_name \t\t\t $reg_addr \n");
+		#print btreg ("@word[1]\n");
+	}
+}
+@text = <memblocks>;
+foreach $text (@text){
+	@word = split (/[\t ]+/,$text);
+	$reg_addr = @word[0];
+	if ($reg_addr =~ /0x[0-9abcdef]*/){
+		$word1 = @word[1];
+		@reg_name = split(/\/[\/\*]/,$word1);
+		$reg_name = @reg_name[0];
+		$reg_name =~ s/[\r\n]//;
+		printf btreg ("#define\t%-40s\t%s\n",$reg_name,$reg_addr);
+		#print btreg ("#define \t $reg_name \t\t\t\t $reg_addr \n");
+		#print btreg ("@word[1]\n");
+	}
+}
+print btreg ("#endif\n");
+close(memblocks);
+close(memmap);
+close(btreg);
+
