Index: c51/Makefile
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/Makefile	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/Makefile	(working copy)
@@ -52,11 +52,11 @@
 DATA_MAP = ?STACK(D:0xD0)
 CODE_MAP = ?PR?RAMENTRY?JUMPTABLE(C:0x0), ?PR?*, ?C*
 
-LINK_OBJ_RAM = bluetooth global_variable kb_process keyscan led sys adc ram
+LINK_OBJ_RAM = bluetooth global_variable kb_process keyscan led sys adc ram ipc utilities gpio iic
 
 #LINK_OBJ_LIB = 
 
-LINK_OBJ_TMP_RAM = $(addsuffix .obj,$(LINK_OBJ_LIB) $(LINK_OBJ_RAM)) ..\patch\ipc.obj ..\patch\utilities.obj ..\patch\gpio.obj ..\patch\iic.obj
+LINK_OBJ_TMP_RAM = $(addsuffix .obj,$(LINK_OBJ_LIB) $(LINK_OBJ_RAM))
 LINK_OBJ_DEPENDENCIES_RAM = $(addprefix $(OUTDIR)/, $(LINK_OBJ_TMP_RAM))
 LINK_OBJ_FILES_RAM = $(subst $(space),$(comma),$(LINK_OBJ_DEPENDENCIES_RAM))
 
Index: c51/adc.h
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/adc.h	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/adc.h	(working copy)
@@ -11,7 +11,7 @@
 
 // GPIO5 0x30,   GPIO6 0x31,   GPIO7 0x32,
 //GPIO18 0x33,   GPIO19 0x34,   GPIO20 0x35,   GPIO21 0x36,    GPIO22 0x37
-#define ADC_CHANNEL				0x33
+#define ADC_CHANNEL				0x33	
 
 
 #define BAT_STATUS_NONE			0
@@ -43,7 +43,6 @@
 #define LOW_BATTER_COEFFICIENT_3V1	1.04
 #define LOW_BATTER_COEFFICIENT_3V0	1.01
 
-
 void YC_adc_check_timer500ms();
 void YC_adc_check() ;
 void YC_adc_init();
Index: c51/adc.c
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/adc.c	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/adc.c	(working copy)
@@ -18,7 +18,7 @@
 	g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_3V0+m_adc0vBase;
 #endif
 #ifdef ADC_TYPE_VINLPM
-		if(g_variable.p_mode_current == 0)
+		if(g_variable.p_mode_current == 1)
 		{
 			for (i = 0; i < BAT_ARRAY_LEN; i++)
 			{
@@ -38,7 +38,6 @@
 			g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_3V1+m_adc0vBase;
 			g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_2V8+m_adc0vBase;
 		}
-		
 #endif
 #ifdef ADC_TYPE_GPIO
 	m_adc_channel = ADC_CHANNEL;
@@ -79,7 +78,14 @@
 		g_variable.battery_level_percentage = 100;
 	else	
 		g_variable.battery_level_percentage = (byte)(((batValue - g_variable.battery_level_shutdown)*100)/(g_variable.battery_level_full -g_variable.battery_level_shutdown) );
-	
+		// if(g_variable.battery_level_percentage >=BATTER_LEVEL_100)
+		// 	g_variable.battery_level_percentage =100;	
+		// else if(g_variable.battery_level_percentage >=BATTER_LEVEL_50)
+		// 	g_variable.battery_level_percentage =50;	
+		// else if(g_variable.battery_level_percentage >=BATTER_LEVEL_30)
+		// 	g_variable.battery_level_percentage =30;
+		// else
+		// 	g_variable.battery_level_percentage =10;
 	if(batValue < g_variable.battery_level_shutdown)
 	{
 		g_variable.battery_status = BAT_STATUS_SHUT_DOWN;
@@ -96,7 +102,6 @@
 			g_variable.battery_shutdown_flag = 0;
 			IIC_WriteBlock(EEPROM_BATTERY_SHUTDOWN_FLAG ,1 ,(byte *)&g_variable.battery_shutdown_flag);
 		}
-		
 		if (batValue < g_variable.battery_level_low)
 		{
 			g_variable.battery_status = BAT_STATUS_LOW;
@@ -120,7 +125,6 @@
 			}
 		}
 	}
-
 	g_variable.last_battery_status = g_variable.battery_status;
 #endif	
 }
Index: c51/bluetooth.h
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/bluetooth.h	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/bluetooth.h	(working copy)
@@ -2,17 +2,8 @@
 #define _BLUETOOTH_H
 #include "common.h"
 
-#ifndef BT_FAST_CONNECT_ENABLE
-#define BLE_FAST_CONNECT_ENABLE
-#endif
 
-#ifndef BLE_FAST_CONNECT_ENABLE
-#define BT_FAST_CONNECT_ENABLE
-#endif
-
-#define DEVICE_MODE_BT_ONLY	    0
-#define DEVICE_MODE_BLE_ONLY	1
-#define DEVICE_MODE_BT_BLE		0
+#define BLE_FAST_CONNECT_ENABLE
 
 #define TYPE_BLE			0x01
 #define TYPE_BT			0x02
Index: c51/bluetooth.c
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/bluetooth.c	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/bluetooth.c	(working copy)
@@ -18,7 +18,7 @@
 		g_variable.recon_count = 0;
 		m_ltk_exists = 1;
 	}
-	else		
+	else		// ble fast connect
 	{
 		fast_connect_flag = 1;
 	#ifdef BLE_FAST_CONNECT_ENABLE
@@ -32,18 +32,7 @@
 			IPC_TxControlCmd(IPC_CMD_START_ADV_REC);
 			m_link_key_exists = 1;
 	#endif
-	#ifdef BT_FAST_CONNECT_ENABLE
-			m_reconn_addr[0] = 0xFF;
-			m_reconn_addr[1] = 0xFF;
-			m_reconn_addr[2] = 0xFF;
-			m_reconn_addr[3] = 0xFF;
-			m_reconn_addr[4] = 0xFF;
-			m_reconn_addr[5] = 0xFF;
-			xmemclear_ff((byte *)m_linkkey,16); 
-			IPC_TxControlCmd(IPC_CMD_RECONNECT);
-			m_link_key_exists = 1;	
-			g_variable.fast_connect_send_name = 1;
-	#endif
+
 	}	
 }
 
@@ -58,12 +47,6 @@
 		xmemcpy(bd_key_record_list[index].device_link_key,m_le_ltk,16);
 		xmemcpy(bd_key_record_list[index].local_addr,m_le_lap,6);
 	}
-	// else if (link_type == TYPE_BT)
-	// {
-	// 	bd_key_record_list[index].device_type = TYPE_BT;
-	// 	xmemcpy(bd_key_record_list[index].device_addr,m_remote_addr,6);
-	// 	xmemcpy(bd_key_record_list[index].device_link_key,m_linkkey,16);
-	// }
 }
 
 
@@ -80,21 +63,15 @@
 byte YC_check_need_reconnected()
 {
 	byte return_val = 0;
-	 if (g_variable.ble_currentSubState == CHANGE_TO_BLE_SUB_PINCODE )
+	 if (g_variable.ble_currentSubState == CHANGE_TO_BLE_SUB_PINCODE)
 		return return_val;
-#if DEVICE_MODE_BT_ONLY
-	if ((m_ui_state_map & 0x4000) == 0x4000)
-#elif DEVICE_MODE_BLE_ONLY	
-	if ((m_ui_state_map & 0x0008) == 0x0008)
-#else	
-	if ((m_ui_state_map & 0x4008) == 0x4008)		//ADV and DISCOVERY
-#endif		
+	if ((m_ui_state_map & 0x0008) == 0x0008)		
 		return return_val;
 
 	if(g_variable.pairing_g24_timeout)
 		return return_val;
 
-	if ( g_variable.ble_currentState == CHANGE_TO_BLE_DISCONNECT
+	if (g_variable.ble_currentState == CHANGE_TO_BLE_DISCONNECT
 		&& g_variable.g24_currentState != CHANGE_TO_24G_CONNECTED
 	)
 	{
@@ -127,12 +104,6 @@
 
 byte YC_cancel_reconnect()
 {
-	// if (g_variable.br_currentState == CHANGE_TO_BR_RECONNECT)
-	// {
-	// 	IPC_TxControlCmd(IPC_CMD_BB_RECONN_CANCEL);
-	// 	return 1;
-	// }
-
 	if (g_variable.ble_currentState == CHANGE_TO_BLE_DIRECT_ADV)
 	{
 		//stop adv
@@ -152,12 +123,6 @@
 
 byte YC_disconnect_all_link()
 {
-	// if (g_variable.br_currentState == CHANGE_TO_BR_CONNECTED 
-	// 	||g_variable.br_currentState == CHANGE_TO_BR_CONNECTING)
-	// {
-	// 	IPC_TxControlCmd(IPC_CMD_DISCONNECT);
-	// 	return 1;
-	// }
 	if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED 
 		||g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTING)
 	{
@@ -188,7 +153,6 @@
 void YC_start_reconnect()
 {
 	power_on_flag = 2;
-
 	IIC_Read(EEPROM_RECON_INFO_BASE ,sizeof(BD_KEY_RECORD)*3, (byte *)bd_key_record_list);
 	Delay1ms(10);
 	IIC_Read(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
@@ -197,10 +161,9 @@
 	Delay1ms(10);
 	IIC_Read(EEPROM_RECON_INFO_G24_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
 	Delay1ms(10);
-	
 	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
 	{
-		g_variable.system_mode = bd_key_record_list[g_variable.current_device_num - 1].system_mode;
+		//g_variable.system_mode = bd_key_record_list[g_variable.current_device_num - 1].system_mode;
 		fn_lock_flag = bd_key_record_list[g_variable.current_device_num - 1].fn_lock; 
 		YC_key_action_handle(g_variable.current_device_num);
 	}
@@ -231,45 +194,6 @@
 }
 
 
-void  YC_clear_BT_same_address_record()
-{
-	byte record_index;
-	//if (pinCode_flag == 1)			//clear the same BT3.0 device address record
-	{
-		record_index = g_variable.current_device_num-1;
-		pinCode_flag= 0;
-		YC_store_record_list(2, record_index);
-
-		if(record_index != 0)
-		{
-			if(bd_key_record_list[0].device_type == 2) 
-			{
-				if (compare_str(bd_key_record_list[0].device_addr,bd_key_record_list[record_index].device_addr,6))
-					xmemclear_ff((byte *)(&bd_key_record_list[0]), sizeof(BD_KEY_RECORD));
-			}
-		}
-
-		if(record_index != 1)
-		{
-			if(bd_key_record_list[1].device_type == 2) 
-			{
-				if (compare_str(bd_key_record_list[1].device_addr,bd_key_record_list[record_index].device_addr,6))
-					xmemclear_ff((byte *)(&bd_key_record_list[1]), sizeof(BD_KEY_RECORD));
-			}
-		}
-
-		if(record_index != 2)
-		{
-			if(bd_key_record_list[2].device_type == 2) 
-			{
-				if (compare_str(bd_key_record_list[2].device_addr,bd_key_record_list[record_index].device_addr,6))
-					xmemclear_ff((byte *)(&bd_key_record_list[2]), sizeof(BD_KEY_RECORD));
-			}
-		}	
-	}
-}
-
-
 
 void YC_update_eeprom_data()
 {
@@ -290,6 +214,7 @@
 		IIC_WriteBlock(EEPROM_RECON_INFO_LAST_DEVICE ,1 ,(byte *)&g_variable.last_device_num);
 		IIC_WriteBlock(EEPROM_RECON_INFO_RAMDON_LE_LAP1 ,2 ,(byte *)&g_variable.ble_ramdon_lap1);
 
+
 		GPIO_Setout(EEPROM_WP_GPIO,1);
 		Delay1ms(10);
 		g_variable.update_eeprom_flag = 0;
Index: c51/btreg.h
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/btreg.h	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/btreg.h	(working copy)
@@ -939,101 +939,96 @@
 #define	mem_24g_check_dongle_times              	0x4c04
 #define	mem_24g_device_addr                     	0x4c06
 #define	mem_24g_no_ack                          	0x4c0a
-#define	mem_24g_sta_crc                         	0x4c0b
-#define	mem_24g_sta_pid                         	0x4c0e
-#define	mem_24g_max_retry                       	0x4c0f
-#define	mem_24g_mode                            	0x4c10
-#define	mem_24g_hop_pac_retry                   	0x4c11
-#define	mem_24g_idle_timeout                    	0x4c12
-#define	mem_24g_idle_cnt                        	0x4c13
-#define	mem_24g_auto_paring_switch              	0x4c14
-#define	mem_24g_enter_lpm_timer                 	0x4c15
-#define	mem_24g_syncword                        	0x4c16
-#define	mem_24g_syncword_crc8                   	0x4c18
-#define	mem_24g_get_syncword_crc8               	0x4c19
-#define	mem_24g_discard_cnt                     	0x4c1a
-#define	mem_cb_24g_data                         	0x4c1c
-#define	mem_24g_lasttx                          	0x4c1e
-#define	mem_power_ctrl_pac_succ_cnt             	0x4c27
-#define	mem_power_ctrl_level                    	0x4c28
-#define	mem_rssi_avg_received                   	0x4c29
-#define	mem_rssi_hex_received                   	0x4c2a
-#define	mem_rssi_signal_buf                     	0x4c2b
-#define	mem_rssi_noise_buf                      	0x4c33
-#define	mem_rssi_noise_index                    	0x4c3b
-#define	mem_rssi_signal_index                   	0x4c3c
-#define	mem_tx_power                            	0x4c3d
-#define	mem_tx_power_temp                       	0x4c3e
-#define	mem_cnt                                 	0x4c3f
-#define	mem_last_txlch                          	0x4c42
-#define	mem_last_txlen                          	0x4c43
-#define	mem_last_txdata                         	0x4c45
-#define	mem_ipc_last_check_timer                	0x4c59
-#define	mem_prepare_write_len                   	0x4c5d
-#define	mem_ipc_c51_timer                       	0x4c5e
-#define	mem_le_rx_window                        	0x4c60
-#define	mem_le_find_type_value_start_handle     	0x4c61
-#define	mem_le_find_type_value_end_handle       	0x4c63
-#define	mem_le_cur_att_type                     	0x4c65
-#define	mem_le_search_len                       	0x4c67
-#define	mem_le_ll_unknown_type                  	0x4c68
-#define	mem_le_pairing_state                    	0x4c69
-#define	mem_le_local_mtu                        	0x4c6a
-#define	mem_le_connection_updata_param          	0x4c6c
-#define	mem_ltk_states                          	0x4c7c
-#define	mem_pair_state                          	0x4c7d
-#define	mem_empty_count                         	0x4c7e
-#define	mem_shutter_find_type_value_flag        	0x4c7f
-#define	mem_le51_payload_len                    	0x4c80
-#define	mem_le51_cmd                            	0x4c81
-#define	mem_le51_tx_length                      	0x4c82
-#define	mem_le51_txbuff_inuse                   	0x4c83
-#define	mem_le51_txbuf                          	0x4c84
-#define	mem_ipc_bt_100ms_timer                  	0x4c8d
-#define	mem_ipc_c51_100ms_timer                 	0x4c8e
-#define	mem_adc_config_flag                     	0x4c8f
-#define	mem_adc_channel                         	0x4c90
-#define	mem_adc_0v                              	0x4c91
-#define	mem_adc_3v                              	0x4c93
-#define	mem_adc_current_value                   	0x4c95
-#define	mem_hibernate_flag                      	0x4c97
-#define	mem_new_supervision_to                  	0x4c98
-#define	mem_kb_wake_timer                       	0x4c9a
-#define	mem_kb_last_data                        	0x4c9b
-#define	mem_kb_keycount                         	0x4caf
-#define	mem_led_cap_delay_timer                 	0x4cb0
-#define	mem_test                                	0x4cb1
-#define	mem_seq                                 	0x4cb4
-#define	mem_recon_index                         	0x4cb5
-#define	mem_power_on_flag                       	0x4cb6
-#define	mem_caps_num_lock                       	0x4cb7
-#define	mem_att_report1                         	0x4cb8
-#define	mem_att_report2                         	0x4cba
-#define	mem_att_report3                         	0x4cbc
-#define	mem_suspend_flag                        	0x4cbe
-#define	mem_32asm_data_end                      	0x4cbf
-#define	mem_store_ltk_timer                     	0x4d37
-#define	mem_reconnect_continue                  	0x4d38
-#define	mem_le_pin_code                         	0x4d39
-#define	mem_le_send_security_request_flag       	0x4d3d
-#define	mem_att_report_battery                  	0x4d3e
-#define	mem_24g_enter_hibernate                 	0x4d40
-#define	mem_24g_txfail_cnt                      	0x4d44
-#define	mem_mouse_retry_flag                    	0x4d45
-#define	mem_24g_led_flag                        	0x4d46
-#define	mem_ui_timer_last_btclk_temp            	0x4d47
-#define	mem_ui_check_timer_setup                	0x4d4b
-#define	mem_customize_timer_setup               	0x4d4f
-#define	mem_customize_timer                     	0x4d51
-#define	mem_ios_mode_flag                       	0x4d52
-#define	mem_version_yy_mm_dd                    	0x4d53
-#define	mem_24g_txbuf_new                       	0x4d57
-#define	mem_le_adv_swift_pair                   	0x4d6b
-#define	mem_24g_enter_hibernate_setup           	0x4d72
-#define	mem_24g_enter_hibernate_max             	0x4d76
-#define	mem_24g_short_sleep_counter             	0x4d7a
-#define	mem_pc_sleep_flag                       	0x4d7d
-#define	mem_le_battery_level_display_enable     	0x4d7e
+#define	mem_24g_enter_lpm_timer                 	0x4c0b
+#define	mem_24g_syncword                        	0x4c0c
+#define	mem_24g_syncword_crc8                   	0x4c0e
+#define	mem_24g_get_syncword_crc8               	0x4c0f
+#define	mem_rssi_hex_received                   	0x4c10
+#define	mem_rssi_signal_buf                     	0x4c11
+#define	mem_rssi_noise_buf                      	0x4c19
+#define	mem_rssi_noise_index                    	0x4c21
+#define	mem_rssi_signal_index                   	0x4c22
+#define	mem_last_txlch                          	0x4c23
+#define	mem_last_txlen                          	0x4c24
+#define	mem_last_txdata                         	0x4c26
+#define	mem_ipc_last_check_timer                	0x4c3a
+#define	mem_ipc_c51_timer                       	0x4c3e
+#define	mem_le_rx_window                        	0x4c40
+#define	mem_le_find_type_value_start_handle     	0x4c41
+#define	mem_le_find_type_value_end_handle       	0x4c43
+#define	mem_le_cur_att_type                     	0x4c45
+#define	mem_le_search_len                       	0x4c47
+#define	mem_le_ll_unknown_type                  	0x4c48
+#define	mem_le_pairing_state                    	0x4c49
+#define	mem_le_local_mtu                        	0x4c4a
+#define	mem_le_connection_updata_param          	0x4c4c
+#define	mem_ltk_states                          	0x4c5c
+#define	mem_pair_state                          	0x4c5d
+#define	mem_empty_count                         	0x4c5e
+#define	mem_shutter_find_type_value_flag        	0x4c5f
+#define	mem_le51_payload_len                    	0x4c60
+#define	mem_le51_cmd                            	0x4c61
+#define	mem_le51_tx_length                      	0x4c62
+#define	mem_le51_txbuff_inuse                   	0x4c63
+#define	mem_le51_txbuf                          	0x4c64
+#define	mem_ipc_bt_100ms_timer                  	0x4c6d
+#define	mem_ipc_c51_100ms_timer                 	0x4c6e
+#define	mem_adc_config_flag                     	0x4c6f
+#define	mem_adc_channel                         	0x4c70
+#define	mem_adc_0v                              	0x4c71
+#define	mem_adc_3v                              	0x4c73
+#define	mem_adc_current_value                   	0x4c75
+#define	mem_hibernate_flag                      	0x4c77
+#define	mem_new_supervision_to                  	0x4c78
+#define	mem_power_on_flag                       	0x4c7a
+#define	mem_caps_num_lock                       	0x4c7b
+#define	mem_att_report1                         	0x4c7c
+#define	mem_att_report2                         	0x4c7e
+#define	mem_att_report3                         	0x4c80
+#define	mem_suspend_flag                        	0x4c82
+#define	mem_32asm_data_end                      	0x4c83
+#define	mem_reconnect_continue                  	0x4ce7
+#define	mem_le_pin_code                         	0x4ce8
+#define	mem_le_send_security_request_flag       	0x4cec
+#define	mem_att_report_battery                  	0x4ced
+#define	mem_24g_enter_hibernate                 	0x4cef
+#define	mem_24g_txfail_cnt                      	0x4cf3
+#define	mem_mouse_retry_flag                    	0x4cf4
+#define	mem_24g_led_flag                        	0x4cf5
+#define	mem_ui_timer_last_btclk_temp            	0x4cf6
+#define	mem_ui_check_timer_setup                	0x4cfa
+#define	mem_customize_timer_setup               	0x4cfe
+#define	mem_customize_timer                     	0x4d00
+#define	mem_24g_txbuf_new                       	0x4d01
+#define	mem_le_adv_swift_pair                   	0x4d15
+#define	mem_24g_enter_hibernate_setup           	0x4d1c
+#define	mem_24g_enter_hibernate_max             	0x4d20
+#define	mem_24g_short_sleep_counter             	0x4d24
+#define	mem_pc_sleep_flag                       	0x4d27
+#define	mem_le_pause_enc_flag                   	0x4d28
+#define	mem_le_battery_level_display_enable     	0x4d29
+#define	mem_le_evidm                            	0x4d2a
+#define	mem_le_skdm_temp                        	0x4d34
+#define	mem_le_connect_ios_mac_flag             	0x4d3c
+#define	mem_le_system_4type                     	0x4d3d
+#define	mem_le_search_mac_uuid                  	0x4d3e
+#define	mem_le_search_mac_manu_name             	0x4d40
+#define	mem_le_start_auto_reco_timer            	0x4d49
+#define	mem_le_search_service_uuid              	0x4d4a
+#define	mem_le_mac_handle_number                	0x4d5a
+#define	mem_le_ancs_req                         	0x4d5e
+#define	mem_le_reconne_name                     	0x4d5f
+#define	mem_enter_fcc_flag                      	0x4d7b
+#define	mem_fcc_param_new                       	0x4d7c
+#define	mem_fcc_ch_new                          	0x4d7c
+#define	mem_fcc_mod_new                         	0x4d7d
+#define	mem_fcc_data_new                        	0x4d7e
+#define	mem_fcc_param                           	0x4d7f
+#define	mem_fcc_ch                              	0x4d7f
+#define	mem_fcc_mod                             	0x4d80
+#define	mem_fcc_data                            	0x4d81
+#define	mem_fcc_count                           	0x4d82
+#define	mem_test_mode                           	0x4d83
 #define	mem_at_gpio                             	0x4800
 #define	mem_module_wake_up_gpio                 	0x4801
 #define	mem_module_state_gpio                   	0x4802
Index: c51/global_variable.h
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/global_variable.h	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/global_variable.h	(working copy)
@@ -42,7 +42,7 @@
 }BD_KEY_RECORD;
 
 
-typedef struct c51_global_variable		// 0x4cbf
+typedef struct c51_global_variable		// 0x4cbf    0x4c98
 {
 	 byte update_eeprom_flag;		// 0x4cbf
 	 byte last_device_num;			// 0x4cc0
@@ -50,7 +50,6 @@
 	 byte power_on_action;			// 0x4cc2
 	 byte current_device_num;		// 0x4cc3
 	 byte temp_device_num;		// 0x4cc4
-
 	 byte g24_currentState;			// 0x4cc5
 	 byte g24_currentSubState;		// 0x4cc6
 	 byte ble_currentState;			// 0x4cc7
@@ -58,34 +57,32 @@
 	 byte br_currentState;			// 0x4cc9
 	 byte br_currentSubState;		// 0x4cca
 	 byte history_state;			// 0x4ccb
-
 	 byte button_reconnect_flag;	// 0x4ccc
 	 byte button_24G_rec_flag;		// 0x4ccd
 	 byte button_flag;				// 0x4cce
-	 byte button_timer[4];			// 0x4ccf~0x4cd2
- 
+	 
+	 byte button_timer[7];			// 0x4ccf~0x4cd2
 	 byte battery_check_interval;			// 0x4cd3
 	 byte battery_value_index;				// 0x4cd4
-	 byte battery_status;					// 0x4cd5
+	 byte battery_status;					// 0x4cd5			0x4cb0
 	 word battery_value[BAT_ARRAY_LEN];	// 0x4cd6~0x4cdd
+	 
 	 word battery_level_low;				// 0x4cde
 	 word battery_level_shutdown;			// 0x4ce0
-
-	 byte battery_low_led_flash_interval;		// 0x4ce2
-
-		 
-	 word sleepTimer;						// 0x4ce3
+	 byte text_byte_ff;		// 0x4ce2	 
+ 
+	 byte battery_low_led_flash_interval;		// 0x4ce2	 
+	 word sleepTimer;						// 0x4ce3		//0x4cc0	
 	 byte powerOn_timer;					// 0x4ce5
 	 byte sys_numlockled_on_timer;			// 0x4ce6
 	 byte sys_capslockled_on_timer;			// 0x4ce7
-	 byte sys_scrolllockled_on_timer;		// 0x4ce8
-	 byte pairing_timeout;					// 0x4ce9
-	 byte delay_enter_lpm_timer;			// 0x4cea
 	 
+	 byte sys_mode_led_on_timer;			// 0x4ce6;		// 0x4ce8
+	 word pairing_timeout;					// 0x4ce9
+	 byte delay_enter_lpm_timer;			// 0x4cea
 	 byte release_data;					// 0x4ceb
 	 byte lockLpm;	 					// 0x4cec
 	 byte key_action;						// 0x4ced
-
 	 byte pairing_g24_timeout;				//0x4cee
 	 byte recon_delay;						// 0x4cef
 	 byte recon_count;						// 0x4cf0
@@ -96,6 +93,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;	// 0x4cf8
 	 byte battery_level_percentage;			// 0x4cf9
 	 word battery_level_full;				// 0x4cfa
@@ -104,34 +102,19 @@
 	 byte connect_button_temp;
 	 byte battery_shutdown_flag;
 	 byte last_battery_status;
-	 byte g24_long_sleep_flag;
-
-	
-	 byte mouse_data_send_flag;
-	 byte sensor_key;
-	 byte sensor_x_l;
-	 byte sensor_x_h;
-	 byte sensor_y_l;
-	 byte sensor_y_h;
-	 byte sensor_wheel;
-	 byte sensor_titl;
-
+	 byte g24_long_sleep_flag;	
+	 
      byte p_mode_last;
 	 byte p_mode_current;
 
-	 byte uswitch_language_step; //iOS切换语言步骤
-	 byte uswitch_wait_flag;	 //iOS切换语言延时释放标志
-	 byte led_mode_flag;	 //切换WIN、ANDROID、IOS系统显示灯效标志
-	 byte user_time_5s_cnt;	//计时5秒
-
-//	byte wheelStateLast; 
-//	byte wheelStateBefore; 
-//	byte wheelStateNow; 
-//	byte wheelKeysendFlag;
-//	byte wheeldelayrelease;
-//	byte wheel_button_temp;
-//	byte wheel_key_send_flag;
-
+	 byte switch_device_led_timer;
+	 byte pairing_succed_timeout;
+	 byte keyboadr_clear_id_succed; 
+	 byte battery_level_percentage_juge;	
+	 byte led_power_on;
+	 byte recon_flag;
+	 byte os_24g_juge_start_delay_timer;
+	 byte ancs_connect_star_flag;
 	 byte test_buff;
 	
 }G_VARIABLE_MAP;
@@ -182,6 +165,9 @@
  extern xbyte ble_send_secutiry_request_timer;
  extern xbyte power_on_reconnect_flag; 
  extern xbyte esc_flag;
+ extern xbyte fn_w_flag;
+ extern xbyte gui_lock;
+
 
 extern xbyte hidBuff[10] ;
 extern xbyte  m_link_key_exists  ;
@@ -194,6 +180,7 @@
 extern xbyte m_le_ltk[16]  ;
 extern byte m_24g_addr[4] ;
 extern byte m_24g_paring_addr[4];
+extern byte m_mouse_retry_flag;
 extern byte kscurrmult;
 extern xbyte m_le_lap[6];
 extern xbyte m_reset_reg;
@@ -211,10 +198,13 @@
 extern volatile xbyte m_adc_channel;
 extern volatile xbyte m_wakup_from_power_flag;
 extern volatile xbyte m_le_send_security_request_flag;
-extern volatile xbyte m_local_name_length;
 extern volatile xbyte m_customize_timer;
 extern volatile xbyte m_24g_led_flag;
 extern volatile xbyte m_pc_sleep_flag;
 extern volatile xbyte m_le_battery_level_display_enable;
+extern volatile xbyte m_le_system_4type;
+extern volatile xbyte m_le_start_auto_reco_timer;
+extern volatile xbyte m_le_ancs_req;
+extern volatile xbyte m_enter_fcc_flag;
 
 #endif //_GLOBAL_VARIABLE_H_
Index: c51/global_variable.c
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/global_variable.c	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/global_variable.c	(working copy)
@@ -43,20 +43,23 @@
  xbyte ble_send_secutiry_request_timer;
  xbyte power_on_reconnect_flag;
  xbyte esc_flag;
+ xbyte fn_w_flag;
+ xbyte gui_lock; 
 
 volatile xbyte ksSelMapOld[KB_KSCAN_COL_NUM] _at_ 0x4d93;
 volatile xbyte ksSelMapCheck[KB_KSCAN_COL_NUM] _at_ 0x4da8;	// 4d93+20 = 4da8
 volatile xbyte ksSelMapCurr[KB_KSCAN_COL_NUM] _at_ 0x4dbc; 	// 4da8+20 = 4dbc
-volatile xbyte hidBuff[10] _at_ mem_mouse_x;				// 4dbc+20 = 4dd0
-volatile xbyte  m_link_key_exists _at_ mem_link_key_exists;	// 4dd0+10 = 4dda
-volatile xbyte m_linkkey[16] _at_ mem_link_key ;			// 4ddb
-volatile xbyte  m_ltk_exists _at_ mem_ltk_exists;			// 4deb
-volatile xbyte m_le_ltk[16] _at_ mem_le_ltk;				// 4dec
-volatile xbyte m_remote_le_addr[6] _at_ mem_le_plap;		// 4dfc
-volatile xbyte m_remote_addr[6] _at_ mem_plap;				// 4e02
-volatile xbyte m_reconn_addr[6] _at_ mem_hci_plap;			// 4e08
-volatile byte m_24g_addr[4] _at_ mem_24g_addr;				// 4e0e
-volatile byte m_24g_paring_addr[4] _at_ mem_24g_paring_addr;// 4e12
+volatile xbyte hidBuff[10] _at_ mem_mouse_x;
+volatile xbyte  m_link_key_exists _at_ mem_link_key_exists;
+volatile xbyte m_linkkey[16] _at_ mem_link_key ;
+volatile xbyte  m_ltk_exists _at_ mem_ltk_exists;
+volatile xbyte m_le_ltk[16] _at_ mem_le_ltk;
+volatile xbyte m_remote_le_addr[6] _at_ mem_le_plap;
+volatile xbyte m_remote_addr[6] _at_ mem_plap;
+volatile xbyte m_reconn_addr[6] _at_ mem_hci_plap;
+volatile byte m_24g_addr[4] _at_ mem_24g_addr;
+volatile byte m_24g_paring_addr[4] _at_ mem_24g_paring_addr;
+volatile byte m_mouse_retry_flag _at_ mem_mouse_retry_flag;
 
 volatile xbyte m_le_lap[6] _at_ mem_le_lap;
 
@@ -77,13 +80,14 @@
 volatile xbyte m_adc_channel _at_ mem_adc_channel;
 volatile xbyte m_wakup_from_power_flag _at_ mem_wakup_from_power_flag;
 volatile xbyte m_le_send_security_request_flag _at_ mem_le_send_security_request_flag;
-volatile xbyte m_local_name_length _at_ mem_local_name_length;
 volatile xbyte m_customize_timer _at_ mem_customize_timer;
 volatile xbyte m_24g_led_flag _at_ mem_24g_led_flag;
 volatile xbyte m_pc_sleep_flag _at_ mem_pc_sleep_flag;
 volatile xbyte m_le_battery_level_display_enable _at_ mem_le_battery_level_display_enable;
-
-
+volatile xbyte m_le_system_4type _at_ mem_le_system_4type;
+volatile xbyte m_le_start_auto_reco_timer _at_ mem_le_start_auto_reco_timer;
+volatile xbyte m_le_ancs_req _at_ mem_le_ancs_req;
+volatile xbyte m_enter_fcc_flag _at_ mem_enter_fcc_flag;
 
 code byte col[KB_KSCAN_COL_NUM+1]=
 {
@@ -243,7 +247,7 @@
 HID_KEY_LESS_THAN, 				//R7
 
 //c13 
-HID_KEY_MENU, 				//R0
+HID_KEY_APP, 				//R0
 HID_KEY_SEMICOLON, 				//R1	
 HID_KEY_UP_ARROW, 				//R2
 HID_KEY_NUM_LOCK, 			//R3
@@ -304,6 +308,5 @@
 HID_KEY_NULL,
 HID_KEY_B,
 HID_KEY_M,
-
 };
 
Index: c51/ipc.h
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/ipc.h	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/ipc.h	(working copy)
@@ -83,7 +83,7 @@
 #define IPC_CMD_SET_RECONNECT_INIT          	0x2a
 #define IPC_CMD_START_ADV_REC                      	0x2b
 #define IPC_CMD_START_ADV_DISCOVERY            0x2c
-
+#define IPC_CMD_ANCS_DELAY_TIMER			0X2d
 
 /*IPC event type*/
 #define IPC_EVT_NULL                                     		0x00
@@ -136,6 +136,7 @@
 #define IPC_EVT_RECONNECT_STANDY                	0x37
 #define IPC_EVT_CLEAR_LINKKEY                         	0x39
 #define IPC_EVT_24G_ATTEMPT_SUCCESS           	0x3c
+#define IPC_EVT_ANCS_AUTO_SYSTEM			0x3e
 #define IPC_EVT_TIMER_INIT                               	0x50
 #define IPC_EVT_TIMER_MASK                               	0xF0
 #define IPC_EVT_TIMER_100MS                              	0x51
Index: c51/kb_process.h
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/kb_process.h	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/kb_process.h	(working copy)
@@ -12,13 +12,15 @@
 #define KB_PC_KEYSEL_NUMLOCK		0x01
 #define KB_PC_KEYSEL_CAPSLOCK		0x02
 #define KB_PC_KEYSEL_SCROLLLOCK 	0x04
+#define KB_PC_24G_OS_MAC 			0x80
 
 #define KEY_FLAG_BTKEY_PRESS				0x01
 #define KEY_FLAG_SAME_KEY_PRESS			0x02
 #define KEY_FLAG_STOP_DISCOVERY			0x04
 #define KEY_FLAG_FN_DEVICE_BUTTON			0x08
 #define KEY_FLAG_FN_24G_DEVICE_BUTTON		0x10
-#define KEY_FLAG_FN_SYSTEM_MODE_BUTTON	0x20
+#define KEY_FLAG_FN_SYSTEM_MODE_BUTTON_I	0x20
+#define KEY_FLAG_FN_SYSTEM_MODE_BUTTON_P	0x40
 
 #define CAMBINATION_KEY_FREE				0
 #define CAMBINATION_KEY_PRESS				1
@@ -28,16 +30,20 @@
 #define CAMBINATION_KEY_RELEASE			5	
 #define CAMBINATION_KEY_NULL				6
 
-#define CAMBINATION_KEY_USER_WAIT			7
-#define CAMBINATION_KEY_CTRL_WAIT_RELEASE	8
-#define CAMBINATION_KEY_USER				9
 
 #define OSMODE_WINDOWS	0x00
-#define OSMODE_MAC			0x01
-#define OSMODE_IOS			0x02
-
-//gipo 16进制的GPIO脚位号
+#define OSMODE_ANDROID		0x01
+#define OSMODE_CHROME		0x02
+#define OSMODE_MAC			0x03
+#define OSMODE_IOS			0x04
+//sys form bt
+#define ANCS_WINDOWS		0x02
+#define ANCS_ANDROID		0x03
+#define ANCS_IOS				0x04
+#define ANCS_MAC			0x05
+//gipo
 #define EEPROM_WP_GPIO			0xff
+#define USER_MODE_GPIO			0x1e	//check BT and 2.4G mode
 
 #define NUM_LOCK_LED_GPIO    	15
 #define CAPS_LED_GPIO		  	16
@@ -49,12 +55,6 @@
 #define num3_led			0xff	
 #define num0_led			31	
 
-//#define PAIRING_LED_GPIO		15
-
-#define USER_MODE_GPIO			0x1e	//check BT and 2.4G mode
-
-//#define WHEEL_DATA_A_GPIO		15
-//#define WHEEL_DATA_B_GPIO		16
 
 //eeprom address base
 #define EEPROM_RECON_INFO_BASE_6  					0x7F50
@@ -65,6 +65,9 @@
 //#define EEPROM_RECON_INFO_POWER_ACTION 			(EEPROM_RECON_INFO_BASE+94)
 #define EEPROM_RECON_INFO_RAMDON_LE_LAP1		(EEPROM_RECON_INFO_BASE+94)
 #define EEPROM_RECON_INFO_RAMDON_LE_LAP2		(EEPROM_RECON_INFO_BASE+95)
+// #define EEPROM_SWITCH_MODE_LEDE_TIMER			(EEPROM_RECON_INFO_BASE+96)
+// #define EEPROM_CLEAR_ID_SUCCED_FLAG				(EEPROM_RECON_INFO_BASE+97)
+// #define EEPROM_POWER_ON_FLAG					(EEPROM_RECON_INFO_BASE+98)
 #define EEPROM_BATTERY_SHUTDOWN_FLAG			(EEPROM_RECON_INFO_BASE+96)
 
 
@@ -109,7 +112,6 @@
 void kb_multikey_setup(tKSEVENT *pEvt);
 byte key_fn_function(byte state ,byte key_value);
 
-void kb_send_wheel_data();
 
 #endif
 
Index: c51/kb_process.c
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/kb_process.c	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/kb_process.c	(working copy)
@@ -18,6 +18,7 @@
 			recon_index = key_num-1;
 			kscurrmult = 0x05;
 			g_variable.recon_count = 5;
+			g_variable.recon_flag = 1;
 			IPC_TxControlCmd(IPC_CMD_DISCONNECT);
 			Delay1ms(10);
 			IPC_TxControlCmd(IPC_CMD_SET_RECONNECT_INIT);
@@ -26,7 +27,6 @@
 		break;
 	case KEY_STOP_DISCOVERY:
 		IPC_TxControlCmd(IPC_CMD_STOP_ADV);
-		//IPC_TxControlCmd(IPC_CMD_STOP_DISCOVERY);
 		break;
 	case KEY_DISCOVERY:
 		g_variable.recon_count = 0;
@@ -41,18 +41,9 @@
 				ble_send_secutiry_request_timer = 0;
 				ble_fast_connect_flag = 0;
 				fast_connect_flag = 0;
-			#if DEVICE_MODE_BT_ONLY
-				IPC_TxControlCmd(IPC_CMD_START_DISCOVERY);
-			#elif DEVICE_MODE_BLE_ONLY	
 //				m_lpm_mode = 0;
 				YC_get_ble_ramdon_lap();
 				IPC_TxControlCmd(IPC_CMD_START_ADV);
-			#else	
-				YC_get_ble_ramdon_lap();
-				IPC_TxControlCmd(IPC_CMD_START_ADV_DISCOVERY);
-			#endif
-			g_variable.pairing_timeout = BT_PAIRING_TIME_OUT_2MIN;
-			g_variable.pairing_g24_timeout = 0;
 			g_variable.key_action = KEY_NONE;
 		}
 		break;
@@ -113,7 +104,7 @@
 				IPC_TxControlCmd(IPC_CMD_PAIR_24G);
 				g_variable.g24_currentState = CHANGE_TO_24G_PAIRING;
 				g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
-				g_variable.pairing_g24_timeout = BT_PAIRING_TIME_OUT_2MIN;
+				g_variable.pairing_g24_timeout = G24_PAIRING_TIME_OUT_10S;
 				GPIO_Setout(num2_led,LED_OFF);
 				GPIO_Setout(LOWPOWER_LED_GPIO,LED_OFF);
 				g_variable.pairing_timeout = 0;
@@ -144,14 +135,6 @@
 	if (g_variable.release_data)
 		return;
 
-	// if (g_variable.br_currentState == CHANGE_TO_BR_CONNECTED)
-	// {
-	// #ifdef SYSTEM_CONTROL_ENABLE
-	// 	if (tx_hid_buff[0] == HID_REPORTID_SYSTEM)
-	// 		tx_hid_buff[0] = HID_REPORTID_3;
-	// #endif		
-	// 	IPC_TxBREDRHidData(tx_hid_buff,len);
-	// }
 	if ((g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED) ||
 	((g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTING) && ble_fast_connect_flag))
 	{
@@ -224,23 +207,6 @@
 }
 
 /*
-//touch data send
-void kb_set_mouse_data()
-{
-	multikey[0] = HID_REPORTID_3;
-	multikey[1] = g_variable.sensor_key;
-	multikey[2] = g_variable.sensor_x_l;
-	multikey[3] = g_variable.sensor_x_h;
-	multikey[4] = g_variable.sensor_y_l;
-	multikey[5] = g_variable.sensor_y_h;
-	multikey[6] = g_variable.sensor_wheel;
-	multikey[7] = g_variable.sensor_titl;
-	IPC_TxHidData(multikey, 8);
-	xmemclear(multikey,9);
-}
-*/
-
-
 void kb_bt_pincode_enter()
 {
 	tKSEVENT *pEvt = NULL;
@@ -255,13 +221,6 @@
 				g_variable.ble_currentSubState = CHANGE_TO_BLE_SUB_PINCODE_OK;
 				le_pin_code_len = 0;
 			}
-
-			if (	g_variable.br_currentSubState ==  CHANGE_TO_BR_SUB_PINCODE)
-			{	
-				m_link_key_exists = 1;
-				IPC_TxControlCmd(IPC_CMD_SET_PIN_CODE);
-				g_variable.br_currentSubState = CHANGE_TO_BR_SUB_PINCODE_OK;
-			}
 		}
 		else
 		{
@@ -269,13 +228,11 @@
 			{
 				if (pEvt->ksPool[0] == HID_KEY_KP_0) 
 				{
-					ipcPin[ipcPinlen ++] = 0x30;	//ascii code: 0     x030
 					le_pin_code = le_pin_code*10;
 					le_pin_code_len++;
 				}
 				else 
 				{
-					ipcPin[ipcPinlen ++] = pEvt->ksPool[0]  - 0x28;  // ascii :0x31-0x39
 					le_pin_code = (le_pin_code*10)+(pEvt->ksPool[0]  - 0x58);
 					le_pin_code_len++;
 				}
@@ -284,21 +241,17 @@
 			{
 				if (pEvt->ksPool[0] == HID_KEY_0) 
 				{
-					ipcPin[ipcPinlen ++] = 0x30;	//0
 					le_pin_code = le_pin_code*10;
 					le_pin_code_len++;
 				}
 				else 
 				{
-					ipcPin[ipcPinlen ++] = pEvt->ksPool[0]  - (HID_KEY_1 -1) + 0x30;
 					le_pin_code = (le_pin_code*10)+(pEvt->ksPool[0]  - (HID_KEY_1 -1));
 					le_pin_code_len++;
 				}
 			}
 			else if(pEvt->ksPool[0] == HID_KEY_BACKSPACE) 
 			{
-				if(ipcPinlen)
-					ipcPin[ipcPinlen --] = 0;
 				if(le_pin_code_len)
 				{
 					le_pin_code = le_pin_code /10;
@@ -312,8 +265,7 @@
 		}
 	}
 }
-
-
+*/
 
 void kb_24g_get_led_status()		//get RF Ack for get numlock/capslock status
 {
@@ -353,124 +305,25 @@
 	kb_motion_keyscan(pEvt);
 }
 
-//static void kb_wheel_scan(void)
-//{
-//	word result = 0;
-//	byte tempStateA = GPIO_GetInputStatus(WHEEL_DATA_A_GPIO);
-//	byte tempState = (tempStateA << 1)|
-//		GPIO_GetInputStatus(WHEEL_DATA_B_GPIO);
-//	
-//	if (g_variable.wheelStateNow == tempState) 
-//	{
-//		return;
-//	}
-//	g_variable.delay_enter_lpm_timer = 10;
-//	g_variable.wheelStateLast = g_variable.wheelStateBefore;
-//	g_variable.wheelStateBefore = g_variable.wheelStateNow;
-//	g_variable.wheelStateNow = tempState;
-//
-//	result = (g_variable.wheelStateNow << 4) |(g_variable.wheelStateBefore << 2) |g_variable.wheelStateLast;
-//
-//	switch (result) 
-//	{
-//	case 0x38:
-//	case 0x07:
-//		g_variable.wheelKeysendFlag++;
-//		break;
-//	case 0x34:
-//	case 0x0b:
-//		g_variable.wheelKeysendFlag--;
-//		break;
-//	default:
-//		break;
-//	}
-//}
 
-//void kb_send_wheel_data()
-//{
-//	if(g_variable.wheelKeysendFlag)
-//	{
-//		if(!(g_variable.wheelKeysendFlag & 0x80))
-//		{
-//			multikey[0] = HID_REPORTID_2;
-//			multikey[1] = 0x00;
-//			multikey[2] = 0x00;
-//			IPC_TxHidData(multikey, 3);
-//			Delay1ms(3);
-//			multikey[1] = 0xe9;			//音量加
-//			IPC_TxHidData(multikey, 3);
-//			g_variable.wheelKeysendFlag--;
-//			if(!g_variable.wheelKeysendFlag)
-//				g_variable.wheeldelayrelease = 2;
-//		}
-//		else
-//		{
-//			multikey[0] = HID_REPORTID_2;
-//			multikey[1] = 0x00;
-//			multikey[2] = 0x00;
-//			IPC_TxHidData(multikey, 3);
-//			Delay1ms(3);
-//			multikey[1] = 0xea;			//音量减
-//			IPC_TxHidData(multikey, 3);
-//			g_variable.wheelKeysendFlag++;
-//			if(!g_variable.wheelKeysendFlag)
-//				g_variable.wheeldelayrelease = 2;
-//		}
-//
-//		if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED ||g_variable.br_currentState == CHANGE_TO_BR_CONNECTED)
-//		{
-//			kscurrmult = 0x3;
-//		}
-//		delayChgInvTimer = 10;
-//		g_variable.sleepTimer = 0;
-//	}
-//}
 
 void kb_need_keyscan()
 {
-	 if (g_variable.ble_currentSubState == CHANGE_TO_BLE_SUB_PINCODE)
+
+/*
+	 if (g_variable.ble_currentSubState == CHANGE_TO_BLE_SUB_PINCODE 
+		|| g_variable.br_currentSubState == CHANGE_TO_BR_SUB_PINCODE)
 	{
 		kb_bt_pincode_enter();
 	}
 	else
-	{
-		/*
-		  if ((GPIO_GetInputStatus(INT_GPIO) == 0) )//&& (tperr == 0))
-		  {
-			g_variable.mouse_data_send_flag = 0;
-			g_variable.delay_enter_lpm_timer = 10;
-		  	
-		 	if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
-		 	{
-				if(m_customize_timer != g_variable.send_timer)
-				{
-					g_variable.send_timer = m_customize_timer;
-				}
-				else 
-					return;
-			}
-			Touch_data_get();
-			kb_set_mouse_data();
-		}
-		else
-		*/
-		{
-		//	g_variable.sensor_x_l = 0;
-		//	g_variable.sensor_x_h = 0;
-		//	g_variable.sensor_y_l = 0;
-		//	g_variable.sensor_y_h = 0;
-		//	g_variable.sensor_wheel = 0;
-		//	g_variable.sensor_titl = 0;
-			
+*/	
+	{	
 		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)
-		|| (g_variable.key_combination_step == CAMBINATION_KEY_CTRL_WAIT_RELEASE)
-		)	//第4个条件为新增，当苹果系统切换语言延时释放Ctrl等待时间内，允许重复按切换语言键
-		{
-//			kb_wheel_scan();
+		)
 			kb_motion();
-		}
 		else
 		{
 			if(g_variable.key_combination_step == CAMBINATION_KEY_PRESS)
@@ -479,18 +332,8 @@
 				g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
 			}
 			else if(g_variable.key_combination_step == CAMBINATION_KEY_HOLD)
-			{
-				if (g_variable.uswitch_wait_flag)	//该标志是改变正常组合键步骤，而走用户自定义步骤
-				{
-					g_variable.uswitch_wait_flag = 0;
-					g_variable.key_combination_step = CAMBINATION_KEY_USER_WAIT;
-					g_variable.one_key_press_wait_release_timer = 3;	//等待300ms走用户自定义步骤
-					g_variable.uswitch_language_step = 1;
-				}
-				else
-				{
-					g_variable.key_combination_step = CAMBINATION_KEY_COMPLETE;
-				}
+			{	
+				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)
@@ -510,15 +353,6 @@
 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
 				g_variable.key_combination_step = CAMBINATION_KEY_FREE;
 			}
-
-			else if (g_variable.key_combination_step == CAMBINATION_KEY_USER)	//用户自定义步骤：保存Ctrl，释放Space
-			{
-				g_variable.key_combination_keyvalue = 0;
-				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
-				g_variable.key_combination_step = CAMBINATION_KEY_CTRL_WAIT_RELEASE;
-				g_variable.one_key_press_wait_release_timer = 10;	//Ctrl延时释放时间1秒
-			}
-		}
 		}
 	}
 }
@@ -736,7 +570,7 @@
 				YC_disconnect_all_link();
 				Delay1ms(10);
 				//do discoverable
-				g_variable.pairing_timeout = BT_PAIRING_TIME_OUT_2MIN;
+				g_variable.pairing_timeout = STANDBY_TIMER_10MIN;
 				g_variable.pairing_g24_timeout = 0;
 				YC_key_action_handle(KEY_DISCOVERY);
 				LED_all_shutdown();
@@ -769,7 +603,7 @@
 	{
 
 		g_variable.button_flag &= ~(KEY_FLAG_FN_DEVICE_BUTTON |KEY_FLAG_FN_24G_DEVICE_BUTTON) ;
-		g_variable.button_flag &= ~KEY_FLAG_FN_SYSTEM_MODE_BUTTON;
+		//g_variable.button_flag &= ~KEY_FLAG_FN_SYSTEM_MODE_BUTTON;
 	}
 	return 0;
 }
@@ -796,32 +630,64 @@
 
 }
 
-//                    (ksSelMapCurr[i],ksMap[offset]);
+
 byte key_fn_function(byte state ,byte key_value)
 {
 	byte temp = 0;
 
 	if(state & 1)
 		g_variable.one_key_press_wait_release_timer = 0;
+
 	temp = key_value;
-	
-	if(g_variable.system_mode != OSMODE_WINDOWS)
+	if(g_variable.system_mode == OSMODE_IOS ||g_variable.system_mode == OSMODE_MAC)
 	{
 		if(key_value == HID_KEY_RIGHT_ALT)
 			temp = HID_KEY_RIGHT_GUI;
 		else if(key_value == HID_KEY_RIGHT_CTL)
 			temp = HID_KEY_RIGHT_ALT;	
-		
 		else if(key_value == HID_KEY_LEFT_GUI)
 			temp = HID_KEY_LEFT_ALT;
 		else if(key_value == HID_KEY_LEFT_ALT)
-			temp = HID_KEY_LEFT_GUI;
+			temp = HID_KEY_LEFT_GUI;	
+	}
+	if(fn_flag == 1){
+		if(key_value == HID_KEY_W)	
+		{
+			if(state & 1){
+				if(fn_w_flag)
+				{
+					fn_w_flag = 0;
+				}
+				else
+				{
+					fn_w_flag = 1;
+				}
+			}
+			
+			temp = HID_KEY_NULL;
+		}	
+		else if(key_value == HID_KEY_LEFT_GUI)
+		{
+			if(state & 1){
+				if(gui_lock)
+				{
+					gui_lock = 0;
+				}
+				else
+				{
+					gui_lock = 1;
+				}
+			}
+			temp = HID_KEY_NULL;
+		}	
 	}
-
 		if((!fast_connect_flag)  && (fn_flag))
 		{
 			switch (key_value)
 			{ 	
+				// case HID_KEY_W:
+				// 	fn_w_flag = 1;
+				// 	break;
 				case HID_KEY_F1:
 					//temp = HID_MULTIKEY_MEDIA;
 					temp = HID_MULTIKEY_MY_COMPUTER;
@@ -870,22 +736,52 @@
 					//temp = HID_MULTIKEY_AC_FAVORITES;
 					temp = HID_MULTIKEY_VOL_UP;
 					break;
-//				case HID_KEY_ESC:
-//					if(g_variable.system_mode == OSMODE_IOS)
-//					{
-//						kb_combination_key_press(state, KS_SEL_LGUI, HID_KEY_H);
-//						temp = HID_KEY_NULL;
-//					}
-//					else	//Windows、Android系统直接发送键值
-//					{
-//						temp = HID_MULTIKEY_AC_HOME;
-//					}
-//					break;
 				default :
 					break;
 			}
-//		}
 	}
+	if(fn_w_flag)
+	{
+		switch (key_value)
+		{
+			case HID_KEY_W:
+				temp = HID_KEY_UP_ARROW;
+				break;
+			case HID_KEY_A:
+				temp = HID_KEY_LEFT_ARROW;
+				break;
+			case HID_KEY_S:
+				temp = HID_KEY_DOWN_ARROW;
+				break;
+			case HID_KEY_D:
+				temp = HID_KEY_RIGHT_ARROW;
+				break;
+			case HID_KEY_UP_ARROW:
+				temp = HID_KEY_W;
+				break;
+			case HID_KEY_LEFT_ARROW:
+				temp = HID_KEY_A;
+				break;
+			case HID_KEY_DOWN_ARROW:
+				temp = HID_KEY_S;
+				break;
+			case HID_KEY_RIGHT_ARROW:
+				temp = HID_KEY_D;
+				break;
+			default :
+				break;
+		}
+	}
+	if(gui_lock)
+	{
+		// kb_combination_key_press(state,KS_SEL_LGUI,key_value);
+		// temp = HID_KEY_NULL;
+		if(key_value == HID_KEY_LEFT_GUI)
+			temp = HID_KEY_NULL;
+		if(key_value == HID_KEY_APP)
+			temp = HID_KEY_NULL;
+	}
+
 	return temp;
 }
 
@@ -986,7 +882,7 @@
 		      	{
 		        	kb_set_multikey(0x00b8);
 		      	}
-		      else if (pEvt->ksPool[i] ==  HID_MULTIKEY_OS_LOCK)
+		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_OS_LOCK)
 		      	{
 		        	kb_set_multikey(0x0030);
 		      	}	
Index: c51/kbhid.h
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/kbhid.h	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/kbhid.h	(working copy)
@@ -109,7 +109,7 @@
         HID_KEY_KP_DEL		= 0x63,
   
         HID_KEY_K45			= 0x64,
-        HID_KEY_APP			= 0x65,		//右键菜单键
+        HID_KEY_APP			= 0x65,
         HID_KEY_POWER			= 0x66,
         HID_KEY_KP_EQUAL		= 0x67,
         
@@ -243,11 +243,8 @@
         HID_KEY_RIGHT_ALT			= 0xe6,
         HID_KEY_RIGHT_GUI			= 0xe7,
         // 0xe8~0xff reserved
-        HID_KEY_FN 					= 0xA5,
+        HID_KEY_FN 					= 0x7f,
         HID_KEY_PB					= 0xef,
-		HID_24G_CODE				= 0xec,
-		HID_BT1_CODE				= 0xed,
-//		HID_BT2_CODE				= 0xee,
         HID_KEY_NULL 				= 0x00,
 };
 
Index: c51/keyscan.c
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/keyscan.c	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/keyscan.c	(working copy)
@@ -275,7 +275,6 @@
 			ksSelMapCurr[i] &= ksSelMapCheck[i];
 		}
 	}
-
 	g_variable.current_device_num = GPIO_GetInputStatus(USER_MODE_GPIO);
 	if((g_variable.current_device_num == 1) && (g_variable.last_device_num == 0xfe || g_variable.last_device_num == 0))
 	{
@@ -319,7 +318,7 @@
 	if (compare_str(ksSelMapCurr,ksSelMapCheck,KB_KSCAN_COL_NUM) 
 		&& !array_is_empty(ksSelMapCurr,KB_KSCAN_COL_NUM))
 	{
-		g_variable.button_flag |= 0x02;
+		g_variable.button_flag |= KEY_FLAG_SAME_KEY_PRESS;
 	}
 	else
 	{	
Index: c51/led.h
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/led.h	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/led.h	(working copy)
@@ -2,8 +2,8 @@
 #define _LED_H
 #include "common.h"
 
-#define LED_ON		1
-#define LED_OFF		0
+#define LED_ON 1
+#define LED_OFF 0
 
 
 void LED_all_shutdown();
Index: c51/led.c
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/led.c	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/led.c	(working copy)
@@ -10,17 +10,13 @@
 	GPIO_SetOutput(LOWPOWER_LED_GPIO,LED_OFF);
 	GPIO_SetOutput(num0_led,LED_OFF);
 	GPIO_SetOutput(num3_led,LED_OFF);
-//	GPIO_SetOutput(PAIRING_LED_GPIO,LED_OFF);
-//	GPIO_SetOutput(num0_led,LED_ON);
-//	GPIO_SetOutput(CAPS_LED_GPIO,LED_ON);
-//	GPIO_SetOutput(NUM_LOCK_LED_GPIO,LED_ON);
-//	GPIO_SetOutput(LOWPOWER_LED_GPIO,LED_ON);
-//	while(1);
 }
 
 
 void LED_device_poweron()
 {
+//	if(g_variable.switch_device_led_timer)
+//		return ;
 	if(g_variable.current_device_num == 1)
 		GPIO_Setout(num1_led,LED_ON);
 	else if(g_variable.current_device_num == 2)
@@ -82,8 +78,7 @@
 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
 			}
 		}
-
-		//capslock  numlock  scrolllock LED process
+	
 		if (YC_check_is_connected())
 		{
 			if(g_variable.sleepTimer < KB_NUM_CAPS_LED_ON_TIMER)
@@ -151,7 +146,8 @@
 		if(g_variable.pairing_timeout == 0)
 			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
 		GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
-	}
+	}	
+
 }
 
 
Index: c51/output/FW
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/output/FW.COD
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/output/FW.COD	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/output/FW.COD	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.66.41.0                                                          08/01/2025  19:12:11  PAGE 1
+LX51 LINKER/LOCATER V4.66.41.0                                                          09/29/2025  13:28:06  PAGE 1
 
 
 
@@ -11,35 +11,35 @@
  FILE: 'bluetooth.c'
     4: void YC_load_record_list(byte index)
     5: {
-000737 904F05            MOV      DPTR,#index
+000737 904F06            MOV      DPTR,#index
 00073A EF                MOV      A,R7
 00073B F0                MOVX     @DPTR,A
     6: 	if (g_variable.recon_count == 0)
     7: 		return;
-00073C 904CF0            MOV      DPTR,#g_variable+031H
+00073C 904CB9            MOV      DPTR,#g_variable+036H
 00073F E0                MOVX     A,@DPTR
 000740 7003              JNZ      $ + 5H
 000742 020802            LJMP     ?C0002?BLUETOOTH
 000745         ?C0001?BLUETOOTH:
     8: 	g_variable.recon_count--;
-000745 904CF0            MOV      DPTR,#g_variable+031H
+000745 904CB9            MOV      DPTR,#g_variable+036H
 000748 E0                MOVX     A,@DPTR
 000749 14                DEC      A
 00074A F0                MOVX     @DPTR,A
     9: 	ble_reconnect_flag = 0;
 00074B E4                CLR      A
-00074C 904DE8            MOV      DPTR,#ble_reconnect_flag
+00074C 904DEA            MOV      DPTR,#ble_reconnect_flag
 00074F F0                MOVX     @DPTR,A
    10: 	fast_connect_flag = 0;
-000750 904E59            MOV      DPTR,#fast_connect_flag
+000750 904E5B            MOV      DPTR,#fast_connect_flag
 000753 F0                MOVX     @DPTR,A
    11: 	if (bd_key_record_list[index].device_type == TYPE_BLE)		
-000754 904F05            MOV      DPTR,#index
+000754 904F06            MOV      DPTR,#index
 000757 E0                MOVX     A,@DPTR
 000758 FF                MOV      R7,A
 000759 75F01F            MOV      B,#01FH
 00075C A4                MUL      AB
-00075D 24F2              ADD      A,#LOW bd_key_record_list
+00075D 24F4              ADD      A,#LOW bd_key_record_list
 00075F F582              MOV      DPL,A
 000761 E4                CLR      A
 000762 344D              ADDC     A,#HIGH bd_key_record_list
@@ -52,7 +52,7 @@
 00076B EF                MOV      A,R7
 00076C 75F01F            MOV      B,#01FH
 00076F A4                MUL      AB
-000770 24F3              ADD      A,#LOW bd_key_record_list+01H
+000770 24F5              ADD      A,#LOW bd_key_record_list+01H
 000772 F9                MOV      R1,A
 000773 744D              MOV      A,#HIGH bd_key_record_list+01H
 000775 35F0              ADDC     A,B
@@ -60,16 +60,16 @@
 000778 7B01              MOV      R3,#01H
 00077A 7E42              MOV      R6,#HIGH m_reconn_addr
 00077C 7F74              MOV      R7,#LOW m_reconn_addr
-00077E 904EC8            MOV      DPTR,#?_xmemcpy?BYTE+05H
+00077E 904ECA            MOV      DPTR,#?_xmemcpy?BYTE+05H
 000781 7406              MOV      A,#06H
 000783 F0                MOVX     @DPTR,A
 000784 12087D            LCALL    _xmemcpy
    14: 		xmemcpy(m_le_ltk,bd_key_record_list[index].device_link_key,16);
-000787 904F05            MOV      DPTR,#index
+000787 904F06            MOV      DPTR,#index
 00078A E0                MOVX     A,@DPTR
 00078B 75F01F            MOV      B,#01FH
 00078E A4                MUL      AB
-00078F 24F9              ADD      A,#LOW bd_key_record_list+07H
+00078F 24FB              ADD      A,#LOW bd_key_record_list+07H
 000791 F9                MOV      R1,A
 000792 744D              MOV      A,#HIGH bd_key_record_list+07H
 000794 35F0              ADDC     A,B
@@ -77,16 +77,16 @@
 000797 7B01              MOV      R3,#01H
 000799 7E44              MOV      R6,#HIGH m_le_ltk
 00079B 7F7B              MOV      R7,#LOW m_le_ltk
-00079D 904EC8            MOV      DPTR,#?_xmemcpy?BYTE+05H
+00079D 904ECA            MOV      DPTR,#?_xmemcpy?BYTE+05H
 0007A0 7410              MOV      A,#010H
 0007A2 F0                MOVX     @DPTR,A
 0007A3 12087D            LCALL    _xmemcpy
    15: 		xmemcpy(m_le_lap,bd_key_record_list[index].local_addr,6);
-0007A6 904F05            MOV      DPTR,#index
+0007A6 904F06            MOV      DPTR,#index
 0007A9 E0                MOVX     A,@DPTR
 0007AA 75F01F            MOV      B,#01FH
 0007AD A4                MUL      AB
-0007AE 2409              ADD      A,#LOW bd_key_record_list+017H
+0007AE 240B              ADD      A,#LOW bd_key_record_list+017H
 0007B0 F9                MOV      R1,A
 0007B1 744E              MOV      A,#HIGH bd_key_record_list+017H
 0007B3 35F0              ADDC     A,B
@@ -94,20 +94,20 @@
 0007B6 7B01              MOV      R3,#01H
 0007B8 7E44              MOV      R6,#HIGH m_le_lap
 0007BA 7FF9              MOV      R7,#LOW m_le_lap
-0007BC 904EC8            MOV      DPTR,#?_xmemcpy?BYTE+05H
+0007BC 904ECA            MOV      DPTR,#?_xmemcpy?BYTE+05H
 0007BF 7406              MOV      A,#06H
 0007C1 F0                MOVX     @DPTR,A
 0007C2 12087D            LCALL    _xmemcpy
    16: 		IPC_TxControlCmd(IPC_CMD_START_ADV_REC);		//ble reconnect
 0007C5 7F2B              MOV      R7,#02BH
-0007C7 1210AD            LCALL    _IPC_TxControlCmd
+0007C7 1213C9            LCALL    _IPC_TxControlCmd
    17: 		ble_reconnect_flag = 1;
-0007CA 904DE8            MOV      DPTR,#ble_reconnect_flag
+0007CA 904DEA            MOV      DPTR,#ble_reconnect_flag
 0007CD 7401              MOV      A,#01H
 0007CF F0                MOVX     @DPTR,A
    18: 		g_variable.recon_count = 0;
 0007D0 E4                CLR      A
-0007D1 904CF0            MOV      DPTR,#g_variable+031H
+0007D1 904CB9            MOV      DPTR,#g_variable+036H
 0007D4 F0                MOVX     @DPTR,A
    19: 		m_ltk_exists = 1;
 0007D5 90448B            MOV      DPTR,#m_ltk_exists
@@ -116,10 +116,10 @@
    20: 	}
 0007DA 22                RET      
 0007DB         ?C0003?BLUETOOTH:
-   21: 	else		
+   21: 	else		// ble fast connect
    22: 	{
    23: 		fast_connect_flag = 1;
-0007DB 904E59            MOV      DPTR,#fast_connect_flag
+0007DB 904E5B            MOV      DPTR,#fast_connect_flag
 0007DE 7401              MOV      A,#01H
 0007E0 F0                MOVX     @DPTR,A
    24: 	#ifdef BLE_FAST_CONNECT_ENABLE
@@ -148,26 +148,15 @@
 0007F6 F0                MOVX     @DPTR,A
    32: 			IPC_TxControlCmd(IPC_CMD_START_ADV_REC);
 0007F7 7F2B              MOV      R7,#02BH
-0007F9 1210AD            LCALL    _IPC_TxControlCmd
+0007F9 1213C9            LCALL    _IPC_TxControlCmd
    33: 			m_link_key_exists = 1;
 0007FC 90425E            MOV      DPTR,#m_link_key_exists
 0007FF 7401              MOV      A,#01H
 000801 F0                MOVX     @DPTR,A
    34: 	#endif
-   35: 	#ifdef BT_FAST_CONNECT_ENABLE
-   36: 			m_reconn_addr[0] = 0xFF;
-   37: 			m_reconn_addr[1] = 0xFF;
-   38: 			m_reconn_addr[2] = 0xFF;
-   39: 			m_reconn_addr[3] = 0xFF;
-   40: 			m_reconn_addr[4] = 0xFF;
-   41: 			m_reconn_addr[5] = 0xFF;
-   42: 			xmemclear_ff((byte *)m_linkkey,16); 
-   43: 			IPC_TxControlCmd(IPC_CMD_RECONNECT);
-   44: 			m_link_key_exists = 1;	
-   45: 			g_variable.fast_connect_send_name = 1;
-   46: 	#endif
-   47: 	}	
-   48: }
+   35: 
+   36: 	}	
+   37: }
 000802         ?C0002?BLUETOOTH:
 000802 22                RET      
 ----- FUNCTION _YC_load_record_list (END) -------
@@ -175,35 +164,35 @@
 
 ----- FUNCTION _YC_store_record_list (BEGIN) -----
  FILE: 'bluetooth.c'
-   52: void YC_store_record_list(byte link_type,byte index)
-   53: {
-000803 904F06            MOV      DPTR,#index
+   41: void YC_store_record_list(byte link_type,byte index)
+   42: {
+000803 904F07            MOV      DPTR,#index
 000806 ED                MOV      A,R5
 000807 F0                MOVX     @DPTR,A
 ;---- Variable 'link_type' assigned to Register 'R7' ----
-   54: 	if (link_type == TYPE_BLE) 
-   55: 	{
+   43: 	if (link_type == TYPE_BLE) 
+   44: 	{
 000808 EF                MOV      A,R7
 000809 6401              XRL      A,#01H
 00080B 706F              JNZ      ?C0006?BLUETOOTH
-   56: 		bd_key_record_list[index].device_type = TYPE_BLE;
-   57: 		xmemcpy(bd_key_record_list[index].device_addr,m_remote_le_addr,6);
+   45: 		bd_key_record_list[index].device_type = TYPE_BLE;
+   46: 		xmemcpy(bd_key_record_list[index].device_addr,m_remote_le_addr,6);
 00080D E0                MOVX     A,@DPTR
 00080E FF                MOV      R7,A
 00080F 75F01F            MOV      B,#01FH
 000812 A4                MUL      AB
-000813 24F2              ADD      A,#LOW bd_key_record_list
+000813 24F4              ADD      A,#LOW bd_key_record_list
 000815 F582              MOV      DPL,A
 000817 E4                CLR      A
 000818 344D              ADDC     A,#HIGH bd_key_record_list
 00081A F583              MOV      DPH,A
 00081C 7401              MOV      A,#01H
 00081E F0                MOVX     @DPTR,A
-   58: 		xmemcpy(bd_key_record_list[index].device_link_key,m_le_ltk,16);
+   47: 		xmemcpy(bd_key_record_list[index].device_link_key,m_le_ltk,16);
 00081F EF                MOV      A,R7
 000820 75F01F            MOV      B,#01FH
 000823 A4                MUL      AB
-000824 24F3              ADD      A,#LOW bd_key_record_list+01H
+000824 24F5              ADD      A,#LOW bd_key_record_list+01H
 000826 F582              MOV      DPL,A
 000828 E4                CLR      A
 000829 344D              ADDC     A,#HIGH bd_key_record_list+01H
@@ -212,16 +201,16 @@
 00082E 7B01              MOV      R3,#01H
 000830 7A03              MOV      R2,#HIGH m_remote_le_addr
 000832 79D0              MOV      R1,#LOW m_remote_le_addr
-000834 904EC8            MOV      DPTR,#?_xmemcpy?BYTE+05H
+000834 904ECA            MOV      DPTR,#?_xmemcpy?BYTE+05H
 000837 7406              MOV      A,#06H
 000839 F0                MOVX     @DPTR,A
 00083A 117D              ACALL    _xmemcpy
-   59: 		xmemcpy(bd_key_record_list[index].local_addr,m_le_lap,6);
-00083C 904F06            MOV      DPTR,#index
+   48: 		xmemcpy(bd_key_record_list[index].local_addr,m_le_lap,6);
+00083C 904F07            MOV      DPTR,#index
 00083F E0                MOVX     A,@DPTR
 000840 75F01F            MOV      B,#01FH
 000843 A4                MUL      AB
-000844 24F9              ADD      A,#LOW bd_key_record_list+07H
+000844 24FB              ADD      A,#LOW bd_key_record_list+07H
 000846 F582              MOV      DPL,A
 000848 E4                CLR      A
 000849 344D              ADDC     A,#HIGH bd_key_record_list+07H
@@ -230,16 +219,16 @@
 00084E 7B01              MOV      R3,#01H
 000850 7A44              MOV      R2,#HIGH m_le_ltk
 000852 797B              MOV      R1,#LOW m_le_ltk
-000854 904EC8            MOV      DPTR,#?_xmemcpy?BYTE+05H
+000854 904ECA            MOV      DPTR,#?_xmemcpy?BYTE+05H
 000857 7410              MOV      A,#010H
 000859 F0                MOVX     @DPTR,A
 00085A 117D              ACALL    _xmemcpy
-   60: 	}
-00085C 904F06            MOV      DPTR,#index
+   49: 	}
+00085C 904F07            MOV      DPTR,#index
 00085F E0                MOVX     A,@DPTR
 000860 75F01F            MOV      B,#01FH
 000863 A4                MUL      AB
-000864 2409              ADD      A,#LOW bd_key_record_list+017H
+000864 240B              ADD      A,#LOW bd_key_record_list+017H
 000866 F582              MOV      DPL,A
 000868 E4                CLR      A
 000869 344E              ADDC     A,#HIGH bd_key_record_list+017H
@@ -248,24 +237,22 @@
 00086E 7B01              MOV      R3,#01H
 000870 7A44              MOV      R2,#HIGH m_le_lap
 000872 79F9              MOV      R1,#LOW m_le_lap
-000874 904EC8            MOV      DPTR,#?_xmemcpy?BYTE+05H
+000874 904ECA            MOV      DPTR,#?_xmemcpy?BYTE+05H
 000877 7406              MOV      A,#06H
 000879 F0                MOVX     @DPTR,A
 00087A 117D              ACALL    _xmemcpy
-   61: 	// else if (link_type == TYPE_BT)
-   62: 	// {
-   63: 	// 	bd_key_record_list[index].device_type = TYPE_BT;
-   64: 	// 	xmemcpy(bd_key_record_list[index].device_addr,m_remote_addr,6);
-   65: 	// 	xmemcpy(bd_key_record_list[index].device_link_key,m_linkkey,16);
-   66: 	// }
-   67: }
+   50: }
+   51: 
 00087C         ?C0006?BLUETOOTH:
 00087C 22                RET      
 ----- FUNCTION _YC_store_record_list (END) -------
 
 
 ----- FUNCTION _xmemcpy (BEGIN) -----
-00087D 904EC3            MOV      DPTR,#dest
+ FILE: 'utilities.c'
+    9: void xmemcpy(pxbyte dest, byte * src, byte len)
+   10: {
+00087D 904EC5            MOV      DPTR,#dest
 000880 EE                MOV      A,R6
 000881 F0                MOVX     @DPTR,A
 000882 A3                INC      DPTR
@@ -280,15 +267,18 @@
 00088B A3                INC      DPTR
 00088C E9                MOV      A,R1
 00088D F0                MOVX     @DPTR,A
+   11: 	while (len--)
 00088E         ?C0002?UTILITIES:
-00088E 904EC8            MOV      DPTR,#len
+   12: 		*dest++ = *src++;
+00088E 904ECA            MOV      DPTR,#len
 000891 E0                MOVX     A,@DPTR
 000892 FF                MOV      R7,A
 000893 14                DEC      A
 000894 F0                MOVX     @DPTR,A
 000895 EF                MOV      A,R7
 000896 6027              JZ       ?C0004?UTILITIES
-000898 904EC5            MOV      DPTR,#src
+   13: 	return;
+000898 904EC7            MOV      DPTR,#src
 00089B E0                MOVX     A,@DPTR
 00089C FB                MOV      R3,A
 00089D A3                INC      DPTR
@@ -299,7 +289,7 @@
 0008A7 FA                MOV      R2,A
 0008A8 1203B6            LCALL    ?C?CLDPTR
 0008AB FF                MOV      R7,A
-0008AC 904EC3            MOV      DPTR,#dest
+0008AC 904EC5            MOV      DPTR,#dest
 0008AF E4                CLR      A
 0008B0 75F001            MOV      B,#01H
 0008B3 120424            LCALL    ?C?ILDIX
@@ -308,6 +298,7 @@
 0008BB EF                MOV      A,R7
 0008BC F0                MOVX     @DPTR,A
 0008BD 80CF              SJMP     ?C0002?UTILITIES
+   14: }
 0008BF         ?C0004?UTILITIES:
 0008BF 22                RET      
 ----- FUNCTION _xmemcpy (END) -------
@@ -315,9 +306,9 @@
 
 ----- FUNCTION _kb_motion_keyscan (BEGIN) -----
  FILE: 'kb_process.c'
-  528: void kb_motion_keyscan(tKSEVENT *pEvt)
-  529: {
-0008C0 904EC9            MOV      DPTR,#pEvt
+  362: void kb_motion_keyscan(tKSEVENT *pEvt)
+  363: {
+0008C0 904ECB            MOV      DPTR,#pEvt
 0008C3 EB                MOV      A,R3
 0008C4 F0                MOVX     @DPTR,A
 0008C5 A3                INC      DPTR
@@ -326,36 +317,36 @@
 0008C8 A3                INC      DPTR
 0008C9 E9                MOV      A,R1
 0008CA F0                MOVX     @DPTR,A
-  530: 	byte temp = 0;
-  531: 	byte i=0;
+  364: 	byte temp = 0;
+  365: 	byte i=0;
 0008CB E4                CLR      A
 0008CC A3                INC      DPTR
 0008CD F0                MOVX     @DPTR,A
-  532: 	
+  366: 	
 0008CE A3                INC      DPTR
 0008CF F0                MOVX     @DPTR,A
-  533: 	fn_flag = 0;
-0008D0 904DE5            MOV      DPTR,#fn_flag
+  367: 	fn_flag = 0;
+0008D0 904DE6            MOV      DPTR,#fn_flag
 0008D3 F0                MOVX     @DPTR,A
-  534: 	esc_flag = 0;
-0008D4 904DDD            MOV      DPTR,#esc_flag
+  368: 	esc_flag = 0;
+0008D4 904DDE            MOV      DPTR,#esc_flag
 0008D7 F0                MOVX     @DPTR,A
-  535: 	control_key_flag = 0;
-0008D8 904DDA            MOV      DPTR,#control_key_flag
+  369: 	control_key_flag = 0;
+0008D8 904DDB            MOV      DPTR,#control_key_flag
 0008DB F0                MOVX     @DPTR,A
-  536: 	for(i=0; i < KS_BUFF_POLL_LEN-1; i++)
-0008DC 904ECD            MOV      DPTR,#i
+  370: 	for(i=0; i < KS_BUFF_POLL_LEN-1; i++)
+0008DC 904ECF            MOV      DPTR,#i
 0008DF F0                MOVX     @DPTR,A
-0008E0         ?C0097?KB_PROCESS:
-0008E0 904ECD            MOV      DPTR,#i
+0008E0         ?C0071?KB_PROCESS:
+0008E0 904ECF            MOV      DPTR,#i
 0008E3 E0                MOVX     A,@DPTR
 0008E4 FF                MOV      R7,A
 0008E5 C3                CLR      C
 0008E6 9405              SUBB     A,#05H
-0008E8 504D              JNC      ?C0098?KB_PROCESS
-  537: 	{
-  538: 		if (pEvt->ksPool[i] == HID_KEY_FN) 		// Fn key check
-0008EA 904EC9            MOV      DPTR,#pEvt
+0008E8 504D              JNC      ?C0072?KB_PROCESS
+  371: 	{
+  372: 		if (pEvt->ksPool[i] == HID_KEY_FN) 		// Fn key check
+0008EA 904ECB            MOV      DPTR,#pEvt
 0008ED E0                MOVX     A,@DPTR
 0008EE FB                MOV      R3,A
 0008EF A3                INC      DPTR
@@ -377,26 +368,26 @@
 000901 FA                MOV      R2,A
 000902 1203B6            LCALL    ?C?CLDPTR
 000905 FF                MOV      R7,A
-000906 B4A506            CJNE     A,#0A5H,?C0100?KB_PROCESS
-  539: 		{
-  540: 			fn_flag = 1;
-000909 904DE5            MOV      DPTR,#fn_flag
+000906 B47F06            CJNE     A,#07FH,?C0074?KB_PROCESS
+  373: 		{
+  374: 			fn_flag = 1;
+000909 904DE6            MOV      DPTR,#fn_flag
 00090C 7401              MOV      A,#01H
 00090E F0                MOVX     @DPTR,A
-  541: 		}
-00090F         ?C0100?KB_PROCESS:
-  542: 		if (pEvt->ksPool[i] == HID_KEY_ESC)     // ESC key check
+  375: 		}
+00090F         ?C0074?KB_PROCESS:
+  376: 		if (pEvt->ksPool[i] == HID_KEY_ESC)     // ESC key check
 00090F EF                MOV      A,R7
-000910 B42906            CJNE     A,#029H,?C0101?KB_PROCESS
-  543: 		{
-  544: 			esc_flag = 1;
-000913 904DDD            MOV      DPTR,#esc_flag
+000910 B42906            CJNE     A,#029H,?C0075?KB_PROCESS
+  377: 		{
+  378: 			esc_flag = 1;
+000913 904DDE            MOV      DPTR,#esc_flag
 000916 7401              MOV      A,#01H
 000918 F0                MOVX     @DPTR,A
-  545: 		}
-000919         ?C0101?KB_PROCESS:
-  546: 		if(pEvt->standardSel)
-000919 904EC9            MOV      DPTR,#pEvt
+  379: 		}
+000919         ?C0075?KB_PROCESS:
+  380: 		if(pEvt->standardSel)
+000919 904ECB            MOV      DPTR,#pEvt
 00091C E0                MOVX     A,@DPTR
 00091D FB                MOV      R3,A
 00091E A3                INC      DPTR
@@ -406,23 +397,23 @@
 000922 E0                MOVX     A,@DPTR
 000923 F9                MOV      R1,A
 000924 1203B6            LCALL    ?C?CLDPTR
-000927 6006              JZ       ?C0099?KB_PROCESS
-  547: 			control_key_flag = 1;
-000929 904DDA            MOV      DPTR,#control_key_flag
+000927 6006              JZ       ?C0073?KB_PROCESS
+  381: 			control_key_flag = 1;
+000929 904DDB            MOV      DPTR,#control_key_flag
 00092C 7401              MOV      A,#01H
 00092E F0                MOVX     @DPTR,A
-  548: 	}
-00092F         ?C0099?KB_PROCESS:
-00092F 904ECD            MOV      DPTR,#i
+  382: 	}
+00092F         ?C0073?KB_PROCESS:
+00092F 904ECF            MOV      DPTR,#i
 000932 E0                MOVX     A,@DPTR
 000933 04                INC      A
 000934 F0                MOVX     @DPTR,A
-000935 80A9              SJMP     ?C0097?KB_PROCESS
-000937         ?C0098?KB_PROCESS:
-  549: 
-  550: 	
-  551: 	if(kb_device_select(pEvt))		// select device or discovery
-000937 904EC9            MOV      DPTR,#pEvt
+000935 80A9              SJMP     ?C0071?KB_PROCESS
+000937         ?C0072?KB_PROCESS:
+  383: 
+  384: 	
+  385: 	if(kb_device_select(pEvt))		// select device or discovery
+000937 904ECB            MOV      DPTR,#pEvt
 00093A E0                MOVX     A,@DPTR
 00093B FB                MOV      R3,A
 00093C A3                INC      DPTR
@@ -431,14 +422,14 @@
 00093F A3                INC      DPTR
 000940 E0                MOVX     A,@DPTR
 000941 F9                MOV      R1,A
-000942 122C27            LCALL    _kb_device_select
+000942 122EC0            LCALL    _kb_device_select
 000945 EF                MOV      A,R7
 000946 6002              JZ       $ + 4H
-000948 811D              AJMP     ?C0104?KB_PROCESS
-00094A         ?C0103?KB_PROCESS:
-  552: 		return;
-  553: 	if (pEvt == NULL)
-00094A 904EC9            MOV      DPTR,#pEvt
+000948 811C              AJMP     ?C0078?KB_PROCESS
+00094A         ?C0077?KB_PROCESS:
+  386: 		return;
+  387: 	if (pEvt == NULL)
+00094A 904ECB            MOV      DPTR,#pEvt
 00094D E0                MOVX     A,@DPTR
 00094E A3                INC      DPTR
 00094F E0                MOVX     A,@DPTR
@@ -446,171 +437,171 @@
 000951 A3                INC      DPTR
 000952 E0                MOVX     A,@DPTR
 000953 4A                ORL      A,R2
-000954 703A              JNZ      ?C0105?KB_PROCESS
-  554: 	{
-  555: 		if(mult_key_status == KEY_WAIT_RELEASE && (!keyCount))
-000956 904E4F            MOV      DPTR,#mult_key_status
+000954 703A              JNZ      ?C0079?KB_PROCESS
+  388: 	{
+  389: 		if(mult_key_status == KEY_WAIT_RELEASE && (!keyCount))
+000956 904E51            MOV      DPTR,#mult_key_status
 000959 E0                MOVX     A,@DPTR
 00095A 6402              XRL      A,#02H
 00095C 6002              JZ       $ + 4H
-00095E 811D              AJMP     ?C0104?KB_PROCESS
-000960 904DE7            MOV      DPTR,#keyCount
+00095E 811C              AJMP     ?C0078?KB_PROCESS
+000960 904DE9            MOV      DPTR,#keyCount
 000963 E0                MOVX     A,@DPTR
 000964 6002              JZ       $ + 4H
-000966 811D              AJMP     ?C0104?KB_PROCESS
-  556: 		{
-  557: 			mult_key_status = KEY_STANDBY;
-000968 904E4F            MOV      DPTR,#mult_key_status
+000966 811C              AJMP     ?C0078?KB_PROCESS
+  390: 		{
+  391: 			mult_key_status = KEY_STANDBY;
+000968 904E51            MOV      DPTR,#mult_key_status
 00096B F0                MOVX     @DPTR,A
-  558: 			mult_key_value = 0;
-00096C 904DF0            MOV      DPTR,#mult_key_value
+  392: 			mult_key_value = 0;
+00096C 904DF2            MOV      DPTR,#mult_key_value
 00096F F0                MOVX     @DPTR,A
-  559: 			if(system_key_press)
-000970 904DEC            MOV      DPTR,#system_key_press
+  393: 			if(system_key_press)
+000970 904DEE            MOV      DPTR,#system_key_press
 000973 E0                MOVX     A,@DPTR
-000974 600A              JZ       ?C0107?KB_PROCESS
-  560: 			{
-  561: 				system_key_press = 0;
+000974 600A              JZ       ?C0081?KB_PROCESS
+  394: 			{
+  395: 				system_key_press = 0;
 000976 E4                CLR      A
 000977 F0                MOVX     @DPTR,A
-  562: 				multikey[0] = HID_REPORTID_SYSTEM;
-000978 904E50            MOV      DPTR,#multikey
+  396: 				multikey[0] = HID_REPORTID_SYSTEM;
+000978 904E52            MOV      DPTR,#multikey
 00097B 7406              MOV      A,#06H
 00097D F0                MOVX     @DPTR,A
-  563: 			}	
-00097E 8006              SJMP     ?C0108?KB_PROCESS
-000980         ?C0107?KB_PROCESS:
-  564: 			else
-  565: 				multikey[0] = HID_REPORTID_2;
-000980 904E50            MOV      DPTR,#multikey
+  397: 			}	
+00097E 8006              SJMP     ?C0082?KB_PROCESS
+000980         ?C0081?KB_PROCESS:
+  398: 			else
+  399: 				multikey[0] = HID_REPORTID_2;
+000980 904E52            MOV      DPTR,#multikey
 000983 7402              MOV      A,#02H
 000985 F0                MOVX     @DPTR,A
-000986         ?C0108?KB_PROCESS:
-  566: 			IPC_TxHidData(multikey, 3);
+000986         ?C0082?KB_PROCESS:
+  400: 			IPC_TxHidData(multikey, 3);
 000986 7B01              MOV      R3,#01H
 000988 7A4E              MOV      R2,#HIGH multikey
-00098A 7950              MOV      R1,#LOW multikey
+00098A 7952              MOV      R1,#LOW multikey
 00098C 7D03              MOV      R5,#03H
-00098E 811E              AJMP     _IPC_TxHidData
-  567: 		}
-  568: 		return;
-  569: 	}
-000990         ?C0105?KB_PROCESS:
-  570: 	if(g_variable.g24_long_sleep_flag)		// wake from 24g hibernate
-000990 904D01            MOV      DPTR,#g_variable+042H
+00098E 811D              AJMP     _IPC_TxHidData
+  401: 		}
+  402: 		return;
+  403: 	}
+000990         ?C0079?KB_PROCESS:
+  404: 	if(g_variable.g24_long_sleep_flag)		// wake from 24g hibernate
+000990 904CCA            MOV      DPTR,#g_variable+047H
 000993 E0                MOVX     A,@DPTR
-000994 6008              JZ       ?C0109?KB_PROCESS
-  571: 	{
-  572: 		g_variable.g24_long_sleep_flag = 0;
+000994 6008              JZ       ?C0083?KB_PROCESS
+  405: 	{
+  406: 		g_variable.g24_long_sleep_flag = 0;
 000996 E4                CLR      A
 000997 F0                MOVX     @DPTR,A
-  573: 		m_24g_led_flag = KB_24G_LED_ACK_TYPE;	
-000998 904D46            MOV      DPTR,#m_24g_led_flag
+  407: 		m_24g_led_flag = KB_24G_LED_ACK_TYPE;	
+000998 904CF5            MOV      DPTR,#m_24g_led_flag
 00099B 7403              MOV      A,#03H
 00099D F0                MOVX     @DPTR,A
-  574: 	}
-00099E         ?C0109?KB_PROCESS:
-  575: #ifdef PC_SLEEP_STATUS_GET
-  576: 	if(m_pc_sleep_flag)		// wake from pc sleep,get led status
-00099E 904D7D            MOV      DPTR,#m_pc_sleep_flag
+  408: 	}
+00099E         ?C0083?KB_PROCESS:
+  409: #ifdef PC_SLEEP_STATUS_GET
+  410: 	if(m_pc_sleep_flag)		// wake from pc sleep,get led status
+00099E 904D27            MOV      DPTR,#m_pc_sleep_flag
 0009A1 E0                MOVX     A,@DPTR
-0009A2 6008              JZ       ?C0110?KB_PROCESS
-  577: 	{
-  578: 		m_pc_sleep_flag = 0;
+0009A2 6008              JZ       ?C0084?KB_PROCESS
+  411: 	{
+  412: 		m_pc_sleep_flag = 0;
 0009A4 E4                CLR      A
 0009A5 F0                MOVX     @DPTR,A
-  579: 		m_24g_led_flag = KB_24G_LED_ACK_TYPE;	
-0009A6 904D46            MOV      DPTR,#m_24g_led_flag
+  413: 		m_24g_led_flag = KB_24G_LED_ACK_TYPE;	
+0009A6 904CF5            MOV      DPTR,#m_24g_led_flag
 0009A9 7403              MOV      A,#03H
 0009AB F0                MOVX     @DPTR,A
-  580: 	}
-0009AC         ?C0110?KB_PROCESS:
-  581: #endif
-  582: 	
-  583: 	if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
-0009AC 904CC7            MOV      DPTR,#g_variable+08H
+  414: 	}
+0009AC         ?C0084?KB_PROCESS:
+  415: #endif
+  416: 	
+  417: 	if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
+0009AC 904C8B            MOV      DPTR,#g_variable+08H
 0009AF E0                MOVX     A,@DPTR
-0009B0 B40406            CJNE     A,#04H,?C0111?KB_PROCESS
-  584: 	{
-  585: 		kscurrmult = 0x3;
+0009B0 B40406            CJNE     A,#04H,?C0085?KB_PROCESS
+  418: 	{
+  419: 		kscurrmult = 0x3;
 0009B3 904213            MOV      DPTR,#kscurrmult
 0009B6 7403              MOV      A,#03H
 0009B8 F0                MOVX     @DPTR,A
-  586: 	}
-0009B9         ?C0111?KB_PROCESS:
-  587: 	delayChgInvTimer = 10;
-0009B9 904DE9            MOV      DPTR,#delayChgInvTimer
+  420: 	}
+0009B9         ?C0085?KB_PROCESS:
+  421: 	delayChgInvTimer = 10;
+0009B9 904DEB            MOV      DPTR,#delayChgInvTimer
 0009BC 740A              MOV      A,#0AH
 0009BE F0                MOVX     @DPTR,A
-  588: 	g_variable.sleepTimer = 0;
+  422: 	g_variable.sleepTimer = 0;
 0009BF E4                CLR      A
-0009C0 904CE3            MOV      DPTR,#g_variable+024H
+0009C0 904CAB            MOV      DPTR,#g_variable+028H
 0009C3 F0                MOVX     @DPTR,A
 0009C4 A3                INC      DPTR
 0009C5 F0                MOVX     @DPTR,A
-  589: 	if(g_variable.battery_status == BAT_STATUS_LOW)
-0009C6 904CD5            MOV      DPTR,#g_variable+016H
+  423: 	if(g_variable.battery_status == BAT_STATUS_LOW)
+0009C6 904C9C            MOV      DPTR,#g_variable+019H
 0009C9 E0                MOVX     A,@DPTR
-0009CA B40112            CJNE     A,#01H,?C0112?KB_PROCESS
-  590: 	{
-  591: 		m_24g_enter_hibernate[0]	= 0x00;
+0009CA B40112            CJNE     A,#01H,?C0086?KB_PROCESS
+  424: 	{
+  425: 		m_24g_enter_hibernate[0]	= 0x00;
 0009CD E4                CLR      A
-0009CE 904D40            MOV      DPTR,#m_24g_enter_hibernate
+0009CE 904CEF            MOV      DPTR,#m_24g_enter_hibernate
 0009D1 F0                MOVX     @DPTR,A
-  592: 		m_24g_enter_hibernate[1]	= 0x48;
+  426: 		m_24g_enter_hibernate[1]	= 0x48;
 0009D2 A3                INC      DPTR
 0009D3 7448              MOV      A,#048H
 0009D5 F0                MOVX     @DPTR,A
-  593: 		m_24g_enter_hibernate[2]	= 0x12;		// 100ms
+  427: 		m_24g_enter_hibernate[2]	= 0x12;		// 100ms
 0009D6 A3                INC      DPTR
 0009D7 7412              MOV      A,#012H
 0009D9 F0                MOVX     @DPTR,A
-  594: 		m_24g_enter_hibernate[3]	= 0x00;
+  428: 		m_24g_enter_hibernate[3]	= 0x00;
 0009DA E4                CLR      A
 0009DB A3                INC      DPTR
 0009DC F0                MOVX     @DPTR,A
-  595: 	}
-0009DD 8010              SJMP     ?C0113?KB_PROCESS
-0009DF         ?C0112?KB_PROCESS:
-  596: 	else
-  597: 	{
-  598: 		m_24g_enter_hibernate[0]	= 0x00;
+  429: 	}
+0009DD 8010              SJMP     ?C0087?KB_PROCESS
+0009DF         ?C0086?KB_PROCESS:
+  430: 	else
+  431: 	{
+  432: 		m_24g_enter_hibernate[0]	= 0x00;
 0009DF E4                CLR      A
-0009E0 904D40            MOV      DPTR,#m_24g_enter_hibernate
+0009E0 904CEF            MOV      DPTR,#m_24g_enter_hibernate
 0009E3 F0                MOVX     @DPTR,A
-  599: 		m_24g_enter_hibernate[1]	= 0x48;
+  433: 		m_24g_enter_hibernate[1]	= 0x48;
 0009E4 A3                INC      DPTR
 0009E5 7448              MOV      A,#048H
 0009E7 F0                MOVX     @DPTR,A
-  600: 		m_24g_enter_hibernate[2]   = 0x5d;		// 510ms
+  434: 		m_24g_enter_hibernate[2]   = 0x5d;		// 510ms
 0009E8 A3                INC      DPTR
 0009E9 745D              MOV      A,#05DH
 0009EB F0                MOVX     @DPTR,A
-  601: 		m_24g_enter_hibernate[3]	= 0x00;
+  435: 		m_24g_enter_hibernate[3]	= 0x00;
 0009EC E4                CLR      A
 0009ED A3                INC      DPTR
 0009EE F0                MOVX     @DPTR,A
-  602: 	}
-0009EF         ?C0113?KB_PROCESS:
-  603: 	xmemclear(hidBuff,9);
+  436: 	}
+0009EF         ?C0087?KB_PROCESS:
+  437: 	xmemclear(hidBuff,9);
 0009EF 7B01              MOV      R3,#01H
 0009F1 7A48              MOV      R2,#HIGH hidBuff
 0009F3 7900              MOV      R1,#LOW hidBuff
 0009F5 7D09              MOV      R5,#09H
 0009F7 7C00              MOV      R4,#00H
 0009F9 B101              ACALL    _xmemclear
-  604: 	xmemclear(multikey,9);
+  438: 	xmemclear(multikey,9);
 0009FB 7B01              MOV      R3,#01H
 0009FD 7A4E              MOV      R2,#HIGH multikey
-0009FF 7950              MOV      R1,#LOW multikey
+0009FF 7952              MOV      R1,#LOW multikey
 000A01 7D09              MOV      R5,#09H
 000A03 7C00              MOV      R4,#00H
 000A05 B101              ACALL    _xmemclear
-  605: 
-  606: 	////////////////////////////2.4g pairing////////////////////////////////////强制配对：HID_KEY_ESC+HID_KEY_E
+  439: 
+  440: 	////////////////////////////2.4g pairing////////////////////////////////////强制配对：HID_KEY_ESC+HID_KEY_E
 >> QUAL(ESC+=)
-  607: 	if ((pEvt->ksPool[0]  == HID_KEY_K && pEvt->ksPool[1]  == HID_KEY_ESC) 
-000A07 904EC9            MOV      DPTR,#pEvt
+  441: 	if ((pEvt->ksPool[0]  == HID_KEY_K && pEvt->ksPool[1]  == HID_KEY_ESC) 
+000A07 904ECB            MOV      DPTR,#pEvt
 000A0A E0                MOVX     A,@DPTR
 000A0B FB                MOV      R3,A
 000A0C A3                INC      DPTR
@@ -622,655 +613,650 @@
 000A12 900001            MOV      DPTR,#01H
 000A15 1203CF            LCALL    ?C?CLDOPTR
 000A18 FF                MOV      R7,A
-000A19 B40E0A            CJNE     A,#0EH,?C0116?KB_PROCESS
+000A19 B40E0A            CJNE     A,#0EH,?C0090?KB_PROCESS
 000A1C 900002            MOV      DPTR,#02H
 000A1F 1203CF            LCALL    ?C?CLDOPTR
 000A22 6429              XRL      A,#029H
-000A24 600E              JZ       ?C0115?KB_PROCESS
-000A26         ?C0116?KB_PROCESS:
+000A24 600E              JZ       ?C0089?KB_PROCESS
+000A26         ?C0090?KB_PROCESS:
 000A26 EF                MOV      A,R7
 000A27 6429              XRL      A,#029H
-000A29 7020              JNZ      ?C0114?KB_PROCESS
+000A29 701F              JNZ      ?C0088?KB_PROCESS
 000A2B 900002            MOV      DPTR,#02H
 000A2E 1203CF            LCALL    ?C?CLDOPTR
-000A31 B40E17            CJNE     A,#0EH,?C0114?KB_PROCESS
-000A34         ?C0115?KB_PROCESS:
-  608: 		||(pEvt->ksPool[0]  == HID_KEY_ESC && pEvt->ksPool[1]  == HID_KEY_K) 
-  609: 		)
-  610: 	{
-  611: 		if( !g_variable.current_device_num || (g_variable.current_device_num == 0xfe))
-000A34 904CC3            MOV      DPTR,#g_variable+04H
+000A31 B40E16            CJNE     A,#0EH,?C0088?KB_PROCESS
+000A34         ?C0089?KB_PROCESS:
+  442: 		||(pEvt->ksPool[0]  == HID_KEY_ESC && pEvt->ksPool[1]  == HID_KEY_K) 
+  443: 		)
+  444: 	{
+  445: 		if( !g_variable.current_device_num || (g_variable.current_device_num == 0xfe))
+000A34 904C87            MOV      DPTR,#g_variable+04H
 000A37 E0                MOVX     A,@DPTR
 000A38 FF                MOV      R7,A
-000A39 6003              JZ       ?C0118?KB_PROCESS
-000A3B B4FE0D            CJNE     A,#0FEH,?C0114?KB_PROCESS
-000A3E         ?C0118?KB_PROCESS:
-  612: 		{	//最新强制进入2.4G对码模式代码
-  613: 			YC_disconnect_all_link();
-000A3E 1217C6            LCALL    YC_disconnect_all_link
-  614: 			Delay1ms(10);
+000A39 6003              JZ       ?C0092?KB_PROCESS
+000A3B B4FE0C            CJNE     A,#0FEH,?C0088?KB_PROCESS
+000A3E         ?C0092?KB_PROCESS:
+  446: 		{	//最新强制进入2.4G对码模式代码
+  447: 			YC_disconnect_all_link();
+000A3E 1218C7            LCALL    YC_disconnect_all_link
+  448: 			Delay1ms(10);
 000A41 7F0A              MOV      R7,#0AH
-000A43 1216F3            LCALL    _Delay1ms
-  615: 			YC_key_action_handle(KEY_PAIRING_24G);
-000A46 7F0A              MOV      R7,#0AH
-000A48 1210D7            LCALL    _YC_key_action_handle
-  616: 		}
-  617: 	}
-000A4B         ?C0114?KB_PROCESS:
-  618: //	{
-  619: //		m_24g_paring_addr[0] = 0x20;
-  620: //		m_24g_paring_addr[1] = 0x15;
-  621: //		m_24g_paring_addr[2] = 0x10;
-  622: //		m_24g_paring_addr[3] = 0x05;
-  623: //		if (g_variable.g24_currentState != CHANGE_TO_24G_PAIRING)
-  624: //		{
-  625: //			g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
-  626: //		}
-  627: //		else
-  628: //		{
-  629: //			g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
-  630: //		}
-  631: //	}
-  632: //	else
-  633: //	{
-  634: //		g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
-  635: //	}
-  636: 
-  637: 	m_power_on_flag = 1;
-000A4B 904CB6            MOV      DPTR,#m_power_on_flag
-000A4E 7401              MOV      A,#01H
-000A50 F0                MOVX     @DPTR,A
-  638: 	if( (g_variable.key_combination_step == CAMBINATION_KEY_PRESS) ||
-000A51 904CF4            MOV      DPTR,#g_variable+035H
-000A54 E0                MOVX     A,@DPTR
-000A55 FF                MOV      R7,A
-000A56 6401              XRL      A,#01H
-000A58 7002              JNZ      $ + 4H
-000A5A 811D              AJMP     ?C0104?KB_PROCESS
-000A5C EF                MOV      A,R7
-000A5D 6404              XRL      A,#04H
-000A5F 7002              JNZ      $ + 4H
-000A61 811D              AJMP     ?C0104?KB_PROCESS
-000A63 EF                MOV      A,R7
-000A64 6402              XRL      A,#02H
-000A66 7002              JNZ      $ + 4H
-000A68 811D              AJMP     ?C0104?KB_PROCESS
-  639: 	    (g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE) ||
-  640: 	    (g_variable.key_combination_step == CAMBINATION_KEY_HOLD))
-  641: 	{
-  642: 		return;
-  643: 	}
-000A6A         ?C0119?KB_PROCESS:
-  644: 
-  645: 	// get 24g led status
-  646: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
-000A6A 904CC5            MOV      DPTR,#g_variable+06H
-000A6D E0                MOVX     A,@DPTR
-000A6E 6403              XRL      A,#03H
-000A70 7045              JNZ      ?C0121?KB_PROCESS
-  647: 	{
-  648: 		for(i=0; i < KS_BUFF_POLL_LEN-1; i++)
-000A72 904ECD            MOV      DPTR,#i
-000A75 F0                MOVX     @DPTR,A
-000A76         ?C0122?KB_PROCESS:
-000A76 904ECD            MOV      DPTR,#i
-000A79 E0                MOVX     A,@DPTR
-000A7A FF                MOV      R7,A
-000A7B C3                CLR      C
-000A7C 9405              SUBB     A,#05H
-000A7E 5037              JNC      ?C0121?KB_PROCESS
-  649: 		{
-  650: 			if ((pEvt->ksPool[i] == HID_KEY_CAPS_LOCK) || (pEvt->ksPool[i] == HID_KEY_NUM_LOCK) 
-000A80 904EC9            MOV      DPTR,#pEvt
-000A83 E0                MOVX     A,@DPTR
-000A84 FB                MOV      R3,A
-000A85 A3                INC      DPTR
-000A86 E0                MOVX     A,@DPTR
-000A87 FA                MOV      R2,A
-000A88 A3                INC      DPTR
-000A89 E0                MOVX     A,@DPTR
-000A8A 2401              ADD      A,#01H
-000A8C F9                MOV      R1,A
-000A8D E4                CLR      A
-000A8E 3A                ADDC     A,R2
-000A8F FA                MOV      R2,A
-000A90 7E00              MOV      R6,#00H
-000A92 E9                MOV      A,R1
-000A93 2F                ADD      A,R7
-000A94 F9                MOV      R1,A
-000A95 EE                MOV      A,R6
-000A96 3A                ADDC     A,R2
-000A97 FA                MOV      R2,A
-000A98 1203B6            LCALL    ?C?CLDPTR
-000A9B FF                MOV      R7,A
-000A9C 6439              XRL      A,#039H
-000A9E 6009              JZ       ?C0126?KB_PROCESS
-000AA0 EF                MOV      A,R7
-000AA1 6453              XRL      A,#053H
-000AA3 6004              JZ       ?C0126?KB_PROCESS
-000AA5 EF                MOV      A,R7
-000AA6 B44706            CJNE     A,#047H,?C0124?KB_PROCESS
-000AA9         ?C0126?KB_PROCESS:
-  651: 			|| (pEvt->ksPool[i] == HID_KEY_SCROLL_LOCK))
-  652: 			{
-  653: 				m_24g_led_flag = KB_24G_LED_ACK_TYPE;
-000AA9 904D46            MOV      DPTR,#m_24g_led_flag
-000AAC 7403              MOV      A,#03H
-000AAE F0                MOVX     @DPTR,A
-  654: 
-  655: 			}
-  656: 		}
-000AAF         ?C0124?KB_PROCESS:
-000AAF 904ECD            MOV      DPTR,#i
-000AB2 E0                MOVX     A,@DPTR
-000AB3 04                INC      A
-000AB4 F0                MOVX     @DPTR,A
-000AB5 80BF              SJMP     ?C0122?KB_PROCESS
-  657: 	}
-000AB7         ?C0121?KB_PROCESS:
-  658: 
-  659: 	kb_multikey_setup(pEvt);
-000AB7 904EC9            MOV      DPTR,#pEvt
-000ABA E0                MOVX     A,@DPTR
-000ABB FB                MOV      R3,A
-000ABC A3                INC      DPTR
-000ABD E0                MOVX     A,@DPTR
-000ABE FA                MOV      R2,A
-000ABF A3                INC      DPTR
-000AC0 E0                MOVX     A,@DPTR
-000AC1 F9                MOV      R1,A
-000AC2 12267F            LCALL    _kb_multikey_setup
-  660: 	
-  661: 	if (mult_key_status == KEY_MULIT_PRESS) 
-000AC5 904E4F            MOV      DPTR,#mult_key_status
-000AC8 E0                MOVX     A,@DPTR
-000AC9 B40111            CJNE     A,#01H,?C0127?KB_PROCESS
-  662: 	{
-  663: 		mult_key_status = KEY_WAIT_RELEASE;
-000ACC 7402              MOV      A,#02H
-000ACE F0                MOVX     @DPTR,A
-  664: 		multikey[0] = HID_REPORTID_2;
-000ACF 904E50            MOV      DPTR,#multikey
-000AD2 F0                MOVX     @DPTR,A
-  665: 		IPC_TxHidData(multikey, 3);
-000AD3 7B01              MOV      R3,#01H
-000AD5 7A4E              MOV      R2,#HIGH multikey
-000AD7 7950              MOV      R1,#LOW multikey
-000AD9 7D03              MOV      R5,#03H
-000ADB 811E              AJMP     _IPC_TxHidData
-  666: 	}
-000ADD         ?C0127?KB_PROCESS:
-  667: 	else if (mult_key_status == KEY_SYSTEM_PRESS) 
-000ADD 904E4F            MOV      DPTR,#mult_key_status
-000AE0 E0                MOVX     A,@DPTR
-000AE1 B40413            CJNE     A,#04H,?C0129?KB_PROCESS
-  668: 	{
-  669: 		mult_key_status = KEY_WAIT_RELEASE;
-000AE4 7402              MOV      A,#02H
-000AE6 F0                MOVX     @DPTR,A
-  670: 		multikey[0] = HID_REPORTID_SYSTEM;
-000AE7 904E50            MOV      DPTR,#multikey
-000AEA 7406              MOV      A,#06H
-000AEC F0                MOVX     @DPTR,A
-  671: 		IPC_TxHidData(multikey, 3);
-000AED 7B01              MOV      R3,#01H
-000AEF 7A4E              MOV      R2,#HIGH multikey
-000AF1 7950              MOV      R1,#LOW multikey
-000AF3 7D03              MOV      R5,#03H
-000AF5 811E              AJMP     _IPC_TxHidData
-  672: 	}
-000AF7         ?C0129?KB_PROCESS:
-  673: 	else if((mult_key_status == KEY_RELEASE) || (mult_key_status == KEY_WAIT_RELEASE && (!keyCount)))
-000AF7 904E4F            MOV      DPTR,#mult_key_status
-000AFA E0                MOVX     A,@DPTR
-000AFB 6403              XRL      A,#03H
-000AFD 600B              JZ       ?C0132?KB_PROCESS
-000AFF E0                MOVX     A,@DPTR
-000B00 6402              XRL      A,#02H
-000B02 702F              JNZ      ?C0131?KB_PROCESS
-000B04 904DE7            MOV      DPTR,#keyCount
-000B07 E0                MOVX     A,@DPTR
-000B08 7029              JNZ      ?C0131?KB_PROCESS
-000B0A         ?C0132?KB_PROCESS:
-  674: 	{
-  675: 		mult_key_status = KEY_STANDBY;
-000B0A E4                CLR      A
-000B0B 904E4F            MOV      DPTR,#mult_key_status
-000B0E F0                MOVX     @DPTR,A
-  676: 		mult_key_value = 0;
-000B0F 904DF0            MOV      DPTR,#mult_key_value
-000B12 F0                MOVX     @DPTR,A
-  677: 		if(system_key_press)
-000B13 904DEC            MOV      DPTR,#system_key_press
-000B16 E0                MOVX     A,@DPTR
-000B17 600A              JZ       ?C0133?KB_PROCESS
-  678: 		{
-  679: 			system_key_press = 0;
-000B19 E4                CLR      A
-000B1A F0                MOVX     @DPTR,A
-  680: 			multikey[0] = HID_REPORTID_SYSTEM;
-000B1B 904E50            MOV      DPTR,#multikey
-000B1E 7406              MOV      A,#06H
-000B20 F0                MOVX     @DPTR,A
-  681: 		}	
-000B21 8006              SJMP     ?C0134?KB_PROCESS
-000B23         ?C0133?KB_PROCESS:
-  682: 		else
-  683: 			multikey[0] = HID_REPORTID_2;
-000B23 904E50            MOV      DPTR,#multikey
-000B26 7402              MOV      A,#02H
-000B28 F0                MOVX     @DPTR,A
-000B29         ?C0134?KB_PROCESS:
-  684: 		IPC_TxHidData(multikey, 3);
-000B29 7B01              MOV      R3,#01H
-000B2B 7A4E              MOV      R2,#HIGH multikey
-000B2D 7950              MOV      R1,#LOW multikey
-000B2F 7D03              MOV      R5,#03H
-000B31 811E              AJMP     _IPC_TxHidData
-  685: 	}
-000B33         ?C0131?KB_PROCESS:
-  686: 	else 
-  687: 	{
-  688: 		if(!keyCount)
-000B33 904DE7            MOV      DPTR,#keyCount
-000B36 E0                MOVX     A,@DPTR
-000B37 7016              JNZ      ?C0136?KB_PROCESS
-  689: 			xmemclear(pEvt->ksPool,6);
-000B39 904EC9            MOV      DPTR,#pEvt
-000B3C E0                MOVX     A,@DPTR
-000B3D FB                MOV      R3,A
-000B3E A3                INC      DPTR
-000B3F E0                MOVX     A,@DPTR
-000B40 FA                MOV      R2,A
-000B41 A3                INC      DPTR
-000B42 E0                MOVX     A,@DPTR
-000B43 2401              ADD      A,#01H
-000B45 F9                MOV      R1,A
-000B46 E4                CLR      A
-000B47 3A                ADDC     A,R2
-000B48 FA                MOV      R2,A
-000B49 7D06              MOV      R5,#06H
-000B4B 7C00              MOV      R4,#00H
-000B4D B101              ACALL    _xmemclear
-000B4F         ?C0136?KB_PROCESS:
-  690: 	
-  691: 		hidBuff[0] = HID_REPORTID_1;		// standard key send
-000B4F 904800            MOV      DPTR,#hidBuff
-000B52 7401              MOV      A,#01H
-000B54 F0                MOVX     @DPTR,A
-  692: 		hidBuff[1] = pEvt->standardSel;
-000B55 904EC9            MOV      DPTR,#pEvt
-000B58 E0                MOVX     A,@DPTR
-000B59 FB                MOV      R3,A
-000B5A A3                INC      DPTR
-000B5B E0                MOVX     A,@DPTR
-000B5C FA                MOV      R2,A
-000B5D A3                INC      DPTR
-000B5E E0                MOVX     A,@DPTR
-000B5F F9                MOV      R1,A
-000B60 1203B6            LCALL    ?C?CLDPTR
-000B63 904801            MOV      DPTR,#hidBuff+01H
-000B66 F0                MOVX     @DPTR,A
-  693: 		if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
-000B67 904CC5            MOV      DPTR,#g_variable+06H
-000B6A E0                MOVX     A,@DPTR
-000B6B B4030A            CJNE     A,#03H,?C0137?KB_PROCESS
-  694: 			hidBuff[2] = m_24g_led_flag;
-000B6E 904D46            MOV      DPTR,#m_24g_led_flag
-000B71 E0                MOVX     A,@DPTR
-000B72 904802            MOV      DPTR,#hidBuff+02H
-000B75 F0                MOVX     @DPTR,A
-000B76 8005              SJMP     ?C0138?KB_PROCESS
-000B78         ?C0137?KB_PROCESS:
-  695: 		else
-  696: 			hidBuff[2] = 0;
-000B78 E4                CLR      A
-000B79 904802            MOV      DPTR,#hidBuff+02H
-000B7C F0                MOVX     @DPTR,A
-000B7D         ?C0138?KB_PROCESS:
-  697: 
-  698: 		standard_key_release_flag = 0;
-000B7D E4                CLR      A
-000B7E 904DE2            MOV      DPTR,#standard_key_release_flag
-000B81 F0                MOVX     @DPTR,A
-  699: 		if(!fast_connect_flag)
-000B82 904E59            MOV      DPTR,#fast_connect_flag
-000B85 E0                MOVX     A,@DPTR
-000B86 706F              JNZ      ?C0139?KB_PROCESS
-  700: 		{
-  701: 			if (pEvt->ksPool[0] == HID_KEY_FN)
-000B88 900001            MOV      DPTR,#01H
-000B8B 1203CF            LCALL    ?C?CLDOPTR
-000B8E B4A515            CJNE     A,#0A5H,?C0140?KB_PROCESS
-  702: 				xmemcpy(&hidBuff[3], &pEvt->ksPool[1], 5);
-000B91 7E48              MOV      R6,#HIGH hidBuff+03H
-000B93 7F03              MOV      R7,#LOW hidBuff+03H
-000B95 E9                MOV      A,R1
-000B96 2402              ADD      A,#02H
-000B98 F9                MOV      R1,A
-000B99 E4                CLR      A
-000B9A 3A                ADDC     A,R2
-000B9B FA                MOV      R2,A
-000B9C 904EC8            MOV      DPTR,#?_xmemcpy?BYTE+05H
-000B9F 7405              MOV      A,#05H
-000BA1 F0                MOVX     @DPTR,A
-000BA2 117D              ACALL    _xmemcpy
-000BA4 801C              SJMP     ?C0141?KB_PROCESS
-000BA6         ?C0140?KB_PROCESS:
-  703: 			else
-  704: 				xmemcpy(&hidBuff[3], pEvt->ksPool, 6);
-000BA6 7E48              MOV      R6,#HIGH hidBuff+03H
-000BA8 7F03              MOV      R7,#LOW hidBuff+03H
-000BAA 904EC9            MOV      DPTR,#pEvt
-000BAD E0                MOVX     A,@DPTR
-000BAE FB                MOV      R3,A
-000BAF A3                INC      DPTR
-000BB0 E0                MOVX     A,@DPTR
-000BB1 FA                MOV      R2,A
-000BB2 A3                INC      DPTR
-000BB3 E0                MOVX     A,@DPTR
-000BB4 2401              ADD      A,#01H
-000BB6 F9                MOV      R1,A
-000BB7 E4                CLR      A
-000BB8 3A                ADDC     A,R2
-000BB9 FA                MOV      R2,A
-000BBA 904EC8            MOV      DPTR,#?_xmemcpy?BYTE+05H
-000BBD 7406              MOV      A,#06H
-000BBF F0                MOVX     @DPTR,A
-000BC0 117D              ACALL    _xmemcpy
-000BC2         ?C0141?KB_PROCESS:
-  705: 			
-  706: 			for(i = 3; i<9;i++)
-000BC2 904ECD            MOV      DPTR,#i
-000BC5 7403              MOV      A,#03H
-000BC7 F0                MOVX     @DPTR,A
-000BC8         ?C0142?KB_PROCESS:
-000BC8 904ECD            MOV      DPTR,#i
-000BCB E0                MOVX     A,@DPTR
-000BCC FF                MOV      R7,A
-000BCD C3                CLR      C
-000BCE 9409              SUBB     A,#09H
-000BD0 5041              JNC      ?C0146?KB_PROCESS
-  707: 			{
-  708: 				if (hidBuff[i] == HID_KEY_FN)
-000BD2 7400              MOV      A,#LOW hidBuff
-000BD4 2F                ADD      A,R7
-000BD5 F582              MOV      DPL,A
-000BD7 E4                CLR      A
-000BD8 3448              ADDC     A,#HIGH hidBuff
-000BDA F583              MOV      DPH,A
-000BDC E0                MOVX     A,@DPTR
-000BDD B4A50F            CJNE     A,#0A5H,?C0144?KB_PROCESS
-  709: 					hidBuff[i] = 0;
-000BE0 904ECD            MOV      DPTR,#i
-000BE3 E0                MOVX     A,@DPTR
-000BE4 2400              ADD      A,#LOW hidBuff
-000BE6 F582              MOV      DPL,A
-000BE8 E4                CLR      A
-000BE9 3448              ADDC     A,#HIGH hidBuff
-000BEB F583              MOV      DPH,A
-000BED E4                CLR      A
-000BEE F0                MOVX     @DPTR,A
-  710: 			}
-000BEF         ?C0144?KB_PROCESS:
-000BEF 904ECD            MOV      DPTR,#i
-000BF2 E0                MOVX     A,@DPTR
-000BF3 04                INC      A
-000BF4 F0                MOVX     @DPTR,A
-000BF5 80D1              SJMP     ?C0142?KB_PROCESS
-  711: 		}
-000BF7         ?C0139?KB_PROCESS:
-  712: 		else	
-  713: 			xmemcpy(&hidBuff[3], pEvt->ksPool, 6);
-000BF7 7E48              MOV      R6,#HIGH hidBuff+03H
-000BF9 7F03              MOV      R7,#LOW hidBuff+03H
-000BFB 904EC9            MOV      DPTR,#pEvt
-000BFE E0                MOVX     A,@DPTR
-000BFF FB                MOV      R3,A
-000C00 A3                INC      DPTR
-000C01 E0                MOVX     A,@DPTR
-000C02 FA                MOV      R2,A
-000C03 A3                INC      DPTR
-000C04 E0                MOVX     A,@DPTR
-000C05 2401              ADD      A,#01H
-000C07 F9                MOV      R1,A
-000C08 E4                CLR      A
-000C09 3A                ADDC     A,R2
-000C0A FA                MOV      R2,A
-000C0B 904EC8            MOV      DPTR,#?_xmemcpy?BYTE+05H
-000C0E 7406              MOV      A,#06H
-000C10 F0                MOVX     @DPTR,A
-000C11 117D              ACALL    _xmemcpy
-000C13         ?C0146?KB_PROCESS:
-  714: 		IPC_TxHidData(hidBuff, 9);
-000C13 7B01              MOV      R3,#01H
-000C15 7A48              MOV      R2,#HIGH hidBuff
-000C17 7900              MOV      R1,#LOW hidBuff
-000C19 7D09              MOV      R5,#09H
-000C1B 911E              ACALL    _IPC_TxHidData
-  715: 	}
-  716: 	return;
-  717: }
-000C1D         ?C0104?KB_PROCESS:
-000C1D 22                RET      
+000A43 F172              ACALL    _Delay1ms
+  449: 			YC_key_action_handle(KEY_PAIRING_24G);
+000A45 7F0A              MOV      R7,#0AH
+000A47 1211E2            LCALL    _YC_key_action_handle
+  450: 		}
+  451: 	}
+000A4A         ?C0088?KB_PROCESS:
+  452: //	{
+  453: //		m_24g_paring_addr[0] = 0x20;
+  454: //		m_24g_paring_addr[1] = 0x15;
+  455: //		m_24g_paring_addr[2] = 0x10;
+  456: //		m_24g_paring_addr[3] = 0x05;
+  457: //		if (g_variable.g24_currentState != CHANGE_TO_24G_PAIRING)
+  458: //		{
+  459: //			g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
+  460: //		}
+  461: //		else
+  462: //		{
+  463: //			g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
+  464: //		}
+  465: //	}
+  466: //	else
+  467: //	{
+  468: //		g_variable.button_flag &= ~KEY_FLAG_FN_24G_DEVICE_BUTTON;
+  469: //	}
+  470: 
+  471: 	m_power_on_flag = 1;
+000A4A 904C7A            MOV      DPTR,#m_power_on_flag
+000A4D 7401              MOV      A,#01H
+000A4F F0                MOVX     @DPTR,A
+  472: 	if( (g_variable.key_combination_step == CAMBINATION_KEY_PRESS) ||
+000A50 904CBD            MOV      DPTR,#g_variable+03AH
+000A53 E0                MOVX     A,@DPTR
+000A54 FF                MOV      R7,A
+000A55 6401              XRL      A,#01H
+000A57 7002              JNZ      $ + 4H
+000A59 811C              AJMP     ?C0078?KB_PROCESS
+000A5B EF                MOV      A,R7
+000A5C 6404              XRL      A,#04H
+000A5E 7002              JNZ      $ + 4H
+000A60 811C              AJMP     ?C0078?KB_PROCESS
+000A62 EF                MOV      A,R7
+000A63 6402              XRL      A,#02H
+000A65 7002              JNZ      $ + 4H
+000A67 811C              AJMP     ?C0078?KB_PROCESS
+  473: 	    (g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE) ||
+  474: 	    (g_variable.key_combination_step == CAMBINATION_KEY_HOLD))
+  475: 	{
+  476: 		return;
+  477: 	}
+000A69         ?C0093?KB_PROCESS:
+  478: 
+  479: 	// get 24g led status
+  480: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+000A69 904C89            MOV      DPTR,#g_variable+06H
+000A6C E0                MOVX     A,@DPTR
+000A6D 6403              XRL      A,#03H
+000A6F 7045              JNZ      ?C0095?KB_PROCESS
+  481: 	{
+  482: 		for(i=0; i < KS_BUFF_POLL_LEN-1; i++)
+000A71 904ECF            MOV      DPTR,#i
+000A74 F0                MOVX     @DPTR,A
+000A75         ?C0096?KB_PROCESS:
+000A75 904ECF            MOV      DPTR,#i
+000A78 E0                MOVX     A,@DPTR
+000A79 FF                MOV      R7,A
+000A7A C3                CLR      C
+000A7B 9405              SUBB     A,#05H
+000A7D 5037              JNC      ?C0095?KB_PROCESS
+  483: 		{
+  484: 			if ((pEvt->ksPool[i] == HID_KEY_CAPS_LOCK) || (pEvt->ksPool[i] == HID_KEY_NUM_LOCK) 
+000A7F 904ECB            MOV      DPTR,#pEvt
+000A82 E0                MOVX     A,@DPTR
+000A83 FB                MOV      R3,A
+000A84 A3                INC      DPTR
+000A85 E0                MOVX     A,@DPTR
+000A86 FA                MOV      R2,A
+000A87 A3                INC      DPTR
+000A88 E0                MOVX     A,@DPTR
+000A89 2401              ADD      A,#01H
+000A8B F9                MOV      R1,A
+000A8C E4                CLR      A
+000A8D 3A                ADDC     A,R2
+000A8E FA                MOV      R2,A
+000A8F 7E00              MOV      R6,#00H
+000A91 E9                MOV      A,R1
+000A92 2F                ADD      A,R7
+000A93 F9                MOV      R1,A
+000A94 EE                MOV      A,R6
+000A95 3A                ADDC     A,R2
+000A96 FA                MOV      R2,A
+000A97 1203B6            LCALL    ?C?CLDPTR
+000A9A FF                MOV      R7,A
+000A9B 6439              XRL      A,#039H
+000A9D 6009              JZ       ?C0100?KB_PROCESS
+000A9F EF                MOV      A,R7
+000AA0 6453              XRL      A,#053H
+000AA2 6004              JZ       ?C0100?KB_PROCESS
+000AA4 EF                MOV      A,R7
+000AA5 B44706            CJNE     A,#047H,?C0098?KB_PROCESS
+000AA8         ?C0100?KB_PROCESS:
+  485: 			|| (pEvt->ksPool[i] == HID_KEY_SCROLL_LOCK))
+  486: 			{
+  487: 				m_24g_led_flag = KB_24G_LED_ACK_TYPE;
+000AA8 904CF5            MOV      DPTR,#m_24g_led_flag
+000AAB 7403              MOV      A,#03H
+000AAD F0                MOVX     @DPTR,A
+  488: 
+  489: 			}
+  490: 		}
+000AAE         ?C0098?KB_PROCESS:
+000AAE 904ECF            MOV      DPTR,#i
+000AB1 E0                MOVX     A,@DPTR
+000AB2 04                INC      A
+000AB3 F0                MOVX     @DPTR,A
+000AB4 80BF              SJMP     ?C0096?KB_PROCESS
+  491: 	}
+000AB6         ?C0095?KB_PROCESS:
+  492: 
+  493: 	kb_multikey_setup(pEvt);
+000AB6 904ECB            MOV      DPTR,#pEvt
+000AB9 E0                MOVX     A,@DPTR
+000ABA FB                MOV      R3,A
+000ABB A3                INC      DPTR
+000ABC E0                MOVX     A,@DPTR
+000ABD FA                MOV      R2,A
+000ABE A3                INC      DPTR
+000ABF E0                MOVX     A,@DPTR
+000AC0 F9                MOV      R1,A
+000AC1 122589            LCALL    _kb_multikey_setup
+  494: 	
+  495: 	if (mult_key_status == KEY_MULIT_PRESS) 
+000AC4 904E51            MOV      DPTR,#mult_key_status
+000AC7 E0                MOVX     A,@DPTR
+000AC8 B40111            CJNE     A,#01H,?C0101?KB_PROCESS
+  496: 	{
+  497: 		mult_key_status = KEY_WAIT_RELEASE;
+000ACB 7402              MOV      A,#02H
+000ACD F0                MOVX     @DPTR,A
+  498: 		multikey[0] = HID_REPORTID_2;
+000ACE 904E52            MOV      DPTR,#multikey
+000AD1 F0                MOVX     @DPTR,A
+  499: 		IPC_TxHidData(multikey, 3);
+000AD2 7B01              MOV      R3,#01H
+000AD4 7A4E              MOV      R2,#HIGH multikey
+000AD6 7952              MOV      R1,#LOW multikey
+000AD8 7D03              MOV      R5,#03H
+000ADA 811D              AJMP     _IPC_TxHidData
+  500: 	}
+000ADC         ?C0101?KB_PROCESS:
+  501: 	else if (mult_key_status == KEY_SYSTEM_PRESS) 
+000ADC 904E51            MOV      DPTR,#mult_key_status
+000ADF E0                MOVX     A,@DPTR
+000AE0 B40413            CJNE     A,#04H,?C0103?KB_PROCESS
+  502: 	{
+  503: 		mult_key_status = KEY_WAIT_RELEASE;
+000AE3 7402              MOV      A,#02H
+000AE5 F0                MOVX     @DPTR,A
+  504: 		multikey[0] = HID_REPORTID_SYSTEM;
+000AE6 904E52            MOV      DPTR,#multikey
+000AE9 7406              MOV      A,#06H
+000AEB F0                MOVX     @DPTR,A
+  505: 		IPC_TxHidData(multikey, 3);
+000AEC 7B01              MOV      R3,#01H
+000AEE 7A4E              MOV      R2,#HIGH multikey
+000AF0 7952              MOV      R1,#LOW multikey
+000AF2 7D03              MOV      R5,#03H
+000AF4 811D              AJMP     _IPC_TxHidData
+  506: 	}
+000AF6         ?C0103?KB_PROCESS:
+  507: 	else if((mult_key_status == KEY_RELEASE) || (mult_key_status == KEY_WAIT_RELEASE && (!keyCount)))
+000AF6 904E51            MOV      DPTR,#mult_key_status
+000AF9 E0                MOVX     A,@DPTR
+000AFA 6403              XRL      A,#03H
+000AFC 600B              JZ       ?C0106?KB_PROCESS
+000AFE E0                MOVX     A,@DPTR
+000AFF 6402              XRL      A,#02H
+000B01 702F              JNZ      ?C0105?KB_PROCESS
+000B03 904DE9            MOV      DPTR,#keyCount
+000B06 E0                MOVX     A,@DPTR
+000B07 7029              JNZ      ?C0105?KB_PROCESS
+000B09         ?C0106?KB_PROCESS:
+  508: 	{
+  509: 		mult_key_status = KEY_STANDBY;
+000B09 E4                CLR      A
+000B0A 904E51            MOV      DPTR,#mult_key_status
+000B0D F0                MOVX     @DPTR,A
+  510: 		mult_key_value = 0;
+000B0E 904DF2            MOV      DPTR,#mult_key_value
+000B11 F0                MOVX     @DPTR,A
+  511: 		if(system_key_press)
+000B12 904DEE            MOV      DPTR,#system_key_press
+000B15 E0                MOVX     A,@DPTR
+000B16 600A              JZ       ?C0107?KB_PROCESS
+  512: 		{
+  513: 			system_key_press = 0;
+000B18 E4                CLR      A
+000B19 F0                MOVX     @DPTR,A
+  514: 			multikey[0] = HID_REPORTID_SYSTEM;
+000B1A 904E52            MOV      DPTR,#multikey
+000B1D 7406              MOV      A,#06H
+000B1F F0                MOVX     @DPTR,A
+  515: 		}	
+000B20 8006              SJMP     ?C0108?KB_PROCESS
+000B22         ?C0107?KB_PROCESS:
+  516: 		else
+  517: 			multikey[0] = HID_REPORTID_2;
+000B22 904E52            MOV      DPTR,#multikey
+000B25 7402              MOV      A,#02H
+000B27 F0                MOVX     @DPTR,A
+000B28         ?C0108?KB_PROCESS:
+  518: 		IPC_TxHidData(multikey, 3);
+000B28 7B01              MOV      R3,#01H
+000B2A 7A4E              MOV      R2,#HIGH multikey
+000B2C 7952              MOV      R1,#LOW multikey
+000B2E 7D03              MOV      R5,#03H
+000B30 811D              AJMP     _IPC_TxHidData
+  519: 	}
+000B32         ?C0105?KB_PROCESS:
+  520: 	else 
+  521: 	{
+  522: 		if(!keyCount)
+000B32 904DE9            MOV      DPTR,#keyCount
+000B35 E0                MOVX     A,@DPTR
+000B36 7016              JNZ      ?C0110?KB_PROCESS
+  523: 			xmemclear(pEvt->ksPool,6);
+000B38 904ECB            MOV      DPTR,#pEvt
+000B3B E0                MOVX     A,@DPTR
+000B3C FB                MOV      R3,A
+000B3D A3                INC      DPTR
+000B3E E0                MOVX     A,@DPTR
+000B3F FA                MOV      R2,A
+000B40 A3                INC      DPTR
+000B41 E0                MOVX     A,@DPTR
+000B42 2401              ADD      A,#01H
+000B44 F9                MOV      R1,A
+000B45 E4                CLR      A
+000B46 3A                ADDC     A,R2
+000B47 FA                MOV      R2,A
+000B48 7D06              MOV      R5,#06H
+000B4A 7C00              MOV      R4,#00H
+000B4C B101              ACALL    _xmemclear
+000B4E         ?C0110?KB_PROCESS:
+  524: 	
+  525: 		hidBuff[0] = HID_REPORTID_1;		// standard key send
+000B4E 904800            MOV      DPTR,#hidBuff
+000B51 7401              MOV      A,#01H
+000B53 F0                MOVX     @DPTR,A
+  526: 		hidBuff[1] = pEvt->standardSel;
+000B54 904ECB            MOV      DPTR,#pEvt
+000B57 E0                MOVX     A,@DPTR
+000B58 FB                MOV      R3,A
+000B59 A3                INC      DPTR
+000B5A E0                MOVX     A,@DPTR
+000B5B FA                MOV      R2,A
+000B5C A3                INC      DPTR
+000B5D E0                MOVX     A,@DPTR
+000B5E F9                MOV      R1,A
+000B5F 1203B6            LCALL    ?C?CLDPTR
+000B62 904801            MOV      DPTR,#hidBuff+01H
+000B65 F0                MOVX     @DPTR,A
+  527: 		if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+000B66 904C89            MOV      DPTR,#g_variable+06H
+000B69 E0                MOVX     A,@DPTR
+000B6A B4030A            CJNE     A,#03H,?C0111?KB_PROCESS
+  528: 			hidBuff[2] = m_24g_led_flag;
+000B6D 904CF5            MOV      DPTR,#m_24g_led_flag
+000B70 E0                MOVX     A,@DPTR
+000B71 904802            MOV      DPTR,#hidBuff+02H
+000B74 F0                MOVX     @DPTR,A
+000B75 8005              SJMP     ?C0112?KB_PROCESS
+000B77         ?C0111?KB_PROCESS:
+  529: 		else
+  530: 			hidBuff[2] = 0;
+000B77 E4                CLR      A
+000B78 904802            MOV      DPTR,#hidBuff+02H
+000B7B F0                MOVX     @DPTR,A
+000B7C         ?C0112?KB_PROCESS:
+  531: 
+  532: 		standard_key_release_flag = 0;
+000B7C E4                CLR      A
+000B7D 904DE3            MOV      DPTR,#standard_key_release_flag
+000B80 F0                MOVX     @DPTR,A
+  533: 		if(!fast_connect_flag)
+000B81 904E5B            MOV      DPTR,#fast_connect_flag
+000B84 E0                MOVX     A,@DPTR
+000B85 706F              JNZ      ?C0113?KB_PROCESS
+  534: 		{
+  535: 			if (pEvt->ksPool[0] == HID_KEY_FN)
+000B87 900001            MOV      DPTR,#01H
+000B8A 1203CF            LCALL    ?C?CLDOPTR
+000B8D B47F15            CJNE     A,#07FH,?C0114?KB_PROCESS
+  536: 				xmemcpy(&hidBuff[3], &pEvt->ksPool[1], 5);
+000B90 7E48              MOV      R6,#HIGH hidBuff+03H
+000B92 7F03              MOV      R7,#LOW hidBuff+03H
+000B94 E9                MOV      A,R1
+000B95 2402              ADD      A,#02H
+000B97 F9                MOV      R1,A
+000B98 E4                CLR      A
+000B99 3A                ADDC     A,R2
+000B9A FA                MOV      R2,A
+000B9B 904ECA            MOV      DPTR,#?_xmemcpy?BYTE+05H
+000B9E 7405              MOV      A,#05H
+000BA0 F0                MOVX     @DPTR,A
+000BA1 117D              ACALL    _xmemcpy
+000BA3 801C              SJMP     ?C0115?KB_PROCESS
+000BA5         ?C0114?KB_PROCESS:
+  537: 			else
+  538: 				xmemcpy(&hidBuff[3], pEvt->ksPool, 6);
+000BA5 7E48              MOV      R6,#HIGH hidBuff+03H
+000BA7 7F03              MOV      R7,#LOW hidBuff+03H
+000BA9 904ECB            MOV      DPTR,#pEvt
+000BAC E0                MOVX     A,@DPTR
+000BAD FB                MOV      R3,A
+000BAE A3                INC      DPTR
+000BAF E0                MOVX     A,@DPTR
+000BB0 FA                MOV      R2,A
+000BB1 A3                INC      DPTR
+000BB2 E0                MOVX     A,@DPTR
+000BB3 2401              ADD      A,#01H
+000BB5 F9                MOV      R1,A
+000BB6 E4                CLR      A
+000BB7 3A                ADDC     A,R2
+000BB8 FA                MOV      R2,A
+000BB9 904ECA            MOV      DPTR,#?_xmemcpy?BYTE+05H
+000BBC 7406              MOV      A,#06H
+000BBE F0                MOVX     @DPTR,A
+000BBF 117D              ACALL    _xmemcpy
+000BC1         ?C0115?KB_PROCESS:
+  539: 			
+  540: 			for(i = 3; i<9;i++)
+000BC1 904ECF            MOV      DPTR,#i
+000BC4 7403              MOV      A,#03H
+000BC6 F0                MOVX     @DPTR,A
+000BC7         ?C0116?KB_PROCESS:
+000BC7 904ECF            MOV      DPTR,#i
+000BCA E0                MOVX     A,@DPTR
+000BCB FF                MOV      R7,A
+000BCC C3                CLR      C
+000BCD 9409              SUBB     A,#09H
+000BCF 5041              JNC      ?C0120?KB_PROCESS
+  541: 			{
+  542: 				if (hidBuff[i] == HID_KEY_FN)
+000BD1 7400              MOV      A,#LOW hidBuff
+000BD3 2F                ADD      A,R7
+000BD4 F582              MOV      DPL,A
+000BD6 E4                CLR      A
+000BD7 3448              ADDC     A,#HIGH hidBuff
+000BD9 F583              MOV      DPH,A
+000BDB E0                MOVX     A,@DPTR
+000BDC B47F0F            CJNE     A,#07FH,?C0118?KB_PROCESS
+  543: 					hidBuff[i] = 0;
+000BDF 904ECF            MOV      DPTR,#i
+000BE2 E0                MOVX     A,@DPTR
+000BE3 2400              ADD      A,#LOW hidBuff
+000BE5 F582              MOV      DPL,A
+000BE7 E4                CLR      A
+000BE8 3448              ADDC     A,#HIGH hidBuff
+000BEA F583              MOV      DPH,A
+000BEC E4                CLR      A
+000BED F0                MOVX     @DPTR,A
+  544: 			}
+000BEE         ?C0118?KB_PROCESS:
+000BEE 904ECF            MOV      DPTR,#i
+000BF1 E0                MOVX     A,@DPTR
+000BF2 04                INC      A
+000BF3 F0                MOVX     @DPTR,A
+000BF4 80D1              SJMP     ?C0116?KB_PROCESS
+  545: 		}
+000BF6         ?C0113?KB_PROCESS:
+  546: 		else	
+  547: 			xmemcpy(&hidBuff[3], pEvt->ksPool, 6);
+000BF6 7E48              MOV      R6,#HIGH hidBuff+03H
+000BF8 7F03              MOV      R7,#LOW hidBuff+03H
+000BFA 904ECB            MOV      DPTR,#pEvt
+000BFD E0                MOVX     A,@DPTR
+000BFE FB                MOV      R3,A
+000BFF A3                INC      DPTR
+000C00 E0                MOVX     A,@DPTR
+000C01 FA                MOV      R2,A
+000C02 A3                INC      DPTR
+000C03 E0                MOVX     A,@DPTR
+000C04 2401              ADD      A,#01H
+000C06 F9                MOV      R1,A
+000C07 E4                CLR      A
+000C08 3A                ADDC     A,R2
+000C09 FA                MOV      R2,A
+000C0A 904ECA            MOV      DPTR,#?_xmemcpy?BYTE+05H
+000C0D 7406              MOV      A,#06H
+000C0F F0                MOVX     @DPTR,A
+000C10 117D              ACALL    _xmemcpy
+000C12         ?C0120?KB_PROCESS:
+  548: 		IPC_TxHidData(hidBuff, 9);
+000C12 7B01              MOV      R3,#01H
+000C14 7A48              MOV      R2,#HIGH hidBuff
+000C16 7900              MOV      R1,#LOW hidBuff
+000C18 7D09              MOV      R5,#09H
+000C1A 911D              ACALL    _IPC_TxHidData
+  549: 	}
+  550: 	return;
+  551: }
+000C1C         ?C0078?KB_PROCESS:
+000C1C 22                RET      
 ----- FUNCTION _kb_motion_keyscan (END) -------
 
 
 ----- FUNCTION _IPC_TxHidData (BEGIN) -----
  FILE: 'kb_process.c'
-  132: void IPC_TxHidData(byte* dt, byte len)
-  133: {
-000C1E 904E7E            MOV      DPTR,#dt
-000C21 EB                MOV      A,R3
-000C22 F0                MOVX     @DPTR,A
-000C23 A3                INC      DPTR
-000C24 EA                MOV      A,R2
-000C25 F0                MOVX     @DPTR,A
-000C26 A3                INC      DPTR
-000C27 E9                MOV      A,R1
-000C28 F0                MOVX     @DPTR,A
-000C29 A3                INC      DPTR
-000C2A ED                MOV      A,R5
-000C2B F0                MOVX     @DPTR,A
-  134: 	xbyte tx_hid_buff[10];
-  135: 	byte i=0;
+  123: void IPC_TxHidData(byte* dt, byte len)
+  124: {
+000C1D 904E80            MOV      DPTR,#dt
+000C20 EB                MOV      A,R3
+000C21 F0                MOVX     @DPTR,A
+000C22 A3                INC      DPTR
+000C23 EA                MOV      A,R2
+000C24 F0                MOVX     @DPTR,A
+000C25 A3                INC      DPTR
+000C26 E9                MOV      A,R1
+000C27 F0                MOVX     @DPTR,A
+000C28 A3                INC      DPTR
+000C29 ED                MOV      A,R5
+000C2A F0                MOVX     @DPTR,A
+  125: 	xbyte tx_hid_buff[10];
+  126: 	byte i=0;
 ;---- Variable 'i' assigned to Register 'R7' ----
-000C2C E4                CLR      A
-000C2D FF                MOV      R7,A
-  136: 
-  137: 	for(i==0; i< len; i++)
-000C2E         ?C0027?KB_PROCESS:
-000C2E 904E81            MOV      DPTR,#len
-000C31 E0                MOVX     A,@DPTR
-000C32 FE                MOV      R6,A
-000C33 EF                MOV      A,R7
-000C34 C3                CLR      C
-000C35 9E                SUBB     A,R6
-000C36 5023              JNC      ?C0028?KB_PROCESS
-  138: 	{
-  139: 		tx_hid_buff[i] = dt[i];
-000C38 904E7E            MOV      DPTR,#dt
-000C3B E0                MOVX     A,@DPTR
-000C3C FB                MOV      R3,A
-000C3D A3                INC      DPTR
-000C3E E0                MOVX     A,@DPTR
-000C3F FA                MOV      R2,A
-000C40 A3                INC      DPTR
-000C41 E0                MOVX     A,@DPTR
-000C42 F9                MOV      R1,A
-000C43 8F82              MOV      DPL,R7
-000C45 758300            MOV      DPH,#00H
-000C48 1203CF            LCALL    ?C?CLDOPTR
-000C4B FE                MOV      R6,A
-000C4C 7482              MOV      A,#LOW tx_hid_buff
-000C4E 2F                ADD      A,R7
-000C4F F582              MOV      DPL,A
-000C51 E4                CLR      A
-000C52 344E              ADDC     A,#HIGH tx_hid_buff
-000C54 F583              MOV      DPH,A
-000C56 EE                MOV      A,R6
-000C57 F0                MOVX     @DPTR,A
-  140: 	}
-000C58 0F                INC      R7
-000C59 80D3              SJMP     ?C0027?KB_PROCESS
-000C5B         ?C0028?KB_PROCESS:
-  141: 	
-  142: 	if(!YC_check_need_reconnected()) 
-000C5B 12184B            LCALL    YC_check_need_reconnected
-000C5E EF                MOV      A,R7
-000C5F 7002              JNZ      $ + 4H
-000C61 A100              AJMP     ?C0031?KB_PROCESS
-000C63         ?C0030?KB_PROCESS:
-  143: 		return;
-  144: 	if (g_variable.release_data)
-000C63 904CEB            MOV      DPTR,#g_variable+02CH
-000C66 E0                MOVX     A,@DPTR
-000C67 6002              JZ       $ + 4H
-000C69 A100              AJMP     ?C0031?KB_PROCESS
-000C6B         ?C0032?KB_PROCESS:
-  145: 		return;
-  146: 
-  147: 	// if (g_variable.br_currentState == CHANGE_TO_BR_CONNECTED)
-  148: 	// {
-  149: 	// #ifdef SYSTEM_CONTROL_ENABLE
-  150: 	// 	if (tx_hid_buff[0] == HID_REPORTID_SYSTEM)
-  151: 	// 		tx_hid_buff[0] = HID_REPORTID_3;
-  152: 	// #endif		
-  153: 	// 	IPC_TxBREDRHidData(tx_hid_buff,len);
-  154: 	// }
-  155: 	if ((g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED) ||
-000C6B 904CC7            MOV      DPTR,#g_variable+08H
-000C6E E0                MOVX     A,@DPTR
-000C6F FF                MOV      R7,A
-000C70 6404              XRL      A,#04H
-000C72 600A              JZ       ?C0034?KB_PROCESS
-000C74 EF                MOV      A,R7
-000C75 B4031E            CJNE     A,#03H,?C0033?KB_PROCESS
-000C78 904DD3            MOV      DPTR,#ble_fast_connect_flag
-000C7B E0                MOVX     A,@DPTR
-000C7C 6018              JZ       ?C0033?KB_PROCESS
-000C7E         ?C0034?KB_PROCESS:
-  156: 	((g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTING) && ble_fast_connect_flag))
-  157: 	{
-  158: 		if (tx_hid_buff[0] == HID_REPORTID_SYSTEM)
-000C7E 904E82            MOV      DPTR,#tx_hid_buff
-000C81 E0                MOVX     A,@DPTR
-000C82 B40603            CJNE     A,#06H,?C0035?KB_PROCESS
-  159: 			tx_hid_buff[0] = HID_REPORTID_3;
-000C85 7403              MOV      A,#03H
-000C87 F0                MOVX     @DPTR,A
-000C88         ?C0035?KB_PROCESS:
-  160: 		IPC_TxBleData(tx_hid_buff,len);
-000C88 7B01              MOV      R3,#01H
-000C8A 7A4E              MOV      R2,#HIGH tx_hid_buff
-000C8C 7982              MOV      R1,#LOW tx_hid_buff
-000C8E 904E81            MOV      DPTR,#len
-000C91 E0                MOVX     A,@DPTR
-000C92 FD                MOV      R5,A
-000C93 123874            LCALL    _IPC_TxBleData
-  161: 
-  162: 	}
-000C96         ?C0033?KB_PROCESS:
-  163: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
-000C96 904CC5            MOV      DPTR,#g_variable+06H
-000C99 E0                MOVX     A,@DPTR
-000C9A 6403              XRL      A,#03H
-000C9C 7062              JNZ      ?C0031?KB_PROCESS
-  164: 	{
-  165: 		if(tx_hid_buff[0] == HID_REPORTID_1)
-000C9E 904E82            MOV      DPTR,#tx_hid_buff
-000CA1 E0                MOVX     A,@DPTR
-000CA2 6401              XRL      A,#01H
-000CA4 7023              JNZ      ?C0037?KB_PROCESS
-  166: 		{
-  167: 			tx_hid_buff[0] = 4;
-000CA6 7404              MOV      A,#04H
-000CA8 F0                MOVX     @DPTR,A
-  168: 			if (tx_hid_buff[1] == 0 && tx_hid_buff[3] == 00 && tx_hid_buff[4] == 00 && tx_hid_buff[5] == 0)
-000CA9 A3                INC      DPTR
-000CAA E0                MOVX     A,@DPTR
-000CAB 7014              JNZ      ?C0038?KB_PROCESS
-000CAD 904E85            MOV      DPTR,#tx_hid_buff+03H
-000CB0 E0                MOVX     A,@DPTR
-000CB1 700E              JNZ      ?C0038?KB_PROCESS
-000CB3 A3                INC      DPTR
-000CB4 E0                MOVX     A,@DPTR
-000CB5 700A              JNZ      ?C0038?KB_PROCESS
-000CB7 A3                INC      DPTR
-000CB8 E0                MOVX     A,@DPTR
-000CB9 7006              JNZ      ?C0038?KB_PROCESS
-  169: 				repeat_send_24g = 0;
-000CBB 904DE0            MOV      DPTR,#repeat_send_24g
-000CBE F0                MOVX     @DPTR,A
-000CBF 8032              SJMP     ?C0040?KB_PROCESS
-000CC1         ?C0038?KB_PROCESS:
-  170: 			else
-  171: 				repeat_send_24g = 1;			
-000CC1 904DE0            MOV      DPTR,#repeat_send_24g
-000CC4 7401              MOV      A,#01H
-000CC6 F0                MOVX     @DPTR,A
-  172: 		}
-000CC7 802A              SJMP     ?C0040?KB_PROCESS
-000CC9         ?C0037?KB_PROCESS:
-  173: 		else if(tx_hid_buff[0] == HID_REPORTID_2)
-000CC9 904E82            MOV      DPTR,#tx_hid_buff
-000CCC E0                MOVX     A,@DPTR
-000CCD B40219            CJNE     A,#02H,?C0041?KB_PROCESS
-  174: 		{
-  175: 			tx_hid_buff[0] = 5;
-000CD0 7405              MOV      A,#05H
-000CD2 F0                MOVX     @DPTR,A
-  176: 			if (tx_hid_buff[1] == 00 && tx_hid_buff[2] == 00)
-000CD3 A3                INC      DPTR
-000CD4 E0                MOVX     A,@DPTR
-000CD5 700A              JNZ      ?C0042?KB_PROCESS
-000CD7 A3                INC      DPTR
-000CD8 E0                MOVX     A,@DPTR
-000CD9 7006              JNZ      ?C0042?KB_PROCESS
-  177: 			{
-  178: 				repeat_send_24g = 0;
-000CDB 904DE0            MOV      DPTR,#repeat_send_24g
-000CDE F0                MOVX     @DPTR,A
-  179: 			}
-000CDF 8012              SJMP     ?C0040?KB_PROCESS
-000CE1         ?C0042?KB_PROCESS:
-  180: 			else
-  181: 			{
-  182: 				repeat_send_24g = 1;
-000CE1 904DE0            MOV      DPTR,#repeat_send_24g
-000CE4 7401              MOV      A,#01H
-000CE6 F0                MOVX     @DPTR,A
-  183: 			}
-  184: 		}
-000CE7 800A              SJMP     ?C0040?KB_PROCESS
-000CE9         ?C0041?KB_PROCESS:
-  185: 		else if(tx_hid_buff[0] == HID_REPORTID_3)
-000CE9 904E82            MOV      DPTR,#tx_hid_buff
-000CEC E0                MOVX     A,@DPTR
-000CED B40303            CJNE     A,#03H,?C0040?KB_PROCESS
-  186: 		{
-  187: 			tx_hid_buff[0] = 7;
-000CF0 7407              MOV      A,#07H
-000CF2 F0                MOVX     @DPTR,A
-  188: 		}
-000CF3         ?C0040?KB_PROCESS:
-  189: 		IPC_Tx24GData(tx_hid_buff,len);
-000CF3 7B01              MOV      R3,#01H
-000CF5 7A4E              MOV      R2,#HIGH tx_hid_buff
-000CF7 7982              MOV      R1,#LOW tx_hid_buff
-000CF9 904E81            MOV      DPTR,#len
-000CFC E0                MOVX     A,@DPTR
-000CFD FD                MOV      R5,A
-000CFE F1EE              ACALL    _IPC_Tx24GData
-  190: 	}
-  191: }
+000C2B E4                CLR      A
+000C2C FF                MOV      R7,A
+  127: 
+  128: 	for(i==0; i< len; i++)
+000C2D         ?C0027?KB_PROCESS:
+000C2D 904E83            MOV      DPTR,#len
+000C30 E0                MOVX     A,@DPTR
+000C31 FE                MOV      R6,A
+000C32 EF                MOV      A,R7
+000C33 C3                CLR      C
+000C34 9E                SUBB     A,R6
+000C35 5023              JNC      ?C0028?KB_PROCESS
+  129: 	{
+  130: 		tx_hid_buff[i] = dt[i];
+000C37 904E80            MOV      DPTR,#dt
+000C3A E0                MOVX     A,@DPTR
+000C3B FB                MOV      R3,A
+000C3C A3                INC      DPTR
+000C3D E0                MOVX     A,@DPTR
+000C3E FA                MOV      R2,A
+000C3F A3                INC      DPTR
+000C40 E0                MOVX     A,@DPTR
+000C41 F9                MOV      R1,A
+000C42 8F82              MOV      DPL,R7
+000C44 758300            MOV      DPH,#00H
+000C47 1203CF            LCALL    ?C?CLDOPTR
+000C4A FE                MOV      R6,A
+000C4B 7484              MOV      A,#LOW tx_hid_buff
+000C4D 2F                ADD      A,R7
+000C4E F582              MOV      DPL,A
+000C50 E4                CLR      A
+000C51 344E              ADDC     A,#HIGH tx_hid_buff
+000C53 F583              MOV      DPH,A
+000C55 EE                MOV      A,R6
+000C56 F0                MOVX     @DPTR,A
+  131: 	}
+000C57 0F                INC      R7
+000C58 80D3              SJMP     ?C0027?KB_PROCESS
+000C5A         ?C0028?KB_PROCESS:
+  132: 	
+  133: 	if(!YC_check_need_reconnected()) 
+000C5A 121835            LCALL    YC_check_need_reconnected
+000C5D EF                MOV      A,R7
+000C5E 7002              JNZ      $ + 4H
+000C60 A100              AJMP     ?C0031?KB_PROCESS
+000C62         ?C0030?KB_PROCESS:
+  134: 		return;
+  135: 	if (g_variable.release_data)
+000C62 904CB4            MOV      DPTR,#g_variable+031H
+000C65 E0                MOVX     A,@DPTR
+000C66 6002              JZ       $ + 4H
+000C68 A100              AJMP     ?C0031?KB_PROCESS
+000C6A         ?C0032?KB_PROCESS:
+  136: 		return;
+  137: 
+  138: 	if ((g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED) ||
+000C6A 904C8B            MOV      DPTR,#g_variable+08H
+000C6D E0                MOVX     A,@DPTR
+000C6E FF                MOV      R7,A
+000C6F 6404              XRL      A,#04H
+000C71 600A              JZ       ?C0034?KB_PROCESS
+000C73 EF                MOV      A,R7
+000C74 B4031E            CJNE     A,#03H,?C0033?KB_PROCESS
+000C77 904DD3            MOV      DPTR,#ble_fast_connect_flag
+000C7A E0                MOVX     A,@DPTR
+000C7B 6018              JZ       ?C0033?KB_PROCESS
+000C7D         ?C0034?KB_PROCESS:
+  139: 	((g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTING) && ble_fast_connect_flag))
+  140: 	{
+  141: 		if (tx_hid_buff[0] == HID_REPORTID_SYSTEM)
+000C7D 904E84            MOV      DPTR,#tx_hid_buff
+000C80 E0                MOVX     A,@DPTR
+000C81 B40603            CJNE     A,#06H,?C0035?KB_PROCESS
+  142: 			tx_hid_buff[0] = HID_REPORTID_3;
+000C84 7403              MOV      A,#03H
+000C86 F0                MOVX     @DPTR,A
+000C87         ?C0035?KB_PROCESS:
+  143: 		IPC_TxBleData(tx_hid_buff,len);
+000C87 7B01              MOV      R3,#01H
+000C89 7A4E              MOV      R2,#HIGH tx_hid_buff
+000C8B 7984              MOV      R1,#LOW tx_hid_buff
+000C8D 904E83            MOV      DPTR,#len
+000C90 E0                MOVX     A,@DPTR
+000C91 FD                MOV      R5,A
+000C92 1235E6            LCALL    _IPC_TxBleData
+  144: 
+  145: 	}
+000C95         ?C0033?KB_PROCESS:
+  146: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+000C95 904C89            MOV      DPTR,#g_variable+06H
+000C98 E0                MOVX     A,@DPTR
+000C99 6403              XRL      A,#03H
+000C9B 7063              JNZ      ?C0031?KB_PROCESS
+  147: 	{
+  148: 		if(tx_hid_buff[0] == HID_REPORTID_1)
+000C9D 904E84            MOV      DPTR,#tx_hid_buff
+000CA0 E0                MOVX     A,@DPTR
+000CA1 6401              XRL      A,#01H
+000CA3 7023              JNZ      ?C0037?KB_PROCESS
+  149: 		{
+  150: 			tx_hid_buff[0] = 4;
+000CA5 7404              MOV      A,#04H
+000CA7 F0                MOVX     @DPTR,A
+  151: 			if (tx_hid_buff[1] == 0 && tx_hid_buff[3] == 00 && tx_hid_buff[4] == 00 && tx_hid_buff[5] == 0)
+000CA8 A3                INC      DPTR
+000CA9 E0                MOVX     A,@DPTR
+000CAA 7014              JNZ      ?C0038?KB_PROCESS
+000CAC 904E87            MOV      DPTR,#tx_hid_buff+03H
+000CAF E0                MOVX     A,@DPTR
+000CB0 700E              JNZ      ?C0038?KB_PROCESS
+000CB2 A3                INC      DPTR
+000CB3 E0                MOVX     A,@DPTR
+000CB4 700A              JNZ      ?C0038?KB_PROCESS
+000CB6 A3                INC      DPTR
+000CB7 E0                MOVX     A,@DPTR
+000CB8 7006              JNZ      ?C0038?KB_PROCESS
+  152: 				repeat_send_24g = 0;
+000CBA 904DE1            MOV      DPTR,#repeat_send_24g
+000CBD F0                MOVX     @DPTR,A
+000CBE 8032              SJMP     ?C0040?KB_PROCESS
+000CC0         ?C0038?KB_PROCESS:
+  153: 			else
+  154: 				repeat_send_24g = 1;			
+000CC0 904DE1            MOV      DPTR,#repeat_send_24g
+000CC3 7401              MOV      A,#01H
+000CC5 F0                MOVX     @DPTR,A
+  155: 		}
+000CC6 802A              SJMP     ?C0040?KB_PROCESS
+000CC8         ?C0037?KB_PROCESS:
+  156: 		else if(tx_hid_buff[0] == HID_REPORTID_2)
+000CC8 904E84            MOV      DPTR,#tx_hid_buff
+000CCB E0                MOVX     A,@DPTR
+000CCC B40219            CJNE     A,#02H,?C0041?KB_PROCESS
+  157: 		{
+  158: 			tx_hid_buff[0] = 5;
+000CCF 7405              MOV      A,#05H
+000CD1 F0                MOVX     @DPTR,A
+  159: 			if (tx_hid_buff[1] == 00 && tx_hid_buff[2] == 00)
+000CD2 A3                INC      DPTR
+000CD3 E0                MOVX     A,@DPTR
+000CD4 700A              JNZ      ?C0042?KB_PROCESS
+000CD6 A3                INC      DPTR
+000CD7 E0                MOVX     A,@DPTR
+000CD8 7006              JNZ      ?C0042?KB_PROCESS
+  160: 			{
+  161: 				repeat_send_24g = 0;
+000CDA 904DE1            MOV      DPTR,#repeat_send_24g
+000CDD F0                MOVX     @DPTR,A
+  162: 			}
+000CDE 8012              SJMP     ?C0040?KB_PROCESS
+000CE0         ?C0042?KB_PROCESS:
+  163: 			else
+  164: 			{
+  165: 				repeat_send_24g = 1;
+000CE0 904DE1            MOV      DPTR,#repeat_send_24g
+000CE3 7401              MOV      A,#01H
+000CE5 F0                MOVX     @DPTR,A
+  166: 			}
+  167: 		}
+000CE6 800A              SJMP     ?C0040?KB_PROCESS
+000CE8         ?C0041?KB_PROCESS:
+  168: 		else if(tx_hid_buff[0] == HID_REPORTID_3)
+000CE8 904E84            MOV      DPTR,#tx_hid_buff
+000CEB E0                MOVX     A,@DPTR
+000CEC B40303            CJNE     A,#03H,?C0040?KB_PROCESS
+  169: 		{
+  170: 			tx_hid_buff[0] = 7;
+000CEF 7407              MOV      A,#07H
+000CF1 F0                MOVX     @DPTR,A
+  171: 		}
+000CF2         ?C0040?KB_PROCESS:
+  172: 		IPC_Tx24GData(tx_hid_buff,len);
+000CF2 7B01              MOV      R3,#01H
+000CF4 7A4E              MOV      R2,#HIGH tx_hid_buff
+000CF6 7984              MOV      R1,#LOW tx_hid_buff
+000CF8 904E83            MOV      DPTR,#len
+000CFB E0                MOVX     A,@DPTR
+000CFC FD                MOV      R5,A
+000CFD 1235D4            LCALL    _IPC_Tx24GData
+  173: 	}
+  174: }
 000D00         ?C0031?KB_PROCESS:
 000D00 22                RET      
 ----- FUNCTION _IPC_TxHidData (END) -------
 
 
 ----- FUNCTION _xmemclear (BEGIN) -----
-000D01 904EF6            MOV      DPTR,#dest
+ FILE: 'utilities.c'
+   23: void xmemclear(byte * dest, word len)
+   24: {
+000D01 904EF5            MOV      DPTR,#dest
 000D04 EB                MOV      A,R3
 000D05 F0                MOVX     @DPTR,A
 000D06 A3                INC      DPTR
@@ -1280,7 +1266,9 @@
 000D0A E9                MOV      A,R1
 000D0B F0                MOVX     @DPTR,A
 ;---- Variable 'len' assigned to Register 'R4/R5' ----
+   25: 	while (len--)
 000D0C         ?C0008?UTILITIES:
+   26: 		*dest++ = 0x00;
 000D0C ED                MOV      A,R5
 000D0D 1D                DEC      R5
 000D0E AE04              MOV      R6,AR4
@@ -1289,7 +1277,8 @@
 000D13         ?C0026?UTILITIES:
 000D13 4E                ORL      A,R6
 000D14 6016              JZ       ?C0010?UTILITIES
-000D16 904EF6            MOV      DPTR,#dest
+   27: 	return;
+000D16 904EF5            MOV      DPTR,#dest
 000D19 E0                MOVX     A,@DPTR
 000D1A FB                MOV      R3,A
 000D1B A3                INC      DPTR
@@ -1301,6 +1290,7 @@
 000D26 E4                CLR      A
 000D27 1203FC            LCALL    ?C?CSTPTR
 000D2A 80E0              SJMP     ?C0008?UTILITIES
+   28: }
 000D2C         ?C0010?UTILITIES:
 000D2C 22                RET      
 ----- FUNCTION _xmemclear (END) -------
@@ -1308,3927 +1298,3425 @@
 
 ----- FUNCTION System_clear_mem (BEGIN) -----
  FILE: 'sys.c'
-   20: static void System_clear_mem()
-   21: {
-   22: 	xmemclear((byte *)&g_variable,sizeof(G_VARIABLE_MAP));
-   23: 	xmemclear(ksSelMapOld,KB_KSCAN_COL_NUM);
+   11: static void System_clear_mem()
+   12: {
+   13: 	xmemclear((byte *)&g_variable,sizeof(G_VARIABLE_MAP));
+   14: 	xmemclear(ksSelMapOld,KB_KSCAN_COL_NUM);
 000D2D 7B01              MOV      R3,#01H
 000D2F 7A4C              MOV      R2,#HIGH g_variable
-000D31 79BF              MOV      R1,#LOW g_variable
-000D33 7D52              MOV      R5,#052H
+000D31 7983              MOV      R1,#LOW g_variable
+000D33 7D53              MOV      R5,#053H
 000D35 7C00              MOV      R4,#00H
 000D37 B101              ACALL    _xmemclear
-   24: 	xmemclear(ksSelMapCheck,KB_KSCAN_COL_NUM);
+   15: 	xmemclear(ksSelMapCheck,KB_KSCAN_COL_NUM);
 000D39 7B01              MOV      R3,#01H
 000D3B 7A4D              MOV      R2,#HIGH ksSelMapOld
 000D3D 7993              MOV      R1,#LOW ksSelMapOld
 000D3F 7D14              MOV      R5,#014H
 000D41 7C00              MOV      R4,#00H
 000D43 B101              ACALL    _xmemclear
-   25: 	xmemclear(ksSelMapCurr,KB_KSCAN_COL_NUM);
+   16: 	xmemclear(ksSelMapCurr,KB_KSCAN_COL_NUM);
 000D45 7B01              MOV      R3,#01H
 000D47 7A4D              MOV      R2,#HIGH ksSelMapCheck
 000D49 79A8              MOV      R1,#LOW ksSelMapCheck
 000D4B 7D14              MOV      R5,#014H
 000D4D 7C00              MOV      R4,#00H
 000D4F B101              ACALL    _xmemclear
-   26: 	xmemclear(hidBuff,9);
+   17: 	xmemclear(hidBuff,9);
 000D51 7B01              MOV      R3,#01H
 000D53 7A4D              MOV      R2,#HIGH ksSelMapCurr
 000D55 79BC              MOV      R1,#LOW ksSelMapCurr
 000D57 7D14              MOV      R5,#014H
 000D59 7C00              MOV      R4,#00H
 000D5B B101              ACALL    _xmemclear
-   27: 	xmemclear(multikey,9);
+   18: 	xmemclear(multikey,9);
 000D5D 7B01              MOV      R3,#01H
 000D5F 7A48              MOV      R2,#HIGH hidBuff
 000D61 7900              MOV      R1,#LOW hidBuff
 000D63 7D09              MOV      R5,#09H
 000D65 7C00              MOV      R4,#00H
 000D67 B101              ACALL    _xmemclear
-   28:  
+   19:  
 000D69 7B01              MOV      R3,#01H
 000D6B 7A4E              MOV      R2,#HIGH multikey
-000D6D 7950              MOV      R1,#LOW multikey
+000D6D 7952              MOV      R1,#LOW multikey
 000D6F 7D09              MOV      R5,#09H
 000D71 7C00              MOV      R4,#00H
 000D73 B101              ACALL    _xmemclear
-   29: 	delayChgInvTimer = 0;
+   20: 	delayChgInvTimer = 0;
 000D75 E4                CLR      A
-000D76 904DE9            MOV      DPTR,#delayChgInvTimer
+000D76 904DEB            MOV      DPTR,#delayChgInvTimer
 000D79 F0                MOVX     @DPTR,A
-   30: 	action_timeout = 0;
-000D7A 904DEF            MOV      DPTR,#action_timeout
+   21: 	action_timeout = 0;
+000D7A 904DF1            MOV      DPTR,#action_timeout
 000D7D F0                MOVX     @DPTR,A
-   31: 	switch_role_timer = 0;
-000D7E 904DDB            MOV      DPTR,#switch_role_timer
+   22: 
+   23: 	power_on_flag = 0;
+000D7E 904DF0            MOV      DPTR,#power_on_flag
 000D81 F0                MOVX     @DPTR,A
-   32: 
-   33: 	iOS_rec_pinCode = 0;
-000D82 904DE4            MOV      DPTR,#iOS_rec_pinCode
+   24: 	repeat_send_24g = 0;
+000D82 904DE1            MOV      DPTR,#repeat_send_24g
 000D85 F0                MOVX     @DPTR,A
-   34: 	pinCode_flag = 0;
-000D86 904DE1            MOV      DPTR,#pinCode_flag
+   25: 	get_24g_led_send = 0;
+000D86 904DD6            MOV      DPTR,#get_24g_led_send
 000D89 F0                MOVX     @DPTR,A
-   35: 	power_on_flag = 0;
-000D8A 904DEE            MOV      DPTR,#power_on_flag
+   26: 	ble_reconnect_flag = 0;
+000D8A 904DEA            MOV      DPTR,#ble_reconnect_flag
 000D8D F0                MOVX     @DPTR,A
-   36: 	repeat_send_24g = 0;
-000D8E 904DE0            MOV      DPTR,#repeat_send_24g
+   27: 	press_long_time_flag = 0;
+000D8E 904DE8            MOV      DPTR,#press_long_time_flag
 000D91 F0                MOVX     @DPTR,A
-   37: 	get_24g_led_send = 0;
-000D92 904DD6            MOV      DPTR,#get_24g_led_send
+   28: 	mult_key_status = 0;
+000D92 904E51            MOV      DPTR,#mult_key_status
 000D95 F0                MOVX     @DPTR,A
-   38: 	ble_reconnect_flag = 0;
-000D96 904DE8            MOV      DPTR,#ble_reconnect_flag
+   29: 	long_press_flag = 0;
+000D96 904DE0            MOV      DPTR,#long_press_flag
 000D99 F0                MOVX     @DPTR,A
-   39: 	press_long_time_flag = 0;
-000D9A 904DE6            MOV      DPTR,#press_long_time_flag
+   30: 	standard_key_release_flag = 0;
+000D9A 904DE3            MOV      DPTR,#standard_key_release_flag
 000D9D F0                MOVX     @DPTR,A
-   40: 	mult_key_status = 0;
-000D9E 904E4F            MOV      DPTR,#mult_key_status
+   31: 	fn_flag = 0;
+000D9E 904DE6            MOV      DPTR,#fn_flag
 000DA1 F0                MOVX     @DPTR,A
-   41: 	long_press_flag = 0;
-000DA2 904DDF            MOV      DPTR,#long_press_flag
+   32: 	fn_flag_last = 0;
+000DA2 904DEF            MOV      DPTR,#fn_flag_last
 000DA5 F0                MOVX     @DPTR,A
-   42: 	standard_key_release_flag = 0;
-000DA6 904DE2            MOV      DPTR,#standard_key_release_flag
+   33: 	fn_tx_flag = 0;
+000DA6 904DD9            MOV      DPTR,#fn_tx_flag
 000DA9 F0                MOVX     @DPTR,A
-   43: 	fn_flag = 0;
-000DAA 904DE5            MOV      DPTR,#fn_flag
+   34: 	fn_lock_flag = 0;
+000DAA 904DEC            MOV      DPTR,#fn_lock_flag
 000DAD F0                MOVX     @DPTR,A
-   44: 	fn_lock_flag = 0;
-000DAE 904DEA            MOV      DPTR,#fn_lock_flag
+   35: 
+   36: 	mult_key_value = 0;
+000DAE 904DF2            MOV      DPTR,#mult_key_value
 000DB1 F0                MOVX     @DPTR,A
-   45: 
-   46: 	mult_key_value = 0;
-000DB2 904DF0            MOV      DPTR,#mult_key_value
+   37: 	// m_caps_num_lock = 0xf0;
+   38: 	// m_caps_num_lock_last = 0xf0; 
+   39: 	m_reconnect_continue = 0;
+000DB2 904CE7            MOV      DPTR,#m_reconnect_continue
 000DB5 F0                MOVX     @DPTR,A
-   47: 	m_caps_num_lock = 0xf0;
-000DB6 904CB7            MOV      DPTR,#m_caps_num_lock
-000DB9 74F0              MOV      A,#0F0H
-000DBB F0                MOVX     @DPTR,A
-   48: 	m_caps_num_lock_last = 0xf0; 
-000DBC 904DE3            MOV      DPTR,#m_caps_num_lock_last
-000DBF F0                MOVX     @DPTR,A
-   49: 	m_reconnect_continue = 0;
-000DC0 E4                CLR      A
-000DC1 904D38            MOV      DPTR,#m_reconnect_continue
-000DC4 F0                MOVX     @DPTR,A
-   50: 	ble_send_secutiry_request_timer = 0;
-000DC5 904DD5            MOV      DPTR,#ble_send_secutiry_request_timer
-000DC8 F0                MOVX     @DPTR,A
-   51: }
-000DC9 22                RET      
+   40: 	ble_send_secutiry_request_timer = 0;
+000DB6 904DD5            MOV      DPTR,#ble_send_secutiry_request_timer
+000DB9 F0                MOVX     @DPTR,A
+   41: 	m_le_start_auto_reco_timer = 0; 
+000DBA 904D49            MOV      DPTR,#m_le_start_auto_reco_timer
+000DBD F0                MOVX     @DPTR,A
+   42: 	fn_w_flag = 0;
+000DBE 904DDA            MOV      DPTR,#fn_w_flag
+000DC1 F0                MOVX     @DPTR,A
+   43: 	gui_lock = 0;
+000DC2 904DE7            MOV      DPTR,#gui_lock
+000DC5 F0                MOVX     @DPTR,A
+   44: }
+000DC6 22                RET      
 ----- FUNCTION System_clear_mem (END) -------
 
 
 ----- FUNCTION _kb_send_combination_key (BEGIN) -----
  FILE: 'kb_process.c'
-  217: void kb_send_combination_key(byte ctrl_value,byte key_value)
-  218: {
-000DCA 904EFF            MOV      DPTR,#ctrl_value
-000DCD EF                MOV      A,R7
+  200: void kb_send_combination_key(byte ctrl_value,byte key_value)
+  201: {
+000DC7 904EFE            MOV      DPTR,#ctrl_value
+000DCA EF                MOV      A,R7
+000DCB F0                MOVX     @DPTR,A
+000DCC A3                INC      DPTR
+000DCD ED                MOV      A,R5
 000DCE F0                MOVX     @DPTR,A
-000DCF A3                INC      DPTR
-000DD0 ED                MOV      A,R5
-000DD1 F0                MOVX     @DPTR,A
-  219: 	xmemclear(hidBuff,9);
-  220: 	hidBuff[0] = HID_REPORTID_1;
-000DD2 7B01              MOV      R3,#01H
-000DD4 7A48              MOV      R2,#HIGH hidBuff
-000DD6 7900              MOV      R1,#LOW hidBuff
-000DD8 7D09              MOV      R5,#09H
-000DDA 7C00              MOV      R4,#00H
-000DDC B101              ACALL    _xmemclear
-  221: 	hidBuff[1] |= ctrl_value;
-000DDE 904800            MOV      DPTR,#hidBuff
-000DE1 7401              MOV      A,#01H
-000DE3 F0                MOVX     @DPTR,A
-  222: 	hidBuff[3] = key_value; 
-000DE4 A3                INC      DPTR
-000DE5 E0                MOVX     A,@DPTR
-000DE6 FF                MOV      R7,A
-000DE7 904EFF            MOV      DPTR,#ctrl_value
-000DEA E0                MOVX     A,@DPTR
-000DEB FE                MOV      R6,A
-000DEC EF                MOV      A,R7
-000DED 4E                ORL      A,R6
-000DEE 904801            MOV      DPTR,#hidBuff+01H
-000DF1 F0                MOVX     @DPTR,A
-  223: 	IPC_TxHidData(hidBuff, 9);
-000DF2 904F00            MOV      DPTR,#key_value
-000DF5 E0                MOVX     A,@DPTR
-000DF6 904803            MOV      DPTR,#hidBuff+03H
-000DF9 F0                MOVX     @DPTR,A
-  224: }
-000DFA 7B01              MOV      R3,#01H
-000DFC 7A48              MOV      R2,#HIGH hidBuff
-000DFE 7900              MOV      R1,#LOW hidBuff
-000E00 7D09              MOV      R5,#09H
-000E02 811E              AJMP     _IPC_TxHidData
+  202: 	xmemclear(hidBuff,9);
+  203: 	hidBuff[0] = HID_REPORTID_1;
+000DCF 7B01              MOV      R3,#01H
+000DD1 7A48              MOV      R2,#HIGH hidBuff
+000DD3 7900              MOV      R1,#LOW hidBuff
+000DD5 7D09              MOV      R5,#09H
+000DD7 7C00              MOV      R4,#00H
+000DD9 B101              ACALL    _xmemclear
+  204: 	hidBuff[1] |= ctrl_value;
+000DDB 904800            MOV      DPTR,#hidBuff
+000DDE 7401              MOV      A,#01H
+000DE0 F0                MOVX     @DPTR,A
+  205: 	hidBuff[3] = key_value; 
+000DE1 A3                INC      DPTR
+000DE2 E0                MOVX     A,@DPTR
+000DE3 FF                MOV      R7,A
+000DE4 904EFE            MOV      DPTR,#ctrl_value
+000DE7 E0                MOVX     A,@DPTR
+000DE8 FE                MOV      R6,A
+000DE9 EF                MOV      A,R7
+000DEA 4E                ORL      A,R6
+000DEB 904801            MOV      DPTR,#hidBuff+01H
+000DEE F0                MOVX     @DPTR,A
+  206: 	IPC_TxHidData(hidBuff, 9);
+000DEF 904EFF            MOV      DPTR,#key_value
+000DF2 E0                MOVX     A,@DPTR
+000DF3 904803            MOV      DPTR,#hidBuff+03H
+000DF6 F0                MOVX     @DPTR,A
+  207: }
+000DF7 7B01              MOV      R3,#01H
+000DF9 7A48              MOV      R2,#HIGH hidBuff
+000DFB 7900              MOV      R1,#LOW hidBuff
+000DFD 7D09              MOV      R5,#09H
+000DFF 811D              AJMP     _IPC_TxHidData
 ----- FUNCTION _kb_send_combination_key (END) -------
 
 
 ----- FUNCTION kb_need_keyscan (BEGIN) -----
  FILE: 'kb_process.c'
-  429: void kb_need_keyscan()
-  430: {
-  431: 	 if (g_variable.ble_currentSubState == CHANGE_TO_BLE_SUB_PINCODE)
-  432: 	{
-000E04 904CC8            MOV      DPTR,#g_variable+09H
-000E07 E0                MOVX     A,@DPTR
-000E08 B40203            CJNE     A,#02H,?C0078?KB_PROCESS
-  433: 		kb_bt_pincode_enter();
-  434: 	}
-000E0B 0229B4            LJMP     kb_bt_pincode_enter
-  435: 	else
-000E0E         ?C0078?KB_PROCESS:
-  436: 	{
-  437: 		/*
-  438: 		  if ((GPIO_GetInputStatus(INT_GPIO) == 0) )//&& (tperr == 0))
-  439: 		  {
-  440: 			g_variable.mouse_data_send_flag = 0;
-  441: 			g_variable.delay_enter_lpm_timer = 10;
-  442: 		  	
-  443: 		 	if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
-  444: 		 	{
-  445: 				if(m_customize_timer != g_variable.send_timer)
-  446: 				{
-  447: 					g_variable.send_timer = m_customize_timer;
-  448: 				}
-  449: 				else 
-  450: 					return;
-  451: 			}
-  452: 			Touch_data_get();
-  453: 			kb_set_mouse_data();
-  454: 		}
-  455: 		else
-  456: 		*/
-  457: 		{
-  458: 		//	g_variable.sensor_x_l = 0;
-  459: 		//	g_variable.sensor_x_h = 0;
-  460: 		//	g_variable.sensor_y_l = 0;
-  461: 		//	g_variable.sensor_y_h = 0;
-  462: 		//	g_variable.sensor_wheel = 0;
-  463: 		//	g_variable.sensor_titl = 0;
-  464: 			
-  465: 		if((g_variable.key_combination_step == CAMBINATION_KEY_FREE)
-000E0E 904CF4            MOV      DPTR,#g_variable+035H
-000E11 E0                MOVX     A,@DPTR
-000E12 FF                MOV      R7,A
-000E13 600D              JZ       ?C0081?KB_PROCESS
-000E15 6403              XRL      A,#03H
-000E17 6009              JZ       ?C0081?KB_PROCESS
-000E19 EF                MOV      A,R7
-000E1A 6405              XRL      A,#05H
-000E1C 6004              JZ       ?C0081?KB_PROCESS
-000E1E EF                MOV      A,R7
-000E1F B40803            CJNE     A,#08H,?C0080?KB_PROCESS
-000E22         ?C0081?KB_PROCESS:
-  466: 		||(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE)
-  467: 		|| (g_variable.key_combination_step == CAMBINATION_KEY_RELEASE)
-  468: 		|| (g_variable.key_combination_step == CAMBINATION_KEY_CTRL_WAIT_RELEASE)
-  469: 		)	//第4个条件为新增，当苹果系统切换语言延时释放Ctrl等待时间内，允许重复按切换
->> 语言键
-  470: 		{
-  471: //			kb_wheel_scan();
-  472: 			kb_motion();
-000E22 02239F            LJMP     kb_motion
-  473: 		}
-000E25         ?C0080?KB_PROCESS:
-  474: 		else
-  475: 		{
-  476: 			if(g_variable.key_combination_step == CAMBINATION_KEY_PRESS)
-000E25 904CF4            MOV      DPTR,#g_variable+035H
-000E28 E0                MOVX     A,@DPTR
-000E29 B4010E            CJNE     A,#01H,?C0083?KB_PROCESS
-  477: 			{
-  478: 				kb_send_combination_key(g_variable.key_combination_ctrl,0);
-000E2C A3                INC      DPTR
-000E2D E0                MOVX     A,@DPTR
-000E2E FF                MOV      R7,A
-000E2F E4                CLR      A
-000E30 FD                MOV      R5,A
-000E31 B1CA              ACALL    _kb_send_combination_key
-  479: 				g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
-000E33 904CF4            MOV      DPTR,#g_variable+035H
-000E36 7402              MOV      A,#02H
-000E38 F0                MOVX     @DPTR,A
-  480: 			}
-000E39 22                RET      
-000E3A         ?C0083?KB_PROCESS:
-  481: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_HOLD)
-000E3A 904CF4            MOV      DPTR,#g_variable+035H
+  310: void kb_need_keyscan()
+  311: {
+  312: 
+  313: /*
+  314: 	 if (g_variable.ble_currentSubState == CHANGE_TO_BLE_SUB_PINCODE 
+  315: 		|| g_variable.br_currentSubState == CHANGE_TO_BR_SUB_PINCODE)
+  316: 	{
+  317: 		kb_bt_pincode_enter();
+  318: 	}
+  319: 	else
+  320: */	
+  321: 	{	
+  322: 		if((g_variable.key_combination_step == CAMBINATION_KEY_FREE)
+000E01 904CBD            MOV      DPTR,#g_variable+03AH
+000E04 E0                MOVX     A,@DPTR
+000E05 FF                MOV      R7,A
+000E06 6008              JZ       ?C0059?KB_PROCESS
+000E08 6403              XRL      A,#03H
+000E0A 6004              JZ       ?C0059?KB_PROCESS
+000E0C EF                MOV      A,R7
+000E0D B40503            CJNE     A,#05H,?C0058?KB_PROCESS
+000E10         ?C0059?KB_PROCESS:
+  323: 		||(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE)
+  324: 		|| (g_variable.key_combination_step == CAMBINATION_KEY_RELEASE)
+  325: 		)
+  326: 			kb_motion();
+000E10 02290F            LJMP     kb_motion
+000E13         ?C0058?KB_PROCESS:
+  327: 		else
+  328: 		{
+  329: 			if(g_variable.key_combination_step == CAMBINATION_KEY_PRESS)
+000E13 904CBD            MOV      DPTR,#g_variable+03AH
+000E16 E0                MOVX     A,@DPTR
+000E17 B4010E            CJNE     A,#01H,?C0061?KB_PROCESS
+  330: 			{
+  331: 				kb_send_combination_key(g_variable.key_combination_ctrl,0);
+000E1A A3                INC      DPTR
+000E1B E0                MOVX     A,@DPTR
+000E1C FF                MOV      R7,A
+000E1D E4                CLR      A
+000E1E FD                MOV      R5,A
+000E1F B1C7              ACALL    _kb_send_combination_key
+  332: 				g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
+000E21 904CBD            MOV      DPTR,#g_variable+03AH
+000E24 7402              MOV      A,#02H
+000E26 F0                MOVX     @DPTR,A
+  333: 			}
+000E27 22                RET      
+000E28         ?C0061?KB_PROCESS:
+  334: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_HOLD)
+000E28 904CBD            MOV      DPTR,#g_variable+03AH
+000E2B E0                MOVX     A,@DPTR
+000E2C B4020B            CJNE     A,#02H,?C0063?KB_PROCESS
+  335: 			{	
+  336: 				g_variable.key_combination_step = CAMBINATION_KEY_COMPLETE;
+000E2F 7403              MOV      A,#03H
+000E31 F0                MOVX     @DPTR,A
+  337: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
+000E32 A3                INC      DPTR
+000E33 E0                MOVX     A,@DPTR
+000E34 FF                MOV      R7,A
+000E35 A3                INC      DPTR
+000E36 E0                MOVX     A,@DPTR
+000E37 FD                MOV      R5,A
+000E38 808D              SJMP     _kb_send_combination_key
+  338: 			}
+000E3A         ?C0063?KB_PROCESS:
+  339: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE)
+000E3A 904CBD            MOV      DPTR,#g_variable+03AH
 000E3D E0                MOVX     A,@DPTR
-000E3E 6402              XRL      A,#02H
-000E40 702C              JNZ      ?C0085?KB_PROCESS
-  482: 			{
-  483: 				if (g_variable.uswitch_wait_flag)	//该标志是改变正常组合键步骤，而走用户自定义步骤
-000E42 904D0D            MOV      DPTR,#g_variable+04EH
-000E45 E0                MOVX     A,@DPTR
-000E46 6016              JZ       ?C0086?KB_PROCESS
-  484: 				{
-  485: 					g_variable.uswitch_wait_flag = 0;
-000E48 E4                CLR      A
-000E49 F0                MOVX     @DPTR,A
-  486: 					g_variable.key_combination_step = CAMBINATION_KEY_USER_WAIT;
-000E4A 904CF4            MOV      DPTR,#g_variable+035H
-000E4D 7407              MOV      A,#07H
-000E4F F0                MOVX     @DPTR,A
-  487: 					g_variable.one_key_press_wait_release_timer = 3;	//等待300ms走用户自定义步骤
-000E50 904CF8            MOV      DPTR,#g_variable+039H
-000E53 7403              MOV      A,#03H
-000E55 F0                MOVX     @DPTR,A
-  488: 					g_variable.uswitch_language_step = 1;
-000E56 904D0C            MOV      DPTR,#g_variable+04DH
-000E59 7401              MOV      A,#01H
-000E5B F0                MOVX     @DPTR,A
-  489: 				}
-000E5C 8006              SJMP     ?C0087?KB_PROCESS
-000E5E         ?C0086?KB_PROCESS:
-  490: 				else
-  491: 				{
-  492: 					g_variable.key_combination_step = CAMBINATION_KEY_COMPLETE;
-000E5E 904CF4            MOV      DPTR,#g_variable+035H
-000E61 7403              MOV      A,#03H
-000E63 F0                MOVX     @DPTR,A
-  493: 				}
-000E64         ?C0087?KB_PROCESS:
-  494: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
-000E64 904CF5            MOV      DPTR,#g_variable+036H
-000E67 E0                MOVX     A,@DPTR
-000E68 FF                MOV      R7,A
-000E69 A3                INC      DPTR
-000E6A E0                MOVX     A,@DPTR
-000E6B FD                MOV      R5,A
-000E6C A1CA              AJMP     _kb_send_combination_key
-  495: 			}
-000E6E         ?C0085?KB_PROCESS:
-  496: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_WAIT_RELEASE)
-000E6E 904CF4            MOV      DPTR,#g_variable+035H
-000E71 E0                MOVX     A,@DPTR
-000E72 B40427            CJNE     A,#04H,?C0089?KB_PROCESS
-  497: 			{
-  498: 				g_variable.key_combination_keyvalue = 0;
-000E75 E4                CLR      A
-000E76 904CF6            MOV      DPTR,#g_variable+037H
-000E79 F0                MOVX     @DPTR,A
-  499: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
-000E7A 904CF5            MOV      DPTR,#g_variable+036H
-000E7D E0                MOVX     A,@DPTR
-000E7E FF                MOV      R7,A
+000E3E B40427            CJNE     A,#04H,?C0065?KB_PROCESS
+  340: 			{
+  341: 				g_variable.key_combination_keyvalue = 0;
+000E41 E4                CLR      A
+000E42 904CBF            MOV      DPTR,#g_variable+03CH
+000E45 F0                MOVX     @DPTR,A
+  342: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
+000E46 904CBE            MOV      DPTR,#g_variable+03BH
+000E49 E0                MOVX     A,@DPTR
+000E4A FF                MOV      R7,A
+000E4B E4                CLR      A
+000E4C FD                MOV      R5,A
+000E4D B1C7              ACALL    _kb_send_combination_key
+  343: 				g_variable.key_combination_ctrl = 0;
+000E4F E4                CLR      A
+000E50 904CBE            MOV      DPTR,#g_variable+03BH
+000E53 F0                MOVX     @DPTR,A
+  344: 				if(!g_variable.one_key_press_wait_release_timer)
+000E54 904CC1            MOV      DPTR,#g_variable+03EH
+000E57 E0                MOVX     A,@DPTR
+000E58 7007              JNZ      ?C0066?KB_PROCESS
+  345: 					g_variable.key_combination_step = CAMBINATION_KEY_NULL;
+000E5A 904CBD            MOV      DPTR,#g_variable+03AH
+000E5D 7406              MOV      A,#06H
+000E5F F0                MOVX     @DPTR,A
+000E60 22                RET      
+000E61         ?C0066?KB_PROCESS:
+  346: 				else
+  347: 					g_variable.key_combination_step = CAMBINATION_KEY_RELEASE;
+000E61 904CBD            MOV      DPTR,#g_variable+03AH
+000E64 7405              MOV      A,#05H
+000E66 F0                MOVX     @DPTR,A
+  348: 			}
+000E67 22                RET      
+000E68         ?C0065?KB_PROCESS:
+  349: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_NULL)
+000E68 904CBD            MOV      DPTR,#g_variable+03AH
+000E6B E0                MOVX     A,@DPTR
+000E6C B40615            CJNE     A,#06H,?C0070?KB_PROCESS
+  350: 			{
+  351: 				g_variable.key_combination_keyvalue = 0;
+000E6F E4                CLR      A
+000E70 904CBF            MOV      DPTR,#g_variable+03CH
+000E73 F0                MOVX     @DPTR,A
+  352: 				g_variable.key_combination_ctrl = 0;
+000E74 904CBE            MOV      DPTR,#g_variable+03BH
+000E77 F0                MOVX     @DPTR,A
+  353: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
+000E78 A3                INC      DPTR
+000E79 E0                MOVX     A,@DPTR
+000E7A FD                MOV      R5,A
+000E7B E4                CLR      A
+000E7C FF                MOV      R7,A
+000E7D B1C7              ACALL    _kb_send_combination_key
+  354: 				g_variable.key_combination_step = CAMBINATION_KEY_FREE;
 000E7F E4                CLR      A
-000E80 FD                MOV      R5,A
-000E81 B1CA              ACALL    _kb_send_combination_key
-  500: 				g_variable.key_combination_ctrl = 0;
-000E83 E4                CLR      A
-000E84 904CF5            MOV      DPTR,#g_variable+036H
-000E87 F0                MOVX     @DPTR,A
-  501: 				if(!g_variable.one_key_press_wait_release_timer)
-000E88 904CF8            MOV      DPTR,#g_variable+039H
-000E8B E0                MOVX     A,@DPTR
-000E8C 7007              JNZ      ?C0090?KB_PROCESS
-  502: 					g_variable.key_combination_step = CAMBINATION_KEY_NULL;
-000E8E 904CF4            MOV      DPTR,#g_variable+035H
-000E91 7406              MOV      A,#06H
-000E93 F0                MOVX     @DPTR,A
-000E94 22                RET      
-000E95         ?C0090?KB_PROCESS:
-  503: 				else
-  504: 					g_variable.key_combination_step = CAMBINATION_KEY_RELEASE;
-000E95 904CF4            MOV      DPTR,#g_variable+035H
-000E98 7405              MOV      A,#05H
-000E9A F0                MOVX     @DPTR,A
-  505: 			}
-000E9B 22                RET      
-000E9C         ?C0089?KB_PROCESS:
-  506: 			else if(g_variable.key_combination_step == CAMBINATION_KEY_NULL)
-000E9C 904CF4            MOV      DPTR,#g_variable+035H
-000E9F E0                MOVX     A,@DPTR
-000EA0 B40616            CJNE     A,#06H,?C0093?KB_PROCESS
-  507: 			{
-  508: 				g_variable.key_combination_keyvalue = 0;
-000EA3 E4                CLR      A
-000EA4 904CF6            MOV      DPTR,#g_variable+037H
-000EA7 F0                MOVX     @DPTR,A
-  509: 				g_variable.key_combination_ctrl = 0;
-000EA8 904CF5            MOV      DPTR,#g_variable+036H
-000EAB F0                MOVX     @DPTR,A
-  510: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
-000EAC A3                INC      DPTR
-000EAD E0                MOVX     A,@DPTR
-000EAE FD                MOV      R5,A
-000EAF E4                CLR      A
-000EB0 FF                MOV      R7,A
-000EB1 B1CA              ACALL    _kb_send_combination_key
-  511: 				g_variable.key_combination_step = CAMBINATION_KEY_FREE;
-000EB3 E4                CLR      A
-000EB4 904CF4            MOV      DPTR,#g_variable+035H
-000EB7 F0                MOVX     @DPTR,A
-  512: 			}
-000EB8 22                RET      
-000EB9         ?C0093?KB_PROCESS:
-  513: 
-  514: 			else if (g_variable.key_combination_step == CAMBINATION_KEY_USER)	//用户自定义步骤：保存Ctrl，释
->> Space
-000EB9 904CF4            MOV      DPTR,#g_variable+035H
-000EBC E0                MOVX     A,@DPTR
-000EBD B4091A            CJNE     A,#09H,?C0096?KB_PROCESS
-  515: 			{
-  516: 				g_variable.key_combination_keyvalue = 0;
-000EC0 E4                CLR      A
-000EC1 904CF6            MOV      DPTR,#g_variable+037H
-000EC4 F0                MOVX     @DPTR,A
-  517: 				kb_send_combination_key(g_variable.key_combination_ctrl,g_variable.key_combination_keyvalue);
-000EC5 904CF5            MOV      DPTR,#g_variable+036H
-000EC8 E0                MOVX     A,@DPTR
-000EC9 FF                MOV      R7,A
-000ECA E4                CLR      A
-000ECB FD                MOV      R5,A
-000ECC B1CA              ACALL    _kb_send_combination_key
-  518: 				g_variable.key_combination_step = CAMBINATION_KEY_CTRL_WAIT_RELEASE;
-000ECE 904CF4            MOV      DPTR,#g_variable+035H
-000ED1 7408              MOV      A,#08H
-000ED3 F0                MOVX     @DPTR,A
-  519: 				g_variable.one_key_press_wait_release_timer = 10;	//Ctrl延时释放时间1秒
-000ED4 904CF8            MOV      DPTR,#g_variable+039H
-000ED7 740A              MOV      A,#0AH
-000ED9 F0                MOVX     @DPTR,A
-  520: 			}
-  521: 		}
-  522: 		}
-  523: 	}
-  524: }
-000EDA         ?C0096?KB_PROCESS:
-000EDA 22                RET      
+000E80 904CBD            MOV      DPTR,#g_variable+03AH
+000E83 F0                MOVX     @DPTR,A
+  355: 			}
+  356: 		}
+  357: 	}
+  358: }
+000E84         ?C0070?KB_PROCESS:
+000E84 22                RET      
 ----- FUNCTION kb_need_keyscan (END) -------
 
 
 ----- FUNCTION YC_connect_timeout_500ms (BEGIN) -----
  FILE: 'sys.c'
-  560: void YC_connect_timeout_500ms()
-  561: {
-  562: 
-  563: 	if(le_send_battery_level_delay_count)
-000EDB 904DDE            MOV      DPTR,#le_send_battery_level_delay_count
-000EDE E0                MOVX     A,@DPTR
-000EDF 600F              JZ       ?C0064?SYS
-  564: 	{
-  565: 		le_send_battery_level_delay_count--;
-000EE1 E0                MOVX     A,@DPTR
-000EE2 14                DEC      A
-000EE3 F0                MOVX     @DPTR,A
-  566: 		if(!le_send_battery_level_delay_count)
-000EE4 E0                MOVX     A,@DPTR
-000EE5 7009              JNZ      ?C0064?SYS
-  567: 		{	
-  568: 			m_lpm_mode = 1;
-000EE7 904131            MOV      DPTR,#m_lpm_mode
-000EEA 04                INC      A
-000EEB F0                MOVX     @DPTR,A
-  569: 			le_send_battery_level_flag = 1;
-000EEC 904DDC            MOV      DPTR,#le_send_battery_level_flag
-000EEF F0                MOVX     @DPTR,A
-  570: 		}
-  571: 	}
-000EF0         ?C0064?SYS:
-  572: 	
-  573: //system long sleep timer
-  574: 	if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
-000EF0 904CC7            MOV      DPTR,#g_variable+08H
-000EF3 E0                MOVX     A,@DPTR
-000EF4 FF                MOV      R7,A
-000EF5 6404              XRL      A,#04H
-000EF7 7056              JNZ      ?C0066?SYS
-  575: 	{
-  576: 		if ((g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED) && m_le_battery_level_display_enable)
-000EF9 EF                MOV      A,R7
-000EFA 6404              XRL      A,#04H
-000EFC 7039              JNZ      ?C0067?SYS
-000EFE 904D7E            MOV      DPTR,#m_le_battery_level_display_enable
-000F01 E0                MOVX     A,@DPTR
-000F02 6033              JZ       ?C0067?SYS
-  577: 		{
-  578: 			if(le_send_battery_level_flag || (g_variable.sleepTimer && !(g_variable.sleepTimer & 0x1f)))		// ble battery l
+  401: void YC_connect_timeout_500ms()
+  402: {
+  403: 
+  404: 	if(le_send_battery_level_delay_count)
+000E85 904DDF            MOV      DPTR,#le_send_battery_level_delay_count
+000E88 E0                MOVX     A,@DPTR
+000E89 600F              JZ       ?C0071?SYS
+  405: 	{
+  406: 		le_send_battery_level_delay_count--;
+000E8B E0                MOVX     A,@DPTR
+000E8C 14                DEC      A
+000E8D F0                MOVX     @DPTR,A
+  407: 		if(!le_send_battery_level_delay_count)
+000E8E E0                MOVX     A,@DPTR
+000E8F 7009              JNZ      ?C0071?SYS
+  408: 		{	
+  409: 			m_lpm_mode = 1;
+000E91 904131            MOV      DPTR,#m_lpm_mode
+000E94 04                INC      A
+000E95 F0                MOVX     @DPTR,A
+  410: 			le_send_battery_level_flag = 1;
+000E96 904DDD            MOV      DPTR,#le_send_battery_level_flag
+000E99 F0                MOVX     @DPTR,A
+  411: 		}
+  412: 	}
+000E9A         ?C0071?SYS:
+  413: 	
+  414: //system long sleep timer
+  415: 	if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
+000E9A 904C8B            MOV      DPTR,#g_variable+08H
+000E9D E0                MOVX     A,@DPTR
+000E9E FF                MOV      R7,A
+000E9F 6404              XRL      A,#04H
+000EA1 7056              JNZ      ?C0073?SYS
+  416: 	{
+  417: 		if ((g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED) && m_le_battery_level_display_enable)
+000EA3 EF                MOV      A,R7
+000EA4 6404              XRL      A,#04H
+000EA6 7039              JNZ      ?C0074?SYS
+000EA8 904D29            MOV      DPTR,#m_le_battery_level_display_enable
+000EAB E0                MOVX     A,@DPTR
+000EAC 6033              JZ       ?C0074?SYS
+  418: 		{
+  419: 			if(le_send_battery_level_flag || (g_variable.sleepTimer && !(g_variable.sleepTimer & 0x1f)))		// ble battery l
 >> evel updata each 16 second
-000F04 904DDC            MOV      DPTR,#le_send_battery_level_flag
-000F07 E0                MOVX     A,@DPTR
-000F08 7010              JNZ      ?C0069?SYS
-000F0A 904CE3            MOV      DPTR,#g_variable+024H
-000F0D E0                MOVX     A,@DPTR
-000F0E FE                MOV      R6,A
-000F0F A3                INC      DPTR
-000F10 E0                MOVX     A,@DPTR
-000F11 FF                MOV      R7,A
-000F12 4E                ORL      A,R6
-000F13 6022              JZ       ?C0067?SYS
-000F15 EF                MOV      A,R7
-000F16 541F              ANL      A,#01FH
-000F18 701D              JNZ      ?C0067?SYS
-000F1A         ?C0069?SYS:
-  579: 			{
-  580: 				le_send_battery_level_flag = 0;
-000F1A E4                CLR      A
-000F1B 904DDC            MOV      DPTR,#le_send_battery_level_flag
-000F1E F0                MOVX     @DPTR,A
-  581: 				multikey[0] = HID_REPORTID_BATTERY;	
-000F1F 904E50            MOV      DPTR,#multikey
-000F22 7404              MOV      A,#04H
-000F24 F0                MOVX     @DPTR,A
-  582: 				multikey[1] = g_variable.battery_level_percentage;	
-000F25 904CF9            MOV      DPTR,#g_variable+03AH
-000F28 E0                MOVX     A,@DPTR
-000F29 904E51            MOV      DPTR,#multikey+01H
-000F2C F0                MOVX     @DPTR,A
-  583: 				IPC_TxHidData(multikey, 2);
-000F2D 7B01              MOV      R3,#01H
-000F2F 7A4E              MOV      R2,#HIGH multikey
-000F31 7950              MOV      R1,#LOW multikey
-000F33 7D02              MOV      R5,#02H
-000F35 911E              ACALL    _IPC_TxHidData
-  584: 			}
-  585: 		}
-000F37         ?C0067?SYS:
-  586: 		if (g_variable.sleepTimer == STANDBY_TIMER_10S) 
-000F37 904CE3            MOV      DPTR,#g_variable+024H
-000F3A E0                MOVX     A,@DPTR
-000F3B 7004              JNZ      ?C0163?SYS
-000F3D A3                INC      DPTR
-000F3E E0                MOVX     A,@DPTR
-000F3F 6414              XRL      A,#014H
-000F41         ?C0163?SYS:
-000F41 6002              JZ       $ + 4H
-000F43 E1C7              AJMP     ?C0081?SYS
-  587: 		{
-  588: 			YC_disconnect_all_link();
-000F45 1217C6            LCALL    YC_disconnect_all_link
-  589: 			g_variable.lockLpm = 1;
-000F48 904CEC            MOV      DPTR,#g_variable+02DH
-000F4B 7401              MOV      A,#01H
-000F4D F0                MOVX     @DPTR,A
-  590: 		}
-  591: 	}
-000F4E 22                RET      
-000F4F         ?C0066?SYS:
-  592: 	else if(g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
-000F4F 904CC5            MOV      DPTR,#g_variable+06H
-000F52 E0                MOVX     A,@DPTR
-000F53 6403              XRL      A,#03H
-000F55 7039              JNZ      ?C0072?SYS
-  593: 	{
-  594: #ifdef PC_SLEEP_STATUS_GET	
-  595: 		if((g_variable.sleepTimer & 0x1f) == 0x10)	// search dongle each 8s
-000F57 904CE4            MOV      DPTR,#g_variable+025H
-000F5A E0                MOVX     A,@DPTR
-000F5B 541F              ANL      A,#01FH
-000F5D 6410              XRL      A,#010H
-000F5F 701E              JNZ      ?C0073?SYS
-  596: 		{
-  597: 			xmemclear(hidBuff,9);
-000F61 7B01              MOV      R3,#01H
-000F63 7A48              MOV      R2,#HIGH hidBuff
-000F65 7900              MOV      R1,#LOW hidBuff
-000F67 7D09              MOV      R5,#09H
-000F69 FC                MOV      R4,A
-000F6A B101              ACALL    _xmemclear
-  598: 
-  599: 			mult_key_status = 0;
-000F6C E4                CLR      A
-000F6D 904E4F            MOV      DPTR,#mult_key_status
-000F70 F0                MOVX     @DPTR,A
-  600: 			hidBuff[0] = HID_REPORTID_1;		// standard key send
-000F71 904800            MOV      DPTR,#hidBuff
-000F74 04                INC      A
-000F75 F0                MOVX     @DPTR,A
-  601: 			IPC_TxHidData(hidBuff, 9);
-000F76 FB                MOV      R3,A
-000F77 7A48              MOV      R2,#HIGH hidBuff
-000F79 7900              MOV      R1,#LOW hidBuff
-000F7B 7D09              MOV      R5,#09H
-000F7D 911E              ACALL    _IPC_TxHidData
-  602: 		}
-000F7F         ?C0073?SYS:
-  603: #endif	
-  604: 		if (g_variable.sleepTimer >= STANDBY_TIMER_10S)
-000F7F C3                CLR      C
-000F80 904CE4            MOV      DPTR,#g_variable+025H
-000F83 E0                MOVX     A,@DPTR
-000F84 9414              SUBB     A,#014H
-000F86 904CE3            MOV      DPTR,#g_variable+024H
-000F89 E0                MOVX     A,@DPTR
-000F8A 9400              SUBB     A,#00H
-000F8C 4039              JC       ?C0081?SYS
-  605: 		{
-  606: 			System_G24_long_lpm();
-000F8E 8038              SJMP     System_G24_long_lpm
-  607: 		}
-  608: 	}
-000F90         ?C0072?SYS:
-  609: 	else if(g_variable.g24_currentState == CHANGE_TO_24G_PAIRING)
-000F90 904CC5            MOV      DPTR,#g_variable+06H
-000F93 E0                MOVX     A,@DPTR
-000F94 B40111            CJNE     A,#01H,?C0076?SYS
-  610: 	{
-  611: 		if (g_variable.sleepTimer >= BT_PAIRING_TIME_OUT_1MIN)
-000F97 C3                CLR      C
-000F98 904CE4            MOV      DPTR,#g_variable+025H
-000F9B E0                MOVX     A,@DPTR
-000F9C 9478              SUBB     A,#078H
-000F9E 904CE3            MOV      DPTR,#g_variable+024H
-000FA1 E0                MOVX     A,@DPTR
-000FA2 9400              SUBB     A,#00H
-000FA4 4021              JC       ?C0081?SYS
-  612: 		{
-  613: 			System_G24_long_lpm();
-000FA6 8020              SJMP     System_G24_long_lpm
-  614: 		}
-  615: 	}
-000FA8         ?C0076?SYS:
-  616: 	else
-  617: 	{
-  618: 		if (g_variable.sleepTimer >= RECONNECT_TIMER_10S)
-000FA8 C3                CLR      C
-000FA9 904CE4            MOV      DPTR,#g_variable+025H
-000FAC E0                MOVX     A,@DPTR
-000FAD 9412              SUBB     A,#012H
-000FAF 904CE3            MOV      DPTR,#g_variable+024H
-000FB2 E0                MOVX     A,@DPTR
-000FB3 9400              SUBB     A,#00H
-000FB5 4010              JC       ?C0081?SYS
-  619: 		{
-  620: 			if(ble_reconnect_flag)
-000FB7 904DE8            MOV      DPTR,#ble_reconnect_flag
-000FBA E0                MOVX     A,@DPTR
-000FBB 6007              JZ       ?C0080?SYS
-  621: 			{
-  622: 				ble_reconnect_flag = 0;
-000FBD E4                CLR      A
-000FBE F0                MOVX     @DPTR,A
-  623: 				IPC_TxControlCmd(IPC_CMD_STOP_ADV);
-000FBF 7F0E              MOV      R7,#0EH
-000FC1 1210AD            LCALL    _IPC_TxControlCmd
-  624: 			}
-000FC4         ?C0080?SYS:
-  625: 			System_long_sleep();
-000FC4 1217BD            LCALL    System_long_sleep
-  626: 			// if(!GPIO_GetInputStatus(USER_MODE_GPIO))
-  627: 			// {
-  628: 			// 	g_variable.pairing_timeout = BT_PAIRING_TIME_OUT_2MIN;
-  629: 			// 	g_variable.pairing_g24_timeout = 0;
-  630: 			// 	YC_key_action_handle(KEY_DISCOVERY);
-  631: 			// 	LED_all_shutdown();
-  632: 			// 	g_variable.button_reconnect_flag = 0;
-  633: 			// 	g_variable.release_data = 1;
-  634: 			// }
-  635: 		}
-  636: 	}
-  637: }
-000FC7         ?C0081?SYS:
-000FC7 22                RET      
+000EAE 904DDD            MOV      DPTR,#le_send_battery_level_flag
+000EB1 E0                MOVX     A,@DPTR
+000EB2 7010              JNZ      ?C0076?SYS
+000EB4 904CAB            MOV      DPTR,#g_variable+028H
+000EB7 E0                MOVX     A,@DPTR
+000EB8 FE                MOV      R6,A
+000EB9 A3                INC      DPTR
+000EBA E0                MOVX     A,@DPTR
+000EBB FF                MOV      R7,A
+000EBC 4E                ORL      A,R6
+000EBD 6022              JZ       ?C0074?SYS
+000EBF EF                MOV      A,R7
+000EC0 541F              ANL      A,#01FH
+000EC2 701D              JNZ      ?C0074?SYS
+000EC4         ?C0076?SYS:
+  420: 			{
+  421: 				le_send_battery_level_flag = 0;
+000EC4 E4                CLR      A
+000EC5 904DDD            MOV      DPTR,#le_send_battery_level_flag
+000EC8 F0                MOVX     @DPTR,A
+  422: 				multikey[0] = HID_REPORTID_BATTERY;	
+000EC9 904E52            MOV      DPTR,#multikey
+000ECC 7404              MOV      A,#04H
+000ECE F0                MOVX     @DPTR,A
+  423: 				multikey[1] = g_variable.battery_level_percentage;	
+000ECF 904CC2            MOV      DPTR,#g_variable+03FH
+000ED2 E0                MOVX     A,@DPTR
+000ED3 904E53            MOV      DPTR,#multikey+01H
+000ED6 F0                MOVX     @DPTR,A
+  424: 				IPC_TxHidData(multikey, 2);
+000ED7 7B01              MOV      R3,#01H
+000ED9 7A4E              MOV      R2,#HIGH multikey
+000EDB 7952              MOV      R1,#LOW multikey
+000EDD 7D02              MOV      R5,#02H
+000EDF 911D              ACALL    _IPC_TxHidData
+  425: 			}
+  426: 		}
+000EE1         ?C0074?SYS:
+  427: 		if (g_variable.sleepTimer == STANDBY_TIMER_10S) 
+000EE1 904CAB            MOV      DPTR,#g_variable+028H
+000EE4 E0                MOVX     A,@DPTR
+000EE5 7004              JNZ      ?C0176?SYS
+000EE7 A3                INC      DPTR
+000EE8 E0                MOVX     A,@DPTR
+000EE9 6414              XRL      A,#014H
+000EEB         ?C0176?SYS:
+000EEB 6002              JZ       $ + 4H
+000EED E171              AJMP     ?C0088?SYS
+  428: 		{
+  429: 			YC_disconnect_all_link();
+000EEF 1218C7            LCALL    YC_disconnect_all_link
+  430: 			g_variable.lockLpm = 1;
+000EF2 904CB5            MOV      DPTR,#g_variable+032H
+000EF5 7401              MOV      A,#01H
+000EF7 F0                MOVX     @DPTR,A
+  431: 		}
+  432: 	}
+000EF8 22                RET      
+000EF9         ?C0073?SYS:
+  433: 	else if(g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+000EF9 904C89            MOV      DPTR,#g_variable+06H
+000EFC E0                MOVX     A,@DPTR
+000EFD 6403              XRL      A,#03H
+000EFF 7039              JNZ      ?C0079?SYS
+  434: 	{
+  435: #ifdef PC_SLEEP_STATUS_GET	
+  436: 		if((g_variable.sleepTimer & 0x1f) == 0x10)	// search dongle each 8s
+000F01 904CAC            MOV      DPTR,#g_variable+029H
+000F04 E0                MOVX     A,@DPTR
+000F05 541F              ANL      A,#01FH
+000F07 6410              XRL      A,#010H
+000F09 701E              JNZ      ?C0080?SYS
+  437: 		{
+  438: 			xmemclear(hidBuff,9);
+000F0B 7B01              MOV      R3,#01H
+000F0D 7A48              MOV      R2,#HIGH hidBuff
+000F0F 7900              MOV      R1,#LOW hidBuff
+000F11 7D09              MOV      R5,#09H
+000F13 FC                MOV      R4,A
+000F14 B101              ACALL    _xmemclear
+  439: 
+  440: 			mult_key_status = 0;
+000F16 E4                CLR      A
+000F17 904E51            MOV      DPTR,#mult_key_status
+000F1A F0                MOVX     @DPTR,A
+  441: 			hidBuff[0] = HID_REPORTID_1;		// standard key send
+000F1B 904800            MOV      DPTR,#hidBuff
+000F1E 04                INC      A
+000F1F F0                MOVX     @DPTR,A
+  442: 			IPC_TxHidData(hidBuff, 9);
+000F20 FB                MOV      R3,A
+000F21 7A48              MOV      R2,#HIGH hidBuff
+000F23 7900              MOV      R1,#LOW hidBuff
+000F25 7D09              MOV      R5,#09H
+000F27 911D              ACALL    _IPC_TxHidData
+  443: 		}
+000F29         ?C0080?SYS:
+  444: #endif	
+  445: 		if (g_variable.sleepTimer >= STANDBY_TIMER_5MIN)
+000F29 C3                CLR      C
+000F2A 904CAC            MOV      DPTR,#g_variable+029H
+000F2D E0                MOVX     A,@DPTR
+000F2E 9458              SUBB     A,#058H
+000F30 904CAB            MOV      DPTR,#g_variable+028H
+000F33 E0                MOVX     A,@DPTR
+000F34 9402              SUBB     A,#02H
+000F36 4039              JC       ?C0088?SYS
+  446: 		{
+  447: 			System_G24_long_lpm();
+000F38 805D              SJMP     System_G24_long_lpm
+  448: 		}
+  449: 	}
+000F3A         ?C0079?SYS:
+  450: 	else if(g_variable.g24_currentState == CHANGE_TO_24G_PAIRING)
+000F3A 904C89            MOV      DPTR,#g_variable+06H
+000F3D E0                MOVX     A,@DPTR
+000F3E B40111            CJNE     A,#01H,?C0083?SYS
+  451: 	{
+  452: 		if (g_variable.sleepTimer >= BT_PAIRING_TIME_OUT_1MIN)
+000F41 C3                CLR      C
+000F42 904CAC            MOV      DPTR,#g_variable+029H
+000F45 E0                MOVX     A,@DPTR
+000F46 9478              SUBB     A,#078H
+000F48 904CAB            MOV      DPTR,#g_variable+028H
+000F4B E0                MOVX     A,@DPTR
+000F4C 9400              SUBB     A,#00H
+000F4E 4021              JC       ?C0088?SYS
+  453: 		{
+  454: 			System_G24_long_lpm();
+000F50 8045              SJMP     System_G24_long_lpm
+  455: 		}
+  456: 	
+  457: 			}
+000F52         ?C0083?SYS:
+  458: 			else
+  459: 			{
+  460: 				if (g_variable.sleepTimer >= RECONNECT_TIMER_10S)
+000F52 C3                CLR      C
+000F53 904CAC            MOV      DPTR,#g_variable+029H
+000F56 E0                MOVX     A,@DPTR
+000F57 9412              SUBB     A,#012H
+000F59 904CAB            MOV      DPTR,#g_variable+028H
+000F5C E0                MOVX     A,@DPTR
+000F5D 9400              SUBB     A,#00H
+000F5F 4010              JC       ?C0088?SYS
+  461: 				{
+  462: 					if(ble_reconnect_flag)
+000F61 904DEA            MOV      DPTR,#ble_reconnect_flag
+000F64 E0                MOVX     A,@DPTR
+000F65 6007              JZ       ?C0087?SYS
+  463: 					{
+  464: 						ble_reconnect_flag = 0;
+000F67 E4                CLR      A
+000F68 F0                MOVX     @DPTR,A
+  465: 						IPC_TxControlCmd(IPC_CMD_STOP_ADV);
+000F69 7F0E              MOV      R7,#0EH
+000F6B 1213C9            LCALL    _IPC_TxControlCmd
+  466: 					}
+000F6E         ?C0087?SYS:
+  467: 					System_long_sleep();
+000F6E 121796            LCALL    System_long_sleep
+  468: 
+  469: 	/*
+  470: 		if (g_variable.sleepTimer >= RECONNECT_TIMER_5S)
+  471: 		{
+  472: 			if(ble_reconnect_flag)
+  473: 			{
+  474: 				ble_reconnect_flag = 0;
+  475: 				IPC_TxControlCmd(IPC_CMD_STOP_ADV);
+  476: 			}
+  477: 
+  478: 			System_long_sleep();
+  479: 		}*/
+  480: 		
+  481: 	}
+  482: 	// if( !g_variable.current_device_num || (g_variable.current_device_num == 0xfe))
+  483: 	// {
+  484: 	// 	if(m_mouse_retry_flag && (g_variable.sleepTimer >= RECONNECT_TIMER_10S))
+  485: 	// 		System_long_sleep();
+  486: 	}
+  487: }
+000F71         ?C0088?SYS:
+000F71 22                RET      
 ----- FUNCTION YC_connect_timeout_500ms (END) -------
 
 
+----- FUNCTION _Delay1ms (BEGIN) -----
+ FILE: 'utilities.c'
+   46: void Delay1ms(byte Time)
+   47: {
+;---- Variable 'Time' assigned to Register 'R7' ----
+   48: 	word j;
+   49: 	for (; Time > 0; Time--) {
+000F72         ?C0014?UTILITIES:
+000F72 EF                MOV      A,R7
+000F73 D3                SETB     C
+000F74 9400              SUBB     A,#00H
+000F76 4011              JC       ?C0020?UTILITIES
+   50: 		for (j = 0; j < 1190; j++) ;
+;---- Variable 'j' assigned to Register 'R4/R5' ----
+000F78 E4                CLR      A
+000F79 FD                MOV      R5,A
+000F7A FC                MOV      R4,A
+000F7B         ?C0017?UTILITIES:
+000F7B 0D                INC      R5
+000F7C BD0001            CJNE     R5,#00H,?C0028?UTILITIES
+000F7F 0C                INC      R4
+000F80         ?C0028?UTILITIES:
+000F80 BC04F8            CJNE     R4,#04H,?C0017?UTILITIES
+000F83 BDA6F5            CJNE     R5,#0A6H,?C0017?UTILITIES
+   51: 	}
+000F86         ?C0016?UTILITIES:
+000F86 1F                DEC      R7
+000F87 80E9              SJMP     ?C0014?UTILITIES
+   52: }
+000F89         ?C0020?UTILITIES:
+000F89 22                RET      
+----- FUNCTION _Delay1ms (END) -------
+
+
+----- FUNCTION IPC_WaitLpm (BEGIN) -----
+ FILE: 'ipc.c'
+  125: void IPC_WaitLpm()
+  126: {
+  127: 	lpm_flag = 0;
+  128: 	current_task = 0;
+000F8A E4                CLR      A
+000F8B 900B7F            MOV      DPTR,#lpm_flag
+000F8E F0                MOVX     @DPTR,A
+  129: 	Delay1ms(1);
+000F8F 900B7E            MOV      DPTR,#current_task
+000F92 F0                MOVX     @DPTR,A
+  130: }
+000F93 7F01              MOV      R7,#01H
+000F95 80DB              SJMP     _Delay1ms
+----- FUNCTION IPC_WaitLpm (END) -------
+
+
 ----- FUNCTION System_G24_long_lpm (BEGIN) -----
  FILE: 'sys.c'
-   99: void System_G24_long_lpm()
-  100: {
-  101: 	LED_all_shutdown();
-  102: 	m_24g_pairing_sm = 0xff;
-000FC8 121CD7            LCALL    LED_all_shutdown
-  103: 	g_variable.g24_long_sleep_flag = 1;
-000FCB 904BEF            MOV      DPTR,#m_24g_pairing_sm
-000FCE 74FF              MOV      A,#0FFH
-000FD0 F0                MOVX     @DPTR,A
-  104: #ifdef PC_SLEEP_STATUS_GET	
-000FD1 904D01            MOV      DPTR,#g_variable+042H
-000FD4 7401              MOV      A,#01H
-000FD6 F0                MOVX     @DPTR,A
-  105: 	m_caps_num_lock = 0xf0;
-000FD7 904CB7            MOV      DPTR,#m_caps_num_lock
-000FDA 74F0              MOV      A,#0F0H
-000FDC F0                MOVX     @DPTR,A
-  106: 	m_caps_num_lock_last = 0xf0; 
-000FDD 904DE3            MOV      DPTR,#m_caps_num_lock_last
-000FE0 F0                MOVX     @DPTR,A
-  107: #endif	
-  108: 	m_24g_enter_hibernate[0]	= 0xff;
-000FE1 904D40            MOV      DPTR,#m_24g_enter_hibernate
-000FE4 74FF              MOV      A,#0FFH
-000FE6 F0                MOVX     @DPTR,A
-  109: 	m_24g_enter_hibernate[1]	= 0xff;
-000FE7 A3                INC      DPTR
-000FE8 F0                MOVX     @DPTR,A
-  110: 	m_24g_enter_hibernate[2]	= 0xff;
-000FE9 A3                INC      DPTR
-000FEA F0                MOVX     @DPTR,A
-  111: 	m_24g_enter_hibernate[3]	= 0xff;
-000FEB A3                INC      DPTR
-000FEC F0                MOVX     @DPTR,A
-  112: }
-000FED 22                RET      
+   91: void System_G24_long_lpm()
+   92: {
+   93: 	LED_all_shutdown();
+   94: 	m_24g_pairing_sm = 0xff;
+000F97 1217BC            LCALL    LED_all_shutdown
+   95: 	g_variable.g24_long_sleep_flag = 1;
+000F9A 904BEF            MOV      DPTR,#m_24g_pairing_sm
+000F9D 74FF              MOV      A,#0FFH
+000F9F F0                MOVX     @DPTR,A
+   96: #ifdef PC_SLEEP_STATUS_GET	
+000FA0 904CCA            MOV      DPTR,#g_variable+047H
+000FA3 7401              MOV      A,#01H
+000FA5 F0                MOVX     @DPTR,A
+   97: 	// m_caps_num_lock = 0xf0;
+   98: 	// m_caps_num_lock_last = 0xf0; 
+   99: #endif	
+  100: 	m_24g_enter_hibernate[0]	= 0xff;
+000FA6 904CEF            MOV      DPTR,#m_24g_enter_hibernate
+000FA9 74FF              MOV      A,#0FFH
+000FAB F0                MOVX     @DPTR,A
+  101: 	m_24g_enter_hibernate[1]	= 0xff;
+000FAC A3                INC      DPTR
+000FAD F0                MOVX     @DPTR,A
+  102: 	m_24g_enter_hibernate[2]	= 0xff;
+000FAE A3                INC      DPTR
+000FAF F0                MOVX     @DPTR,A
+  103: 	m_24g_enter_hibernate[3]	= 0xff;
+000FB0 A3                INC      DPTR
+000FB1 F0                MOVX     @DPTR,A
+  104: }
+000FB2 22                RET      
 ----- FUNCTION System_G24_long_lpm (END) -------
 
 
------ FUNCTION _IPC_Tx24GData (BEGIN) -----
-;---- Variable 'len' assigned to Register 'R5' ----
-;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-000FEE 900BE7            MOV      DPTR,#ipcSendBuff
-000FF1 7406              MOV      A,#06H
-000FF3 F0                MOVX     @DPTR,A
-;----                  JMP      _IPC_TxData
------ FUNCTION _IPC_Tx24GData (END) -------
-
-
 ----- FUNCTION _IPC_TxData (BEGIN) -----
-000FF4 904F10            MOV      DPTR,#len
-000FF7 ED                MOV      A,R5
-000FF8 F0                MOVX     @DPTR,A
+ FILE: 'ipc.c'
+   83: void IPC_TxData(byte * dt, byte len)
+   84: {
+000FB3 904F0F            MOV      DPTR,#len
+000FB6 ED                MOV      A,R5
+000FB7 F0                MOVX     @DPTR,A
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-000FF9 E0                MOVX     A,@DPTR
-000FFA FD                MOV      R5,A
-000FFB 900BE8            MOV      DPTR,#ipcSendBuff+01H
-000FFE F0                MOVX     @DPTR,A
-000FFF 7E0B              MOV      R6,#HIGH ipcSendBuff+02H
-001001 7FE9              MOV      R7,#LOW ipcSendBuff+02H
-001003 904EC8            MOV      DPTR,#?_xmemcpy?BYTE+05H
-001006 ED                MOV      A,R5
-001007 F0                MOVX     @DPTR,A
-001008 12087D            LCALL    _xmemcpy
-00100B 7B01              MOV      R3,#01H
-00100D 7A0B              MOV      R2,#HIGH ipcSendBuff
-00100F 79E7              MOV      R1,#LOW ipcSendBuff
-001011 904F10            MOV      DPTR,#len
-001014 E0                MOVX     A,@DPTR
-001015 2402              ADD      A,#02H
-001017 FD                MOV      R5,A
+   85: 	ipcSendBuff[1] = len;
+   86: 	xmemcpy(&ipcSendBuff[2], dt, len);
+000FB8 E0                MOVX     A,@DPTR
+000FB9 FD                MOV      R5,A
+000FBA 900BE8            MOV      DPTR,#ipcSendBuff+01H
+000FBD F0                MOVX     @DPTR,A
+   87: 	ipcTx(ipcSendBuff, len + 2);
+000FBE 7E0B              MOV      R6,#HIGH ipcSendBuff+02H
+000FC0 7FE9              MOV      R7,#LOW ipcSendBuff+02H
+000FC2 904ECA            MOV      DPTR,#?_xmemcpy?BYTE+05H
+000FC5 ED                MOV      A,R5
+000FC6 F0                MOVX     @DPTR,A
+000FC7 117D              ACALL    _xmemcpy
+   88: }
+000FC9 7B01              MOV      R3,#01H
+000FCB 7A0B              MOV      R2,#HIGH ipcSendBuff
+000FCD 79E7              MOV      R1,#LOW ipcSendBuff
+000FCF 904F0F            MOV      DPTR,#len
+000FD2 E0                MOVX     A,@DPTR
+000FD3 2402              ADD      A,#02H
+000FD5 FD                MOV      R5,A
 ;----                  JMP      _ipcTx
 ----- FUNCTION _IPC_TxData (END) -------
 
 
 ----- FUNCTION _ipcTx (BEGIN) -----
-001018 904EBD            MOV      DPTR,#src
-00101B EB                MOV      A,R3
-00101C F0                MOVX     @DPTR,A
-00101D A3                INC      DPTR
-00101E EA                MOV      A,R2
-00101F F0                MOVX     @DPTR,A
-001020 A3                INC      DPTR
-001021 E9                MOV      A,R1
-001022 F0                MOVX     @DPTR,A
-001023 A3                INC      DPTR
-001024 ED                MOV      A,R5
-001025 F0                MOVX     @DPTR,A
-001026 904B9C            MOV      DPTR,#ipcTxWritePtr
-001029 E0                MOVX     A,@DPTR
-00102A FF                MOV      R7,A
-00102B A3                INC      DPTR
-00102C E0                MOVX     A,@DPTR
-00102D 904EC1            MOV      DPTR,#dest
-001030 CF                XCH      A,R7
-001031 F0                MOVX     @DPTR,A
-001032 A3                INC      DPTR
-001033 EF                MOV      A,R7
-001034 F0                MOVX     @DPTR,A
-001035         ?C0008?IPC:
-001035 904B9A            MOV      DPTR,#ipcTxReadPtr
-001038 E0                MOVX     A,@DPTR
-001039 FE                MOV      R6,A
-00103A A3                INC      DPTR
-00103B E0                MOVX     A,@DPTR
-00103C FF                MOV      R7,A
-00103D 904B9C            MOV      DPTR,#ipcTxWritePtr
-001040 E0                MOVX     A,@DPTR
-001041 FC                MOV      R4,A
-001042 A3                INC      DPTR
-001043 E0                MOVX     A,@DPTR
-001044 FD                MOV      R5,A
-001045 7B64              MOV      R3,#064H
-001047 1235A8            LCALL    _bufsize
-00104A 904EC0            MOV      DPTR,#len
-00104D E0                MOVX     A,@DPTR
-00104E FE                MOV      R6,A
-00104F EF                MOV      A,R7
-001050 C3                CLR      C
-001051 9E                SUBB     A,R6
-001052 40E1              JC       ?C0008?IPC
-001054         ?C0009?IPC:
-001054         ?C0010?IPC:
-001054 904EC0            MOV      DPTR,#len
-001057 E0                MOVX     A,@DPTR
-001058 FF                MOV      R7,A
-001059 14                DEC      A
-00105A F0                MOVX     @DPTR,A
-00105B EF                MOV      A,R7
-00105C 603F              JZ       ?C0011?IPC
-00105E 904EBD            MOV      DPTR,#src
+ FILE: 'ipc.c'
+   61: static void ipcTx(byte* src, byte len)
+   62: {
+000FD6 904EBF            MOV      DPTR,#src
+000FD9 EB                MOV      A,R3
+000FDA F0                MOVX     @DPTR,A
+000FDB A3                INC      DPTR
+000FDC EA                MOV      A,R2
+000FDD F0                MOVX     @DPTR,A
+000FDE A3                INC      DPTR
+000FDF E9                MOV      A,R1
+000FE0 F0                MOVX     @DPTR,A
+000FE1 A3                INC      DPTR
+000FE2 ED                MOV      A,R5
+000FE3 F0                MOVX     @DPTR,A
+   63: 	xbyte *dest = (xbyte *) ipcTxWritePtr;
+   64: 	while(bufsize(ipcTxReadPtr, ipcTxWritePtr, IPC_BUFF_LEN) < len);
+000FE4 904B9C            MOV      DPTR,#ipcTxWritePtr
+000FE7 E0                MOVX     A,@DPTR
+000FE8 FF                MOV      R7,A
+000FE9 A3                INC      DPTR
+000FEA E0                MOVX     A,@DPTR
+000FEB 904EC3            MOV      DPTR,#dest
+000FEE CF                XCH      A,R7
+000FEF F0                MOVX     @DPTR,A
+000FF0 A3                INC      DPTR
+000FF1 EF                MOV      A,R7
+000FF2 F0                MOVX     @DPTR,A
+000FF3         ?C0008?IPC:
+   65: 	while (len--) {
+000FF3 904B9A            MOV      DPTR,#ipcTxReadPtr
+000FF6 E0                MOVX     A,@DPTR
+000FF7 FE                MOV      R6,A
+000FF8 A3                INC      DPTR
+000FF9 E0                MOVX     A,@DPTR
+000FFA FF                MOV      R7,A
+000FFB 904B9C            MOV      DPTR,#ipcTxWritePtr
+000FFE E0                MOVX     A,@DPTR
+000FFF FC                MOV      R4,A
+001000 A3                INC      DPTR
+001001 E0                MOVX     A,@DPTR
+001002 FD                MOV      R5,A
+001003 7B64              MOV      R3,#064H
+001005 12106B            LCALL    _bufsize
+001008 904EC2            MOV      DPTR,#len
+00100B E0                MOVX     A,@DPTR
+00100C FE                MOV      R6,A
+00100D EF                MOV      A,R7
+00100E C3                CLR      C
+00100F 9E                SUBB     A,R6
+001010 40E1              JC       ?C0008?IPC
+001012         ?C0009?IPC:
+001012         ?C0010?IPC:
+   66: 		*dest++ = *src++;
+001012 904EC2            MOV      DPTR,#len
+001015 E0                MOVX     A,@DPTR
+001016 FF                MOV      R7,A
+001017 14                DEC      A
+001018 F0                MOVX     @DPTR,A
+001019 EF                MOV      A,R7
+00101A 603F              JZ       ?C0011?IPC
+   67: 		if ((word) dest == IPC_TX_END) {
+00101C 904EBF            MOV      DPTR,#src
+00101F E0                MOVX     A,@DPTR
+001020 FB                MOV      R3,A
+001021 A3                INC      DPTR
+001022 E4                CLR      A
+001023 75F001            MOV      B,#01H
+001026 120424            LCALL    ?C?ILDIX
+001029 A9F0              MOV      R1,B
+00102B FA                MOV      R2,A
+00102C 1203B6            LCALL    ?C?CLDPTR
+00102F FF                MOV      R7,A
+001030 904EC3            MOV      DPTR,#dest
+001033 E4                CLR      A
+001034 75F001            MOV      B,#01H
+001037 120424            LCALL    ?C?ILDIX
+00103A 85F082            MOV      DPL,B
+00103D F583              MOV      DPH,A
+00103F EF                MOV      A,R7
+001040 F0                MOVX     @DPTR,A
+   68: 			dest = (xbyte *) IPC_TX_HEAD;
+001041 904EC3            MOV      DPTR,#dest
+001044 E0                MOVX     A,@DPTR
+001045 FE                MOV      R6,A
+001046 A3                INC      DPTR
+001047 E0                MOVX     A,@DPTR
+001048 FF                MOV      R7,A
+001049 BE4BC6            CJNE     R6,#04BH,?C0010?IPC
+00104C BF36C3            CJNE     R7,#036H,?C0010?IPC
+   69: 		}
+00104F 904EC3            MOV      DPTR,#dest
+001052 744A              MOV      A,#04AH
+001054 F0                MOVX     @DPTR,A
+001055 A3                INC      DPTR
+001056 74A0              MOV      A,#0A0H
+001058 F0                MOVX     @DPTR,A
+   70: 	}
+   71: 	ipcTxWritePtr = (word) dest;
+001059 80B7              SJMP     ?C0010?IPC
+00105B         ?C0011?IPC:
+   72: }
+00105B 904EC3            MOV      DPTR,#dest
+00105E E0                MOVX     A,@DPTR
+00105F FF                MOV      R7,A
+001060 A3                INC      DPTR
 001061 E0                MOVX     A,@DPTR
-001062 FB                MOV      R3,A
-001063 A3                INC      DPTR
-001064 E4                CLR      A
-001065 75F001            MOV      B,#01H
-001068 120424            LCALL    ?C?ILDIX
-00106B A9F0              MOV      R1,B
-00106D FA                MOV      R2,A
-00106E 1203B6            LCALL    ?C?CLDPTR
-001071 FF                MOV      R7,A
-001072 904EC1            MOV      DPTR,#dest
-001075 E4                CLR      A
-001076 75F001            MOV      B,#01H
-001079 120424            LCALL    ?C?ILDIX
-00107C 85F082            MOV      DPL,B
-00107F F583              MOV      DPH,A
-001081 EF                MOV      A,R7
-001082 F0                MOVX     @DPTR,A
-001083 904EC1            MOV      DPTR,#dest
-001086 E0                MOVX     A,@DPTR
-001087 FE                MOV      R6,A
-001088 A3                INC      DPTR
-001089 E0                MOVX     A,@DPTR
-00108A FF                MOV      R7,A
-00108B BE4BC6            CJNE     R6,#04BH,?C0010?IPC
-00108E BF36C3            CJNE     R7,#036H,?C0010?IPC
-001091 904EC1            MOV      DPTR,#dest
-001094 744A              MOV      A,#04AH
-001096 F0                MOVX     @DPTR,A
-001097 A3                INC      DPTR
-001098 74A0              MOV      A,#0A0H
-00109A F0                MOVX     @DPTR,A
-00109B 80B7              SJMP     ?C0010?IPC
-00109D         ?C0011?IPC:
-00109D 904EC1            MOV      DPTR,#dest
-0010A0 E0                MOVX     A,@DPTR
-0010A1 FF                MOV      R7,A
-0010A2 A3                INC      DPTR
-0010A3 E0                MOVX     A,@DPTR
-0010A4 904B9C            MOV      DPTR,#ipcTxWritePtr
-0010A7 CF                XCH      A,R7
-0010A8 F0                MOVX     @DPTR,A
-0010A9 A3                INC      DPTR
-0010AA EF                MOV      A,R7
-0010AB F0                MOVX     @DPTR,A
-0010AC 22                RET      
+001062 904B9C            MOV      DPTR,#ipcTxWritePtr
+001065 CF                XCH      A,R7
+001066 F0                MOVX     @DPTR,A
+001067 A3                INC      DPTR
+001068 EF                MOV      A,R7
+001069 F0                MOVX     @DPTR,A
+   73: 
+00106A 22                RET      
 ----- FUNCTION _ipcTx (END) -------
 
 
------ FUNCTION _IPC_TxControlCmd (BEGIN) -----
-0010AD 904EE0            MOV      DPTR,#cmd
-0010B0 EF                MOV      A,R7
-0010B1 F0                MOVX     @DPTR,A
-0010B2 78E1              MOV      R0,#LOW cmdBuff
-0010B4 7C4E              MOV      R4,#HIGH cmdBuff
-0010B6 7D01              MOV      R5,#01H
-0010B8 7BFF              MOV      R3,#0FFH
-0010BA 7A07              MOV      R2,#HIGH _?ix1000
-0010BC 7934              MOV      R1,#LOW _?ix1000
-0010BE 7E00              MOV      R6,#00H
-0010C0 7F03              MOV      R7,#03H
-0010C2 120390            LCALL    ?C?COPY
-0010C5 904EE0            MOV      DPTR,#cmd
+----- FUNCTION _bufsize (BEGIN) -----
+ FILE: 'ipc.c'
+   44: static byte bufsize(xword rptr, xword wptr, byte buflen)
+   45: {
+00106B 904EDE            MOV      DPTR,#rptr
+00106E EE                MOV      A,R6
+00106F F0                MOVX     @DPTR,A
+001070 A3                INC      DPTR
+001071 EF                MOV      A,R7
+001072 F0                MOVX     @DPTR,A
+001073 904EE0            MOV      DPTR,#wptr
+001076 EC                MOV      A,R4
+001077 F0                MOVX     @DPTR,A
+001078 A3                INC      DPTR
+001079 ED                MOV      A,R5
+00107A F0                MOVX     @DPTR,A
+;---- Variable 'buflen' assigned to Register 'R3' ----
+   46: 	return rptr > wptr ? rptr - wptr : buflen - (wptr - rptr);
+   47: }
+00107B 904EE0            MOV      DPTR,#wptr
+00107E E0                MOVX     A,@DPTR
+00107F FE                MOV      R6,A
+001080 A3                INC      DPTR
+001081 E0                MOVX     A,@DPTR
+001082 FF                MOV      R7,A
+001083 D3                SETB     C
+001084 904EDF            MOV      DPTR,#rptr+01H
+001087 E0                MOVX     A,@DPTR
+001088 9F                SUBB     A,R7
+001089 904EDE            MOV      DPTR,#rptr
+00108C E0                MOVX     A,@DPTR
+00108D 9E                SUBB     A,R6
+00108E 4016              JC       ?C0001?IPC
+001090 904EE0            MOV      DPTR,#wptr
+001093 E0                MOVX     A,@DPTR
+001094 FE                MOV      R6,A
+001095 A3                INC      DPTR
+001096 E0                MOVX     A,@DPTR
+001097 FF                MOV      R7,A
+001098 904EDF            MOV      DPTR,#rptr+01H
+00109B E0                MOVX     A,@DPTR
+00109C 9F                SUBB     A,R7
+00109D FF                MOV      R7,A
+00109E 904EDE            MOV      DPTR,#rptr
+0010A1 E0                MOVX     A,@DPTR
+0010A2 9E                SUBB     A,R6
+0010A3 FE                MOV      R6,A
+0010A4 801E              SJMP     ?C0002?IPC
+0010A6         ?C0001?IPC:
+0010A6 904EDE            MOV      DPTR,#rptr
+0010A9 E0                MOVX     A,@DPTR
+0010AA FE                MOV      R6,A
+0010AB A3                INC      DPTR
+0010AC E0                MOVX     A,@DPTR
+0010AD FF                MOV      R7,A
+0010AE C3                CLR      C
+0010AF 904EE1            MOV      DPTR,#wptr+01H
+0010B2 E0                MOVX     A,@DPTR
+0010B3 9F                SUBB     A,R7
+0010B4 FF                MOV      R7,A
+0010B5 904EE0            MOV      DPTR,#wptr
+0010B8 E0                MOVX     A,@DPTR
+0010B9 9E                SUBB     A,R6
+0010BA FE                MOV      R6,A
+0010BB AD03              MOV      R5,AR3
+0010BD C3                CLR      C
+0010BE EB                MOV      A,R3
+0010BF 9F                SUBB     A,R7
+0010C0 FF                MOV      R7,A
+0010C1 E4                CLR      A
+0010C2 9E                SUBB     A,R6
+0010C3 FE                MOV      R6,A
+0010C4         ?C0002?IPC:
+   48: 
+0010C4 22                RET      
+----- FUNCTION _bufsize (END) -------
+
+
+----- FUNCTION YC_check_is_connected (BEGIN) -----
+ FILE: 'bluetooth.c'
+   53: byte YC_check_is_connected()
+   54: {
+   55: 	if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED
+   56: 		|| g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+0010C5 904C8B            MOV      DPTR,#g_variable+08H
 0010C8 E0                MOVX     A,@DPTR
-0010C9 904EE3            MOV      DPTR,#cmdBuff+02H
-0010CC F0                MOVX     @DPTR,A
-0010CD 7B01              MOV      R3,#01H
-0010CF 7A4E              MOV      R2,#HIGH cmdBuff
-0010D1 79E1              MOV      R1,#LOW cmdBuff
-0010D3 7D03              MOV      R5,#03H
-0010D5 0118              AJMP     _ipcTx
------ FUNCTION _IPC_TxControlCmd (END) -------
+0010C9 6404              XRL      A,#04H
+0010CB 6007              JZ       ?C0008?BLUETOOTH
+0010CD 904C89            MOV      DPTR,#g_variable+06H
+0010D0 E0                MOVX     A,@DPTR
+0010D1 B40303            CJNE     A,#03H,?C0007?BLUETOOTH
+0010D4         ?C0008?BLUETOOTH:
+   57: 	{
+   58: 		return 1;
+0010D4 7F01              MOV      R7,#01H
+0010D6 22                RET      
+   59: 	}
+0010D7         ?C0007?BLUETOOTH:
+   60: 	return 0;
+0010D7 7F00              MOV      R7,#00H
+   61: }
+0010D9 22                RET      
+----- FUNCTION YC_check_is_connected (END) -------
+
+
+----- FUNCTION LED_handle (BEGIN) -----
+ FILE: 'led.c'
+   51: void LED_handle()
+   52: {
+   53: 	if (power_on_flag != 2)
+   54: 		return;
+0010DA 904DF0            MOV      DPTR,#power_on_flag
+0010DD E0                MOVX     A,@DPTR
+0010DE 6402              XRL      A,#02H
+0010E0 6002              JZ       $ + 4H
+0010E2 21CF              AJMP     ?C0017?LED
+0010E4         ?C0016?LED:
+   55: 
+   56: 	if(!g_variable.pairing_timeout && !g_variable.pairing_g24_timeout)
+0010E4 904CB1            MOV      DPTR,#g_variable+02EH
+0010E7 E0                MOVX     A,@DPTR
+0010E8 7002              JNZ      ?C0041?LED
+0010EA A3                INC      DPTR
+0010EB E0                MOVX     A,@DPTR
+0010EC         ?C0041?LED:
+0010EC 6002              JZ       $ + 4H
+0010EE 21B2              AJMP     ?C0018?LED
+0010F0 904CB7            MOV      DPTR,#g_variable+034H
+0010F3 E0                MOVX     A,@DPTR
+0010F4 6002              JZ       $ + 4H
+0010F6 21B2              AJMP     ?C0018?LED
+   57: 	{
+   58: 		//low battery LED process
+   59: 		if (g_variable.battery_status == BAT_STATUS_SHUT_DOWN)
+0010F8 904C9C            MOV      DPTR,#g_variable+019H
+0010FB E0                MOVX     A,@DPTR
+0010FC B40204            CJNE     A,#02H,?C0019?LED
+   60: 		{
+   61: 			System_long_sleep();
+0010FF F196              ACALL    System_long_sleep
+   62: 		}
+001101 8037              SJMP     ?C0020?LED
+001103         ?C0019?LED:
+   63: 		else if (g_variable.battery_status == BAT_STATUS_LOW)
+001103 904C9C            MOV      DPTR,#g_variable+019H
+001106 E0                MOVX     A,@DPTR
+001107 B40114            CJNE     A,#01H,?C0021?LED
+   64: 		{
+   65: 			if (g_variable.battery_low_led_flash_flag == 0)
+00110A 904CC0            MOV      DPTR,#g_variable+03DH
+00110D E0                MOVX     A,@DPTR
+00110E 702A              JNZ      ?C0020?LED
+   66: 			{
+   67: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
+001110 904CAA            MOV      DPTR,#g_variable+027H
+001113 740C              MOV      A,#0CH
+001115 F0                MOVX     @DPTR,A
+   68: 				g_variable.battery_low_led_flash_flag = 1;
+001116 904CC0            MOV      DPTR,#g_variable+03DH
+001119 7401              MOV      A,#01H
+00111B F0                MOVX     @DPTR,A
+   69: 			}
+   70: 		}
+00111C 801C              SJMP     ?C0020?LED
+00111E         ?C0021?LED:
+   71: 		else
+   72: 		{
+   73: 			if (g_variable.battery_low_led_flash_flag == 1)
+00111E 904CC0            MOV      DPTR,#g_variable+03DH
+001121 E0                MOVX     A,@DPTR
+001122 B40115            CJNE     A,#01H,?C0020?LED
+   74: 			{
+   75: 				m_lpm_mode = 1;
+001125 904131            MOV      DPTR,#m_lpm_mode
+001128 7401              MOV      A,#01H
+00112A F0                MOVX     @DPTR,A
+   76: 				g_variable.battery_low_led_flash_flag = 0;
+00112B E4                CLR      A
+00112C 904CC0            MOV      DPTR,#g_variable+03DH
+00112F F0                MOVX     @DPTR,A
+   77: 				g_variable.battery_low_led_flash_interval = 0;
+001130 904CAA            MOV      DPTR,#g_variable+027H
+001133 F0                MOVX     @DPTR,A
+   78: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
+001134 C201              CLR      ?_GPIO_Setout?BIT
+001136 7F1F              MOV      R7,#01FH
+001138 31D0              ACALL    _GPIO_Setout
+   79: 			}
+   80: 		}
+00113A         ?C0020?LED:
+   81: 	
+   82: 		if (YC_check_is_connected())
+00113A 11C5              ACALL    YC_check_is_connected
+00113C EF                MOV      A,R7
+00113D 6061              JZ       ?C0025?LED
+   83: 		{
+   84: 			if(g_variable.sleepTimer < KB_NUM_CAPS_LED_ON_TIMER)
+00113F C3                CLR      C
+001140 904CAC            MOV      DPTR,#g_variable+029H
+001143 E0                MOVX     A,@DPTR
+001144 940C              SUBB     A,#0CH
+001146 904CAB            MOV      DPTR,#g_variable+028H
+001149 E0                MOVX     A,@DPTR
+00114A 9400              SUBB     A,#00H
+00114C 5040              JNC      ?C0026?LED
+   85: 			{
+   86: //				if (g_variable.battery_status != BAT_STATUS_LOW) //低电状态不显示NUMLOCK
+   87: //				{
+   88: 					if(m_caps_num_lock & KB_PC_KEYSEL_NUMLOCK)
+00114E 904C7B            MOV      DPTR,#m_caps_num_lock
+001151 E0                MOVX     A,@DPTR
+001152 30E00E            JNB      ACC.0,?C0027?LED
+   89: 					{
+   90: 						if(!g_variable.powerOn_timer)
+001155 904CAD            MOV      DPTR,#g_variable+02AH
+001158 E0                MOVX     A,@DPTR
+001159 7014              JNZ      ?C0029?LED
+   91: 							GPIO_Setout(NUM_LOCK_LED_GPIO, LED_ON);
+00115B D201              SETB     ?_GPIO_Setout?BIT
+00115D 7F0F              MOV      R7,#0FH
+00115F 31D0              ACALL    _GPIO_Setout
+   92: 					}
+001161 800C              SJMP     ?C0029?LED
+001163         ?C0027?LED:
+   93: 					else
+   94: 					{
+   95: 						if(!g_variable.powerOn_timer)
+001163 904CAD            MOV      DPTR,#g_variable+02AH
+001166 E0                MOVX     A,@DPTR
+001167 7006              JNZ      ?C0029?LED
+   96: 							GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
+001169 C201              CLR      ?_GPIO_Setout?BIT
+00116B 7F0F              MOV      R7,#0FH
+00116D 31D0              ACALL    _GPIO_Setout
+   97: 					}
+00116F         ?C0029?LED:
+   98: //				}
+   99: 				
+  100: 				if(m_caps_num_lock & KB_PC_KEYSEL_CAPSLOCK)
+00116F 904C7B            MOV      DPTR,#m_caps_num_lock
+001172 E0                MOVX     A,@DPTR
+001173 30E10C            JNB      ACC.1,?C0031?LED
+  101: 				{
+  102: 					if(!g_variable.powerOn_timer)
+001176 904CAD            MOV      DPTR,#g_variable+02AH
+001179 E0                MOVX     A,@DPTR
+00117A 7053              JNZ      ?C0017?LED
+  103: 						GPIO_Setout(CAPS_LED_GPIO, LED_ON);
+00117C D201              SETB     ?_GPIO_Setout?BIT
+00117E 7F10              MOV      R7,#010H
+001180 804E              SJMP     _GPIO_Setout
+  104: 				}
+001182         ?C0031?LED:
+  105: 				else 
+  106: 				{
+  107: 					if(!g_variable.powerOn_timer)
+001182 904CAD            MOV      DPTR,#g_variable+02AH
+001185 E0                MOVX     A,@DPTR
+001186 7047              JNZ      ?C0017?LED
+  108: 						GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
+001188 C201              CLR      ?_GPIO_Setout?BIT
+00118A 7F10              MOV      R7,#010H
+00118C 8042              SJMP     _GPIO_Setout
+  109: 				}
+  110: 
+  111: //				if (g_variable.battery_status != BAT_STATUS_LOW) //低电状态不显示NUMLOCK
+  112: //				{
+  113: //					if(m_caps_num_lock & KB_PC_KEYSEL_SCROLLLOCK)
+  114: //					{
+  115: //						if(!g_variable.powerOn_timer && !g_variable.battery_low_led_flash_interval)
+  116: //							GPIO_Setout(LOWPOWER_LED_GPIO, LED_ON);
+  117: //					}
+  118: //					else 
+  119: //					{
+  120: //						if(!g_variable.powerOn_timer && !g_variable.battery_low_led_flash_interval)
+  121: //							GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
+  122: //					}
+  123: //				}
+  124: 			}
+00118E         ?C0026?LED:
+  125: 			else
+  126: 			{
+  127: 				if(!g_variable.powerOn_timer)
+00118E 904CAD            MOV      DPTR,#g_variable+02AH
+001191 E0                MOVX     A,@DPTR
+001192 7006              JNZ      ?C0036?LED
+  128: 					GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
+001194 C201              CLR      ?_GPIO_Setout?BIT
+001196 7F0F              MOV      R7,#0FH
+001198 31D0              ACALL    _GPIO_Setout
+00119A         ?C0036?LED:
+  129: 				GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
+00119A C201              CLR      ?_GPIO_Setout?BIT
+00119C 7F10              MOV      R7,#010H
+00119E 8030              SJMP     _GPIO_Setout
+  130: 				//if(!g_variable.powerOn_timer && !g_variable.battery_low_led_flash_interval)
+  131: 				//	GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
+  132: 			}
+  133: 		}
+0011A0         ?C0025?LED:
+  134: 		else
+  135: 		{
+  136: 			if(!g_variable.powerOn_timer)
+0011A0 904CAD            MOV      DPTR,#g_variable+02AH
+0011A3 E0                MOVX     A,@DPTR
+0011A4 7006              JNZ      ?C0038?LED
+  137: 				GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
+0011A6 C201              CLR      ?_GPIO_Setout?BIT
+0011A8 7F0F              MOV      R7,#0FH
+0011AA 31D0              ACALL    _GPIO_Setout
+0011AC         ?C0038?LED:
+  138: 			GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
+0011AC C201              CLR      ?_GPIO_Setout?BIT
+0011AE 7F10              MOV      R7,#010H
+0011B0 801E              SJMP     _GPIO_Setout
+  139: 			//if(!g_variable.powerOn_timer && !g_variable.battery_low_led_flash_interval)
+  140: 			//	GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
+  141: 		}
+  142: 	}
+0011B2         ?C0018?LED:
+  143: 	else
+  144: 	{
+  145: 		m_caps_num_lock &= ~(KB_PC_KEYSEL_CAPSLOCK|KB_PC_KEYSEL_NUMLOCK);
+0011B2 904C7B            MOV      DPTR,#m_caps_num_lock
+0011B5 E0                MOVX     A,@DPTR
+0011B6 54FC              ANL      A,#0FCH
+0011B8 F0                MOVX     @DPTR,A
+  146: 		if(g_variable.pairing_timeout == 0)
+0011B9 904CB1            MOV      DPTR,#g_variable+02EH
+0011BC E0                MOVX     A,@DPTR
+0011BD 7002              JNZ      ?C0042?LED
+0011BF A3                INC      DPTR
+0011C0 E0                MOVX     A,@DPTR
+0011C1         ?C0042?LED:
+0011C1 7006              JNZ      ?C0040?LED
+  147: 			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
+0011C3 C201              CLR      ?_GPIO_Setout?BIT
+0011C5 7F0F              MOV      R7,#0FH
+0011C7 31D0              ACALL    _GPIO_Setout
+0011C9         ?C0040?LED:
+  148: 		GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
+0011C9 C201              CLR      ?_GPIO_Setout?BIT
+0011CB 7F10              MOV      R7,#010H
+0011CD 31D0              ACALL    _GPIO_Setout
+  149: 	}	
+  150: 
+  151: }
+0011CF         ?C0017?LED:
+0011CF 22                RET      
+----- FUNCTION LED_handle (END) -------
+
+
+----- FUNCTION _GPIO_Setout (BEGIN) -----
+ FILE: 'gpio.c'
+   42: void GPIO_Setout(byte gpio_num, bool bit_val)
+   43: {
+;---- Variable 'gpio_num' assigned to Register 'R7' ----
+   44: 	if(gpio_num == 0xff)
+   45: 		return;
+0011D0 EF                MOV      A,R7
+0011D1 F4                CPL      A
+0011D2 600D              JZ       ?C0007?GPIO
+0011D4         ?C0006?GPIO:
+   46: 	gpioSetBit(gpio_num, &REG_GPIO_OUT(0), bit_val);
+0011D4 7B01              MOV      R3,#01H
+0011D6 7A80              MOV      R2,#080H
+0011D8 7974              MOV      R1,#074H
+0011DA A201              MOV      C,bit_val
+0011DC 9200              MOV      ?_gpioSetBit?BIT,C
+0011DE 123629            LCALL    _gpioSetBit
+   47: }
+0011E1         ?C0007?GPIO:
+0011E1 22                RET      
+----- FUNCTION _GPIO_Setout (END) -------
 
 
 ----- FUNCTION _YC_key_action_handle (BEGIN) -----
  FILE: 'kb_process.c'
     3: void YC_key_action_handle(byte key_num)
     4: {
-0010D7 904F09            MOV      DPTR,#key_num
-0010DA EF                MOV      A,R7
-0010DB F0                MOVX     @DPTR,A
+0011E2 904F09            MOV      DPTR,#key_num
+0011E5 EF                MOV      A,R7
+0011E6 F0                MOVX     @DPTR,A
     5: 	switch (key_num)
     6: 	{
-0010DC 14                DEC      A
-0010DD B40D00            CJNE     A,#0DH,?C0244?KB_PROCESS
-0010E0         ?C0244?KB_PROCESS:
-0010E0 4002              JC       $ + 4H
-0010E2 41B5              AJMP     ?C0025?KB_PROCESS
-0010E4 9010F2            MOV      DPTR,#010F2H
-0010E7 75F003            MOV      B,#03H
-0010EA A4                MUL      AB
-0010EB C583              XCH      A,DPH
-0010ED 25F0              ADD      A,B
-0010EF C583              XCH      A,DPH
-0010F1 73                JMP      @A+DPTR
-0010F2         ?C0245?KB_PROCESS:
-0010F2 021119            LJMP     ?C0004?KB_PROCESS
-0010F5 021119            LJMP     ?C0004?KB_PROCESS
-0010F8 021119            LJMP     ?C0004?KB_PROCESS
-0010FB 0212B5            LJMP     ?C0025?KB_PROCESS
-0010FE 02115C            LJMP     ?C0009?KB_PROCESS
-001101 0211A8            LJMP     ?C0013?KB_PROCESS
-001104 0211B0            LJMP     ?C0014?KB_PROCESS
-001107 0211FD            LJMP     ?C0016?KB_PROCESS
-00110A 0211FD            LJMP     ?C0016?KB_PROCESS
-00110D 021265            LJMP     ?C0020?KB_PROCESS
-001110 0212B5            LJMP     ?C0025?KB_PROCESS
-001113 0212B5            LJMP     ?C0025?KB_PROCESS
-001116 021158            LJMP     ?C0008?KB_PROCESS
+0011E7 14                DEC      A
+0011E8 B40D00            CJNE     A,#0DH,?C0243?KB_PROCESS
+0011EB         ?C0243?KB_PROCESS:
+0011EB 4002              JC       $ + 4H
+0011ED 61C3              AJMP     ?C0025?KB_PROCESS
+0011EF 9011FD            MOV      DPTR,#011FDH
+0011F2 75F003            MOV      B,#03H
+0011F5 A4                MUL      AB
+0011F6 C583              XCH      A,DPH
+0011F8 25F0              ADD      A,B
+0011FA C583              XCH      A,DPH
+0011FC 73                JMP      @A+DPTR
+0011FD         ?C0244?KB_PROCESS:
+0011FD 021224            LJMP     ?C0004?KB_PROCESS
+001200 021224            LJMP     ?C0004?KB_PROCESS
+001203 021224            LJMP     ?C0004?KB_PROCESS
+001206 0213C3            LJMP     ?C0025?KB_PROCESS
+001209 02126E            LJMP     ?C0009?KB_PROCESS
+00120C 0212B0            LJMP     ?C0013?KB_PROCESS
+00120F 0212B9            LJMP     ?C0014?KB_PROCESS
+001212 021307            LJMP     ?C0016?KB_PROCESS
+001215 021307            LJMP     ?C0016?KB_PROCESS
+001218 021370            LJMP     ?C0020?KB_PROCESS
+00121B 0213C3            LJMP     ?C0025?KB_PROCESS
+00121E 0213C3            LJMP     ?C0025?KB_PROCESS
+001221 02126A            LJMP     ?C0008?KB_PROCESS
     7: 	case KEY_RECON_0:
     8: 	case KEY_RECON_1:
     9: 	case KEY_RECON_2:
    10: 		if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED 
-001119         ?C0004?KB_PROCESS:
+001224         ?C0004?KB_PROCESS:
    11: 			||g_variable.g24_currentState == CHANGE_TO_24G_CONNECTING)
-001119 904CC5            MOV      DPTR,#g_variable+06H
-00111C E0                MOVX     A,@DPTR
-00111D FF                MOV      R7,A
-00111E 6403              XRL      A,#03H
-001120 6004              JZ       ?C0006?KB_PROCESS
-001122 EF                MOV      A,R7
-001123 B4020D            CJNE     A,#02H,?C0005?KB_PROCESS
-001126         ?C0006?KB_PROCESS:
+001224 904C89            MOV      DPTR,#g_variable+06H
+001227 E0                MOVX     A,@DPTR
+001228 FF                MOV      R7,A
+001229 6403              XRL      A,#03H
+00122B 6004              JZ       ?C0006?KB_PROCESS
+00122D EF                MOV      A,R7
+00122E B4020D            CJNE     A,#02H,?C0005?KB_PROCESS
+001231         ?C0006?KB_PROCESS:
    12: 		{
    13: 			IPC_TxControlCmd(IPC_CMD_STOP_24G);
-001126 7F22              MOV      R7,#022H
-001128 11AD              ACALL    _IPC_TxControlCmd
+001231 7F22              MOV      R7,#022H
+001233 71C9              ACALL    _IPC_TxControlCmd
    14: 			g_variable.key_action = key_num;
-00112A 904F09            MOV      DPTR,#key_num
-00112D E0                MOVX     A,@DPTR
-00112E 904CED            MOV      DPTR,#g_variable+02EH
-001131 F0                MOVX     @DPTR,A
+001235 904F09            MOV      DPTR,#key_num
+001238 E0                MOVX     A,@DPTR
+001239 904CB6            MOV      DPTR,#g_variable+033H
+00123C F0                MOVX     @DPTR,A
    15: 		}
-001132 22                RET      
-001133         ?C0005?KB_PROCESS:
+00123D 22                RET      
+00123E         ?C0005?KB_PROCESS:
    16: 		else
    17: 		{
    18: 			recon_index = key_num-1;
-001133 904F09            MOV      DPTR,#key_num
-001136 E0                MOVX     A,@DPTR
-001137 14                DEC      A
-001138 904DD7            MOV      DPTR,#recon_index
-00113B F0                MOVX     @DPTR,A
+00123E 904F09            MOV      DPTR,#key_num
+001241 E0                MOVX     A,@DPTR
+001242 14                DEC      A
+001243 904DD7            MOV      DPTR,#recon_index
+001246 F0                MOVX     @DPTR,A
    19: 			kscurrmult = 0x05;
-00113C 904213            MOV      DPTR,#kscurrmult
-00113F 7405              MOV      A,#05H
-001141 F0                MOVX     @DPTR,A
+001247 904213            MOV      DPTR,#kscurrmult
+00124A 7405              MOV      A,#05H
+00124C F0                MOVX     @DPTR,A
    20: 			g_variable.recon_count = 5;
-001142 904CF0            MOV      DPTR,#g_variable+031H
-001145 F0                MOVX     @DPTR,A
-   21: 			IPC_TxControlCmd(IPC_CMD_DISCONNECT);
-001146 7F04              MOV      R7,#04H
-001148 11AD              ACALL    _IPC_TxControlCmd
-   22: 			Delay1ms(10);
-00114A 7F0A              MOV      R7,#0AH
-00114C D1F3              ACALL    _Delay1ms
-   23: 			IPC_TxControlCmd(IPC_CMD_SET_RECONNECT_INIT);
-00114E 7F2A              MOV      R7,#02AH
-001150 11AD              ACALL    _IPC_TxControlCmd
-   24: 			g_variable.key_action = KEY_NONE;
-001152 E4                CLR      A
-001153 904CED            MOV      DPTR,#g_variable+02EH
-001156 F0                MOVX     @DPTR,A
-   25: 		}
-   26: 		break;
-001157 22                RET      
-   27: 	case KEY_STOP_DISCOVERY:
-001158         ?C0008?KB_PROCESS:
-   28: 		IPC_TxControlCmd(IPC_CMD_STOP_ADV);
-001158 7F0E              MOV      R7,#0EH
-00115A 01AD              AJMP     _IPC_TxControlCmd
-   29: 		//IPC_TxControlCmd(IPC_CMD_STOP_DISCOVERY);
+00124D 904CB9            MOV      DPTR,#g_variable+036H
+001250 F0                MOVX     @DPTR,A
+   21: 			g_variable.recon_flag = 1;
+001251 904CD2            MOV      DPTR,#g_variable+04FH
+001254 7401              MOV      A,#01H
+001256 F0                MOVX     @DPTR,A
+   22: 			IPC_TxControlCmd(IPC_CMD_DISCONNECT);
+001257 7F04              MOV      R7,#04H
+001259 71C9              ACALL    _IPC_TxControlCmd
+   23: 			Delay1ms(10);
+00125B 7F0A              MOV      R7,#0AH
+00125D 120F72            LCALL    _Delay1ms
+   24: 			IPC_TxControlCmd(IPC_CMD_SET_RECONNECT_INIT);
+001260 7F2A              MOV      R7,#02AH
+001262 71C9              ACALL    _IPC_TxControlCmd
+   25: 			g_variable.key_action = KEY_NONE;
+001264 E4                CLR      A
+001265 904CB6            MOV      DPTR,#g_variable+033H
+001268 F0                MOVX     @DPTR,A
+   26: 		}
+   27: 		break;
+001269 22                RET      
+   28: 	case KEY_STOP_DISCOVERY:
+00126A         ?C0008?KB_PROCESS:
+   29: 		IPC_TxControlCmd(IPC_CMD_STOP_ADV);
+00126A 7F0E              MOV      R7,#0EH
+00126C 61C9              AJMP     _IPC_TxControlCmd
    30: 		break;
    31: 	case KEY_DISCOVERY:
-00115C         ?C0009?KB_PROCESS:
+00126E         ?C0009?KB_PROCESS:
    32: 		g_variable.recon_count = 0;
-00115C E4                CLR      A
-00115D 904CF0            MOV      DPTR,#g_variable+031H
-001160 F0                MOVX     @DPTR,A
+00126E E4                CLR      A
+00126F 904CB9            MOV      DPTR,#g_variable+036H
+001272 F0                MOVX     @DPTR,A
    33: 		if (YC_disconnect_all_link() || YC_cancel_reconnect() || YC_g24_mode_discovery())
-001161 F1C6              ACALL    YC_disconnect_all_link
-001163 EF                MOV      A,R7
-001164 700C              JNZ      ?C0011?KB_PROCESS
-001166 1218CB            LCALL    YC_cancel_reconnect
-001169 EF                MOV      A,R7
-00116A 7006              JNZ      ?C0011?KB_PROCESS
-00116C 1218E7            LCALL    YC_g24_mode_discovery
-00116F EF                MOV      A,R7
-001170 600F              JZ       ?C0010?KB_PROCESS
-001172         ?C0011?KB_PROCESS:
+001273 1218C7            LCALL    YC_disconnect_all_link
+001276 EF                MOV      A,R7
+001277 700C              JNZ      ?C0011?KB_PROCESS
+001279 1218B5            LCALL    YC_cancel_reconnect
+00127C EF                MOV      A,R7
+00127D 7006              JNZ      ?C0011?KB_PROCESS
+00127F 121FFB            LCALL    YC_g24_mode_discovery
+001282 EF                MOV      A,R7
+001283 600F              JZ       ?C0010?KB_PROCESS
+001285         ?C0011?KB_PROCESS:
    34: 		{
    35: 			g_variable.key_action = key_num;
-001172 904F09            MOV      DPTR,#key_num
-001175 E0                MOVX     A,@DPTR
-001176 904CED            MOV      DPTR,#g_variable+02EH
-001179 F0                MOVX     @DPTR,A
+001285 904F09            MOV      DPTR,#key_num
+001288 E0                MOVX     A,@DPTR
+001289 904CB6            MOV      DPTR,#g_variable+033H
+00128C F0                MOVX     @DPTR,A
    36: 			action_timeout = 3;
-00117A 904DEF            MOV      DPTR,#action_timeout
-00117D 7403              MOV      A,#03H
-00117F F0                MOVX     @DPTR,A
+00128D 904DF1            MOV      DPTR,#action_timeout
+001290 7403              MOV      A,#03H
+001292 F0                MOVX     @DPTR,A
    37: 		}
-001180 22                RET      
-001181         ?C0010?KB_PROCESS:
+001293 22                RET      
+001294         ?C0010?KB_PROCESS:
    38: 		else
    39: 		{
    40: 			YC_clear_reconnect_flag();
-001181 1218DD            LCALL    YC_clear_reconnect_flag
+001294 F1E6              ACALL    YC_clear_reconnect_flag
    41: 				ble_send_secutiry_request_timer = 0;
-001184 E4                CLR      A
-001185 904DD5            MOV      DPTR,#ble_send_secutiry_request_timer
-001188 F0                MOVX     @DPTR,A
+001296 E4                CLR      A
+001297 904DD5            MOV      DPTR,#ble_send_secutiry_request_timer
+00129A F0                MOVX     @DPTR,A
    42: 				ble_fast_connect_flag = 0;
-001189 904DD3            MOV      DPTR,#ble_fast_connect_flag
-00118C F0                MOVX     @DPTR,A
+00129B 904DD3            MOV      DPTR,#ble_fast_connect_flag
+00129E F0                MOVX     @DPTR,A
    43: 				fast_connect_flag = 0;
-00118D 904E59            MOV      DPTR,#fast_connect_flag
-001190 F0                MOVX     @DPTR,A
-   44: 			#if DEVICE_MODE_BT_ONLY
-   45: 				IPC_TxControlCmd(IPC_CMD_START_DISCOVERY);
-   46: 			#elif DEVICE_MODE_BLE_ONLY	
-   47: //				m_lpm_mode = 0;
-   48: 				YC_get_ble_ramdon_lap();
-001191 1218FE            LCALL    YC_get_ble_ramdon_lap
-   49: 				IPC_TxControlCmd(IPC_CMD_START_ADV);
-001194 7F0D              MOV      R7,#0DH
-001196 11AD              ACALL    _IPC_TxControlCmd
-   50: 			#else	
-   51: 				YC_get_ble_ramdon_lap();
-   52: 				IPC_TxControlCmd(IPC_CMD_START_ADV_DISCOVERY);
-   53: 			#endif
-   54: 			g_variable.pairing_timeout = BT_PAIRING_TIME_OUT_2MIN;
-001198 904CE9            MOV      DPTR,#g_variable+02AH
-00119B 74F0              MOV      A,#0F0H
-00119D F0                MOVX     @DPTR,A
-   55: 			g_variable.pairing_g24_timeout = 0;
-00119E E4                CLR      A
-00119F 904CEE            MOV      DPTR,#g_variable+02FH
-0011A2 F0                MOVX     @DPTR,A
-   56: 			g_variable.key_action = KEY_NONE;
-0011A3 904CED            MOV      DPTR,#g_variable+02EH
-0011A6 F0                MOVX     @DPTR,A
-   57: 		}
-   58: 		break;
-0011A7 22                RET      
-   59: 	case KEY_DISCONNECT_ALL:
-0011A8         ?C0013?KB_PROCESS:
-   60: 		YC_disconnect_all_link();
-0011A8 F1C6              ACALL    YC_disconnect_all_link
-   61: 		g_variable.key_action = KEY_NONE;
-0011AA E4                CLR      A
-0011AB 904CED            MOV      DPTR,#g_variable+02EH
-0011AE F0                MOVX     @DPTR,A
-   62: 		break;
-0011AF 22                RET      
-   63: 	case KEY_CLEAR_RECORD:
-0011B0         ?C0014?KB_PROCESS:
-   64: 		xmemclear_ff((byte *)bd_key_record_list,sizeof(BD_KEY_RECORD)*3);
-0011B0 7B01              MOV      R3,#01H
-0011B2 7A4D              MOV      R2,#HIGH bd_key_record_list
-0011B4 79F2              MOV      R1,#LOW bd_key_record_list
-0011B6 7D5D              MOV      R5,#05DH
-0011B8 7C00              MOV      R4,#00H
-0011BA 1220CE            LCALL    _xmemclear_ff
-   65: 		g_variable.last_device_num = 0xff;
-0011BD 904CC0            MOV      DPTR,#g_variable+01H
-0011C0 74FF              MOV      A,#0FFH
-0011C2 F0                MOVX     @DPTR,A
-   66: 		g_variable.system_mode = 0xff;
-0011C3 A3                INC      DPTR
-0011C4 F0                MOVX     @DPTR,A
-   67: 		Delay1ms(200);
-0011C5 7FC8              MOV      R7,#0C8H
-0011C7 D1F3              ACALL    _Delay1ms
-   68: 		GPIO_Setout(EEPROM_WP_GPIO,0);
-0011C9 C201              CLR      ?_GPIO_Setout?BIT
-0011CB 7FFF              MOV      R7,#0FFH
-0011CD 51BB              ACALL    _GPIO_Setout
-   69: 		IIC_WriteBlock(EEPROM_RECON_INFO_BASE ,sizeof(BD_KEY_RECORD)*3 , (byte *)&bd_key_record_list);
-0011CF 7B01              MOV      R3,#01H
-0011D1 7A4D              MOV      R2,#HIGH bd_key_record_list
-0011D3 79F2              MOV      R1,#LOW bd_key_record_list
-0011D5 7D5D              MOV      R5,#05DH
-0011D7 7C00              MOV      R4,#00H
-0011D9 7F60              MOV      R7,#060H
-0011DB 7E7F              MOV      R6,#07FH
-0011DD 121A94            LCALL    _IIC_WriteBlock
-   70: 		IIC_WriteBlock(EEPROM_RECON_INFO_LAST_DEVICE ,1 ,(byte *)&g_variable.last_device_num);
-0011E0 7B01              MOV      R3,#01H
-0011E2 7A4C              MOV      R2,#HIGH g_variable+01H
-0011E4 79C0              MOV      R1,#LOW g_variable+01H
-0011E6 7D01              MOV      R5,#01H
-0011E8 7C00              MOV      R4,#00H
-0011EA 7FBD              MOV      R7,#0BDH
-0011EC 7E7F              MOV      R6,#07FH
-0011EE 121A94            LCALL    _IIC_WriteBlock
-   71: 		GPIO_Setout(EEPROM_WP_GPIO,1);
-0011F1 D201              SETB     ?_GPIO_Setout?BIT
-0011F3 7FFF              MOV      R7,#0FFH
-0011F5 51BB              ACALL    _GPIO_Setout
-   72: 		g_variable.key_action = KEY_NONE;
-0011F7 E4                CLR      A
-0011F8 904CED            MOV      DPTR,#g_variable+02EH
-0011FB F0                MOVX     @DPTR,A
-   73: 		break;
-0011FC 22                RET      
-   74: 	case KEY_START_24G:
-   75: 	case KEY_OPEN_24G:
-0011FD         ?C0016?KB_PROCESS:
-   76: 		g_variable.recon_count = 0;
-0011FD E4                CLR      A
-0011FE 904CF0            MOV      DPTR,#g_variable+031H
-001201 F0                MOVX     @DPTR,A
-   77: 		if ( YC_cancel_reconnect())
-001202 1218CB            LCALL    YC_cancel_reconnect
-001205 EF                MOV      A,R7
-001206 6009              JZ       ?C0017?KB_PROCESS
-   78: 		{
-   79: 			g_variable.key_action = key_num;
-001208 904F09            MOV      DPTR,#key_num
-00120B E0                MOVX     A,@DPTR
-00120C 904CED            MOV      DPTR,#g_variable+02EH
-00120F F0                MOVX     @DPTR,A
-   80: 		}
-001210 22                RET      
-001211         ?C0017?KB_PROCESS:
-   81: 		else
-   82: 		{
-   83: 			IIC_Read(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
-001211 7B01              MOV      R3,#01H
-001213 7A4C              MOV      R2,#HIGH m_24g_addr
-001215 7900              MOV      R1,#LOW m_24g_addr
-001217 7D04              MOV      R5,#04H
-001219 7C00              MOV      R4,#00H
-00121B 7F52              MOV      R7,#052H
-00121D 7E7F              MOV      R6,#07FH
-00121F 121941            LCALL    _IIC_Read
-   84: 			Delay1ms(10);
-001222 7F0A              MOV      R7,#0AH
-001224 D1F3              ACALL    _Delay1ms
-   85: 			fast_connect_flag = 0;
-001226 E4                CLR      A
-001227 904E59            MOV      DPTR,#fast_connect_flag
-00122A F0                MOVX     @DPTR,A
-   86: 			if (m_24g_addr[0] == 0xff && m_24g_addr[1] == 0xff && m_24g_addr[2] == 0xff && m_24g_addr[3] == 0xff)
-00122B 904C00            MOV      DPTR,#m_24g_addr
-00122E E0                MOVX     A,@DPTR
-00122F F4                CPL      A
-001230 7021              JNZ      ?C0019?KB_PROCESS
-001232 A3                INC      DPTR
-001233 E0                MOVX     A,@DPTR
-001234 B4FF1C            CJNE     A,#0FFH,?C0019?KB_PROCESS
-001237 A3                INC      DPTR
-001238 E0                MOVX     A,@DPTR
-001239 B4FF17            CJNE     A,#0FFH,?C0019?KB_PROCESS
-00123C A3                INC      DPTR
-00123D E0                MOVX     A,@DPTR
-00123E B4FF12            CJNE     A,#0FFH,?C0019?KB_PROCESS
-   87: 			{
-   88: 				m_24g_addr[0] = 0x0f;
-001241 904C00            MOV      DPTR,#m_24g_addr
-001244 740F              MOV      A,#0FH
-001246 F0                MOVX     @DPTR,A
-   89: 				m_24g_addr[1] = 0x0f;
-001247 A3                INC      DPTR
-001248 F0                MOVX     @DPTR,A
-   90: 				m_24g_addr[2] = 0x0f;
-001249 A3                INC      DPTR
-00124A F0                MOVX     @DPTR,A
-   91: 				m_24g_addr[3] = 0x0f;
-00124B A3                INC      DPTR
-00124C F0                MOVX     @DPTR,A
-   92: 				fast_connect_flag = 1;
-00124D 904E59            MOV      DPTR,#fast_connect_flag
-001250 7401              MOV      A,#01H
-001252 F0                MOVX     @DPTR,A
-   93: 			}
-001253         ?C0019?KB_PROCESS:
-   94: 				
-   95: 			IPC_TxControlCmd(IPC_CMD_START_24G);
-001253 7F21              MOV      R7,#021H
-001255 11AD              ACALL    _IPC_TxControlCmd
-   96: 			
-   97: 			g_variable.g24_currentState = CHANGE_TO_24G_CONNECTING;
-001257 904CC5            MOV      DPTR,#g_variable+06H
-00125A 7402              MOV      A,#02H
-00125C F0                MOVX     @DPTR,A
-   98: 			g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
-00125D E4                CLR      A
-00125E A3                INC      DPTR
-00125F F0                MOVX     @DPTR,A
-   99: 			g_variable.key_action = KEY_NONE;
-001260 904CED            MOV      DPTR,#g_variable+02EH
-001263 F0                MOVX     @DPTR,A
-  100: 		}
-  101: 		break;
-001264 22                RET      
-  102: 	case KEY_PAIRING_24G:
-001265         ?C0020?KB_PROCESS:
-  103: 		g_variable.recon_count = 0;
-001265 E4                CLR      A
-001266 904CF0            MOV      DPTR,#g_variable+031H
-001269 F0                MOVX     @DPTR,A
-  104: 		if (YC_disconnect_all_link() || YC_cancel_reconnect())
-00126A F1C6              ACALL    YC_disconnect_all_link
-00126C EF                MOV      A,R7
-00126D 7006              JNZ      ?C0022?KB_PROCESS
-00126F 1218CB            LCALL    YC_cancel_reconnect
-001272 EF                MOV      A,R7
-001273 6009              JZ       ?C0021?KB_PROCESS
-001275         ?C0022?KB_PROCESS:
-  105: 		{
-  106: 			g_variable.key_action = key_num;
-001275 904F09            MOV      DPTR,#key_num
-001278 E0                MOVX     A,@DPTR
-001279 904CED            MOV      DPTR,#g_variable+02EH
-00127C F0                MOVX     @DPTR,A
-  107: 		}
-00127D 22                RET      
-00127E         ?C0021?KB_PROCESS:
-  108: 		else
-  109: 		{
-  110: 			if (g_variable.g24_currentState != CHANGE_TO_24G_PAIRING)
-00127E 904CC5            MOV      DPTR,#g_variable+06H
-001281 E0                MOVX     A,@DPTR
-001282 6401              XRL      A,#01H
-001284 6029              JZ       ?C0024?KB_PROCESS
-  111: 			{
-  112: 				fast_connect_flag = 0;
-001286 E4                CLR      A
-001287 904E59            MOV      DPTR,#fast_connect_flag
-00128A F0                MOVX     @DPTR,A
-  113: 				IPC_TxControlCmd(IPC_CMD_PAIR_24G);
-00128B 7F23              MOV      R7,#023H
-00128D 11AD              ACALL    _IPC_TxControlCmd
-  114: 				g_variable.g24_currentState = CHANGE_TO_24G_PAIRING;
-00128F 904CC5            MOV      DPTR,#g_variable+06H
-001292 7401              MOV      A,#01H
-001294 F0                MOVX     @DPTR,A
-  115: 				g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
-001295 E4                CLR      A
-001296 A3                INC      DPTR
-001297 F0                MOVX     @DPTR,A
-  116: 				g_variable.pairing_g24_timeout = BT_PAIRING_TIME_OUT_2MIN;
-001298 904CEE            MOV      DPTR,#g_variable+02FH
-00129B 74F0              MOV      A,#0F0H
-00129D F0                MOVX     @DPTR,A
-  117: 				GPIO_Setout(num2_led,LED_OFF);
-00129E C201              CLR      ?_GPIO_Setout?BIT
-0012A0 7FFF              MOV      R7,#0FFH
-0012A2 51BB              ACALL    _GPIO_Setout
-  118: 				GPIO_Setout(LOWPOWER_LED_GPIO,LED_OFF);
-0012A4 C201              CLR      ?_GPIO_Setout?BIT
-0012A6 7F1F              MOV      R7,#01FH
-0012A8 51BB              ACALL    _GPIO_Setout
-  119: 				g_variable.pairing_timeout = 0;
+00129F 904E5B            MOV      DPTR,#fast_connect_flag
+0012A2 F0                MOVX     @DPTR,A
+   44: //				m_lpm_mode = 0;
+   45: 				YC_get_ble_ramdon_lap();
+0012A3 122202            LCALL    YC_get_ble_ramdon_lap
+   46: 				IPC_TxControlCmd(IPC_CMD_START_ADV);
+0012A6 7F0D              MOV      R7,#0DH
+0012A8 71C9              ACALL    _IPC_TxControlCmd
+   47: 			g_variable.key_action = KEY_NONE;
 0012AA E4                CLR      A
-0012AB 904CE9            MOV      DPTR,#g_variable+02AH
+0012AB 904CB6            MOV      DPTR,#g_variable+033H
 0012AE F0                MOVX     @DPTR,A
-  120: 			}
-0012AF         ?C0024?KB_PROCESS:
-  121: 			g_variable.key_action = KEY_NONE;
-0012AF E4                CLR      A
-0012B0 904CED            MOV      DPTR,#g_variable+02EH
-0012B3 F0                MOVX     @DPTR,A
-  122: 		}
-  123: 		break;
-0012B4 22                RET      
-  124: 	default:
-0012B5         ?C0025?KB_PROCESS:
-  125: 		g_variable.key_action = KEY_NONE;
-0012B5 E4                CLR      A
-0012B6 904CED            MOV      DPTR,#g_variable+02EH
-0012B9 F0                MOVX     @DPTR,A
-  126: 		break;
-  127: 	}
-  128: }
-0012BA 22                RET      
------ FUNCTION _YC_key_action_handle (END) -------
-
-
------ FUNCTION _GPIO_Setout (BEGIN) -----
-;---- Variable 'gpio_num' assigned to Register 'R7' ----
-0012BB EF                MOV      A,R7
-0012BC F4                CPL      A
-0012BD 600D              JZ       ?C0007?GPIO
-0012BF         ?C0006?GPIO:
-0012BF 7B01              MOV      R3,#01H
-0012C1 7A80              MOV      R2,#080H
-0012C3 7974              MOV      R1,#074H
-0012C5 A201              MOV      C,bit_val
-0012C7 9200              MOV      ?_gpioSetBit?BIT,C
-0012C9 121F79            LCALL    _gpioSetBit
-0012CC         ?C0007?GPIO:
-0012CC 22                RET      
------ FUNCTION _GPIO_Setout (END) -------
-
-
------ FUNCTION LED_handle (BEGIN) -----
- FILE: 'led.c'
-   55: void LED_handle()
-   56: {
-   57: 	if (power_on_flag != 2)
-   58: 		return;
-0012CD 904DEE            MOV      DPTR,#power_on_flag
-0012D0 E0                MOVX     A,@DPTR
-0012D1 6402              XRL      A,#02H
-0012D3 6002              JZ       $ + 4H
-0012D5 61BB              AJMP     ?C0017?LED
-0012D7         ?C0016?LED:
-   59: 
-   60: 	if(!g_variable.pairing_timeout && !g_variable.pairing_g24_timeout)
-0012D7 904CE9            MOV      DPTR,#g_variable+02AH
-0012DA E0                MOVX     A,@DPTR
-0012DB 6002              JZ       $ + 4H
-0012DD 61A2              AJMP     ?C0018?LED
-0012DF 904CEE            MOV      DPTR,#g_variable+02FH
-0012E2 E0                MOVX     A,@DPTR
-0012E3 6002              JZ       $ + 4H
-0012E5 61A2              AJMP     ?C0018?LED
-   61: 	{
-   62: 		//low battery LED process
-   63: 		if (g_variable.battery_status == BAT_STATUS_SHUT_DOWN)
-0012E7 904CD5            MOV      DPTR,#g_variable+016H
-0012EA E0                MOVX     A,@DPTR
-0012EB B40204            CJNE     A,#02H,?C0019?LED
-   64: 		{
-   65: 			System_long_sleep();
-0012EE F1BD              ACALL    System_long_sleep
-   66: 		}
-0012F0 8037              SJMP     ?C0020?LED
-0012F2         ?C0019?LED:
-   67: 		else if (g_variable.battery_status == BAT_STATUS_LOW)
-0012F2 904CD5            MOV      DPTR,#g_variable+016H
-0012F5 E0                MOVX     A,@DPTR
-0012F6 B40114            CJNE     A,#01H,?C0021?LED
-   68: 		{
-   69: 			if (g_variable.battery_low_led_flash_flag == 0)
-0012F9 904CF7            MOV      DPTR,#g_variable+038H
-0012FC E0                MOVX     A,@DPTR
-0012FD 702A              JNZ      ?C0020?LED
-   70: 			{
-   71: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
-0012FF 904CE2            MOV      DPTR,#g_variable+023H
-001302 740C              MOV      A,#0CH
-001304 F0                MOVX     @DPTR,A
-   72: 				g_variable.battery_low_led_flash_flag = 1;
-001305 904CF7            MOV      DPTR,#g_variable+038H
-001308 7401              MOV      A,#01H
-00130A F0                MOVX     @DPTR,A
-   73: 			}
-   74: 		}
-00130B 801C              SJMP     ?C0020?LED
-00130D         ?C0021?LED:
-   75: 		else
-   76: 		{
-   77: 			if (g_variable.battery_low_led_flash_flag == 1)
-00130D 904CF7            MOV      DPTR,#g_variable+038H
-001310 E0                MOVX     A,@DPTR
-001311 B40115            CJNE     A,#01H,?C0020?LED
-   78: 			{
-   79: 				m_lpm_mode = 1;
-001314 904131            MOV      DPTR,#m_lpm_mode
-001317 7401              MOV      A,#01H
+   48: 		}
+   49: 		break;
+0012AF 22                RET      
+   50: 	case KEY_DISCONNECT_ALL:
+0012B0         ?C0013?KB_PROCESS:
+   51: 		YC_disconnect_all_link();
+0012B0 1218C7            LCALL    YC_disconnect_all_link
+   52: 		g_variable.key_action = KEY_NONE;
+0012B3 E4                CLR      A
+0012B4 904CB6            MOV      DPTR,#g_variable+033H
+0012B7 F0                MOVX     @DPTR,A
+   53: 		break;
+0012B8 22                RET      
+   54: 	case KEY_CLEAR_RECORD:
+0012B9         ?C0014?KB_PROCESS:
+   55: 		xmemclear_ff((byte *)bd_key_record_list,sizeof(BD_KEY_RECORD)*3);
+0012B9 7B01              MOV      R3,#01H
+0012BB 7A4D              MOV      R2,#HIGH bd_key_record_list
+0012BD 79F4              MOV      R1,#LOW bd_key_record_list
+0012BF 7D5D              MOV      R5,#05DH
+0012C1 7C00              MOV      R4,#00H
+0012C3 1235FC            LCALL    _xmemclear_ff
+   56: 		g_variable.last_device_num = 0xff;
+0012C6 904C84            MOV      DPTR,#g_variable+01H
+0012C9 74FF              MOV      A,#0FFH
+0012CB F0                MOVX     @DPTR,A
+   57: 		g_variable.system_mode = 0xff;
+0012CC A3                INC      DPTR
+0012CD F0                MOVX     @DPTR,A
+   58: 		Delay1ms(200);
+0012CE 7FC8              MOV      R7,#0C8H
+0012D0 120F72            LCALL    _Delay1ms
+   59: 		GPIO_Setout(EEPROM_WP_GPIO,0);
+0012D3 C201              CLR      ?_GPIO_Setout?BIT
+0012D5 7FFF              MOV      R7,#0FFH
+0012D7 31D0              ACALL    _GPIO_Setout
+   60: 		IIC_WriteBlock(EEPROM_RECON_INFO_BASE ,sizeof(BD_KEY_RECORD)*3 , (byte *)&bd_key_record_list);
+0012D9 7B01              MOV      R3,#01H
+0012DB 7A4D              MOV      R2,#HIGH bd_key_record_list
+0012DD 79F4              MOV      R1,#LOW bd_key_record_list
+0012DF 7D5D              MOV      R5,#05DH
+0012E1 7C00              MOV      R4,#00H
+0012E3 7F60              MOV      R7,#060H
+0012E5 7E7F              MOV      R6,#07FH
+0012E7 121A88            LCALL    _IIC_WriteBlock
+   61: 		IIC_WriteBlock(EEPROM_RECON_INFO_LAST_DEVICE ,1 ,(byte *)&g_variable.last_device_num);
+0012EA 7B01              MOV      R3,#01H
+0012EC 7A4C              MOV      R2,#HIGH g_variable+01H
+0012EE 7984              MOV      R1,#LOW g_variable+01H
+0012F0 7D01              MOV      R5,#01H
+0012F2 7C00              MOV      R4,#00H
+0012F4 7FBD              MOV      R7,#0BDH
+0012F6 7E7F              MOV      R6,#07FH
+0012F8 121A88            LCALL    _IIC_WriteBlock
+   62: 		GPIO_Setout(EEPROM_WP_GPIO,1);
+0012FB D201              SETB     ?_GPIO_Setout?BIT
+0012FD 7FFF              MOV      R7,#0FFH
+0012FF 31D0              ACALL    _GPIO_Setout
+   63: 		g_variable.key_action = KEY_NONE;
+001301 E4                CLR      A
+001302 904CB6            MOV      DPTR,#g_variable+033H
+001305 F0                MOVX     @DPTR,A
+   64: 		break;
+001306 22                RET      
+   65: 	case KEY_START_24G:
+   66: 	case KEY_OPEN_24G:
+001307         ?C0016?KB_PROCESS:
+   67: 		g_variable.recon_count = 0;
+001307 E4                CLR      A
+001308 904CB9            MOV      DPTR,#g_variable+036H
+00130B F0                MOVX     @DPTR,A
+   68: 		if ( YC_cancel_reconnect())
+00130C 1218B5            LCALL    YC_cancel_reconnect
+00130F EF                MOV      A,R7
+001310 6009              JZ       ?C0017?KB_PROCESS
+   69: 		{
+   70: 			g_variable.key_action = key_num;
+001312 904F09            MOV      DPTR,#key_num
+001315 E0                MOVX     A,@DPTR
+001316 904CB6            MOV      DPTR,#g_variable+033H
 001319 F0                MOVX     @DPTR,A
-   80: 				g_variable.battery_low_led_flash_flag = 0;
-00131A E4                CLR      A
-00131B 904CF7            MOV      DPTR,#g_variable+038H
-00131E F0                MOVX     @DPTR,A
-   81: 				g_variable.battery_low_led_flash_interval = 0;
-00131F 904CE2            MOV      DPTR,#g_variable+023H
-001322 F0                MOVX     @DPTR,A
-   82: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
-001323 C201              CLR      ?_GPIO_Setout?BIT
-001325 7F1F              MOV      R7,#01FH
-001327 51BB              ACALL    _GPIO_Setout
-   83: 			}
-   84: 		}
-001329         ?C0020?LED:
-   85: 
-   86: 		//capslock  numlock  scrolllock LED process
-   87: 		if (YC_check_is_connected())
-001329 121836            LCALL    YC_check_is_connected
-00132C EF                MOV      A,R7
-00132D 6061              JZ       ?C0025?LED
-   88: 		{
-   89: 			if(g_variable.sleepTimer < KB_NUM_CAPS_LED_ON_TIMER)
-00132F C3                CLR      C
-001330 904CE4            MOV      DPTR,#g_variable+025H
-001333 E0                MOVX     A,@DPTR
-001334 940C              SUBB     A,#0CH
-001336 904CE3            MOV      DPTR,#g_variable+024H
+   71: 		}
+00131A 22                RET      
+00131B         ?C0017?KB_PROCESS:
+   72: 		else
+   73: 		{
+   74: 			IIC_Read(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
+00131B 7B01              MOV      R3,#01H
+00131D 7A4C              MOV      R2,#HIGH m_24g_addr
+00131F 7900              MOV      R1,#LOW m_24g_addr
+001321 7D04              MOV      R5,#04H
+001323 7C00              MOV      R4,#00H
+001325 7F52              MOV      R7,#052H
+001327 7E7F              MOV      R6,#07FH
+001329 1220B0            LCALL    _IIC_Read
+   75: 			Delay1ms(10);
+00132C 7F0A              MOV      R7,#0AH
+00132E 120F72            LCALL    _Delay1ms
+   76: 			fast_connect_flag = 0;
+001331 E4                CLR      A
+001332 904E5B            MOV      DPTR,#fast_connect_flag
+001335 F0                MOVX     @DPTR,A
+   77: 			if (m_24g_addr[0] == 0xff && m_24g_addr[1] == 0xff && m_24g_addr[2] == 0xff && m_24g_addr[3] == 0xff)
+001336 904C00            MOV      DPTR,#m_24g_addr
 001339 E0                MOVX     A,@DPTR
-00133A 9400              SUBB     A,#00H
-00133C 5040              JNC      ?C0026?LED
-   90: 			{
-   91: //				if (g_variable.battery_status != BAT_STATUS_LOW) //低电状态不显示NUMLOCK
-   92: //				{
-   93: 					if(m_caps_num_lock & KB_PC_KEYSEL_NUMLOCK)
-00133E 904CB7            MOV      DPTR,#m_caps_num_lock
-001341 E0                MOVX     A,@DPTR
-001342 30E00E            JNB      ACC.0,?C0027?LED
-   94: 					{
-   95: 						if(!g_variable.powerOn_timer)
-001345 904CE5            MOV      DPTR,#g_variable+026H
+00133A F4                CPL      A
+00133B 7021              JNZ      ?C0019?KB_PROCESS
+00133D A3                INC      DPTR
+00133E E0                MOVX     A,@DPTR
+00133F B4FF1C            CJNE     A,#0FFH,?C0019?KB_PROCESS
+001342 A3                INC      DPTR
+001343 E0                MOVX     A,@DPTR
+001344 B4FF17            CJNE     A,#0FFH,?C0019?KB_PROCESS
+001347 A3                INC      DPTR
 001348 E0                MOVX     A,@DPTR
-001349 7014              JNZ      ?C0029?LED
-   96: 							GPIO_Setout(NUM_LOCK_LED_GPIO, LED_ON);
-00134B D201              SETB     ?_GPIO_Setout?BIT
-00134D 7F0F              MOV      R7,#0FH
-00134F 51BB              ACALL    _GPIO_Setout
-   97: 					}
-001351 800C              SJMP     ?C0029?LED
-001353         ?C0027?LED:
-   98: 					else
-   99: 					{
-  100: 						if(!g_variable.powerOn_timer)
-001353 904CE5            MOV      DPTR,#g_variable+026H
-001356 E0                MOVX     A,@DPTR
-001357 7006              JNZ      ?C0029?LED
-  101: 							GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
-001359 C201              CLR      ?_GPIO_Setout?BIT
-00135B 7F0F              MOV      R7,#0FH
-00135D 51BB              ACALL    _GPIO_Setout
-  102: 					}
-00135F         ?C0029?LED:
-  103: //				}
-  104: 				
-  105: 				if(m_caps_num_lock & KB_PC_KEYSEL_CAPSLOCK)
-00135F 904CB7            MOV      DPTR,#m_caps_num_lock
-001362 E0                MOVX     A,@DPTR
-001363 30E10C            JNB      ACC.1,?C0031?LED
-  106: 				{
-  107: 					if(!g_variable.powerOn_timer)
-001366 904CE5            MOV      DPTR,#g_variable+026H
-001369 E0                MOVX     A,@DPTR
-00136A 704F              JNZ      ?C0017?LED
-  108: 						GPIO_Setout(CAPS_LED_GPIO, LED_ON);
-00136C D201              SETB     ?_GPIO_Setout?BIT
-00136E 7F10              MOV      R7,#010H
-001370 41BB              AJMP     _GPIO_Setout
-  109: 				}
-001372         ?C0031?LED:
-  110: 				else 
-  111: 				{
-  112: 					if(!g_variable.powerOn_timer)
-001372 904CE5            MOV      DPTR,#g_variable+026H
-001375 E0                MOVX     A,@DPTR
-001376 7043              JNZ      ?C0017?LED
-  113: 						GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
-001378 C201              CLR      ?_GPIO_Setout?BIT
-00137A 7F10              MOV      R7,#010H
-00137C 41BB              AJMP     _GPIO_Setout
-  114: 				}
-  115: 
-  116: //				if (g_variable.battery_status != BAT_STATUS_LOW) //低电状态不显示NUMLOCK
-  117: //				{
-  118: //					if(m_caps_num_lock & KB_PC_KEYSEL_SCROLLLOCK)
-  119: //					{
-  120: //						if(!g_variable.powerOn_timer && !g_variable.battery_low_led_flash_interval)
-  121: //							GPIO_Setout(LOWPOWER_LED_GPIO, LED_ON);
-  122: //					}
-  123: //					else 
-  124: //					{
-  125: //						if(!g_variable.powerOn_timer && !g_variable.battery_low_led_flash_interval)
-  126: //							GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
-  127: //					}
-  128: //				}
-  129: 			}
-00137E         ?C0026?LED:
-  130: 			else
-  131: 			{
-  132: 				if(!g_variable.powerOn_timer)
-00137E 904CE5            MOV      DPTR,#g_variable+026H
-001381 E0                MOVX     A,@DPTR
-001382 7006              JNZ      ?C0036?LED
-  133: 					GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
-001384 C201              CLR      ?_GPIO_Setout?BIT
-001386 7F0F              MOV      R7,#0FH
-001388 51BB              ACALL    _GPIO_Setout
-00138A         ?C0036?LED:
-  134: 				GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
-00138A C201              CLR      ?_GPIO_Setout?BIT
-00138C 7F10              MOV      R7,#010H
-00138E 41BB              AJMP     _GPIO_Setout
-  135: 				//if(!g_variable.powerOn_timer && !g_variable.battery_low_led_flash_interval)
-  136: 				//	GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
-  137: 			}
-  138: 		}
-001390         ?C0025?LED:
-  139: 		else
-  140: 		{
-  141: 			if(!g_variable.powerOn_timer)
-001390 904CE5            MOV      DPTR,#g_variable+026H
-001393 E0                MOVX     A,@DPTR
-001394 7006              JNZ      ?C0038?LED
-  142: 				GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
-001396 C201              CLR      ?_GPIO_Setout?BIT
-001398 7F0F              MOV      R7,#0FH
-00139A 51BB              ACALL    _GPIO_Setout
-00139C         ?C0038?LED:
-  143: 			GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
-00139C C201              CLR      ?_GPIO_Setout?BIT
-00139E 7F10              MOV      R7,#010H
-0013A0 41BB              AJMP     _GPIO_Setout
-  144: 			//if(!g_variable.powerOn_timer && !g_variable.battery_low_led_flash_interval)
-  145: 			//	GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
-  146: 		}
-  147: 	}
-0013A2         ?C0018?LED:
-  148: 	else
-  149: 	{
-  150: 		m_caps_num_lock &= ~(KB_PC_KEYSEL_CAPSLOCK|KB_PC_KEYSEL_NUMLOCK);
-0013A2 904CB7            MOV      DPTR,#m_caps_num_lock
-0013A5 E0                MOVX     A,@DPTR
-0013A6 54FC              ANL      A,#0FCH
-0013A8 F0                MOVX     @DPTR,A
-  151: 		if(g_variable.pairing_timeout == 0)
-0013A9 904CE9            MOV      DPTR,#g_variable+02AH
-0013AC E0                MOVX     A,@DPTR
-0013AD 7006              JNZ      ?C0040?LED
-  152: 			GPIO_Setout(NUM_LOCK_LED_GPIO, LED_OFF);
-0013AF C201              CLR      ?_GPIO_Setout?BIT
-0013B1 7F0F              MOV      R7,#0FH
-0013B3 51BB              ACALL    _GPIO_Setout
-0013B5         ?C0040?LED:
-  153: 		GPIO_Setout(CAPS_LED_GPIO, LED_OFF);
-0013B5 C201              CLR      ?_GPIO_Setout?BIT
-0013B7 7F10              MOV      R7,#010H
-0013B9 51BB              ACALL    _GPIO_Setout
-  154: 	}
-  155: }
-0013BB         ?C0017?LED:
-0013BB 22                RET      
------ FUNCTION LED_handle (END) -------
+001349 B4FF12            CJNE     A,#0FFH,?C0019?KB_PROCESS
+   78: 			{
+   79: 				m_24g_addr[0] = 0x0f;
+00134C 904C00            MOV      DPTR,#m_24g_addr
+00134F 740F              MOV      A,#0FH
+001351 F0                MOVX     @DPTR,A
+   80: 				m_24g_addr[1] = 0x0f;
+001352 A3                INC      DPTR
+001353 F0                MOVX     @DPTR,A
+   81: 				m_24g_addr[2] = 0x0f;
+001354 A3                INC      DPTR
+001355 F0                MOVX     @DPTR,A
+   82: 				m_24g_addr[3] = 0x0f;
+001356 A3                INC      DPTR
+001357 F0                MOVX     @DPTR,A
+   83: 				fast_connect_flag = 1;
+001358 904E5B            MOV      DPTR,#fast_connect_flag
+00135B 7401              MOV      A,#01H
+00135D F0                MOVX     @DPTR,A
+   84: 			}
+00135E         ?C0019?KB_PROCESS:
+   85: 				
+   86: 			IPC_TxControlCmd(IPC_CMD_START_24G);
+00135E 7F21              MOV      R7,#021H
+001360 71C9              ACALL    _IPC_TxControlCmd
+   87: 			
+   88: 			g_variable.g24_currentState = CHANGE_TO_24G_CONNECTING;
+001362 904C89            MOV      DPTR,#g_variable+06H
+001365 7402              MOV      A,#02H
+001367 F0                MOVX     @DPTR,A
+   89: 			g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
+001368 E4                CLR      A
+001369 A3                INC      DPTR
+00136A F0                MOVX     @DPTR,A
+   90: 			g_variable.key_action = KEY_NONE;
+00136B 904CB6            MOV      DPTR,#g_variable+033H
+00136E F0                MOVX     @DPTR,A
+   91: 		}
+   92: 		break;
+00136F 22                RET      
+   93: 	case KEY_PAIRING_24G:
+001370         ?C0020?KB_PROCESS:
+   94: 		g_variable.recon_count = 0;
+001370 E4                CLR      A
+001371 904CB9            MOV      DPTR,#g_variable+036H
+001374 F0                MOVX     @DPTR,A
+   95: 		if (YC_disconnect_all_link() || YC_cancel_reconnect())
+001375 1218C7            LCALL    YC_disconnect_all_link
+001378 EF                MOV      A,R7
+001379 7006              JNZ      ?C0022?KB_PROCESS
+00137B 1218B5            LCALL    YC_cancel_reconnect
+00137E EF                MOV      A,R7
+00137F 6009              JZ       ?C0021?KB_PROCESS
+001381         ?C0022?KB_PROCESS:
+   96: 		{
+   97: 			g_variable.key_action = key_num;
+001381 904F09            MOV      DPTR,#key_num
+001384 E0                MOVX     A,@DPTR
+001385 904CB6            MOV      DPTR,#g_variable+033H
+001388 F0                MOVX     @DPTR,A
+   98: 		}
+001389 22                RET      
+00138A         ?C0021?KB_PROCESS:
+   99: 		else
+  100: 		{
+  101: 			if (g_variable.g24_currentState != CHANGE_TO_24G_PAIRING)
+00138A 904C89            MOV      DPTR,#g_variable+06H
+00138D E0                MOVX     A,@DPTR
+00138E 6401              XRL      A,#01H
+001390 602B              JZ       ?C0024?KB_PROCESS
+  102: 			{
+  103: 				fast_connect_flag = 0;
+001392 E4                CLR      A
+001393 904E5B            MOV      DPTR,#fast_connect_flag
+001396 F0                MOVX     @DPTR,A
+  104: 				IPC_TxControlCmd(IPC_CMD_PAIR_24G);
+001397 7F23              MOV      R7,#023H
+001399 71C9              ACALL    _IPC_TxControlCmd
+  105: 				g_variable.g24_currentState = CHANGE_TO_24G_PAIRING;
+00139B 904C89            MOV      DPTR,#g_variable+06H
+00139E 7401              MOV      A,#01H
+0013A0 F0                MOVX     @DPTR,A
+  106: 				g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
+0013A1 E4                CLR      A
+0013A2 A3                INC      DPTR
+0013A3 F0                MOVX     @DPTR,A
+  107: 				g_variable.pairing_g24_timeout = G24_PAIRING_TIME_OUT_10S;
+0013A4 904CB7            MOV      DPTR,#g_variable+034H
+0013A7 7414              MOV      A,#014H
+0013A9 F0                MOVX     @DPTR,A
+  108: 				GPIO_Setout(num2_led,LED_OFF);
+0013AA C201              CLR      ?_GPIO_Setout?BIT
+0013AC 7FFF              MOV      R7,#0FFH
+0013AE 31D0              ACALL    _GPIO_Setout
+  109: 				GPIO_Setout(LOWPOWER_LED_GPIO,LED_OFF);
+0013B0 C201              CLR      ?_GPIO_Setout?BIT
+0013B2 7F1F              MOV      R7,#01FH
+0013B4 31D0              ACALL    _GPIO_Setout
+  110: 				g_variable.pairing_timeout = 0;
+0013B6 E4                CLR      A
+0013B7 904CB1            MOV      DPTR,#g_variable+02EH
+0013BA F0                MOVX     @DPTR,A
+0013BB A3                INC      DPTR
+0013BC F0                MOVX     @DPTR,A
+  111: 			}
+0013BD         ?C0024?KB_PROCESS:
+  112: 			g_variable.key_action = KEY_NONE;
+0013BD E4                CLR      A
+0013BE 904CB6            MOV      DPTR,#g_variable+033H
+0013C1 F0                MOVX     @DPTR,A
+  113: 		}
+  114: 		break;
+0013C2 22                RET      
+  115: 	default:
+0013C3         ?C0025?KB_PROCESS:
+  116: 		g_variable.key_action = KEY_NONE;
+0013C3 E4                CLR      A
+0013C4 904CB6            MOV      DPTR,#g_variable+033H
+0013C7 F0                MOVX     @DPTR,A
+  117: 		break;
+  118: 	}
+  119: }
+0013C8 22                RET      
+----- FUNCTION _YC_key_action_handle (END) -------
+
+
+----- FUNCTION _IPC_TxControlCmd (BEGIN) -----
+ FILE: 'ipc.c'
+   74: void IPC_TxControlCmd(byte cmd)
+   75: {
+0013C9 904EE2            MOV      DPTR,#cmd
+0013CC EF                MOV      A,R7
+0013CD F0                MOVX     @DPTR,A
+   76: 	byte cmdBuff[IPC_CMD_LEN] = {
+   77: 		IPC_CONTROL_CMD, 0x01
+0013CE 78E3              MOV      R0,#LOW cmdBuff
+0013D0 7C4E              MOV      R4,#HIGH cmdBuff
+0013D2 7D01              MOV      R5,#01H
+0013D4 7BFF              MOV      R3,#0FFH
+0013D6 7A07              MOV      R2,#HIGH _?ix1000
+0013D8 7934              MOV      R1,#LOW _?ix1000
+0013DA 7E00              MOV      R6,#00H
+0013DC 7F03              MOV      R7,#03H
+0013DE 120390            LCALL    ?C?COPY
+   78: 	};
+   79: 	cmdBuff[IPC_CMD_LEN - 1] = cmd;
+0013E1 904EE2            MOV      DPTR,#cmd
+0013E4 E0                MOVX     A,@DPTR
+0013E5 904EE5            MOV      DPTR,#cmdBuff+02H
+0013E8 F0                MOVX     @DPTR,A
+   80: 	ipcTx(cmdBuff, IPC_CMD_LEN);
+0013E9 7B01              MOV      R3,#01H
+0013EB 7A4E              MOV      R2,#HIGH cmdBuff
+0013ED 79E3              MOV      R1,#LOW cmdBuff
+0013EF 7D03              MOV      R5,#03H
+0013F1 020FD6            LJMP     _ipcTx
+   81: }
+----- FUNCTION _IPC_TxControlCmd (END) -------
 
 
 ----- FUNCTION _kb_cb_event (BEGIN) -----
  FILE: 'sys.c'
-  133: static void kb_cb_event(byte evt)
-  134: {
-0013BC 904F0E            MOV      DPTR,#evt
-0013BF EF                MOV      A,R7
-0013C0 F0                MOVX     @DPTR,A
-  135: #ifdef BT_FAST_CONNECT_ENABLE
-  136: 	xbyte bt_name_string[18];
-  137: #endif	
-  138: 
-  139: 	switch (evt) 
-0013C1 1205B3            LCALL    ?C?CCASE
-0013C4 15DD              DW       ?C0040?SYS
-0013C6 14                DB       014H
-0013C7 16AE              DW       ?C0047?SYS
-0013C9 15                DB       015H
-0013CA 14C1              DW       ?C0025?SYS
-0013CC 27                DB       027H
-0013CD 1675              DW       ?C0045?SYS
-0013CF 29                DB       029H
-0013D0 13F2              DW       ?C0015?SYS
-0013D2 2F                DB       02FH
-0013D3 14BB              DW       ?C0023?SYS
-0013D5 30                DB       030H
-0013D6 1512              DW       ?C0029?SYS
-0013D8 31                DB       031H
-0013D9 1586              DW       ?C0035?SYS
-0013DB 32                DB       032H
-0013DC 13F2              DW       ?C0015?SYS
-0013DE 33                DB       033H
-0013DF 164F              DW       ?C0044?SYS
-0013E1 34                DB       034H
-0013E2 168F              DW       ?C0046?SYS
-0013E4 35                DB       035H
-0013E5 150A              DW       ?C0027?SYS
-0013E7 37                DB       037H
-0013E8 14C1              DW       ?C0025?SYS
-0013EA 39                DB       039H
-0013EB 1512              DW       ?C0029?SYS
-0013ED 3C                DB       03CH
-0013EE 0000              DW       00H
-0013F0 16F2              DW       ?C0051?SYS
-  140: 	{
-  141: 
-  142: case IPC_EVT_HIBERNATE_WAKE:
-  143: case IPC_EVT_RESET:
-0013F2         ?C0015?SYS:
-  144: 		System_Hardware_init();
-0013F2 121F31            LCALL    System_Hardware_init
-  145: 		System_Software_init();
-0013F5 123050            LCALL    System_Software_init
-  146: 		
-  147: 		IIC_Read(EEPROM_BATTERY_SHUTDOWN_FLAG ,1 ,(byte *)&g_variable.battery_shutdown_flag);
-0013F8 7B01              MOV      R3,#01H
-0013FA 7A4C              MOV      R2,#HIGH g_variable+040H
-0013FC 79FF              MOV      R1,#LOW g_variable+040H
-0013FE 7D01              MOV      R5,#01H
-001400 7C00              MOV      R4,#00H
-001402 7FC0              MOV      R7,#0C0H
-001404 7E7F              MOV      R6,#07FH
-001406 121941            LCALL    _IIC_Read
-  148: 		if(g_variable.battery_shutdown_flag == 1)
-001409 904CFF            MOV      DPTR,#g_variable+040H
-00140C E0                MOVX     A,@DPTR
-00140D 6401              XRL      A,#01H
-00140F 703E              JNZ      ?C0016?SYS
-  149: 		{	
-001411         ?C0017?SYS:
-  150: 			while(m_adcCurrentValue < m_adc0vBase) IPC_WaitLpm();
-001411 904C91            MOV      DPTR,#m_adc0vBase
-001414 E0                MOVX     A,@DPTR
-001415 FE                MOV      R6,A
-001416 A3                INC      DPTR
-001417 E0                MOVX     A,@DPTR
-001418 FF                MOV      R7,A
-001419 C3                CLR      C
-00141A 904C96            MOV      DPTR,#m_adcCurrentValue+01H
-00141D E0                MOVX     A,@DPTR
-00141E 9F                SUBB     A,R7
-00141F 904C95            MOV      DPTR,#m_adcCurrentValue
-001422 E0                MOVX     A,@DPTR
-001423 9E                SUBB     A,R6
-001424 5005              JNC      ?C0018?SYS
-001426 121ED0            LCALL    IPC_WaitLpm
-001429 80E6              SJMP     ?C0017?SYS
-00142B         ?C0018?SYS:
-  151: 
-  152: 			if(m_adcCurrentValue < g_variable.battery_level_shutdown)
-00142B 904CE0            MOV      DPTR,#g_variable+021H
-00142E E0                MOVX     A,@DPTR
-00142F FE                MOV      R6,A
-001430 A3                INC      DPTR
-001431 E0                MOVX     A,@DPTR
-001432 FF                MOV      R7,A
-001433 C3                CLR      C
-001434 904C96            MOV      DPTR,#m_adcCurrentValue+01H
-001437 E0                MOVX     A,@DPTR
-001438 9F                SUBB     A,R7
-001439 904C95            MOV      DPTR,#m_adcCurrentValue
-00143C E0                MOVX     A,@DPTR
-00143D 9E                SUBB     A,R6
-00143E 500F              JNC      ?C0016?SYS
-  153: 			{
-  154: 				g_variable.battery_status = BAT_STATUS_SHUT_DOWN;
-001440 904CD5            MOV      DPTR,#g_variable+016H
-001443 7402              MOV      A,#02H
-001445 F0                MOVX     @DPTR,A
-  155: 				g_variable.powerOn_timer = 0;
-001446 E4                CLR      A
-001447 904CE5            MOV      DPTR,#g_variable+026H
-00144A F0                MOVX     @DPTR,A
-  156: 				IPC_TxControlCmd(IPC_CMD_ENTER_HIBERNATE);
-00144B 7F19              MOV      R7,#019H
-00144D 01AD              AJMP     _IPC_TxControlCmd
-  157: 				break;
-  158: 			}
-  159: 		}		
-00144F         ?C0016?SYS:
-  160: //		if(evt == IPC_EVT_RESET)
-  161: //			power_on_reconnect_flag = 1;
-  162: 
-  163: 		if(GPIO_GetInputStatus(USER_MODE_GPIO))	
-00144F 7F1E              MOV      R7,#01EH
-001451 F1F1              ACALL    _GPIO_GetInputStatus
-001453 5017              JNC      ?C0020?SYS
-  164: 		{
-  165: 			g_variable.last_device_num = 1;
-001455 904CC0            MOV      DPTR,#g_variable+01H
-001458 7401              MOV      A,#01H
-00145A F0                MOVX     @DPTR,A
-  166: 			g_variable.p_mode_current = 1;
-00145B 904D0B            MOV      DPTR,#g_variable+04CH
-00145E F0                MOVX     @DPTR,A
-  167: 			g_variable.p_mode_last = 1;
-00145F 904D0A            MOV      DPTR,#g_variable+04BH
-001462 F0                MOVX     @DPTR,A
-  168: 			GPIO_SetInput(USER_MODE_GPIO, 0);
-001463 C205              CLR      ?_GPIO_SetInput?BIT
-001465 7F1E              MOV      R7,#01EH
-001467 121F02            LCALL    _GPIO_SetInput
-  169: 		}
-00146A 800D              SJMP     ?C0021?SYS
-00146C         ?C0020?SYS:
-  170: 		else	
-  171: 		{
-  172: 			g_variable.last_device_num = 0;
-00146C E4                CLR      A
-00146D 904CC0            MOV      DPTR,#g_variable+01H
-001470 F0                MOVX     @DPTR,A
-  173: 			g_variable.p_mode_current = 0;
-001471 904D0B            MOV      DPTR,#g_variable+04CH
-001474 F0                MOVX     @DPTR,A
-  174: 			g_variable.p_mode_last = 0;
-001475 904D0A            MOV      DPTR,#g_variable+04BH
-001478 F0                MOVX     @DPTR,A
-  175: 			//GPIO_SetInput(USER_MODE_GPIO, 1);
-  176: 		}
-001479         ?C0021?SYS:
-  177: 
-  178: //		IIC_Read(EEPROM_RECON_INFO_LAST_DEVICE ,1 ,(byte *)&g_variable.last_device_num);
-  179: //		if(g_variable.last_device_num > 2)
-  180: //			g_variable.last_device_num = 0;	
-  181: 		g_variable.current_device_num = g_variable.last_device_num;
-001479 904CC0            MOV      DPTR,#g_variable+01H
-00147C E0                MOVX     A,@DPTR
-00147D 904CC3            MOV      DPTR,#g_variable+04H
+  125: static void kb_cb_event(byte evt)
+  126: {
+0013F4 904F0D            MOV      DPTR,#evt
+0013F7 EF                MOV      A,R7
+0013F8 F0                MOVX     @DPTR,A
+  127: 	switch (evt) 
+  128: 	{
+0013F9 1205B3            LCALL    ?C?CCASE
+0013FC 162B              DW       ?C0040?SYS
+0013FE 14                DB       014H
+0013FF 16F7              DW       ?C0047?SYS
+001401 15                DB       015H
+001402 14FE              DW       ?C0025?SYS
+001404 27                DB       027H
+001405 16BE              DW       ?C0045?SYS
+001407 29                DB       029H
+001408 142D              DW       ?C0015?SYS
+00140A 2F                DB       02FH
+00140B 14F8              DW       ?C0023?SYS
+00140D 30                DB       030H
+00140E 1550              DW       ?C0029?SYS
+001410 31                DB       031H
+001411 15D5              DW       ?C0035?SYS
+001413 32                DB       032H
+001414 142D              DW       ?C0015?SYS
+001416 33                DB       033H
+001417 1699              DW       ?C0044?SYS
+001419 34                DB       034H
+00141A 16D8              DW       ?C0046?SYS
+00141C 35                DB       035H
+00141D 1548              DW       ?C0027?SYS
+00141F 37                DB       037H
+001420 14FE              DW       ?C0025?SYS
+001422 39                DB       039H
+001423 1550              DW       ?C0029?SYS
+001425 3C                DB       03CH
+001426 173C              DW       ?C0051?SYS
+001428 3E                DB       03EH
+001429 0000              DW       00H
+00142B 1795              DW       ?C0058?SYS
+  129: 	case IPC_EVT_HIBERNATE_WAKE:		
+  130: 	case IPC_EVT_RESET:
+  131: 		System_Hardware_init();
+00142D         ?C0015?SYS:
+  132: 		System_Software_init();
+00142D 121FC3            LCALL    System_Hardware_init
+  133: 		IIC_Read(EEPROM_BATTERY_SHUTDOWN_FLAG ,1 ,(byte *)&g_variable.battery_shutdown_flag);
+001430 1233C5            LCALL    System_Software_init
+  134: 		if(g_variable.battery_shutdown_flag == 1)
+001433 7B01              MOV      R3,#01H
+001435 7A4C              MOV      R2,#HIGH g_variable+045H
+001437 79C8              MOV      R1,#LOW g_variable+045H
+001439 7D01              MOV      R5,#01H
+00143B 7C00              MOV      R4,#00H
+00143D 7FC0              MOV      R7,#0C0H
+00143F 7E7F              MOV      R6,#07FH
+001441 1220B0            LCALL    _IIC_Read
+  135: 		{	
+001444 904CC8            MOV      DPTR,#g_variable+045H
+001447 E0                MOVX     A,@DPTR
+001448 6401              XRL      A,#01H
+00144A 703E              JNZ      ?C0016?SYS
+  136: 			while(m_adcCurrentValue < m_adc0vBase) IPC_WaitLpm();
+00144C         ?C0017?SYS:
+  137: 
+00144C 904C71            MOV      DPTR,#m_adc0vBase
+00144F E0                MOVX     A,@DPTR
+001450 FE                MOV      R6,A
+001451 A3                INC      DPTR
+001452 E0                MOVX     A,@DPTR
+001453 FF                MOV      R7,A
+001454 C3                CLR      C
+001455 904C76            MOV      DPTR,#m_adcCurrentValue+01H
+001458 E0                MOVX     A,@DPTR
+001459 9F                SUBB     A,R7
+00145A 904C75            MOV      DPTR,#m_adcCurrentValue
+00145D E0                MOVX     A,@DPTR
+00145E 9E                SUBB     A,R6
+00145F 5005              JNC      ?C0018?SYS
+001461 120F8A            LCALL    IPC_WaitLpm
+001464 80E6              SJMP     ?C0017?SYS
+001466         ?C0018?SYS:
+  138: 			if(m_adcCurrentValue < g_variable.battery_level_shutdown)
+001466 904CA7            MOV      DPTR,#g_variable+024H
+001469 E0                MOVX     A,@DPTR
+00146A FE                MOV      R6,A
+00146B A3                INC      DPTR
+00146C E0                MOVX     A,@DPTR
+00146D FF                MOV      R7,A
+00146E C3                CLR      C
+00146F 904C76            MOV      DPTR,#m_adcCurrentValue+01H
+001472 E0                MOVX     A,@DPTR
+001473 9F                SUBB     A,R7
+001474 904C75            MOV      DPTR,#m_adcCurrentValue
+001477 E0                MOVX     A,@DPTR
+001478 9E                SUBB     A,R6
+001479 500F              JNC      ?C0016?SYS
+  139: 			{
+  140: 				g_variable.battery_status = BAT_STATUS_SHUT_DOWN;
+00147B 904C9C            MOV      DPTR,#g_variable+019H
+00147E 7402              MOV      A,#02H
 001480 F0                MOVX     @DPTR,A
-  182: 		LED_device_poweron();
-001481 122E90            LCALL    LED_device_poweron
-  183: 		Delay1ms(10);
-001484 7F0A              MOV      R7,#0AH
-001486 D1F3              ACALL    _Delay1ms
-  184: 		IIC_Read(EEPROM_RECON_INFO_RAMDON_LE_LAP1 ,2 ,(byte *)&g_variable.ble_ramdon_lap1);
-001488 7B01              MOV      R3,#01H
-00148A 7A4C              MOV      R2,#HIGH g_variable+033H
-00148C 79F2              MOV      R1,#LOW g_variable+033H
-00148E 7D02              MOV      R5,#02H
-001490 7C00              MOV      R4,#00H
-001492 7FBE              MOV      R7,#0BEH
-001494 7E7F              MOV      R6,#07FH
-001496 121941            LCALL    _IIC_Read
-  185: 		if(g_variable.ble_ramdon_lap1 == 0xff && g_variable.ble_ramdon_lap2 == 0xff)
-001499 904CF2            MOV      DPTR,#g_variable+033H
-00149C E0                MOVX     A,@DPTR
-00149D B4FF19            CJNE     A,#0FFH,?C0022?SYS
-0014A0 A3                INC      DPTR
-0014A1 E0                MOVX     A,@DPTR
-0014A2 B4FF14            CJNE     A,#0FFH,?C0022?SYS
-  186: 		{
-  187: 			g_variable.ble_ramdon_lap1 = m_adc3vValue;
-0014A5 904C93            MOV      DPTR,#m_adc3vValue
-0014A8 E0                MOVX     A,@DPTR
-0014A9 A3                INC      DPTR
-0014AA E0                MOVX     A,@DPTR
-0014AB 904CF2            MOV      DPTR,#g_variable+033H
-0014AE F0                MOVX     @DPTR,A
-  188: 			g_variable.ble_ramdon_lap2 = m_adc0vBase;
-0014AF 904C91            MOV      DPTR,#m_adc0vBase
-0014B2 E0                MOVX     A,@DPTR
-0014B3 A3                INC      DPTR
-0014B4 E0                MOVX     A,@DPTR
-0014B5 904CF3            MOV      DPTR,#g_variable+034H
-0014B8 F0                MOVX     @DPTR,A
+  141: 				g_variable.powerOn_timer = 0;
+001481 E4                CLR      A
+001482 904CAD            MOV      DPTR,#g_variable+02AH
+001485 F0                MOVX     @DPTR,A
+  142: 				IPC_TxControlCmd(IPC_CMD_ENTER_HIBERNATE);
+001486 7F19              MOV      R7,#019H
+001488 61C9              AJMP     _IPC_TxControlCmd
+  143: 				break;
+  144: 			}
+  145: 		}		
+00148A         ?C0016?SYS:
+  146: 		if(GPIO_GetInputStatus(USER_MODE_GPIO))	
+00148A 7F1E              MOV      R7,#01EH
+00148C F1F0              ACALL    _GPIO_GetInputStatus
+00148E 5017              JNC      ?C0020?SYS
+  147: 		{
+  148: 			g_variable.last_device_num = 1;
+001490 904C84            MOV      DPTR,#g_variable+01H
+001493 7401              MOV      A,#01H
+001495 F0                MOVX     @DPTR,A
+  149: 			g_variable.p_mode_current = 1;
+001496 904CCC            MOV      DPTR,#g_variable+049H
+001499 F0                MOVX     @DPTR,A
+  150: 			g_variable.p_mode_last = 1;
+00149A 904CCB            MOV      DPTR,#g_variable+048H
+00149D F0                MOVX     @DPTR,A
+  151: 			GPIO_SetInput(USER_MODE_GPIO, 0);
+00149E C205              CLR      ?_GPIO_SetInput?BIT
+0014A0 7F1E              MOV      R7,#01EH
+0014A2 121F61            LCALL    _GPIO_SetInput
+  152: 		}
+0014A5 800D              SJMP     ?C0021?SYS
+0014A7         ?C0020?SYS:
+  153: 		else	
+  154: 		{
+  155: 			g_variable.last_device_num = 0;
+0014A7 E4                CLR      A
+0014A8 904C84            MOV      DPTR,#g_variable+01H
+0014AB F0                MOVX     @DPTR,A
+  156: 			g_variable.p_mode_current = 0;
+0014AC 904CCC            MOV      DPTR,#g_variable+049H
+0014AF F0                MOVX     @DPTR,A
+  157: 			g_variable.p_mode_last = 0;
+0014B0 904CCB            MOV      DPTR,#g_variable+048H
+0014B3 F0                MOVX     @DPTR,A
+  158: 			//GPIO_SetInput(USER_MODE_GPIO, 1);
+  159: 		}
+0014B4         ?C0021?SYS:
+  160: 
+  161: 		g_variable.current_device_num = g_variable.last_device_num;
+0014B4 904C84            MOV      DPTR,#g_variable+01H
+0014B7 E0                MOVX     A,@DPTR
+0014B8 904C87            MOV      DPTR,#g_variable+04H
+0014BB F0                MOVX     @DPTR,A
+  162: 		LED_device_poweron();
+0014BC 123167            LCALL    LED_device_poweron
+  163: 	
+  164: 		Delay1ms(10);
+0014BF 7F0A              MOV      R7,#0AH
+0014C1 120F72            LCALL    _Delay1ms
+  165: 		IIC_Read(EEPROM_RECON_INFO_RAMDON_LE_LAP1 ,2 ,(byte *)&g_variable.ble_ramdon_lap1);	
+0014C4 7B01              MOV      R3,#01H
+0014C6 7A4C              MOV      R2,#HIGH g_variable+038H
+0014C8 79BB              MOV      R1,#LOW g_variable+038H
+0014CA 7D02              MOV      R5,#02H
+0014CC 7C00              MOV      R4,#00H
+0014CE 7FBE              MOV      R7,#0BEH
+0014D0 7E7F              MOV      R6,#07FH
+0014D2 1220B0            LCALL    _IIC_Read
+  166: 		if(g_variable.ble_ramdon_lap1 == 0xff && g_variable.ble_ramdon_lap2 == 0xff)
+0014D5 904CBB            MOV      DPTR,#g_variable+038H
+0014D8 E0                MOVX     A,@DPTR
+0014D9 B4FF19            CJNE     A,#0FFH,?C0022?SYS
+0014DC A3                INC      DPTR
+0014DD E0                MOVX     A,@DPTR
+0014DE B4FF14            CJNE     A,#0FFH,?C0022?SYS
+  167: 		{
+  168: 			g_variable.ble_ramdon_lap1 = m_adc3vValue;
+0014E1 904C73            MOV      DPTR,#m_adc3vValue
+0014E4 E0                MOVX     A,@DPTR
+0014E5 A3                INC      DPTR
+0014E6 E0                MOVX     A,@DPTR
+0014E7 904CBB            MOV      DPTR,#g_variable+038H
+0014EA F0                MOVX     @DPTR,A
+  169: 			g_variable.ble_ramdon_lap2 = m_adc0vBase;
+0014EB 904C71            MOV      DPTR,#m_adc0vBase
+0014EE E0                MOVX     A,@DPTR
+0014EF A3                INC      DPTR
+0014F0 E0                MOVX     A,@DPTR
+0014F1 904CBC            MOV      DPTR,#g_variable+039H
+0014F4 F0                MOVX     @DPTR,A
+  170: 		}
+0014F5         ?C0022?SYS:
+  171: 		YC_start_reconnect();
+0014F5 022012            LJMP     YC_start_reconnect
+  172: 		break;
+  173: 	case IPC_EVT_WAKEUP:
+0014F8         ?C0023?SYS:
+  174: 		System_IIC_clk_setup();
+0014F8 1233B2            LCALL    System_IIC_clk_setup
+  175: 		KS_Initialize();
+0014FB 021FD1            LJMP     KS_Initialize
+  176: 
+  177: 		break;
+  178: 
+  179: // connection event
+  180: 	case IPC_EVT_VIRTUAL_CABLE_UNPLUG:
+  181: 	case IPC_EVT_CLEAR_LINKKEY:
+0014FE         ?C0025?SYS:
+  182: 		if ((g_variable.current_device_num > 0) && (g_variable.current_device_num < 4))
+0014FE 904C87            MOV      DPTR,#g_variable+04H
+001501 E0                MOVX     A,@DPTR
+001502 D3                SETB     C
+001503 9400              SUBB     A,#00H
+001505 5002              JNC      $ + 4H
+001507 E195              AJMP     ?C0058?SYS
+001509 E0                MOVX     A,@DPTR
+00150A 9404              SUBB     A,#04H
+00150C 4002              JC       $ + 4H
+00150E E195              AJMP     ?C0058?SYS
+  183: 		{
+  184: 			xmemclear_ff((byte *)&bd_key_record_list[g_variable.current_device_num-1],sizeof(BD_KEY_RECORD));	
+001510 E0                MOVX     A,@DPTR
+001511 75F01F            MOV      B,#01FH
+001514 A4                MUL      AB
+001515 24D5              ADD      A,#LOW bd_key_record_list-01FH
+001517 F9                MOV      R1,A
+001518 744D              MOV      A,#HIGH bd_key_record_list-01FH
+00151A 35F0              ADDC     A,B
+00151C FA                MOV      R2,A
+00151D 7B01              MOV      R3,#01H
+00151F 7D1F              MOV      R5,#01FH
+001521 7C00              MOV      R4,#00H
+001523 1235FC            LCALL    _xmemclear_ff
+  185: 			Delay1ms(200);
+001526 7FC8              MOV      R7,#0C8H
+001528 120F72            LCALL    _Delay1ms
+  186: 			GPIO_Setout(EEPROM_WP_GPIO,0);
+00152B C201              CLR      ?_GPIO_Setout?BIT
+00152D 7FFF              MOV      R7,#0FFH
+00152F 31D0              ACALL    _GPIO_Setout
+  187: 			IIC_WriteBlock(EEPROM_RECON_INFO_BASE ,sizeof(BD_KEY_RECORD)*3 , (byte *)bd_key_record_list);		
+001531 7B01              MOV      R3,#01H
+001533 7A4D              MOV      R2,#HIGH bd_key_record_list
+001535 79F4              MOV      R1,#LOW bd_key_record_list
+001537 7D5D              MOV      R5,#05DH
+001539 7C00              MOV      R4,#00H
+00153B 7F60              MOV      R7,#060H
+00153D 7E7F              MOV      R6,#07FH
+00153F 121A88            LCALL    _IIC_WriteBlock
+  188: 			GPIO_Setout(EEPROM_WP_GPIO,1);
+001542 D201              SETB     ?_GPIO_Setout?BIT
+001544 7FFF              MOV      R7,#0FFH
+001546 21D0              AJMP     _GPIO_Setout
   189: 		}
-0014B9         ?C0022?SYS:
-  190: 		YC_start_reconnect();		
-0014B9 E10B              AJMP     YC_start_reconnect
-  191: //		YC_key_action_handle(KEY_DISCOVERY);	
-  192: 		break;
-  193: 	case IPC_EVT_WAKEUP:
-0014BB         ?C0023?SYS:
-  194: 		System_IIC_clk_setup();
-0014BB 12303D            LCALL    System_IIC_clk_setup
-  195: 		KS_Initialize();
-0014BE 021F3E            LJMP     KS_Initialize
-  196: 		break;
-  197: 
-  198: // connection event
-  199: 	case IPC_EVT_VIRTUAL_CABLE_UNPLUG:
-  200: 	case IPC_EVT_CLEAR_LINKKEY:
-0014C1         ?C0025?SYS:
-  201: 		if ((g_variable.current_device_num > 0) && (g_variable.current_device_num < 4))
-0014C1 904CC3            MOV      DPTR,#g_variable+04H
-0014C4 E0                MOVX     A,@DPTR
-0014C5 D3                SETB     C
-0014C6 9400              SUBB     A,#00H
-0014C8 5002              JNC      $ + 4H
-0014CA C1F2              AJMP     ?C0051?SYS
-0014CC E0                MOVX     A,@DPTR
-0014CD 9404              SUBB     A,#04H
-0014CF 4002              JC       $ + 4H
-0014D1 C1F2              AJMP     ?C0051?SYS
-  202: 		{
-  203: 			xmemclear_ff((byte *)&bd_key_record_list[g_variable.current_device_num-1],sizeof(BD_KEY_RECORD));	
-0014D3 E0                MOVX     A,@DPTR
-0014D4 75F01F            MOV      B,#01FH
-0014D7 A4                MUL      AB
-0014D8 24D3              ADD      A,#LOW bd_key_record_list-01FH
-0014DA F9                MOV      R1,A
-0014DB 744D              MOV      A,#HIGH bd_key_record_list-01FH
-0014DD 35F0              ADDC     A,B
-0014DF FA                MOV      R2,A
-0014E0 7B01              MOV      R3,#01H
-0014E2 7D1F              MOV      R5,#01FH
-0014E4 7C00              MOV      R4,#00H
-0014E6 1220CE            LCALL    _xmemclear_ff
-  204: 			Delay1ms(200);
-0014E9 7FC8              MOV      R7,#0C8H
-0014EB D1F3              ACALL    _Delay1ms
-  205: 			GPIO_Setout(EEPROM_WP_GPIO,0);
-0014ED C201              CLR      ?_GPIO_Setout?BIT
-0014EF 7FFF              MOV      R7,#0FFH
-0014F1 51BB              ACALL    _GPIO_Setout
-  206: 			IIC_WriteBlock(EEPROM_RECON_INFO_BASE ,sizeof(BD_KEY_RECORD)*3 , (byte *)bd_key_record_list);		
-0014F3 7B01              MOV      R3,#01H
-0014F5 7A4D              MOV      R2,#HIGH bd_key_record_list
-0014F7 79F2              MOV      R1,#LOW bd_key_record_list
-0014F9 7D5D              MOV      R5,#05DH
-0014FB 7C00              MOV      R4,#00H
-0014FD 7F60              MOV      R7,#060H
-0014FF 7E7F              MOV      R6,#07FH
-001501 121A94            LCALL    _IIC_WriteBlock
-  207: 			GPIO_Setout(EEPROM_WP_GPIO,1);
-001504 D201              SETB     ?_GPIO_Setout?BIT
-001506 7FFF              MOV      R7,#0FFH
-001508 41BB              AJMP     _GPIO_Setout
-  208: 		}
-  209: 		break;
-  210: 	case IPC_EVT_RECONNECT_STANDY:
-00150A         ?C0027?SYS:
-  211: 		YC_load_record_list(recon_index);
-00150A 904DD7            MOV      DPTR,#recon_index
-00150D E0                MOVX     A,@DPTR
-00150E FF                MOV      R7,A
-00150F 020737            LJMP     _YC_load_record_list
-  212: 		break;		
-  213: 		
-  214: // 2.4G event	
-  215: 	case IPC_EVT_24G_PAIRING_COMPLETE:
-  216: 	case IPC_EVT_24G_ATTEMPT_SUCCESS:
-001512         ?C0029?SYS:
-  217: 		g_variable.g24_currentState =  CHANGE_TO_24G_CONNECTED;
-001512 904CC5            MOV      DPTR,#g_variable+06H
-001515 7403              MOV      A,#03H
-001517 F0                MOVX     @DPTR,A
-  218: 		g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
-001518 E4                CLR      A
-001519 A3                INC      DPTR
-00151A F0                MOVX     @DPTR,A
-  219: 		YC_clear_reconnect_flag();
-00151B 1218DD            LCALL    YC_clear_reconnect_flag
-  220: 		g_variable.pairing_g24_timeout = 0;
-00151E E4                CLR      A
-00151F 904CEE            MOV      DPTR,#g_variable+02FH
-001522 F0                MOVX     @DPTR,A
-  221: 		g_variable.release_data = 0;
-001523 904CEB            MOV      DPTR,#g_variable+02CH
-001526 F0                MOVX     @DPTR,A
-  222: 		power_on_reconnect_flag = 0;
-001527 904DD4            MOV      DPTR,#power_on_reconnect_flag
-00152A F0                MOVX     @DPTR,A
-  223: 		g_variable.last_device_num = 0xfe;
-00152B 904CC0            MOV      DPTR,#g_variable+01H
-00152E 74FE              MOV      A,#0FEH
-001530 F0                MOVX     @DPTR,A
-  224: 		g_variable.current_device_num = 0xfe;
-001531 904CC3            MOV      DPTR,#g_variable+04H
-001534 F0                MOVX     @DPTR,A
-  225: 		m_24g_led_flag = KB_24G_LED_ACK_TYPE;
-001535 904D46            MOV      DPTR,#m_24g_led_flag
-001538 7403              MOV      A,#03H
-00153A F0                MOVX     @DPTR,A
-  226: 		delayChgInvTimer = 10;
-00153B 904DE9            MOV      DPTR,#delayChgInvTimer
-00153E 740A              MOV      A,#0AH
-001540 F0                MOVX     @DPTR,A
-  227: 
-  228: 		if(evt == IPC_EVT_24G_PAIRING_COMPLETE)
-001541 904F0E            MOV      DPTR,#evt
-001544 E0                MOVX     A,@DPTR
-001545 6431              XRL      A,#031H
-001547 7034              JNZ      ?C0030?SYS
-  229: 		{
-  230: 			fn_lock_flag = 0;
-001549 904DEA            MOV      DPTR,#fn_lock_flag
-00154C F0                MOVX     @DPTR,A
-  231: 			fast_connect_flag = 0;
-00154D 904E59            MOV      DPTR,#fast_connect_flag
-001550 F0                MOVX     @DPTR,A
-  232: 			g_variable.system_mode = OSMODE_WINDOWS;
-001551 904CC1            MOV      DPTR,#g_variable+02H
-001554 F0                MOVX     @DPTR,A
-  233: 			g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
-001555 904CE5            MOV      DPTR,#g_variable+026H
-001558 741E              MOV      A,#01EH
-00155A F0                MOVX     @DPTR,A
-  234: 			if(m_24g_paring_addr[0] != 0x0f || m_24g_paring_addr[1] != 0x0f ||
-00155B 904BEB            MOV      DPTR,#m_24g_paring_addr
-00155E E0                MOVX     A,@DPTR
-00155F B40F12            CJNE     A,#0FH,?C0032?SYS
-001562 A3                INC      DPTR
-001563 E0                MOVX     A,@DPTR
-001564 B40F0D            CJNE     A,#0FH,?C0032?SYS
-001567 A3                INC      DPTR
-001568 E0                MOVX     A,@DPTR
-001569 B40F08            CJNE     A,#0FH,?C0032?SYS
-00156C A3                INC      DPTR
-00156D E0                MOVX     A,@DPTR
-00156E 640F              XRL      A,#0FH
-001570 7002              JNZ      $ + 4H
-001572 C1F2              AJMP     ?C0051?SYS
-001574         ?C0032?SYS:
-  235: 				m_24g_paring_addr[2] != 0x0f || m_24g_paring_addr[3] != 0x0f)
-  236: 				{
-  237: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
-001574 904CBF            MOV      DPTR,#g_variable
-001577 7402              MOV      A,#02H
+  190: 		break;
+  191: 	case IPC_EVT_RECONNECT_STANDY:
+001548         ?C0027?SYS:
+  192: 		YC_load_record_list(recon_index);
+001548 904DD7            MOV      DPTR,#recon_index
+00154B E0                MOVX     A,@DPTR
+00154C FF                MOV      R7,A
+00154D 020737            LJMP     _YC_load_record_list
+  193: 		break;		
+  194: 		
+  195: // 2.4G event	
+  196: 	case IPC_EVT_24G_PAIRING_COMPLETE:
+  197: 	case IPC_EVT_24G_ATTEMPT_SUCCESS:
+001550         ?C0029?SYS:
+  198: 		g_variable.g24_currentState =  CHANGE_TO_24G_CONNECTED;
+001550 904C89            MOV      DPTR,#g_variable+06H
+001553 7403              MOV      A,#03H
+001555 F0                MOVX     @DPTR,A
+  199: 		g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
+001556 E4                CLR      A
+001557 A3                INC      DPTR
+001558 F0                MOVX     @DPTR,A
+  200: 		YC_clear_reconnect_flag();
+001559 F1E6              ACALL    YC_clear_reconnect_flag
+  201: 		g_variable.pairing_g24_timeout = 0;
+00155B E4                CLR      A
+00155C 904CB7            MOV      DPTR,#g_variable+034H
+00155F F0                MOVX     @DPTR,A
+  202: 		g_variable.release_data = 0;
+001560 904CB4            MOV      DPTR,#g_variable+031H
+001563 F0                MOVX     @DPTR,A
+  203: 		g_variable.last_device_num = 0xfe;
+001564 904C84            MOV      DPTR,#g_variable+01H
+001567 74FE              MOV      A,#0FEH
+001569 F0                MOVX     @DPTR,A
+  204: 		g_variable.current_device_num = 0xfe;
+00156A 904C87            MOV      DPTR,#g_variable+04H
+00156D F0                MOVX     @DPTR,A
+  205: 		m_24g_led_flag = KB_24G_LED_ACK_TYPE;
+00156E 904CF5            MOV      DPTR,#m_24g_led_flag
+001571 7403              MOV      A,#03H
+001573 F0                MOVX     @DPTR,A
+  206: 		delayChgInvTimer = 10;
+001574 904DEB            MOV      DPTR,#delayChgInvTimer
+001577 740A              MOV      A,#0AH
 001579 F0                MOVX     @DPTR,A
-  238: 					YC_update_eeprom_data();
-00157A 021B42            LJMP     YC_update_eeprom_data
-  239: 				}
-  240: 		}
-00157D         ?C0030?SYS:
-  241: 		else
-  242: 		{
-  243: 			if(!g_variable.powerOn_timer)
-00157D 904CE5            MOV      DPTR,#g_variable+026H
-001580 E0                MOVX     A,@DPTR
-001581 6002              JZ       $ + 4H
-001583 C1F2              AJMP     ?C0051?SYS
-  244: 			;//GPIO_Setout(num0_led,LED_OFF);
-  245: 		}
-  246: 		break;
-001585 22                RET      
-  247: 	
-  248: 	case IPC_EVT_24G_ATTEMPT_FAIL:	
-001586         ?C0035?SYS:
-  249: 		// if(power_on_reconnect_flag)
-  250: 		// {
-  251: 		// 	power_on_reconnect_flag = 0;
-  252: 		// 	YC_key_action_handle(KEY_PAIRING_24G);
-  253: 		// }
-  254: 		g_variable.g24_currentState =  CHANGE_TO_24G_DISCONNECTED;
-001586 E4                CLR      A
-001587 904CC5            MOV      DPTR,#g_variable+06H
+  207: 		g_variable.pairing_succed_timeout = KB_PAIRING_SUCCED_TIMER;
+00157A 904CCE            MOV      DPTR,#g_variable+04BH
+00157D 7406              MOV      A,#06H
+00157F F0                MOVX     @DPTR,A
+  208: 		g_variable.switch_device_led_timer = 0;		
+001580 E4                CLR      A
+001581 904CCD            MOV      DPTR,#g_variable+04AH
+001584 F0                MOVX     @DPTR,A
+  209: 		g_variable.os_24g_juge_start_delay_timer = 5;		
+001585 904CD3            MOV      DPTR,#g_variable+050H
+001588 7405              MOV      A,#05H
 00158A F0                MOVX     @DPTR,A
-  255: 		g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
-00158B A3                INC      DPTR
-00158C F0                MOVX     @DPTR,A
-  256: 		g_variable.sleepTimer = 0;
-00158D 904CE3            MOV      DPTR,#g_variable+024H
-001590 F0                MOVX     @DPTR,A
-001591 A3                INC      DPTR
-001592 F0                MOVX     @DPTR,A
-  257: 		g_variable.release_data = 1;
-001593 904CEB            MOV      DPTR,#g_variable+02CH
-001596 04                INC      A
-001597 F0                MOVX     @DPTR,A
-  258: 		
-  259: 		if (m_24g_addr[0] == 0x0f && m_24g_addr[1] == 0x0f && m_24g_addr[2] == 0x0f && m_24g_addr[3] == 0x0f)
-001598 904C00            MOV      DPTR,#m_24g_addr
-00159B E0                MOVX     A,@DPTR
-00159C B40F13            CJNE     A,#0FH,?C0036?SYS
-00159F A3                INC      DPTR
-0015A0 E0                MOVX     A,@DPTR
-0015A1 B40F0E            CJNE     A,#0FH,?C0036?SYS
-0015A4 A3                INC      DPTR
-0015A5 E0                MOVX     A,@DPTR
-0015A6 B40F09            CJNE     A,#0FH,?C0036?SYS
-0015A9 A3                INC      DPTR
-0015AA E0                MOVX     A,@DPTR
-0015AB B40F04            CJNE     A,#0FH,?C0036?SYS
-  260: 		{
-  261: 			YC_key_action_handle(KEY_PAIRING_24G);
-0015AE 7F0A              MOV      R7,#0AH
-0015B0 01D7              AJMP     _YC_key_action_handle
-  262: 			break;
-  263: 		}
-0015B2         ?C0036?SYS:
-  264: 
-  265: 		if (g_variable.key_action != KEY_NONE)
-0015B2 904CED            MOV      DPTR,#g_variable+02EH
-0015B5 E0                MOVX     A,@DPTR
-0015B6 600A              JZ       ?C0037?SYS
-  266: 		{
-  267: 			YC_clear_reconnect_flag();
-0015B8 1218DD            LCALL    YC_clear_reconnect_flag
-  268: 			YC_key_action_handle(g_variable.key_action);
-0015BB 904CED            MOV      DPTR,#g_variable+02EH
-0015BE E0                MOVX     A,@DPTR
-0015BF FF                MOV      R7,A
-0015C0 01D7              AJMP     _YC_key_action_handle
-  269: //			YC_key_action_handle(KEY_PAIRING_24G);
-  270: 			break;
-  271: 		}
-0015C2         ?C0037?SYS:
-  272: 
-  273: 		if (g_variable.lockLpm == 1)
-0015C2 904CEC            MOV      DPTR,#g_variable+02DH
-0015C5 E0                MOVX     A,@DPTR
-0015C6 B40104            CJNE     A,#01H,?C0038?SYS
-  274: 		{
-  275: 			g_variable.lockLpm =0;
-0015C9 E4                CLR      A
-0015CA F0                MOVX     @DPTR,A
-  276: 			System_long_sleep();
-0015CB E1BD              AJMP     System_long_sleep
-  277: 			break;
-  278: 		}
-0015CD         ?C0038?SYS:
-  279: 		if (g_variable.recon_count != 0)
-0015CD 904CF0            MOV      DPTR,#g_variable+031H
-0015D0 E0                MOVX     A,@DPTR
-0015D1 7002              JNZ      $ + 4H
-0015D3 C1F2              AJMP     ?C0051?SYS
-  280: 		{
-  281: 			YC_load_record_list(recon_index);
-0015D5 904DD7            MOV      DPTR,#recon_index
-0015D8 E0                MOVX     A,@DPTR
-0015D9 FF                MOV      R7,A
-0015DA 020737            LJMP     _YC_load_record_list
-  282: 		}
-  283: 		break;
-  284: 
-  285: 
-  286: 		
-  287: // // BT3.0 event
-  288: // 	case IPC_EVT_BB_CONNECTED:
-  289: // 		g_variable.br_currentState = CHANGE_TO_BR_CONNECTING;
-  290: // 		g_variable.br_currentSubState = CHANGE_TO_BR_SUB_INIT;
-  291: // 		g_variable.ble_currentState = CHANGE_TO_BLE_DISCONNECT;
-  292: // 		g_variable.ble_currentSubState = CHANGE_TO_BLE_SUB_NONE;
-  293: // 		if ((m_ui_state_map & 0x8000) == 0x8000)
-  294: // 		{
-  295: // 			switch_role_timer = 50;
-  296: // 		}
-  297: // 		break;
-  298: // 	case IPC_EVT_HID_CONNECTED:
-  299: // 		g_variable.br_currentState = CHANGE_TO_BR_CONNECTED;
-  300: // 		g_variable.br_currentSubState = CHANGE_TO_BR_SUB_NONE;
-  301: // 		IPC_TxControlCmd(IPC_CMD_STOP_ADV);
-  302: // 		IPC_TxControlCmd(IPC_CMD_STOP_DISCOVERY);
-  303: 		
-  304: // 		g_variable.last_device_num = g_variable.current_device_num;
-  305: // 	#ifdef BT_FAST_CONNECT_ENABLE				
-  306: // 		if(g_variable.fast_connect_send_name)
-  307: // 		{
-  308: // 			g_variable.fast_connect_send_name = 0;
-  309: 
-  310: // 			bt_name_string[0] = HID_REPORTID_FAST_CONN_NAME;
-  311: // 			if(m_local_name_length > 17)
-  312: // 				bt_name_string[1] = 17;
-  313: // 			else
-  314: // 				bt_name_string[1] = m_local_name_length;
-  315: 			
-  316: // 			dmemcpy(bt_name_string+2, &m_local_name_length+1, bt_name_string[1]);
-  317: // 			IPC_TxBREDRHidData(bt_name_string,bt_name_string[1]+2);
-  318: // 		}
-  319: // 	#endif	
-  320: // 		g_variable.sleepTimer = 0;
-  321: 		
-  322: // 		YC_clear_reconnect_flag();
-  323: // 		g_variable.release_data = 0;
-  324: // 		switch_role_timer = 0;
-  325: // 		kscurrmult = 0x1a;
-  326: // 		iOS_rec_pinCode = 0;	
-  327: 		
-  328: // 		while( (m_remote_addr[0]==0)&&(m_remote_addr[1]==0)&&(m_remote_addr[2]==0)
-  329: // 			&&(m_remote_addr[3]==0)&&(m_remote_addr[4]==0)&&(m_remote_addr[5]==0));
-  330: // 		IPC_TxControlCmd(IPC_CMD_ENTER_SNIFF);
-  331: // 		break;
-  332: // 	case IPC_EVT_LINKKEY_GENERATE:
-  333: // 		if(g_variable.pairing_timeout)
-  334: // 		{
-  335: // 			fn_lock_flag = 0;
-  336: 
-  337: // 			g_variable.system_mode = OSMODE_WINDOWS;
-  338: // 			bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
-  339: // 			YC_clear_BT_same_address_record();
-  340: // 			g_variable.update_eeprom_flag = 3;
-  341: 
-  342: // 			g_variable.pairing_timeout = 0;
-  343: // 		}
-  344: // 		g_variable.delay_enter_lpm_timer = 10;
-  345: // 		m_lpm_mode = 1;
-  346: // 		if(!g_variable.powerOn_timer)
-  347: // 			LED_device_poweroff();
-  348: // 		break;
-  349: // 	case IPC_EVT_SWITCH_FAIL_MASTER:
-  350: // 		IPC_TxControlCmd(IPC_CMD_DISCONNECT);
-  351: // 		Delay1ms(10);
-  352: // 		break;	
-  353: // 	case IPC_EVT_PINCODE_REQ:
-  354: // 		ipcPinlen = 0;
-  355: // 		pinCode_flag = 1;
-  356: // 		switch_role_timer = 0;
-  357: // 		if ((m_ui_state_map & 0x8000) == 0x8000)
-  358: // 		{
-  359: // 			iOS_rec_pinCode = 1;	
-  360: // 			ipcPinlen = 4;
-  361: // 			IPC_TxControlCmd(IPC_CMD_DISCONNECT);
-  362: // 			return;
-  363: // 		}
-  364: // 		g_variable.recon_count = 0;
-  365: // 		g_variable.br_currentSubState =  CHANGE_TO_BR_SUB_PINCODE;
-  366: // 		g_variable.br_currentState =CHANGE_TO_BR_CONNECTING;
-  367: // 		break;	
-  368: // 	case IPC_EVT_RECONN_PAGE_TIMEOUT:
-  369: // 	case IPC_EVT_RECONN_FAILED:
-  370: // 		if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
-  371: // 		{
-  372: // 			g_variable.br_currentState = CHANGE_TO_BR_DISCONNECT;
-  373: // 			g_variable.br_currentSubState = CHANGE_TO_BR_SUB_NONE;
-  374: // 			return;
-  375: // 		}		
-  376: // 	case IPC_EVT_BB_DISCONNECTED:
-  377: // 		g_variable.history_state = g_variable.br_currentState ;
-  378: // 		g_variable.br_currentState = CHANGE_TO_BR_DISCONNECT;
-  379: // 		g_variable.br_currentSubState = CHANGE_TO_BR_SUB_NONE;
-  380: // 		g_variable.release_data = 1;
-  381: // 		switch_role_timer = 0;
-  382: // 		if (iOS_rec_pinCode == 1)
-  383: // 		{
-  384: // 			if ((g_variable.current_device_num > 0) && (g_variable.current_device_num < 4))
-  385: // 			{
-  386: // 				xmemclear_ff((byte *)&bd_key_record_list[g_variable.current_device_num-1],sizeof(BD_KEY_RECORD));	
-  387: // 				Delay1ms(200);
-  388: // 				GPIO_Setout(EEPROM_WP_GPIO,0);
-  389: // 				IIC_WriteBlock(EEPROM_RECON_INFO_BASE ,sizeof(BD_KEY_RECORD)*3 , (byte *)bd_key_record_list);		
-  390: // 				GPIO_Setout(EEPROM_WP_GPIO,1);
-  391: // 			}
-  392: // 			iOS_rec_pinCode = 0;
-  393: // 		}
-  394: 
-  395: // 		if (g_variable.lockLpm == 1)
-  396: // 		{
-  397: // 			g_variable.lockLpm =0;
-  398: // 			System_long_sleep();
-  399: // 			break;
-  400: // 		}
-  401: 
-  402: // 		if (g_variable.key_action != KEY_NONE)
-  403: // 		{
-  404: // 			YC_key_action_handle(g_variable.key_action);
-  405: // 			break;
-  406: // 		}
-  407: 
-  408: // 		if (g_variable.recon_count != 0)
-  409: // 		{
-  410: // 			YC_load_record_list(recon_index);
-  411: // 			break;
-  412: // 		}
-  413: 
-  414: // 		if (g_variable.g24_currentState == CHANGE_TO_24G_PAIRING)
-  415: // 		{
-  416: // 			return;
-  417: // 		}
-  418: 
-  419: 
-  420: // 		if (evt == IPC_EVT_RECONN_PAGE_TIMEOUT)
-  421: // 		{
-  422: // 			break;
-  423: // 		}
-  424: 		
-  425: // 		if (g_variable.history_state != CHANGE_TO_BR_CONNECTED)
-  426: // 		{
-  427: // 			YC_key_action_handle(KEY_DISCOVERY);
-  428: // 		}
-  429: // 		else
-  430: // 		{
-  431: // 			System_long_sleep();
-  432: // 		}
-  433: // 		g_variable.sleepTimer = 0;
-  434: // 		break;		
-  435: 
-  436: // BT 4.2 event
-  437: 	case IPC_EVT_LE_CONNECTED:
-0015DD         ?C0040?SYS:
-  438: 		g_variable.ble_currentState = CHANGE_TO_BLE_CONNECTING;
-0015DD 904CC7            MOV      DPTR,#g_variable+08H
-0015E0 7403              MOV      A,#03H
-0015E2 F0                MOVX     @DPTR,A
-  439: 		g_variable.ble_currentSubState = CHANGE_TO_BLE_SUB_INIT;
-0015E3 A3                INC      DPTR
-0015E4 7401              MOV      A,#01H
+  210: 		g_variable.system_mode = OSMODE_WINDOWS;
+00158B E4                CLR      A
+00158C 904C85            MOV      DPTR,#g_variable+02H
+00158F F0                MOVX     @DPTR,A
+  211: 
+  212: 
+  213: 			
+  214: 		if(evt == IPC_EVT_24G_PAIRING_COMPLETE)
+001590 904F0D            MOV      DPTR,#evt
+001593 E0                MOVX     A,@DPTR
+001594 6431              XRL      A,#031H
+001596 7034              JNZ      ?C0030?SYS
+  215: 		{
+  216: 			fn_lock_flag = 0;
+001598 904DEC            MOV      DPTR,#fn_lock_flag
+00159B F0                MOVX     @DPTR,A
+  217: 			fast_connect_flag = 0;
+00159C 904E5B            MOV      DPTR,#fast_connect_flag
+00159F F0                MOVX     @DPTR,A
+  218: 			g_variable.system_mode = OSMODE_WINDOWS;
+0015A0 904C85            MOV      DPTR,#g_variable+02H
+0015A3 F0                MOVX     @DPTR,A
+  219: 			g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
+0015A4 904CAD            MOV      DPTR,#g_variable+02AH
+0015A7 741E              MOV      A,#01EH
+0015A9 F0                MOVX     @DPTR,A
+  220: 			if(m_24g_paring_addr[0] != 0x0f || m_24g_paring_addr[1] != 0x0f ||
+0015AA 904BEB            MOV      DPTR,#m_24g_paring_addr
+0015AD E0                MOVX     A,@DPTR
+0015AE B40F12            CJNE     A,#0FH,?C0032?SYS
+0015B1 A3                INC      DPTR
+0015B2 E0                MOVX     A,@DPTR
+0015B3 B40F0D            CJNE     A,#0FH,?C0032?SYS
+0015B6 A3                INC      DPTR
+0015B7 E0                MOVX     A,@DPTR
+0015B8 B40F08            CJNE     A,#0FH,?C0032?SYS
+0015BB A3                INC      DPTR
+0015BC E0                MOVX     A,@DPTR
+0015BD 640F              XRL      A,#0FH
+0015BF 7002              JNZ      $ + 4H
+0015C1 E195              AJMP     ?C0058?SYS
+0015C3         ?C0032?SYS:
+  221: 				m_24g_paring_addr[2] != 0x0f || m_24g_paring_addr[3] != 0x0f)
+  222: 				{
+  223: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
+0015C3 904C83            MOV      DPTR,#g_variable
+0015C6 7402              MOV      A,#02H
+0015C8 F0                MOVX     @DPTR,A
+  224: 					YC_update_eeprom_data();
+0015C9 0219ED            LJMP     YC_update_eeprom_data
+  225: 				}
+  226: 		}
+0015CC         ?C0030?SYS:
+  227: 		else
+  228: 		{
+  229: 			if(!g_variable.powerOn_timer);
+0015CC 904CAD            MOV      DPTR,#g_variable+02AH
+0015CF E0                MOVX     A,@DPTR
+0015D0 6002              JZ       $ + 4H
+0015D2 E195              AJMP     ?C0058?SYS
+  230: 			//GPIO_Setout(num0_led,LED_OFF);
+  231: 		}
+  232: 		break;
+0015D4 22                RET      
+  233: 	
+  234: 	case IPC_EVT_24G_ATTEMPT_FAIL:	
+0015D5         ?C0035?SYS:
+  235: 		g_variable.g24_currentState =  CHANGE_TO_24G_DISCONNECTED;
+0015D5 E4                CLR      A
+0015D6 904C89            MOV      DPTR,#g_variable+06H
+0015D9 F0                MOVX     @DPTR,A
+  236: 		g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
+0015DA A3                INC      DPTR
+0015DB F0                MOVX     @DPTR,A
+  237: 		g_variable.sleepTimer = 0;
+0015DC 904CAB            MOV      DPTR,#g_variable+028H
+0015DF F0                MOVX     @DPTR,A
+0015E0 A3                INC      DPTR
+0015E1 F0                MOVX     @DPTR,A
+  238: 		g_variable.release_data = 1;
+0015E2 904CB4            MOV      DPTR,#g_variable+031H
+0015E5 04                INC      A
 0015E6 F0                MOVX     @DPTR,A
-  440: 		g_variable.br_currentState = CHANGE_TO_BR_DISCONNECT;
-0015E7 E4                CLR      A
-0015E8 A3                INC      DPTR
-0015E9 F0                MOVX     @DPTR,A
-  441: 		g_variable.br_currentSubState = CHANGE_TO_BR_SUB_NONE;
-0015EA A3                INC      DPTR
-0015EB F0                MOVX     @DPTR,A
-  442: 		IPC_TxControlCmd(IPC_CMD_STOP_ADV);
-0015EC 7F0E              MOV      R7,#0EH
-0015EE 11AD              ACALL    _IPC_TxControlCmd
-  443: 		IPC_TxControlCmd(IPC_CMD_STOP_DISCOVERY);
-0015F0 7F02              MOV      R7,#02H
-0015F2 11AD              ACALL    _IPC_TxControlCmd
-  444: 		if(g_variable.pairing_timeout)
-0015F4 904CE9            MOV      DPTR,#g_variable+02AH
-0015F7 E0                MOVX     A,@DPTR
-0015F8 6034              JZ       ?C0041?SYS
-  445: 		{
-  446: 			fn_lock_flag = 0;
-0015FA E4                CLR      A
-0015FB 904DEA            MOV      DPTR,#fn_lock_flag
-0015FE F0                MOVX     @DPTR,A
-  447: 			g_variable.system_mode = OSMODE_WINDOWS;
-0015FF 904CC1            MOV      DPTR,#g_variable+02H
-001602 F0                MOVX     @DPTR,A
-  448: 			bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
-001603 904CC3            MOV      DPTR,#g_variable+04H
-001606 E0                MOVX     A,@DPTR
-001607 75F01F            MOV      B,#01FH
-00160A A4                MUL      AB
-00160B 24F0              ADD      A,#LOW bd_key_record_list-02H
-00160D F582              MOV      DPL,A
-00160F E4                CLR      A
-001610 344D              ADDC     A,#HIGH bd_key_record_list-02H
-001612 F583              MOV      DPH,A
-001614 E4                CLR      A
-001615 F0                MOVX     @DPTR,A
-  449: 			bd_key_record_list[g_variable.current_device_num - 1].fn_lock = fn_lock_flag;
-001616 904DEA            MOV      DPTR,#fn_lock_flag
-001619 E0                MOVX     A,@DPTR
-00161A FF                MOV      R7,A
-00161B 904CC3            MOV      DPTR,#g_variable+04H
+  239: 
+  240: 		if (m_24g_addr[0] == 0x0f && m_24g_addr[1] == 0x0f && m_24g_addr[2] == 0x0f && m_24g_addr[3] == 0x0f)
+0015E7 904C00            MOV      DPTR,#m_24g_addr
+0015EA E0                MOVX     A,@DPTR
+0015EB B40F13            CJNE     A,#0FH,?C0036?SYS
+0015EE A3                INC      DPTR
+0015EF E0                MOVX     A,@DPTR
+0015F0 B40F0E            CJNE     A,#0FH,?C0036?SYS
+0015F3 A3                INC      DPTR
+0015F4 E0                MOVX     A,@DPTR
+0015F5 B40F09            CJNE     A,#0FH,?C0036?SYS
+0015F8 A3                INC      DPTR
+0015F9 E0                MOVX     A,@DPTR
+0015FA B40F04            CJNE     A,#0FH,?C0036?SYS
+  241: 		{
+  242: 			YC_key_action_handle(KEY_PAIRING_24G);
+0015FD 7F0A              MOV      R7,#0AH
+0015FF 21E2              AJMP     _YC_key_action_handle
+  243: 			break;
+  244: 		}
+001601         ?C0036?SYS:
+  245: 
+  246: 		if (g_variable.key_action != KEY_NONE)
+001601 904CB6            MOV      DPTR,#g_variable+033H
+001604 E0                MOVX     A,@DPTR
+001605 6009              JZ       ?C0037?SYS
+  247: 		{
+  248: 			YC_clear_reconnect_flag();
+001607 F1E6              ACALL    YC_clear_reconnect_flag
+  249: 			YC_key_action_handle(g_variable.key_action);
+001609 904CB6            MOV      DPTR,#g_variable+033H
+00160C E0                MOVX     A,@DPTR
+00160D FF                MOV      R7,A
+00160E 21E2              AJMP     _YC_key_action_handle
+  250: 			break;
+  251: 		}
+001610         ?C0037?SYS:
+  252: 
+  253: 		if (g_variable.lockLpm == 1)
+001610 904CB5            MOV      DPTR,#g_variable+032H
+001613 E0                MOVX     A,@DPTR
+001614 B40104            CJNE     A,#01H,?C0038?SYS
+  254: 		{
+  255: 			g_variable.lockLpm =0;
+001617 E4                CLR      A
+001618 F0                MOVX     @DPTR,A
+  256: 			System_long_sleep();
+001619 E196              AJMP     System_long_sleep
+  257: 			break;
+  258: 		}
+00161B         ?C0038?SYS:
+  259: 		if (g_variable.recon_count != 0)
+00161B 904CB9            MOV      DPTR,#g_variable+036H
 00161E E0                MOVX     A,@DPTR
-00161F 75F01F            MOV      B,#01FH
-001622 A4                MUL      AB
-001623 24F1              ADD      A,#LOW bd_key_record_list-01H
-001625 F582              MOV      DPL,A
-001627 E4                CLR      A
-001628 344D              ADDC     A,#HIGH bd_key_record_list-01H
-00162A F583              MOV      DPH,A
-00162C EF                MOV      A,R7
-00162D F0                MOVX     @DPTR,A
-  450: 		}
-00162E         ?C0041?SYS:
-  451: 		if(!ble_reconnect_flag)
-00162E 904DE8            MOV      DPTR,#ble_reconnect_flag
-001631 E0                MOVX     A,@DPTR
-001632 7006              JNZ      ?C0042?SYS
-  452: 			ble_send_secutiry_request_timer = 20;
-001634 904DD5            MOV      DPTR,#ble_send_secutiry_request_timer
-001637 7414              MOV      A,#014H
+00161F 7002              JNZ      $ + 4H
+001621 E195              AJMP     ?C0058?SYS
+  260: 		{
+  261: 			YC_load_record_list(recon_index);
+001623 904DD7            MOV      DPTR,#recon_index
+001626 E0                MOVX     A,@DPTR
+001627 FF                MOV      R7,A
+001628 020737            LJMP     _YC_load_record_list
+  262: 		}
+  263: 		break;
+  264: 
+  265: 
+  266: 
+  267: // BT 4.2 event
+  268: 	case IPC_EVT_LE_CONNECTED:
+00162B         ?C0040?SYS:
+  269: 		g_variable.ble_currentState = CHANGE_TO_BLE_CONNECTING;
+00162B 904C8B            MOV      DPTR,#g_variable+08H
+00162E 7403              MOV      A,#03H
+001630 F0                MOVX     @DPTR,A
+  270: 		g_variable.ble_currentSubState = CHANGE_TO_BLE_SUB_INIT;
+001631 A3                INC      DPTR
+001632 7401              MOV      A,#01H
+001634 F0                MOVX     @DPTR,A
+  271: 		g_variable.br_currentState = CHANGE_TO_BR_DISCONNECT;
+001635 E4                CLR      A
+001636 A3                INC      DPTR
+001637 F0                MOVX     @DPTR,A
+  272: 		g_variable.br_currentSubState = CHANGE_TO_BR_SUB_NONE;
+001638 A3                INC      DPTR
 001639 F0                MOVX     @DPTR,A
-00163A         ?C0042?SYS:
-  453: 		if(!g_variable.powerOn_timer)
-00163A 904CE5            MOV      DPTR,#g_variable+026H
-00163D E0                MOVX     A,@DPTR
-00163E 7003              JNZ      ?C0043?SYS
-  454: 			LED_device_poweroff();
-001640 122EC1            LCALL    LED_device_poweroff
-001643         ?C0043?SYS:
-  455: 		g_variable.pairing_timeout = 0;
-001643 E4                CLR      A
-001644 904CE9            MOV      DPTR,#g_variable+02AH
-001647 F0                MOVX     @DPTR,A
-  456: 		g_variable.sleepTimer = 0;
-001648 904CE3            MOV      DPTR,#g_variable+024H
-00164B F0                MOVX     @DPTR,A
-00164C A3                INC      DPTR
-00164D F0                MOVX     @DPTR,A
-  457: 		break;
-00164E 22                RET      
-  458: 	case IPC_EVT_LE_PROTOCOL_CONNECTED:
-00164F         ?C0044?SYS:
-  459: 	    	g_variable.ble_currentState = CHANGE_TO_BLE_CONNECTED;
-00164F 904CC7            MOV      DPTR,#g_variable+08H
-001652 7404              MOV      A,#04H
-001654 F0                MOVX     @DPTR,A
-  460: 		g_variable.ble_currentSubState = CHANGE_TO_BLE_SUB_NONE;
-001655 E4                CLR      A
-001656 A3                INC      DPTR
-001657 F0                MOVX     @DPTR,A
-  461: 		YC_clear_reconnect_flag();
-001658 1218DD            LCALL    YC_clear_reconnect_flag
-  462: 		g_variable.release_data = 0;
-00165B E4                CLR      A
-00165C 904CEB            MOV      DPTR,#g_variable+02CH
-00165F F0                MOVX     @DPTR,A
-  463: 		le_send_battery_level_delay_count = 10;
-001660 904DDE            MOV      DPTR,#le_send_battery_level_delay_count
-001663 740A              MOV      A,#0AH
+  273: 		IPC_TxControlCmd(IPC_CMD_STOP_ADV);
+00163A 7F0E              MOV      R7,#0EH
+00163C 71C9              ACALL    _IPC_TxControlCmd
+  274: 		IPC_TxControlCmd(IPC_CMD_STOP_DISCOVERY);
+00163E 7F02              MOV      R7,#02H
+001640 71C9              ACALL    _IPC_TxControlCmd
+  275: 		if(g_variable.pairing_timeout)
+001642 904CB1            MOV      DPTR,#g_variable+02EH
+001645 E0                MOVX     A,@DPTR
+001646 7002              JNZ      ?C0174?SYS
+001648 A3                INC      DPTR
+001649 E0                MOVX     A,@DPTR
+00164A         ?C0174?SYS:
+00164A 601A              JZ       ?C0041?SYS
+  276: 		{
+  277: 			fn_lock_flag = 0;
+00164C E4                CLR      A
+00164D 904DEC            MOV      DPTR,#fn_lock_flag
+001650 F0                MOVX     @DPTR,A
+  278: 			//bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
+  279: 			bd_key_record_list[g_variable.current_device_num - 1].fn_lock = fn_lock_flag;
+001651 E0                MOVX     A,@DPTR
+001652 FF                MOV      R7,A
+001653 904C87            MOV      DPTR,#g_variable+04H
+001656 E0                MOVX     A,@DPTR
+001657 75F01F            MOV      B,#01FH
+00165A A4                MUL      AB
+00165B 24F3              ADD      A,#LOW bd_key_record_list-01H
+00165D F582              MOV      DPL,A
+00165F E4                CLR      A
+001660 344D              ADDC     A,#HIGH bd_key_record_list-01H
+001662 F583              MOV      DPH,A
+001664 EF                MOV      A,R7
 001665 F0                MOVX     @DPTR,A
-  464: 		g_variable.last_device_num = g_variable.current_device_num;
-001666 904CC3            MOV      DPTR,#g_variable+04H
+  280: 		}
+001666         ?C0041?SYS:
+  281: 		if(!ble_reconnect_flag)
+001666 904DEA            MOV      DPTR,#ble_reconnect_flag
 001669 E0                MOVX     A,@DPTR
-00166A 904CC0            MOV      DPTR,#g_variable+01H
-00166D F0                MOVX     @DPTR,A
-  465: 		g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-00166E 904CBF            MOV      DPTR,#g_variable
-001671 7403              MOV      A,#03H
-001673 F0                MOVX     @DPTR,A
-  466: 		break;
-001674 22                RET      
-  467: 	case IPC_EVT_LE_ENC_INFO:
-001675         ?C0045?SYS:
-  468: 		YC_store_record_list(1, g_variable.current_device_num-1);
-001675 904CC3            MOV      DPTR,#g_variable+04H
-001678 E0                MOVX     A,@DPTR
-001679 14                DEC      A
-00167A FD                MOV      R5,A
-00167B 7F01              MOV      R7,#01H
-00167D 120803            LCALL    _YC_store_record_list
-  469: 		g_variable.last_device_num = g_variable.current_device_num;
-001680 904CC3            MOV      DPTR,#g_variable+04H
-001683 E0                MOVX     A,@DPTR
-001684 904CC0            MOV      DPTR,#g_variable+01H
-001687 F0                MOVX     @DPTR,A
-  470: 		g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-001688 904CBF            MOV      DPTR,#g_variable
-00168B 7403              MOV      A,#03H
-00168D F0                MOVX     @DPTR,A
-  471: 		break;
-00168E 22                RET      
-  472: 
-  473: 	case IPC_EVT_LE_PINCODE_REQ:
-00168F         ?C0046?SYS:
-  474: 		le_pin_code = 0;
-00168F 904D39            MOV      DPTR,#le_pin_code
-001692 120582            LCALL    ?C?LSTKXDATA
-001695 00                DB       00H
-001696 00                DB       00H
-001697 00                DB       00H
-001698 00                DB       00H
-  475: 		le_pin_code_len = 0;
-001699 E4                CLR      A
-00169A 904DD8            MOV      DPTR,#le_pin_code_len
-00169D F0                MOVX     @DPTR,A
-  476: 		pinCode_flag = 1;
-00169E 904DE1            MOV      DPTR,#pinCode_flag
-0016A1 04                INC      A
-0016A2 F0                MOVX     @DPTR,A
-  477: 		g_variable.ble_currentSubState =  CHANGE_TO_BLE_SUB_PINCODE;
-0016A3 904CC8            MOV      DPTR,#g_variable+09H
-0016A6 04                INC      A
-0016A7 F0                MOVX     @DPTR,A
-  478: 		g_variable.ble_currentState = CHANGE_TO_BLE_CONNECTING;
-0016A8 904CC7            MOV      DPTR,#g_variable+08H
-0016AB 04                INC      A
-0016AC F0                MOVX     @DPTR,A
-  479: 		break;
-0016AD 22                RET      
-  480: 		
-  481: 	case IPC_EVT_LE_DISCONNECTED:	
-0016AE         ?C0047?SYS:
-  482: 		g_variable.history_state = g_variable.ble_currentState ;
-0016AE 904CC7            MOV      DPTR,#g_variable+08H
-0016B1 E0                MOVX     A,@DPTR
-0016B2 904CCB            MOV      DPTR,#g_variable+0CH
-0016B5 F0                MOVX     @DPTR,A
-  483: 		g_variable.ble_currentState = CHANGE_TO_BLE_DISCONNECT;
-0016B6 E4                CLR      A
-0016B7 904CC7            MOV      DPTR,#g_variable+08H
-0016BA F0                MOVX     @DPTR,A
-  484: 		g_variable.ble_currentSubState = CHANGE_TO_BLE_SUB_NONE;
-0016BB A3                INC      DPTR
+00166A 7006              JNZ      ?C0042?SYS
+  282: 			ble_send_secutiry_request_timer = 20;
+00166C 904DD5            MOV      DPTR,#ble_send_secutiry_request_timer
+00166F 7414              MOV      A,#014H
+001671 F0                MOVX     @DPTR,A
+001672         ?C0042?SYS:
+  283: 		if(!g_variable.powerOn_timer)
+001672 904CAD            MOV      DPTR,#g_variable+02AH
+001675 E0                MOVX     A,@DPTR
+001676 7003              JNZ      ?C0043?SYS
+  284: 			LED_device_poweroff();
+001678 123381            LCALL    LED_device_poweroff
+00167B         ?C0043?SYS:
+  285: 		g_variable.pairing_succed_timeout = KB_PAIRING_SUCCED_TIMER;
+00167B 904CCE            MOV      DPTR,#g_variable+04BH
+00167E 7406              MOV      A,#06H
+001680 F0                MOVX     @DPTR,A
+  286: 		g_variable.ancs_connect_star_flag =1;
+001681 904CD4            MOV      DPTR,#g_variable+051H
+001684 7401              MOV      A,#01H
+001686 F0                MOVX     @DPTR,A
+  287: 		g_variable.switch_device_led_timer = 0;			
+001687 E4                CLR      A
+001688 904CCD            MOV      DPTR,#g_variable+04AH
+00168B F0                MOVX     @DPTR,A
+  288: 		g_variable.pairing_timeout = 0;
+00168C 904CB1            MOV      DPTR,#g_variable+02EH
+00168F F0                MOVX     @DPTR,A
+001690 A3                INC      DPTR
+001691 F0                MOVX     @DPTR,A
+  289: 		g_variable.sleepTimer = 0;
+001692 904CAB            MOV      DPTR,#g_variable+028H
+001695 F0                MOVX     @DPTR,A
+001696 A3                INC      DPTR
+001697 F0                MOVX     @DPTR,A
+  290: 		break;
+001698 22                RET      
+  291: 	case IPC_EVT_LE_PROTOCOL_CONNECTED:
+001699         ?C0044?SYS:
+  292: 	    	g_variable.ble_currentState = CHANGE_TO_BLE_CONNECTED;
+001699 904C8B            MOV      DPTR,#g_variable+08H
+00169C 7404              MOV      A,#04H
+00169E F0                MOVX     @DPTR,A
+  293: 		g_variable.ble_currentSubState = CHANGE_TO_BLE_SUB_NONE;
+00169F E4                CLR      A
+0016A0 A3                INC      DPTR
+0016A1 F0                MOVX     @DPTR,A
+  294: 		YC_clear_reconnect_flag();
+0016A2 F1E6              ACALL    YC_clear_reconnect_flag
+  295: 		g_variable.release_data = 0;
+0016A4 E4                CLR      A
+0016A5 904CB4            MOV      DPTR,#g_variable+031H
+0016A8 F0                MOVX     @DPTR,A
+  296: 		le_send_battery_level_delay_count = 10;
+0016A9 904DDF            MOV      DPTR,#le_send_battery_level_delay_count
+0016AC 740A              MOV      A,#0AH
+0016AE F0                MOVX     @DPTR,A
+  297: 		g_variable.last_device_num = g_variable.current_device_num;
+0016AF 904C87            MOV      DPTR,#g_variable+04H
+0016B2 E0                MOVX     A,@DPTR
+0016B3 904C84            MOV      DPTR,#g_variable+01H
+0016B6 F0                MOVX     @DPTR,A
+  298: 		g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+0016B7 904C83            MOV      DPTR,#g_variable
+0016BA 7403              MOV      A,#03H
 0016BC F0                MOVX     @DPTR,A
-  485: 		g_variable.release_data = 1;
-0016BD 904CEB            MOV      DPTR,#g_variable+02CH
-0016C0 04                INC      A
-0016C1 F0                MOVX     @DPTR,A
-  486: 		m_le_send_security_request_flag = 0;
-0016C2 E4                CLR      A
-0016C3 904D3D            MOV      DPTR,#m_le_send_security_request_flag
-0016C6 F0                MOVX     @DPTR,A
-  487: 		if (g_variable.lockLpm == 1)
-0016C7 904CEC            MOV      DPTR,#g_variable+02DH
-0016CA E0                MOVX     A,@DPTR
-0016CB B40104            CJNE     A,#01H,?C0048?SYS
-  488: 		{
-  489: 			g_variable.lockLpm =0;
-0016CE E4                CLR      A
-0016CF F0                MOVX     @DPTR,A
-  490: 			System_long_sleep();
-0016D0 E1BD              AJMP     System_long_sleep
-  491: 			break;
-  492: 		}
-0016D2         ?C0048?SYS:
-  493: 
-  494: 		if (g_variable.key_action != KEY_NONE)
-0016D2 904CED            MOV      DPTR,#g_variable+02EH
-0016D5 E0                MOVX     A,@DPTR
-0016D6 6003              JZ       ?C0049?SYS
-  495: 		{
-  496: 			YC_key_action_handle(g_variable.key_action);
-0016D8 FF                MOV      R7,A
-0016D9 01D7              AJMP     _YC_key_action_handle
-  497: 			break;
-  498: 		}
-0016DB         ?C0049?SYS:
-  499: 
-  500: 
-  501: 		if (g_variable.recon_count != 0)
-0016DB 904CF0            MOV      DPTR,#g_variable+031H
-0016DE E0                MOVX     A,@DPTR
-0016DF 6008              JZ       ?C0050?SYS
-  502: 		{
-  503: 			YC_load_record_list(recon_index);
-0016E1 904DD7            MOV      DPTR,#recon_index
-0016E4 E0                MOVX     A,@DPTR
-0016E5 FF                MOV      R7,A
-0016E6 020737            LJMP     _YC_load_record_list
-  504: 			break;
-  505: 		}
-0016E9         ?C0050?SYS:
-  506: 
-  507: 		System_long_sleep();		
-0016E9 F1BD              ACALL    System_long_sleep
-  508: 		g_variable.sleepTimer = 0;
-0016EB E4                CLR      A
-0016EC 904CE3            MOV      DPTR,#g_variable+024H
-0016EF F0                MOVX     @DPTR,A
-0016F0 A3                INC      DPTR
-0016F1 F0                MOVX     @DPTR,A
-  509: 		break;
-  510: 	}
-  511: }
-0016F2         ?C0051?SYS:
-0016F2 22                RET      
+  299: 		break;
+0016BD 22                RET      
+  300: 	case IPC_EVT_LE_ENC_INFO:
+0016BE         ?C0045?SYS:
+  301: 		YC_store_record_list(1, g_variable.current_device_num-1);
+0016BE 904C87            MOV      DPTR,#g_variable+04H
+0016C1 E0                MOVX     A,@DPTR
+0016C2 14                DEC      A
+0016C3 FD                MOV      R5,A
+0016C4 7F01              MOV      R7,#01H
+0016C6 120803            LCALL    _YC_store_record_list
+  302: 		g_variable.last_device_num = g_variable.current_device_num;
+0016C9 904C87            MOV      DPTR,#g_variable+04H
+0016CC E0                MOVX     A,@DPTR
+0016CD 904C84            MOV      DPTR,#g_variable+01H
+0016D0 F0                MOVX     @DPTR,A
+  303: 		g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+0016D1 904C83            MOV      DPTR,#g_variable
+0016D4 7403              MOV      A,#03H
+0016D6 F0                MOVX     @DPTR,A
+  304: 		break;
+0016D7 22                RET      
+  305: 
+  306: 	case IPC_EVT_LE_PINCODE_REQ:
+0016D8         ?C0046?SYS:
+  307: 		le_pin_code = 0;
+0016D8 904CE8            MOV      DPTR,#le_pin_code
+0016DB 120582            LCALL    ?C?LSTKXDATA
+0016DE 00                DB       00H
+0016DF 00                DB       00H
+0016E0 00                DB       00H
+0016E1 00                DB       00H
+  308: 		le_pin_code_len = 0;
+0016E2 E4                CLR      A
+0016E3 904DD8            MOV      DPTR,#le_pin_code_len
+0016E6 F0                MOVX     @DPTR,A
+  309: 		pinCode_flag = 1;
+0016E7 904DE2            MOV      DPTR,#pinCode_flag
+0016EA 04                INC      A
+0016EB F0                MOVX     @DPTR,A
+  310: 		g_variable.ble_currentSubState =  CHANGE_TO_BLE_SUB_PINCODE;
+0016EC 904C8C            MOV      DPTR,#g_variable+09H
+0016EF 04                INC      A
+0016F0 F0                MOVX     @DPTR,A
+  311: 		g_variable.ble_currentState = CHANGE_TO_BLE_CONNECTING;
+0016F1 904C8B            MOV      DPTR,#g_variable+08H
+0016F4 04                INC      A
+0016F5 F0                MOVX     @DPTR,A
+  312: 		break;
+0016F6 22                RET      
+  313: 		
+  314: 	case IPC_EVT_LE_DISCONNECTED:	
+0016F7         ?C0047?SYS:
+  315: 		g_variable.history_state = g_variable.ble_currentState ;
+0016F7 904C8B            MOV      DPTR,#g_variable+08H
+0016FA E0                MOVX     A,@DPTR
+0016FB 904C8F            MOV      DPTR,#g_variable+0CH
+0016FE F0                MOVX     @DPTR,A
+  316: 		g_variable.ble_currentState = CHANGE_TO_BLE_DISCONNECT;
+0016FF E4                CLR      A
+001700 904C8B            MOV      DPTR,#g_variable+08H
+001703 F0                MOVX     @DPTR,A
+  317: 		g_variable.ble_currentSubState = CHANGE_TO_BLE_SUB_NONE;
+001704 A3                INC      DPTR
+001705 F0                MOVX     @DPTR,A
+  318: 		g_variable.release_data = 1;
+001706 904CB4            MOV      DPTR,#g_variable+031H
+001709 04                INC      A
+00170A F0                MOVX     @DPTR,A
+  319: 		m_le_send_security_request_flag = 0;
+00170B E4                CLR      A
+00170C 904CEC            MOV      DPTR,#m_le_send_security_request_flag
+00170F F0                MOVX     @DPTR,A
+  320: 		if (g_variable.lockLpm == 1)
+001710 904CB5            MOV      DPTR,#g_variable+032H
+001713 E0                MOVX     A,@DPTR
+001714 B40104            CJNE     A,#01H,?C0048?SYS
+  321: 		{
+  322: 			g_variable.lockLpm =0;
+001717 E4                CLR      A
+001718 F0                MOVX     @DPTR,A
+  323: 			System_long_sleep();
+001719 807B              SJMP     System_long_sleep
+  324: 			break;
+  325: 		}
+00171B         ?C0048?SYS:
+  326: 
+  327: 		if (g_variable.key_action != KEY_NONE)
+00171B 904CB6            MOV      DPTR,#g_variable+033H
+00171E E0                MOVX     A,@DPTR
+00171F 6003              JZ       ?C0049?SYS
+  328: 		{
+  329: 			YC_key_action_handle(g_variable.key_action);
+001721 FF                MOV      R7,A
+001722 21E2              AJMP     _YC_key_action_handle
+  330: 			break;
+  331: 		}
+001724         ?C0049?SYS:
+  332: 
+  333: 
+  334: 		if (g_variable.recon_count != 0)
+001724 904CB9            MOV      DPTR,#g_variable+036H
+001727 E0                MOVX     A,@DPTR
+001728 6008              JZ       ?C0050?SYS
+  335: 		{
+  336: 			YC_load_record_list(recon_index);
+00172A 904DD7            MOV      DPTR,#recon_index
+00172D E0                MOVX     A,@DPTR
+00172E FF                MOV      R7,A
+00172F 020737            LJMP     _YC_load_record_list
+  337: 			break;
+  338: 		}
+001732         ?C0050?SYS:
+  339: 
+  340: 		System_long_sleep();		
+001732 F196              ACALL    System_long_sleep
+  341: 		g_variable.sleepTimer = 0;
+001734 E4                CLR      A
+001735 904CAB            MOV      DPTR,#g_variable+028H
+001738 F0                MOVX     @DPTR,A
+001739 A3                INC      DPTR
+00173A F0                MOVX     @DPTR,A
+  342: 		break;
+00173B 22                RET      
+  343: 	case IPC_EVT_ANCS_AUTO_SYSTEM:
+00173C         ?C0051?SYS:
+  344: 		m_le_ancs_req = 0;
+00173C E4                CLR      A
+00173D 904D5E            MOV      DPTR,#m_le_ancs_req
+001740 F0                MOVX     @DPTR,A
+  345: 		switch(m_le_system_4type)
+001741 904D3D            MOV      DPTR,#m_le_system_4type
+001744 E0                MOVX     A,@DPTR
+001745 24FD              ADD      A,#0FDH
+001747 6011              JZ       ?C0054?SYS
+001749 14                DEC      A
+00174A 6016              JZ       ?C0055?SYS
+00174C 14                DEC      A
+00174D 601B              JZ       ?C0056?SYS
+00174F 2403              ADD      A,#03H
+001751 701F              JNZ      ?C0057?SYS
+  346: 		{
+  347: 			case ANCS_WINDOWS:
+001753         ?C0053?SYS:
+  348: 				g_variable.system_mode = OSMODE_WINDOWS;
+001753 E4                CLR      A
+001754 904C85            MOV      DPTR,#g_variable+02H
+001757 F0                MOVX     @DPTR,A
+  349: 				break;
+001758 801D              SJMP     ?C0052?SYS
+  350: 			case ANCS_ANDROID:
+00175A         ?C0054?SYS:
+  351: 				g_variable.system_mode = OSMODE_ANDROID;
+00175A 904C85            MOV      DPTR,#g_variable+02H
+00175D 7401              MOV      A,#01H
+00175F F0                MOVX     @DPTR,A
+  352: 				break;
+001760 8015              SJMP     ?C0052?SYS
+  353: 			case ANCS_IOS:
+001762         ?C0055?SYS:
+  354: 				g_variable.system_mode = OSMODE_IOS;
+001762 904C85            MOV      DPTR,#g_variable+02H
+001765 7404              MOV      A,#04H
+001767 F0                MOVX     @DPTR,A
+  355: 				break;
+001768 800D              SJMP     ?C0052?SYS
+  356: 			case ANCS_MAC:
+00176A         ?C0056?SYS:
+  357: 				g_variable.system_mode = OSMODE_MAC;
+00176A 904C85            MOV      DPTR,#g_variable+02H
+00176D 7403              MOV      A,#03H
+00176F F0                MOVX     @DPTR,A
+  358: 				break;
+001770 8005              SJMP     ?C0052?SYS
+  359: 			default:
+001772         ?C0057?SYS:
+  360: 				g_variable.system_mode = OSMODE_WINDOWS;
+001772 E4                CLR      A
+001773 904C85            MOV      DPTR,#g_variable+02H
+001776 F0                MOVX     @DPTR,A
+  361: 				break;
+  362: 		}
+001777         ?C0052?SYS:
+  363: 		bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
+001777 904C85            MOV      DPTR,#g_variable+02H
+00177A E0                MOVX     A,@DPTR
+00177B FF                MOV      R7,A
+00177C 904C87            MOV      DPTR,#g_variable+04H
+00177F E0                MOVX     A,@DPTR
+001780 75F01F            MOV      B,#01FH
+001783 A4                MUL      AB
+001784 24F2              ADD      A,#LOW bd_key_record_list-02H
+001786 F582              MOV      DPL,A
+001788 E4                CLR      A
+001789 344D              ADDC     A,#HIGH bd_key_record_list-02H
+00178B F583              MOV      DPH,A
+00178D EF                MOV      A,R7
+00178E F0                MOVX     @DPTR,A
+  364: 		g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;	
+00178F 904C83            MOV      DPTR,#g_variable
+001792 7403              MOV      A,#03H
+001794 F0                MOVX     @DPTR,A
+  365: 		break;			
+  366: 	}
+  367: }
+001795         ?C0058?SYS:
+001795 22                RET      
 ----- FUNCTION _kb_cb_event (END) -------
 
 
------ FUNCTION _Delay1ms (BEGIN) -----
-;---- Variable 'Time' assigned to Register 'R7' ----
-0016F3         ?C0014?UTILITIES:
-0016F3 EF                MOV      A,R7
-0016F4 D3                SETB     C
-0016F5 9400              SUBB     A,#00H
-0016F7 4011              JC       ?C0020?UTILITIES
-;---- Variable 'j' assigned to Register 'R4/R5' ----
-0016F9 E4                CLR      A
-0016FA FD                MOV      R5,A
-0016FB FC                MOV      R4,A
-0016FC         ?C0017?UTILITIES:
-0016FC 0D                INC      R5
-0016FD BD0001            CJNE     R5,#00H,?C0028?UTILITIES
-001700 0C                INC      R4
-001701         ?C0028?UTILITIES:
-001701 BC04F8            CJNE     R4,#04H,?C0017?UTILITIES
-001704 BDA6F5            CJNE     R5,#0A6H,?C0017?UTILITIES
-001707         ?C0016?UTILITIES:
-001707 1F                DEC      R7
-001708 80E9              SJMP     ?C0014?UTILITIES
-00170A         ?C0020?UTILITIES:
-00170A 22                RET      
------ FUNCTION _Delay1ms (END) -------
+----- FUNCTION System_long_sleep (BEGIN) -----
+ FILE: 'sys.c'
+   85: void System_long_sleep()
+   86: { 
+   87: 	m_reconnect_continue = 0;
+   88: 	IPC_TxControlCmd(IPC_CMD_ENTER_HIBERNATE);
+001796 E4                CLR      A
+001797 904CE7            MOV      DPTR,#m_reconnect_continue
+00179A F0                MOVX     @DPTR,A
+   89: }
+00179B 7F19              MOV      R7,#019H
+00179D 61C9              AJMP     _IPC_TxControlCmd
+----- FUNCTION System_long_sleep (END) -------
 
 
------ FUNCTION YC_start_reconnect (BEGIN) -----
- FILE: 'bluetooth.c'
-  188: void YC_start_reconnect()
-  189: {
-  190: 	power_on_flag = 2;
-  191: 
-00170B 904DEE            MOV      DPTR,#power_on_flag
-00170E 7402              MOV      A,#02H
-001710 F0                MOVX     @DPTR,A
-  192: 	IIC_Read(EEPROM_RECON_INFO_BASE ,sizeof(BD_KEY_RECORD)*3, (byte *)bd_key_record_list);
-001711 7B01              MOV      R3,#01H
-001713 7A4D              MOV      R2,#HIGH bd_key_record_list
-001715 79F2              MOV      R1,#LOW bd_key_record_list
-001717 7D5D              MOV      R5,#05DH
-001719 7C00              MOV      R4,#00H
-00171B 7F60              MOV      R7,#060H
-00171D 7E7F              MOV      R6,#07FH
-00171F 121941            LCALL    _IIC_Read
-  193: 	Delay1ms(10);
-001722 7F0A              MOV      R7,#0AH
-001724 D1F3              ACALL    _Delay1ms
-  194: 	IIC_Read(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
-001726 7B01              MOV      R3,#01H
-001728 7A4C              MOV      R2,#HIGH m_24g_addr
-00172A 7900              MOV      R1,#LOW m_24g_addr
-00172C 7D04              MOV      R5,#04H
-00172E 7C00              MOV      R4,#00H
-001730 7F52              MOV      R7,#052H
-001732 7E7F              MOV      R6,#07FH
-001734 121941            LCALL    _IIC_Read
-  195: 	Delay1ms(10);
-001737 7F0A              MOV      R7,#0AH
-001739 D1F3              ACALL    _Delay1ms
-  196: 	IIC_Read(EEPROM_RECON_INFO_G24_FN_LOCK ,1 ,(byte *)&fn_lock_flag);
-00173B 7B01              MOV      R3,#01H
-00173D 7A4D              MOV      R2,#HIGH fn_lock_flag
-00173F 79EA              MOV      R1,#LOW fn_lock_flag
-001741 7D01              MOV      R5,#01H
-001743 7C00              MOV      R4,#00H
-001745 7F56              MOV      R7,#056H
-001747 7E7F              MOV      R6,#07FH
-001749 121941            LCALL    _IIC_Read
-  197: 	Delay1ms(10);
-00174C 7F0A              MOV      R7,#0AH
-00174E D1F3              ACALL    _Delay1ms
-  198: 	IIC_Read(EEPROM_RECON_INFO_G24_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
-001750 7B01              MOV      R3,#01H
-001752 7A4C              MOV      R2,#HIGH g_variable+02H
-001754 79C1              MOV      R1,#LOW g_variable+02H
-001756 7D01              MOV      R5,#01H
-001758 7C00              MOV      R4,#00H
-00175A 7F57              MOV      R7,#057H
-00175C 7E7F              MOV      R6,#07FH
-00175E 121941            LCALL    _IIC_Read
-  199: 	Delay1ms(10);
-001761 7F0A              MOV      R7,#0AH
-001763 D1F3              ACALL    _Delay1ms
-  200: 	
-  201: 	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
-001765 904CC3            MOV      DPTR,#g_variable+04H
-001768 E0                MOVX     A,@DPTR
-001769 FF                MOV      R7,A
-00176A D3                SETB     C
-00176B 9403              SUBB     A,#03H
-00176D 5033              JNC      ?C0031?BLUETOOTH
-00176F EF                MOV      A,R7
-001770 C3                CLR      C
-001771 9401              SUBB     A,#01H
-001773 402D              JC       ?C0031?BLUETOOTH
-  202: 	{
-  203: 		g_variable.system_mode = bd_key_record_list[g_variable.current_device_num - 1].system_mode;
-001775 EF                MOV      A,R7
-001776 75F01F            MOV      B,#01FH
-001779 A4                MUL      AB
-00177A 24F0              ADD      A,#LOW bd_key_record_list-02H
-00177C F582              MOV      DPL,A
-00177E E4                CLR      A
-00177F 344D              ADDC     A,#HIGH bd_key_record_list-02H
-001781 F583              MOV      DPH,A
-001783 E0                MOVX     A,@DPTR
-001784 904CC1            MOV      DPTR,#g_variable+02H
-001787 F0                MOVX     @DPTR,A
-  204: 		fn_lock_flag = bd_key_record_list[g_variable.current_device_num - 1].fn_lock; 
-001788 904CC3            MOV      DPTR,#g_variable+04H
-00178B E0                MOVX     A,@DPTR
-00178C 75F01F            MOV      B,#01FH
-00178F A4                MUL      AB
-001790 24F1              ADD      A,#LOW bd_key_record_list-01H
-001792 F582              MOV      DPL,A
-001794 E4                CLR      A
-001795 344D              ADDC     A,#HIGH bd_key_record_list-01H
-001797 F583              MOV      DPH,A
-001799 E0                MOVX     A,@DPTR
-00179A 904DEA            MOV      DPTR,#fn_lock_flag
-00179D F0                MOVX     @DPTR,A
-  205: 		YC_key_action_handle(g_variable.current_device_num);
-00179E 11D7              ACALL    _YC_key_action_handle
-  206: 	}
-0017A0 8004              SJMP     ?C0032?BLUETOOTH
-0017A2         ?C0031?BLUETOOTH:
-  207: 	else	
-  208: 	{	
-  209: 		YC_key_action_handle(KEY_START_24G);
-0017A2 7F08              MOV      R7,#08H
-0017A4 11D7              ACALL    _YC_key_action_handle
-  210: 	}
-0017A6         ?C0032?BLUETOOTH:
-  211: 	if(fn_lock_flag > 1)
-0017A6 904DEA            MOV      DPTR,#fn_lock_flag
-0017A9 E0                MOVX     A,@DPTR
-0017AA D3                SETB     C
-0017AB 9401              SUBB     A,#01H
-0017AD 4002              JC       ?C0033?BLUETOOTH
-  212: 		fn_lock_flag = 0;
-0017AF E4                CLR      A
-0017B0 F0                MOVX     @DPTR,A
-0017B1         ?C0033?BLUETOOTH:
-  213: 	if(g_variable.system_mode > OSMODE_IOS)
-0017B1 904CC1            MOV      DPTR,#g_variable+02H
-0017B4 E0                MOVX     A,@DPTR
-0017B5 D3                SETB     C
-0017B6 9402              SUBB     A,#02H
-0017B8 4002              JC       ?C0035?BLUETOOTH
-  214: 	{
-  215: 		g_variable.system_mode = OSMODE_WINDOWS;
-0017BA E4                CLR      A
-0017BB F0                MOVX     @DPTR,A
-  216: 	}	
-  217: }
-0017BC         ?C0035?BLUETOOTH:
-0017BC 22                RET      
------ FUNCTION YC_start_reconnect (END) -------
+----- FUNCTION _GPIO_SetOutput (BEGIN) -----
+ FILE: 'gpio.c'
+   79: void GPIO_SetOutput(byte gpio_num, bit st)
+   80: {
+;---- Variable 'gpio_num' assigned to Register 'R4' ----
+00179F AC07              MOV      R4,AR7
+   81: 	if(gpio_num == 0xff)
+   82: 		return;
+0017A1 EC                MOV      A,R4
+0017A2 F4                CPL      A
+0017A3 6016              JZ       ?C0017?GPIO
+0017A5         ?C0016?GPIO:
+   83: 	GPIO_Setoe(gpio_num, 1);
+0017A5 AF04              MOV      R7,AR4
+0017A7 D204              SETB     ?_GPIO_Setoe?BIT
+0017A9 121FA3            LCALL    _GPIO_Setoe
+   84: 	GPIO_Setout(gpio_num, st);
+0017AC AF04              MOV      R7,AR4
+0017AE A206              MOV      C,st
+0017B0 9201              MOV      ?_GPIO_Setout?BIT,C
+0017B2 31D0              ACALL    _GPIO_Setout
+   85: 	GPIO_SetPu(gpio_num, 0);
+0017B4 AF04              MOV      R7,AR4
+0017B6 C202              CLR      ?_GPIO_SetPu?BIT
+0017B8 121F7F            LCALL    _GPIO_SetPu
+   86: }
+0017BB         ?C0017?GPIO:
+0017BB 22                RET      
+----- FUNCTION _GPIO_SetOutput (END) -------
 
 
------ FUNCTION System_long_sleep (BEGIN) -----
- FILE: 'sys.c'
-   93: void System_long_sleep()
-   94: { 
-   95: 	m_reconnect_continue = 0;
-   96: 	IPC_TxControlCmd(IPC_CMD_ENTER_HIBERNATE);
-0017BD E4                CLR      A
-0017BE 904D38            MOV      DPTR,#m_reconnect_continue
-0017C1 F0                MOVX     @DPTR,A
-   97: }
-0017C2 7F19              MOV      R7,#019H
-0017C4 01AD              AJMP     _IPC_TxControlCmd
------ FUNCTION System_long_sleep (END) -------
+----- FUNCTION LED_all_shutdown (BEGIN) -----
+ FILE: 'led.c'
+    4: void LED_all_shutdown()
+    5: {
+    6: 	GPIO_SetOutput(NUM_LOCK_LED_GPIO,LED_OFF);
+    7: 	GPIO_SetOutput(CAPS_LED_GPIO,LED_OFF);
+0017BC C206              CLR      ?_GPIO_SetOutput?BIT
+0017BE 7F0F              MOV      R7,#0FH
+0017C0 F19F              ACALL    _GPIO_SetOutput
+    8: 	GPIO_SetOutput(num1_led,LED_OFF);
+0017C2 C206              CLR      ?_GPIO_SetOutput?BIT
+0017C4 7F10              MOV      R7,#010H
+0017C6 F19F              ACALL    _GPIO_SetOutput
+    9: 	GPIO_SetOutput(num2_led,LED_OFF);	
+0017C8 C206              CLR      ?_GPIO_SetOutput?BIT
+0017CA 7F1F              MOV      R7,#01FH
+0017CC F19F              ACALL    _GPIO_SetOutput
+   10: 	GPIO_SetOutput(LOWPOWER_LED_GPIO,LED_OFF);
+0017CE C206              CLR      ?_GPIO_SetOutput?BIT
+0017D0 7FFF              MOV      R7,#0FFH
+0017D2 F19F              ACALL    _GPIO_SetOutput
+   11: 	GPIO_SetOutput(num0_led,LED_OFF);
+0017D4 C206              CLR      ?_GPIO_SetOutput?BIT
+0017D6 7F1F              MOV      R7,#01FH
+0017D8 F19F              ACALL    _GPIO_SetOutput
+   12: 	GPIO_SetOutput(num3_led,LED_OFF);
+0017DA C206              CLR      ?_GPIO_SetOutput?BIT
+0017DC 7F1F              MOV      R7,#01FH
+0017DE F19F              ACALL    _GPIO_SetOutput
+   13: }
+0017E0 C206              CLR      ?_GPIO_SetOutput?BIT
+0017E2 7FFF              MOV      R7,#0FFH
+0017E4 80B9              SJMP     _GPIO_SetOutput
+----- FUNCTION LED_all_shutdown (END) -------
 
 
------ FUNCTION YC_disconnect_all_link (BEGIN) -----
+----- FUNCTION YC_clear_reconnect_flag (BEGIN) -----
  FILE: 'bluetooth.c'
-  153: byte YC_disconnect_all_link()
-  154: {
-  155: 	// if (g_variable.br_currentState == CHANGE_TO_BR_CONNECTED 
-  156: 	// 	||g_variable.br_currentState == CHANGE_TO_BR_CONNECTING)
-  157: 	// {
-  158: 	// 	IPC_TxControlCmd(IPC_CMD_DISCONNECT);
-  159: 	// 	return 1;
-  160: 	// }
-  161: 	if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED 
-0017C6 904CC7            MOV      DPTR,#g_variable+08H
-0017C9 E0                MOVX     A,@DPTR
-0017CA FF                MOV      R7,A
-0017CB 6404              XRL      A,#04H
-0017CD 6004              JZ       ?C0024?BLUETOOTH
-0017CF EF                MOV      A,R7
-0017D0 B40307            CJNE     A,#03H,?C0023?BLUETOOTH
-0017D3         ?C0024?BLUETOOTH:
-  162: 		||g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTING)
-  163: 	{
-  164: 		IPC_TxControlCmd(IPC_CMD_LE_DISCONNECT);
-0017D3 7F11              MOV      R7,#011H
-0017D5 11AD              ACALL    _IPC_TxControlCmd
-  165: 		return 1;
-0017D7 7F01              MOV      R7,#01H
-0017D9 22                RET      
-  166: 	}
-0017DA         ?C0023?BLUETOOTH:
-  167: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED 
-0017DA 904CC5            MOV      DPTR,#g_variable+06H
-0017DD E0                MOVX     A,@DPTR
-0017DE FF                MOV      R7,A
-0017DF 6403              XRL      A,#03H
-0017E1 6004              JZ       ?C0027?BLUETOOTH
-0017E3 EF                MOV      A,R7
-0017E4 B40207            CJNE     A,#02H,?C0026?BLUETOOTH
-0017E7         ?C0027?BLUETOOTH:
-  168: 		||g_variable.g24_currentState == CHANGE_TO_24G_CONNECTING)
-  169: 	{
-  170: 		IPC_TxControlCmd(IPC_CMD_STOP_24G);
-0017E7 7F22              MOV      R7,#022H
-0017E9 11AD              ACALL    _IPC_TxControlCmd
-  171: 		return 1;
-0017EB 7F01              MOV      R7,#01H
-0017ED 22                RET      
-  172: 	}
-0017EE         ?C0026?BLUETOOTH:
-  173: 	return 0;
-0017EE 7F00              MOV      R7,#00H
-  174: }
-0017F0 22                RET      
------ FUNCTION YC_disconnect_all_link (END) -------
+  117: void YC_clear_reconnect_flag()  
+  118: {
+  119: 	g_variable.recon_count = 0;
+  120: 	ble_reconnect_flag = 0;
+0017E6 E4                CLR      A
+0017E7 904CB9            MOV      DPTR,#g_variable+036H
+0017EA F0                MOVX     @DPTR,A
+  121: }
+0017EB 904DEA            MOV      DPTR,#ble_reconnect_flag
+0017EE F0                MOVX     @DPTR,A
+  122: 
+0017EF 22                RET      
+----- FUNCTION YC_clear_reconnect_flag (END) -------
 
 
 ----- FUNCTION _GPIO_GetInputStatus (BEGIN) -----
+ FILE: 'gpio.c'
+   37: bool GPIO_GetInputStatus(byte gpio_num)
+   38: {
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-0017F1 7B01              MOV      R3,#01H
-0017F3 7A81              MOV      R2,#081H
-0017F5 791C              MOV      R1,#01CH
+   39: 	return gpioGetBit(gpio_num, &REG_GPIO_IN(0));
+   40: }
+0017F0 7B01              MOV      R3,#01H
+0017F2 7A81              MOV      R2,#081H
+0017F4 791C              MOV      R1,#01CH
 ;----                  JMP      _gpioGetBit
 ----- FUNCTION _GPIO_GetInputStatus (END) -------
 
 
 ----- FUNCTION _gpioGetBit (BEGIN) -----
+ FILE: 'gpio.c'
+   26: static bool gpioGetBit(byte gpio_num, char *reg_base)
+   27: {
 ;---- Variable 'gpio_num' assigned to Register 'R5' ----
-0017F7 AD07              MOV      R5,AR7
+0017F6 AD07              MOV      R5,AR7
 ;---- Variable 'reg_base' assigned to Register 'R1/R2/R3' ----
-0017F9 E4                CLR      A
-0017FA 904F11            MOV      DPTR,#queue
-0017FD F0                MOVX     @DPTR,A
+   28: 	byte queue = 0;
+   29: 	byte group = 0;
+0017F8 E4                CLR      A
+0017F9 904F10            MOV      DPTR,#queue
+0017FC F0                MOVX     @DPTR,A
+   30: 
 ;---- Variable 'group' assigned to Register 'R6' ----
-0017FE FE                MOV      R6,A
-0017FF EF                MOV      A,R7
-001800 5407              ANL      A,#07H
-001802 F0                MOVX     @DPTR,A
-001803 EF                MOV      A,R7
+0017FD FE                MOV      R6,A
+   31: 	queue = (gpio_num & 7);
+0017FE EF                MOV      A,R7
+0017FF 5407              ANL      A,#07H
+001801 F0                MOVX     @DPTR,A
+   32: 	group = gpio_num >> 3 & 3;
+001802 EF                MOV      A,R7
+001803 13                RRC      A
 001804 13                RRC      A
 001805 13                RRC      A
-001806 13                RRC      A
-001807 5403              ANL      A,#03H
-001809 FE                MOV      R6,A
-00180A F582              MOV      DPL,A
-00180C 758300            MOV      DPH,#00H
-00180F 1203CF            LCALL    ?C?CLDOPTR
-001812 FD                MOV      R5,A
-001813 33                RLC      A
-001814 95E0              SUBB     A,ACC
-001816 FC                MOV      R4,A
-001817 904F11            MOV      DPTR,#queue
-00181A E0                MOVX     A,@DPTR
-00181B FF                MOV      R7,A
-00181C 7401              MOV      A,#01H
-00181E 7E00              MOV      R6,#00H
-001820 A807              MOV      R0,AR7
-001822 08                INC      R0
-001823 8005              SJMP     ?C0035?GPIO
-001825         ?C0034?GPIO:
-001825 C3                CLR      C
-001826 33                RLC      A
-001827 CE                XCH      A,R6
-001828 33                RLC      A
-001829 CE                XCH      A,R6
-00182A         ?C0035?GPIO:
-00182A D8F9              DJNZ     R0,?C0034?GPIO
-00182C FF                MOV      R7,A
-00182D EE                MOV      A,R6
-00182E 5C                ANL      A,R4
-00182F FE                MOV      R6,A
-001830 EF                MOV      A,R7
-001831 5D                ANL      A,R5
-001832 4E                ORL      A,R6
-001833 24FF              ADD      A,#0FFH
-001835 22                RET      
+001806 5403              ANL      A,#03H
+001808 FE                MOV      R6,A
+   33: 	return (*(reg_base + group) & (1 << queue));
+001809 F582              MOV      DPL,A
+00180B 758300            MOV      DPH,#00H
+00180E 1203CF            LCALL    ?C?CLDOPTR
+001811 FD                MOV      R5,A
+001812 33                RLC      A
+001813 95E0              SUBB     A,ACC
+001815 FC                MOV      R4,A
+001816 904F10            MOV      DPTR,#queue
+001819 E0                MOVX     A,@DPTR
+00181A FF                MOV      R7,A
+00181B 7401              MOV      A,#01H
+00181D 7E00              MOV      R6,#00H
+00181F A807              MOV      R0,AR7
+001821 08                INC      R0
+001822 8005              SJMP     ?C0035?GPIO
+001824         ?C0034?GPIO:
+001824 C3                CLR      C
+001825 33                RLC      A
+001826 CE                XCH      A,R6
+001827 33                RLC      A
+001828 CE                XCH      A,R6
+001829         ?C0035?GPIO:
+001829 D8F9              DJNZ     R0,?C0034?GPIO
+00182B FF                MOV      R7,A
+00182C EE                MOV      A,R6
+00182D 5C                ANL      A,R4
+00182E FE                MOV      R6,A
+00182F EF                MOV      A,R7
+001830 5D                ANL      A,R5
+001831 4E                ORL      A,R6
+001832 24FF              ADD      A,#0FFH
+   34: 
+   35: }
+001834 22                RET      
 ----- FUNCTION _gpioGetBit (END) -------
 
 
------ FUNCTION YC_check_is_connected (BEGIN) -----
- FILE: 'bluetooth.c'
-   70: byte YC_check_is_connected()
-   71: {
-   72: 	if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED
-   73: 		|| g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
-001836 904CC7            MOV      DPTR,#g_variable+08H
-001839 E0                MOVX     A,@DPTR
-00183A 6404              XRL      A,#04H
-00183C 6007              JZ       ?C0008?BLUETOOTH
-00183E 904CC5            MOV      DPTR,#g_variable+06H
-001841 E0                MOVX     A,@DPTR
-001842 B40303            CJNE     A,#03H,?C0007?BLUETOOTH
-001845         ?C0008?BLUETOOTH:
-   74: 	{
-   75: 		return 1;
-001845 7F01              MOV      R7,#01H
-001847 22                RET      
-   76: 	}
-001848         ?C0007?BLUETOOTH:
-   77: 	return 0;
-001848 7F00              MOV      R7,#00H
-   78: }
-00184A 22                RET      
------ FUNCTION YC_check_is_connected (END) -------
-
-
 ----- FUNCTION YC_check_need_reconnected (BEGIN) -----
  FILE: 'bluetooth.c'
-   80: byte YC_check_need_reconnected()
-   81: {
-   82: 	byte return_val = 0;
-   83: 	 if (g_variable.ble_currentSubState == CHANGE_TO_BLE_SUB_PINCODE )
-00184B E4                CLR      A
-00184C 904F07            MOV      DPTR,#return_val
-00184F F0                MOVX     @DPTR,A
-   84: 		return return_val;
-001850 904CC8            MOV      DPTR,#g_variable+09H
-001853 E0                MOVX     A,@DPTR
-001854 B40206            CJNE     A,#02H,?C0010?BLUETOOTH
-   85: #if DEVICE_MODE_BT_ONLY
-001857 904F07            MOV      DPTR,#return_val
-00185A E0                MOVX     A,@DPTR
-00185B FF                MOV      R7,A
-00185C 22                RET      
-00185D         ?C0010?BLUETOOTH:
-   86: 	if ((m_ui_state_map & 0x4000) == 0x4000)
-   87: #elif DEVICE_MODE_BLE_ONLY	
-   88: 	if ((m_ui_state_map & 0x0008) == 0x0008)
-00185D 9047F5            MOV      DPTR,#m_ui_state_map+01H
-001860 E0                MOVX     A,@DPTR
-001861 30E306            JNB      ACC.3,?C0012?BLUETOOTH
-   89: #else	
-   90: 	if ((m_ui_state_map & 0x4008) == 0x4008)		//ADV and DISCOVERY
-   91: #endif		
-   92: 		return return_val;
-001864 904F07            MOV      DPTR,#return_val
-001867 E0                MOVX     A,@DPTR
-001868 FF                MOV      R7,A
-001869 22                RET      
-00186A         ?C0012?BLUETOOTH:
-   93: 
-   94: 	if(g_variable.pairing_g24_timeout)
-00186A 904CEE            MOV      DPTR,#g_variable+02FH
-00186D E0                MOVX     A,@DPTR
-00186E 6006              JZ       ?C0013?BLUETOOTH
-   95: 		return return_val;
-001870 904F07            MOV      DPTR,#return_val
-001873 E0                MOVX     A,@DPTR
-001874 FF                MOV      R7,A
-001875 22                RET      
-001876         ?C0013?BLUETOOTH:
-   96: 
-   97: 	if ( g_variable.ble_currentState == CHANGE_TO_BLE_DISCONNECT
-001876 904CC7            MOV      DPTR,#g_variable+08H
-001879 E0                MOVX     A,@DPTR
-00187A 703F              JNZ      ?C0014?BLUETOOTH
-00187C 904CC5            MOV      DPTR,#g_variable+06H
-00187F E0                MOVX     A,@DPTR
-001880 6403              XRL      A,#03H
-001882 6037              JZ       ?C0014?BLUETOOTH
-   98: 		&& g_variable.g24_currentState != CHANGE_TO_24G_CONNECTED
-   99: 	)
-  100: 	{
-  101: 		if(g_variable.recon_delay == 0)
-001884 904CEF            MOV      DPTR,#g_variable+030H
-001887 E0                MOVX     A,@DPTR
-001888 703B              JNZ      ?C0019?BLUETOOTH
-  102: 		{
-  103: 			g_variable.recon_delay = 10;
-00188A 740A              MOV      A,#0AH
-00188C F0                MOVX     @DPTR,A
-  104: 			if ((g_variable.recon_count == 0)
-00188D A3                INC      DPTR
-00188E E0                MOVX     A,@DPTR
-00188F 7034              JNZ      ?C0019?BLUETOOTH
-001891 904DEE            MOV      DPTR,#power_on_flag
-001894 E0                MOVX     A,@DPTR
-001895 6402              XRL      A,#02H
-001897 702C              JNZ      ?C0019?BLUETOOTH
-  105: 			&& (power_on_flag == 2))
-  106: 			{				
-  107: 				if (g_variable.current_device_num >= 1 && g_variable.current_device_num <= 3)
-001899 904CC3            MOV      DPTR,#g_variable+04H
-00189C E0                MOVX     A,@DPTR
-00189D FF                MOV      R7,A
-00189E C3                CLR      C
-00189F 9401              SUBB     A,#01H
-0018A1 400B              JC       ?C0017?BLUETOOTH
-0018A3 EF                MOV      A,R7
-0018A4 D3                SETB     C
-0018A5 9403              SUBB     A,#03H
-0018A7 5005              JNC      ?C0017?BLUETOOTH
-  108: 				{
-  109: 					YC_key_action_handle(g_variable.current_device_num);
-0018A9 1210D7            LCALL    _YC_key_action_handle
-  110: 				}
-0018AC 8017              SJMP     ?C0019?BLUETOOTH
-0018AE         ?C0017?BLUETOOTH:
-  111: 				else
-  112: 				{
-  113: 					YC_key_action_handle(KEY_OPEN_24G);
-0018AE 7F09              MOV      R7,#09H
-0018B0 1210D7            LCALL    _YC_key_action_handle
-  114: 					return_val = 1;
-0018B3 904F07            MOV      DPTR,#return_val
-0018B6 7401              MOV      A,#01H
-0018B8 F0                MOVX     @DPTR,A
-  115: 				}
-  116: 			}
-  117: 		}
-  118: 	}
-0018B9 800A              SJMP     ?C0019?BLUETOOTH
-0018BB         ?C0014?BLUETOOTH:
-  119: 	else
-  120: 	{
-  121: 		g_variable.release_data = 0;
-0018BB E4                CLR      A
-0018BC 904CEB            MOV      DPTR,#g_variable+02CH
-0018BF F0                MOVX     @DPTR,A
-  122: 		return_val = 1;
-0018C0 904F07            MOV      DPTR,#return_val
-0018C3 04                INC      A
-0018C4 F0                MOVX     @DPTR,A
-  123: 	}
-0018C5         ?C0019?BLUETOOTH:
-  124: 	return return_val;
-0018C5 904F07            MOV      DPTR,#return_val
-0018C8 E0                MOVX     A,@DPTR
-0018C9 FF                MOV      R7,A
-  125: }
-0018CA 22                RET      
+   63: byte YC_check_need_reconnected()
+   64: {
+   65: 	byte return_val = 0;
+   66: 	 if (g_variable.ble_currentSubState == CHANGE_TO_BLE_SUB_PINCODE)
+001835 E4                CLR      A
+001836 904F08            MOV      DPTR,#return_val
+001839 F0                MOVX     @DPTR,A
+   67: 		return return_val;
+00183A 904C8C            MOV      DPTR,#g_variable+09H
+00183D E0                MOVX     A,@DPTR
+00183E B40206            CJNE     A,#02H,?C0010?BLUETOOTH
+   68: 	if ((m_ui_state_map & 0x0008) == 0x0008)		
+001841 904F08            MOV      DPTR,#return_val
+001844 E0                MOVX     A,@DPTR
+001845 FF                MOV      R7,A
+001846 22                RET      
+001847         ?C0010?BLUETOOTH:
+   69: 		return return_val;
+001847 9047F5            MOV      DPTR,#m_ui_state_map+01H
+00184A E0                MOVX     A,@DPTR
+00184B 30E306            JNB      ACC.3,?C0012?BLUETOOTH
+   70: 
+00184E 904F08            MOV      DPTR,#return_val
+001851 E0                MOVX     A,@DPTR
+001852 FF                MOV      R7,A
+001853 22                RET      
+001854         ?C0012?BLUETOOTH:
+   71: 	if(g_variable.pairing_g24_timeout)
+001854 904CB7            MOV      DPTR,#g_variable+034H
+001857 E0                MOVX     A,@DPTR
+001858 6006              JZ       ?C0013?BLUETOOTH
+   72: 		return return_val;
+00185A 904F08            MOV      DPTR,#return_val
+00185D E0                MOVX     A,@DPTR
+00185E FF                MOV      R7,A
+00185F 22                RET      
+001860         ?C0013?BLUETOOTH:
+   73: 
+   74: 	if (g_variable.ble_currentState == CHANGE_TO_BLE_DISCONNECT
+001860 904C8B            MOV      DPTR,#g_variable+08H
+001863 E0                MOVX     A,@DPTR
+001864 703F              JNZ      ?C0014?BLUETOOTH
+001866 904C89            MOV      DPTR,#g_variable+06H
+001869 E0                MOVX     A,@DPTR
+00186A 6403              XRL      A,#03H
+00186C 6037              JZ       ?C0014?BLUETOOTH
+   75: 		&& g_variable.g24_currentState != CHANGE_TO_24G_CONNECTED
+   76: 	)
+   77: 	{
+   78: 		if(g_variable.recon_delay == 0)
+00186E 904CB8            MOV      DPTR,#g_variable+035H
+001871 E0                MOVX     A,@DPTR
+001872 703B              JNZ      ?C0019?BLUETOOTH
+   79: 		{
+   80: 			g_variable.recon_delay = 10;
+001874 740A              MOV      A,#0AH
+001876 F0                MOVX     @DPTR,A
+   81: 			if ((g_variable.recon_count == 0)
+001877 A3                INC      DPTR
+001878 E0                MOVX     A,@DPTR
+001879 7034              JNZ      ?C0019?BLUETOOTH
+00187B 904DF0            MOV      DPTR,#power_on_flag
+00187E E0                MOVX     A,@DPTR
+00187F 6402              XRL      A,#02H
+001881 702C              JNZ      ?C0019?BLUETOOTH
+   82: 			&& (power_on_flag == 2))
+   83: 			{				
+   84: 				if (g_variable.current_device_num >= 1 && g_variable.current_device_num <= 3)
+001883 904C87            MOV      DPTR,#g_variable+04H
+001886 E0                MOVX     A,@DPTR
+001887 FF                MOV      R7,A
+001888 C3                CLR      C
+001889 9401              SUBB     A,#01H
+00188B 400B              JC       ?C0017?BLUETOOTH
+00188D EF                MOV      A,R7
+00188E D3                SETB     C
+00188F 9403              SUBB     A,#03H
+001891 5005              JNC      ?C0017?BLUETOOTH
+   85: 				{
+   86: 					YC_key_action_handle(g_variable.current_device_num);
+001893 1211E2            LCALL    _YC_key_action_handle
+   87: 				}
+001896 8017              SJMP     ?C0019?BLUETOOTH
+001898         ?C0017?BLUETOOTH:
+   88: 				else
+   89: 				{
+   90: 					YC_key_action_handle(KEY_OPEN_24G);
+001898 7F09              MOV      R7,#09H
+00189A 1211E2            LCALL    _YC_key_action_handle
+   91: 					return_val = 1;
+00189D 904F08            MOV      DPTR,#return_val
+0018A0 7401              MOV      A,#01H
+0018A2 F0                MOVX     @DPTR,A
+   92: 				}
+   93: 			}
+   94: 		}
+   95: 	}
+0018A3 800A              SJMP     ?C0019?BLUETOOTH
+0018A5         ?C0014?BLUETOOTH:
+   96: 	else
+   97: 	{
+   98: 		g_variable.release_data = 0;
+0018A5 E4                CLR      A
+0018A6 904CB4            MOV      DPTR,#g_variable+031H
+0018A9 F0                MOVX     @DPTR,A
+   99: 		return_val = 1;
+0018AA 904F08            MOV      DPTR,#return_val
+0018AD 04                INC      A
+0018AE F0                MOVX     @DPTR,A
+  100: 	}
+0018AF         ?C0019?BLUETOOTH:
+  101: 	return return_val;
+0018AF 904F08            MOV      DPTR,#return_val
+0018B2 E0                MOVX     A,@DPTR
+0018B3 FF                MOV      R7,A
+  102: }
+0018B4 22                RET      
 ----- FUNCTION YC_check_need_reconnected (END) -------
 
 
 ----- FUNCTION YC_cancel_reconnect (BEGIN) -----
  FILE: 'bluetooth.c'
-  128: byte YC_cancel_reconnect()
-  129: {
-  130: 	// if (g_variable.br_currentState == CHANGE_TO_BR_RECONNECT)
-  131: 	// {
-  132: 	// 	IPC_TxControlCmd(IPC_CMD_BB_RECONN_CANCEL);
-  133: 	// 	return 1;
-  134: 	// }
-  135: 
-  136: 	if (g_variable.ble_currentState == CHANGE_TO_BLE_DIRECT_ADV)
-0018CB 904CC7            MOV      DPTR,#g_variable+08H
-0018CE E0                MOVX     A,@DPTR
-0018CF B40208            CJNE     A,#02H,?C0020?BLUETOOTH
-  137: 	{
-  138: 		//stop adv
-  139: 		IPC_TxControlCmd(IPC_CMD_STOP_ADV);
-0018D2 7F0E              MOV      R7,#0EH
-0018D4 1210AD            LCALL    _IPC_TxControlCmd
-  140: 		return 1;
-0018D7 7F01              MOV      R7,#01H
-0018D9 22                RET      
-  141: 	}
-0018DA         ?C0020?BLUETOOTH:
-  142: 	return 0;
-0018DA 7F00              MOV      R7,#00H
-  143: }
-0018DC 22                RET      
+  105: byte YC_cancel_reconnect()
+  106: {
+  107: 	if (g_variable.ble_currentState == CHANGE_TO_BLE_DIRECT_ADV)
+  108: 	{
+0018B5 904C8B            MOV      DPTR,#g_variable+08H
+0018B8 E0                MOVX     A,@DPTR
+0018B9 B40208            CJNE     A,#02H,?C0020?BLUETOOTH
+  109: 		//stop adv
+  110: 		IPC_TxControlCmd(IPC_CMD_STOP_ADV);
+0018BC 7F0E              MOV      R7,#0EH
+0018BE 1213C9            LCALL    _IPC_TxControlCmd
+  111: 		return 1;
+0018C1 7F01              MOV      R7,#01H
+0018C3 22                RET      
+  112: 	}
+0018C4         ?C0020?BLUETOOTH:
+  113: 	return 0;
+0018C4 7F00              MOV      R7,#00H
+  114: }
+0018C6 22                RET      
 ----- FUNCTION YC_cancel_reconnect (END) -------
 
 
------ FUNCTION YC_clear_reconnect_flag (BEGIN) -----
- FILE: 'bluetooth.c'
-  146: void YC_clear_reconnect_flag()  
-  147: {
-  148: 	g_variable.recon_count = 0;
-  149: 	ble_reconnect_flag = 0;
-0018DD E4                CLR      A
-0018DE 904CF0            MOV      DPTR,#g_variable+031H
-0018E1 F0                MOVX     @DPTR,A
-  150: }
-0018E2 904DE8            MOV      DPTR,#ble_reconnect_flag
-0018E5 F0                MOVX     @DPTR,A
-  151: 
-0018E6 22                RET      
------ FUNCTION YC_clear_reconnect_flag (END) -------
-
-
------ FUNCTION YC_g24_mode_discovery (BEGIN) -----
+----- FUNCTION YC_disconnect_all_link (BEGIN) -----
  FILE: 'bluetooth.c'
-  176: byte YC_g24_mode_discovery()
-  177: {
-  178: 	if (g_variable.last_device_num == 0xfe ||g_variable.last_device_num == 0x00)
-  179: 	{
-0018E7 904CC0            MOV      DPTR,#g_variable+01H
-0018EA E0                MOVX     A,@DPTR
-0018EB FF                MOV      R7,A
-0018EC 64FE              XRL      A,#0FEH
-0018EE 6003              JZ       ?C0029?BLUETOOTH
-0018F0 EF                MOV      A,R7
-0018F1 7008              JNZ      ?C0028?BLUETOOTH
-0018F3         ?C0029?BLUETOOTH:
-  180: 		IPC_TxControlCmd(IPC_CMD_STOP_24G);
-  181: 		return 1;
-0018F3 7F22              MOV      R7,#022H
-0018F5 1210AD            LCALL    _IPC_TxControlCmd
-  182: 	}
-0018F8 7F01              MOV      R7,#01H
-0018FA 22                RET      
-  183: 	return 0;
-0018FB         ?C0028?BLUETOOTH:
-  184: }
-0018FB 7F00              MOV      R7,#00H
-  185: 
-0018FD 22                RET      
------ FUNCTION YC_g24_mode_discovery (END) -------
+  124: byte YC_disconnect_all_link()
+  125: {
+  126: 	if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED 
+  127: 		||g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTING)
+0018C7 904C8B            MOV      DPTR,#g_variable+08H
+0018CA E0                MOVX     A,@DPTR
+0018CB FF                MOV      R7,A
+0018CC 6404              XRL      A,#04H
+0018CE 6004              JZ       ?C0024?BLUETOOTH
+0018D0 EF                MOV      A,R7
+0018D1 B40308            CJNE     A,#03H,?C0023?BLUETOOTH
+0018D4         ?C0024?BLUETOOTH:
+  128: 	{
+  129: 		IPC_TxControlCmd(IPC_CMD_LE_DISCONNECT);
+0018D4 7F11              MOV      R7,#011H
+0018D6 1213C9            LCALL    _IPC_TxControlCmd
+  130: 		return 1;
+0018D9 7F01              MOV      R7,#01H
+0018DB 22                RET      
+  131: 	}
+0018DC         ?C0023?BLUETOOTH:
+  132: 	if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED 
+0018DC 904C89            MOV      DPTR,#g_variable+06H
+0018DF E0                MOVX     A,@DPTR
+0018E0 FF                MOV      R7,A
+0018E1 6403              XRL      A,#03H
+0018E3 6004              JZ       ?C0027?BLUETOOTH
+0018E5 EF                MOV      A,R7
+0018E6 B40208            CJNE     A,#02H,?C0026?BLUETOOTH
+0018E9         ?C0027?BLUETOOTH:
+  133: 		||g_variable.g24_currentState == CHANGE_TO_24G_CONNECTING)
+  134: 	{
+  135: 		IPC_TxControlCmd(IPC_CMD_STOP_24G);
+0018E9 7F22              MOV      R7,#022H
+0018EB 1213C9            LCALL    _IPC_TxControlCmd
+  136: 		return 1;
+0018EE 7F01              MOV      R7,#01H
+0018F0 22                RET      
+  137: 	}
+0018F1         ?C0026?BLUETOOTH:
+  138: 	return 0;
+0018F1 7F00              MOV      R7,#00H
+  139: }
+0018F3 22                RET      
+----- FUNCTION YC_disconnect_all_link (END) -------
 
 
------ FUNCTION YC_get_ble_ramdon_lap (BEGIN) -----
- FILE: 'bluetooth.c'
-  221: void YC_get_ble_ramdon_lap()		
-  222: {
-  223: 	IIC_Read(EEPROM_RECON_INFO_RAMDON_LE_LAP1 ,2 ,(byte *)&g_variable.ble_ramdon_lap1);
-  224: 	g_variable.ble_ramdon_lap1++;
-0018FE 7B01              MOV      R3,#01H
-001900 7A4C              MOV      R2,#HIGH g_variable+033H
-001902 79F2              MOV      R1,#LOW g_variable+033H
-001904 7D02              MOV      R5,#02H
-001906 7C00              MOV      R4,#00H
-001908 7FBE              MOV      R7,#0BEH
-00190A 7E7F              MOV      R6,#07FH
-00190C 3141              ACALL    _IIC_Read
-  225: 	g_variable.ble_ramdon_lap2++;
-00190E 904CF2            MOV      DPTR,#g_variable+033H
-001911 E0                MOVX     A,@DPTR
-001912 04                INC      A
-001913 F0                MOVX     @DPTR,A
-  226: 	m_le_lap[1] = g_variable.ble_ramdon_lap1;
-001914 A3                INC      DPTR
+----- FUNCTION kb_button_press_timer500ms (BEGIN) -----
+ FILE: 'sys.c'
+  550: void kb_button_press_timer500ms()
+  551: {
+  552: 
+  553: 
+  554: 	
+  555: 	if (g_variable.button_flag & KEY_FLAG_SAME_KEY_PRESS)
+0018F4 904C92            MOV      DPTR,#g_variable+0FH
+0018F7 E0                MOVX     A,@DPTR
+0018F8 30E13E            JNB      ACC.1,?C0098?SYS
+  556: 	{
+  557: 		if (g_variable.button_timer[1] < 250)
+0018FB 904C94            MOV      DPTR,#g_variable+011H
+0018FE E0                MOVX     A,@DPTR
+0018FF C3                CLR      C
+001900 94FA              SUBB     A,#0FAH
+001902 5003              JNC      ?C0099?SYS
+  558: 			g_variable.button_timer[1]++;
+001904 E0                MOVX     A,@DPTR
+001905 04                INC      A
+001906 F0                MOVX     @DPTR,A
+001907         ?C0099?SYS:
+  559: 		if (g_variable.button_timer[1] == 180)			// 500ms*180*3 = 4min30s
+001907 904C94            MOV      DPTR,#g_variable+011H
+00190A E0                MOVX     A,@DPTR
+00190B 64B4              XRL      A,#0B4H
+00190D 7037              JNZ      ?C0104?SYS
+  560: 		{
+  561: 			press_long_time_flag++;
+00190F 904DE8            MOV      DPTR,#press_long_time_flag
+001912 E0                MOVX     A,@DPTR
+001913 04                INC      A
+001914 F0                MOVX     @DPTR,A
+  562: 			if(press_long_time_flag <= 2)
 001915 E0                MOVX     A,@DPTR
-001916 04                INC      A
-001917 F0                MOVX     @DPTR,A
-  227: 	m_le_lap[2] = g_variable.ble_ramdon_lap2;
-001918 904CF2            MOV      DPTR,#g_variable+033H
-00191B E0                MOVX     A,@DPTR
-00191C 9044FA            MOV      DPTR,#m_le_lap+01H
+001916 D3                SETB     C
+001917 9402              SUBB     A,#02H
+001919 5007              JNC      ?C0101?SYS
+  563: 			{
+  564: 				g_variable.button_timer[1] = 0;
+00191B E4                CLR      A
+00191C 904C94            MOV      DPTR,#g_variable+011H
 00191F F0                MOVX     @DPTR,A
-  228: 	m_le_lap[3] = le_lap_temp[0];
-001920 904CF3            MOV      DPTR,#g_variable+034H
-001923 E0                MOVX     A,@DPTR
-001924 9044FB            MOV      DPTR,#m_le_lap+02H
-001927 F0                MOVX     @DPTR,A
-  229: 	m_le_lap[4] = le_lap_temp[1];
-001928 904DD0            MOV      DPTR,#le_lap_temp
-00192B E0                MOVX     A,@DPTR
-00192C 9044FC            MOV      DPTR,#m_le_lap+03H
-00192F F0                MOVX     @DPTR,A
-  230: 	m_le_lap[5] = le_lap_temp[2];
-001930 904DD1            MOV      DPTR,#le_lap_temp+01H
-001933 E0                MOVX     A,@DPTR
-001934 9044FD            MOV      DPTR,#m_le_lap+04H
-001937 F0                MOVX     @DPTR,A
-  231: }
-001938 904DD2            MOV      DPTR,#le_lap_temp+02H
-00193B E0                MOVX     A,@DPTR
-00193C 9044FE            MOV      DPTR,#m_le_lap+05H
-00193F F0                MOVX     @DPTR,A
-  232: 
-001940 22                RET      
------ FUNCTION YC_get_ble_ramdon_lap (END) -------
-
-
------ FUNCTION _IIC_Read (BEGIN) -----
-001941 904ED3            MOV      DPTR,#len
-001944 EC                MOV      A,R4
+  565: 			}
+001920 8024              SJMP     ?C0104?SYS
+001922         ?C0101?SYS:
+  566: 			else if(press_long_time_flag == 3)
+001922 904DE8            MOV      DPTR,#press_long_time_flag
+001925 E0                MOVX     A,@DPTR
+001926 B4031D            CJNE     A,#03H,?C0104?SYS
+  567: 			{
+  568: 				long_press_flag = 1;
+001929 904DE0            MOV      DPTR,#long_press_flag
+00192C 7401              MOV      A,#01H
+00192E F0                MOVX     @DPTR,A
+  569: 				g_variable.button_timer[1] = 0;
+00192F E4                CLR      A
+001930 904C94            MOV      DPTR,#g_variable+011H
+001933 F0                MOVX     @DPTR,A
+  570: 				System_long_sleep();
+001934 121796            LCALL    System_long_sleep
+  571: 			}
+  572: 		}
+  573: 	}
+001937 800D              SJMP     ?C0104?SYS
+001939         ?C0098?SYS:
+  574: 	else
+  575: 	{
+  576: 		press_long_time_flag = 0;
+001939 E4                CLR      A
+00193A 904DE8            MOV      DPTR,#press_long_time_flag
+00193D F0                MOVX     @DPTR,A
+  577: 		long_press_flag = 0;
+00193E 904DE0            MOV      DPTR,#long_press_flag
+001941 F0                MOVX     @DPTR,A
+  578: 		g_variable.button_timer[1] = 0;
+001942 904C94            MOV      DPTR,#g_variable+011H
 001945 F0                MOVX     @DPTR,A
-001946 A3                INC      DPTR
-001947 ED                MOV      A,R5
-001948 F0                MOVX     @DPTR,A
-001949 A3                INC      DPTR
-00194A EB                MOV      A,R3
-00194B F0                MOVX     @DPTR,A
-00194C A3                INC      DPTR
-00194D EA                MOV      A,R2
-00194E F0                MOVX     @DPTR,A
-00194F A3                INC      DPTR
-001950 E9                MOV      A,R1
-001951 F0                MOVX     @DPTR,A
-;---- Variable 'addr' assigned to Register 'R6/R7' ----
-;---- Variable 'mem_src' assigned to Register 'R6/R7' ----
-001952 908098            MOV      DPTR,#08098H
-001955 7404              MOV      A,#04H
-001957 F0                MOVX     @DPTR,A
-001958 A3                INC      DPTR
-001959 E4                CLR      A
-00195A F0                MOVX     @DPTR,A
-00195B 900CAF            MOV      DPTR,#YC_IICDTbuf
-00195E 74A0              MOV      A,#0A0H
-001960 F0                MOVX     @DPTR,A
-001961 A3                INC      DPTR
-001962 EE                MOV      A,R6
-001963 F0                MOVX     @DPTR,A
-001964 A3                INC      DPTR
-001965 EF                MOV      A,R7
-001966 F0                MOVX     @DPTR,A
-001967 900CB2            MOV      DPTR,#YC_IICDTbuf+03H
-00196A 74A1              MOV      A,#0A1H
-00196C F0                MOVX     @DPTR,A
-00196D 7A0C              MOV      R2,#HIGH YC_IICDTbuf
-00196F 79AF              MOV      R1,#LOW YC_IICDTbuf
-001971 7E0C              MOV      R6,#HIGH YC_IICDTbuf
-001973 7FAF              MOV      R7,#LOW YC_IICDTbuf
-001975 74AF              MOV      A,#LOW YC_IICDTbuf
-001977 FC                MOV      R4,A
-001978 740C              MOV      A,#HIGH YC_IICDTbuf
-00197A FF                MOV      R7,A
-00197B EC                MOV      A,R4
-00197C FE                MOV      R6,A
-00197D EF                MOV      A,R7
-00197E 90809A            MOV      DPTR,#0809AH
-001981 EE                MOV      A,R6
-001982 F0                MOVX     @DPTR,A
-001983 A3                INC      DPTR
-001984 EF                MOV      A,R7
-001985 F0                MOVX     @DPTR,A
-001986 904ED3            MOV      DPTR,#len
-001989 E0                MOVX     A,@DPTR
-00198A FC                MOV      R4,A
-00198B A3                INC      DPTR
-00198C E0                MOVX     A,@DPTR
-00198D FA                MOV      R2,A
-00198E EC                MOV      A,R4
-00198F FF                MOV      R7,A
-001990 EA                MOV      A,R2
-001991 FE                MOV      R6,A
-001992 EF                MOV      A,R7
-001993 90809E            MOV      DPTR,#0809EH
-001996 EE                MOV      A,R6
+  579: 	}
+001946         ?C0104?SYS:
+  580: 		
+  581: 	if (g_variable.button_flag & KEY_FLAG_FN_24G_DEVICE_BUTTON)		// G24 pairing
+001946 904C92            MOV      DPTR,#g_variable+0FH
+001949 E0                MOVX     A,@DPTR
+00194A 30E438            JNB      ACC.4,?C0105?SYS
+  582: 	{
+  583: 		g_variable.delay_enter_lpm_timer = 10;
+00194D 904CB3            MOV      DPTR,#g_variable+030H
+001950 740A              MOV      A,#0AH
+001952 F0                MOVX     @DPTR,A
+  584: 		if (g_variable.button_timer[2] < 250)
+001953 904C95            MOV      DPTR,#g_variable+012H
+001956 E0                MOVX     A,@DPTR
+001957 C3                CLR      C
+001958 94FA              SUBB     A,#0FAH
+00195A 5003              JNC      ?C0106?SYS
+  585: 			g_variable.button_timer[2]++;
+00195C E0                MOVX     A,@DPTR
+00195D 04                INC      A
+00195E F0                MOVX     @DPTR,A
+00195F         ?C0106?SYS:
+  586: 		if (g_variable.button_timer[2] == 6)
+00195F 904C95            MOV      DPTR,#g_variable+012H
+001962 E0                MOVX     A,@DPTR
+001963 6406              XRL      A,#06H
+001965 7048              JNZ      ?C0110?SYS
+  587: 		{
+  588: 			if( !g_variable.current_device_num || (g_variable.current_device_num == 0xfe))
+001967 904C87            MOV      DPTR,#g_variable+04H
+00196A E0                MOVX     A,@DPTR
+00196B FF                MOV      R7,A
+00196C 6004              JZ       ?C0109?SYS
+00196E 64FE              XRL      A,#0FEH
+001970 703D              JNZ      ?C0110?SYS
+001972         ?C0109?SYS:
+  589: 			{
+  590: 				g_variable.button_24G_rec_flag = 0;
+001972 E4                CLR      A
+001973 904C91            MOV      DPTR,#g_variable+0EH
+001976 F0                MOVX     @DPTR,A
+  591: 				YC_disconnect_all_link();
+001977 11C7              ACALL    YC_disconnect_all_link
+  592: 				Delay1ms(10);
+001979 7F0A              MOV      R7,#0AH
+00197B 120F72            LCALL    _Delay1ms
+  593: 				//LED_all_shutdown();
+  594: 				YC_key_action_handle(KEY_PAIRING_24G);
+00197E 7F0A              MOV      R7,#0AH
+001980 1211E2            LCALL    _YC_key_action_handle
+  595: 			}
+  596: 		}
+  597: 	}
+001983 802A              SJMP     ?C0110?SYS
+001985         ?C0105?SYS:
+  598: 	else
+  599: 	{
+  600: 		if(g_variable.button_24G_rec_flag)
+001985 904C91            MOV      DPTR,#g_variable+0EH
+001988 E0                MOVX     A,@DPTR
+001989 601F              JZ       ?C0111?SYS
+  601: 		{
+  602: 			//LED_all_shutdown();
+  603: 			g_variable.button_24G_rec_flag = 0;
+00198B E4                CLR      A
+00198C F0                MOVX     @DPTR,A
+  604: 			YC_key_action_handle(KEY_STOP_DISCOVERY);
+00198D 7F0D              MOV      R7,#0DH
+00198F 1211E2            LCALL    _YC_key_action_handle
+  605: 			g_variable.release_data = 1;
+001992 904CB4            MOV      DPTR,#g_variable+031H
+001995 7401              MOV      A,#01H
 001997 F0                MOVX     @DPTR,A
-001998 A3                INC      DPTR
-001999 EF                MOV      A,R7
-00199A F0                MOVX     @DPTR,A
-00199B 7A0B              MOV      R2,#HIGH IIC_TempBuff
-00199D 7983              MOV      R1,#LOW IIC_TempBuff
-00199F 7E0B              MOV      R6,#HIGH IIC_TempBuff
-0019A1 7F83              MOV      R7,#LOW IIC_TempBuff
-0019A3 7483              MOV      A,#LOW IIC_TempBuff
-0019A5 FC                MOV      R4,A
-0019A6 740B              MOV      A,#HIGH IIC_TempBuff
-0019A8 FF                MOV      R7,A
-0019A9 EC                MOV      A,R4
-0019AA FE                MOV      R6,A
-0019AB EF                MOV      A,R7
-0019AC 90809C            MOV      DPTR,#0809CH
-0019AF EE                MOV      A,R6
-0019B0 F0                MOVX     @DPTR,A
-0019B1 A3                INC      DPTR
-0019B2 EF                MOV      A,R7
-0019B3 F0                MOVX     @DPTR,A
-0019B4 908090            MOV      DPTR,#08090H
-0019B7 7402              MOV      A,#02H
-0019B9 F0                MOVX     @DPTR,A
-0019BA 90809C            MOV      DPTR,#0809CH
-0019BD A3                INC      DPTR
-0019BE E0                MOVX     A,@DPTR
-0019BF 20E707            JB       ACC.7,?C0004?IIC
-0019C2 908090            MOV      DPTR,#08090H
-0019C5 E0                MOVX     A,@DPTR
-0019C6 4401              ORL      A,#01H
-0019C8 F0                MOVX     @DPTR,A
-0019C9         ?C0004?IIC:
-0019C9 908006            MOV      DPTR,#08006H
-0019CC E0                MOVX     A,@DPTR
-0019CD 4404              ORL      A,#04H
-0019CF F0                MOVX     @DPTR,A
-0019D0 31F1              ACALL    IIcWaitDone
-0019D2 904ED5            MOV      DPTR,#pbuff
-0019D5 E0                MOVX     A,@DPTR
-0019D6 A3                INC      DPTR
-0019D7 E0                MOVX     A,@DPTR
-0019D8 FA                MOV      R2,A
-0019D9 A3                INC      DPTR
-0019DA E0                MOVX     A,@DPTR
-0019DB AE02              MOV      R6,AR2
-0019DD FF                MOV      R7,A
-0019DE 7B01              MOV      R3,#01H
-0019E0 7A0B              MOV      R2,#HIGH IIC_TempBuff
-0019E2 7983              MOV      R1,#LOW IIC_TempBuff
-0019E4 904ED3            MOV      DPTR,#len
-0019E7 E0                MOVX     A,@DPTR
-0019E8 A3                INC      DPTR
-0019E9 E0                MOVX     A,@DPTR
-0019EA 904EC8            MOV      DPTR,#?_xmemcpy?BYTE+05H
-0019ED F0                MOVX     @DPTR,A
-0019EE 02087D            LJMP     _xmemcpy
------ FUNCTION _IIC_Read (END) -------
-
-
------ FUNCTION IIcWaitDone (BEGIN) -----
-0019F1         ?C0001?IIC:
-0019F1 90812C            MOV      DPTR,#0812CH
-0019F4 E0                MOVX     A,@DPTR
-0019F5 30E5F9            JNB      ACC.5,?C0001?IIC
-0019F8 22                RET      
------ FUNCTION IIcWaitDone (END) -------
+  606: 			//LED_device_poweron();		
+  607: 			g_variable.last_device_num = g_variable.current_device_num;
+001998 904C87            MOV      DPTR,#g_variable+04H
+00199B E0                MOVX     A,@DPTR
+00199C 904C84            MOV      DPTR,#g_variable+01H
+00199F F0                MOVX     @DPTR,A
+  608: 			g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_NORMAL;
+0019A0 904C83            MOV      DPTR,#g_variable
+0019A3 7401              MOV      A,#01H
+0019A5 F0                MOVX     @DPTR,A
+  609: 			YC_update_eeprom_data();
+0019A6 31ED              ACALL    YC_update_eeprom_data
+  610: 			System_Reset_Connect();
+0019A8 7137              ACALL    System_Reset_Connect
+  611: 			//IPC_TxControlCmd(IPC_CMD_DEVICE_SWITCH);
+  612: 		}
+0019AA         ?C0111?SYS:
+  613: 		g_variable.button_timer[2] = 0;
+0019AA E4                CLR      A
+0019AB 904C95            MOV      DPTR,#g_variable+012H
+0019AE F0                MOVX     @DPTR,A
+  614: 	}
+0019AF         ?C0110?SYS:
+  615: 
+  616: 	
+  617: 	if (g_variable.button_flag & KEY_FLAG_FN_DEVICE_BUTTON)
+0019AF 904C92            MOV      DPTR,#g_variable+0FH
+0019B2 E0                MOVX     A,@DPTR
+0019B3 20E336            JB       ACC.3,?C0116?SYS
+  618: 	{
+  619: 		// g_variable.delay_enter_lpm_timer = 10;
+  620: 		// if (g_variable.button_timer[3] < 250)
+  621: 		// 	g_variable.button_timer[3]++;
+  622: 		// if (g_variable.button_timer[3] == 6)
+  623: 		// {
+  624: 		// 	//do discoverable
+  625: 		// 	g_variable.pairing_timeout = BT_PAIRING_TIME_OUT_10MIN;
+  626: 		// 	g_variable.pairing_g24_timeout = 0;
+  627: 		// 	YC_key_action_handle(KEY_DISCOVERY);
+  628: 		// 	LED_all_shutdown();
+  629: 		// 	g_variable.button_reconnect_flag = 0;
+  630: 		// 	g_variable.release_data = 1;
+  631: 		// 	g_variable.temp_device_num = g_variable.last_device_num;
+  632: 		// 	g_variable.last_device_num = g_variable.current_device_num;
+  633: 		// }
+  634: 	}
+0019B6         ?C0112?SYS:
+  635: 	else
+  636: 	{
+  637: 		if (g_variable.button_reconnect_flag)
+0019B6 904C90            MOV      DPTR,#g_variable+0DH
+0019B9 E0                MOVX     A,@DPTR
+0019BA 602B              JZ       ?C0114?SYS
+  638: 		{
+  639: 			g_variable.button_reconnect_flag = 0;
+0019BC E4                CLR      A
+0019BD F0                MOVX     @DPTR,A
+  640: 
+  641: 			if(g_variable.last_device_num !=g_variable.current_device_num)		//switch device,
+0019BE 904C87            MOV      DPTR,#g_variable+04H
+0019C1 E0                MOVX     A,@DPTR
+0019C2 FF                MOV      R7,A
+0019C3 904C84            MOV      DPTR,#g_variable+01H
+0019C6 E0                MOVX     A,@DPTR
+0019C7 6F                XRL      A,R7
+0019C8 601D              JZ       ?C0114?SYS
+  642: 			{
+  643: 				LED_all_shutdown();
+0019CA 1217BC            LCALL    LED_all_shutdown
+  644: 				g_variable.release_data = 1;
+0019CD 904CB4            MOV      DPTR,#g_variable+031H
+0019D0 7401              MOV      A,#01H
+0019D2 F0                MOVX     @DPTR,A
+  645: 				//LED_device_poweron();				
+  646: 				g_variable.last_device_num = g_variable.current_device_num;
+0019D3 904C87            MOV      DPTR,#g_variable+04H
+0019D6 E0                MOVX     A,@DPTR
+0019D7 904C84            MOV      DPTR,#g_variable+01H
+0019DA F0                MOVX     @DPTR,A
+  647: 				g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_NORMAL;
+0019DB 904C83            MOV      DPTR,#g_variable
+0019DE 7401              MOV      A,#01H
+0019E0 F0                MOVX     @DPTR,A
+  648: 				
+  649: 				YC_disconnect_all_link();
+0019E1 11C7              ACALL    YC_disconnect_all_link
+  650: 				YC_update_eeprom_data();
+0019E3 31ED              ACALL    YC_update_eeprom_data
+  651: 				System_Reset_Connect();
+0019E5 7137              ACALL    System_Reset_Connect
+  652: 				//IPC_TxControlCmd(IPC_CMD_DEVICE_SWITCH);
+  653: 			}
+  654: 		}
+0019E7         ?C0114?SYS:
+  655: 		g_variable.button_timer[3] = 0;
+0019E7 E4                CLR      A
+0019E8 904C96            MOV      DPTR,#g_variable+013H
+0019EB F0                MOVX     @DPTR,A
+  656: 	}
+  657: }
+0019EC         ?C0116?SYS:
+0019EC 22                RET      
+----- FUNCTION kb_button_press_timer500ms (END) -------
 
 
------ FUNCTION _IIC_write (BEGIN) -----
-0019F9 904EB6            MOV      DPTR,#addr
-0019FC EE                MOV      A,R6
-0019FD F0                MOVX     @DPTR,A
-0019FE A3                INC      DPTR
-0019FF EF                MOV      A,R7
-001A00 F0                MOVX     @DPTR,A
-001A01 904EBA            MOV      DPTR,#pbuff
-001A04 EB                MOV      A,R3
-001A05 F0                MOVX     @DPTR,A
-001A06 A3                INC      DPTR
-001A07 EA                MOV      A,R2
-001A08 F0                MOVX     @DPTR,A
-001A09 A3                INC      DPTR
-001A0A E9                MOV      A,R1
-001A0B F0                MOVX     @DPTR,A
-001A0C 904EB8            MOV      DPTR,#len
-001A0F EC                MOV      A,R4
-001A10 F0                MOVX     @DPTR,A
-001A11 A3                INC      DPTR
-001A12 ED                MOV      A,R5
-001A13 F0                MOVX     @DPTR,A
-001A14 A3                INC      DPTR
-001A15 E0                MOVX     A,@DPTR
-001A16 F9                MOV      R1,A
-001A17 A3                INC      DPTR
-001A18 E0                MOVX     A,@DPTR
-001A19 FA                MOV      R2,A
-001A1A A3                INC      DPTR
-001A1B E0                MOVX     A,@DPTR
-001A1C 904EA3            MOV      DPTR,#?_dmemcpy?BYTE+03H
-001A1F C9                XCH      A,R1
-001A20 F0                MOVX     @DPTR,A
-001A21 A3                INC      DPTR
-001A22 EA                MOV      A,R2
-001A23 F0                MOVX     @DPTR,A
-001A24 A3                INC      DPTR
-001A25 E9                MOV      A,R1
-001A26 F0                MOVX     @DPTR,A
-001A27 A3                INC      DPTR
-001A28 EC                MOV      A,R4
-001A29 F0                MOVX     @DPTR,A
-001A2A A3                INC      DPTR
-001A2B ED                MOV      A,R5
-001A2C F0                MOVX     @DPTR,A
+----- FUNCTION YC_update_eeprom_data (BEGIN) -----
+ FILE: 'bluetooth.c'
+  198: void YC_update_eeprom_data()
+  199: {
+  200: 	if (g_variable.update_eeprom_flag)				//bt3.0  bt4.2 record information save
+  201: 	{
+0019ED 904C83            MOV      DPTR,#g_variable
+0019F0 E0                MOVX     A,@DPTR
+0019F1 FF                MOV      R7,A
+0019F2 7002              JNZ      $ + 4H
+0019F4 4187              AJMP     ?C0042?BLUETOOTH
+  202: 		if (g_variable.update_eeprom_flag != EEPROM_STORE_TYPE_NORMAL)
+  203: 			Delay1ms(200);
+0019F6 6401              XRL      A,#01H
+0019F8 6005              JZ       ?C0038?BLUETOOTH
+  204: 		GPIO_Setout(EEPROM_WP_GPIO,0);
+0019FA 7FC8              MOV      R7,#0C8H
+0019FC 120F72            LCALL    _Delay1ms
+0019FF         ?C0038?BLUETOOTH:
+  205: 		if (g_variable.update_eeprom_flag == EEPROM_STORE_TYPE_G24)
+0019FF C201              CLR      ?_GPIO_Setout?BIT
+001A01 7FFF              MOV      R7,#0FFH
+001A03 1211D0            LCALL    _GPIO_Setout
+  206: 		{
+001A06 904C83            MOV      DPTR,#g_variable
+001A09 E0                MOVX     A,@DPTR
+001A0A 6402              XRL      A,#02H
+001A0C 7031              JNZ      ?C0039?BLUETOOTH
+  207: 			IIC_WriteBlock(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
+  208: 			IIC_WriteBlock(EEPROM_RECON_INFO_G24_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
+001A0E 7B01              MOV      R3,#01H
+001A10 7A4C              MOV      R2,#HIGH m_24g_addr
+001A12 7900              MOV      R1,#LOW m_24g_addr
+001A14 7D04              MOV      R5,#04H
+001A16 FC                MOV      R4,A
+001A17 7F52              MOV      R7,#052H
+001A19 7E7F              MOV      R6,#07FH
+001A1B 5188              ACALL    _IIC_WriteBlock
+  209: 			IIC_WriteBlock(EEPROM_RECON_INFO_G24_FN_LOCK ,1 ,(byte *)&fn_lock_flag);
+001A1D 7B01              MOV      R3,#01H
+001A1F 7A4C              MOV      R2,#HIGH g_variable+02H
+001A21 7985              MOV      R1,#LOW g_variable+02H
+001A23 7D01              MOV      R5,#01H
+001A25 7C00              MOV      R4,#00H
+001A27 7F57              MOV      R7,#057H
+001A29 7E7F              MOV      R6,#07FH
+001A2B 5188              ACALL    _IIC_WriteBlock
+  210: 		}	
 001A2D 7B01              MOV      R3,#01H
-001A2F 7A0B              MOV      R2,#HIGH IIC_TempBuff+03H
-001A31 7986              MOV      R1,#LOW IIC_TempBuff+03H
-001A33 12388A            LCALL    _dmemcpy
-001A36 900B83            MOV      DPTR,#IIC_TempBuff
-001A39 74A0              MOV      A,#0A0H
-001A3B F0                MOVX     @DPTR,A
-001A3C 904EB6            MOV      DPTR,#addr
-001A3F E0                MOVX     A,@DPTR
-001A40 FF                MOV      R7,A
-001A41 A3                INC      DPTR
+001A2F 7A4D              MOV      R2,#HIGH fn_lock_flag
+001A31 79EC              MOV      R1,#LOW fn_lock_flag
+001A33 7D01              MOV      R5,#01H
+001A35 7C00              MOV      R4,#00H
+001A37 7F56              MOV      R7,#056H
+001A39 7E7F              MOV      R6,#07FH
+001A3B 5188              ACALL    _IIC_WriteBlock
+  211: 		else if (g_variable.update_eeprom_flag == EEPROM_STORE_TYPE_BT)
+001A3D 8017              SJMP     ?C0040?BLUETOOTH
+001A3F         ?C0039?BLUETOOTH:
+  212: 			IIC_WriteBlock(EEPROM_RECON_INFO_BASE ,(sizeof(BD_KEY_RECORD)*3) , (byte *)&bd_key_record_list);
+001A3F 904C83            MOV      DPTR,#g_variable
 001A42 E0                MOVX     A,@DPTR
-001A43 900B84            MOV      DPTR,#IIC_TempBuff+01H
-001A46 CF                XCH      A,R7
-001A47 F0                MOVX     @DPTR,A
-001A48 A3                INC      DPTR
-001A49 EF                MOV      A,R7
-001A4A F0                MOVX     @DPTR,A
-001A4B 904EB9            MOV      DPTR,#len+01H
-001A4E E0                MOVX     A,@DPTR
-001A4F 2403              ADD      A,#03H
-001A51 FD                MOV      R5,A
-001A52 904EB8            MOV      DPTR,#len
-001A55 E0                MOVX     A,@DPTR
-001A56 3400              ADDC     A,#00H
-001A58 FC                MOV      R4,A
-001A59 ED                MOV      A,R5
-001A5A FA                MOV      R2,A
-001A5B EC                MOV      A,R4
-001A5C FF                MOV      R7,A
-001A5D EA                MOV      A,R2
-001A5E FE                MOV      R6,A
-001A5F EF                MOV      A,R7
-001A60 908098            MOV      DPTR,#08098H
-001A63 EE                MOV      A,R6
-001A64 F0                MOVX     @DPTR,A
-001A65 A3                INC      DPTR
-001A66 EF                MOV      A,R7
-001A67 F0                MOVX     @DPTR,A
-001A68 7A0B              MOV      R2,#HIGH IIC_TempBuff
-001A6A 7983              MOV      R1,#LOW IIC_TempBuff
-001A6C 7E0B              MOV      R6,#HIGH IIC_TempBuff
-001A6E 7F83              MOV      R7,#LOW IIC_TempBuff
-001A70 7483              MOV      A,#LOW IIC_TempBuff
-001A72 FC                MOV      R4,A
-001A73 740B              MOV      A,#HIGH IIC_TempBuff
-001A75 FF                MOV      R7,A
-001A76 EC                MOV      A,R4
-001A77 FE                MOV      R6,A
-001A78 EF                MOV      A,R7
-001A79 A3                INC      DPTR
-001A7A EE                MOV      A,R6
-001A7B F0                MOVX     @DPTR,A
-001A7C A3                INC      DPTR
-001A7D EF                MOV      A,R7
-001A7E F0                MOVX     @DPTR,A
-001A7F 90809E            MOV      DPTR,#0809EH
+001A43 B40310            CJNE     A,#03H,?C0040?BLUETOOTH
+  213: 		
+001A46 7B01              MOV      R3,#01H
+001A48 7A4D              MOV      R2,#HIGH bd_key_record_list
+001A4A 79F4              MOV      R1,#LOW bd_key_record_list
+001A4C 7D5D              MOV      R5,#05DH
+001A4E 7C00              MOV      R4,#00H
+001A50 7F60              MOV      R7,#060H
+001A52 7E7F              MOV      R6,#07FH
+001A54 5188              ACALL    _IIC_WriteBlock
+001A56         ?C0040?BLUETOOTH:
+  214: 		IIC_WriteBlock(EEPROM_RECON_INFO_LAST_DEVICE ,1 ,(byte *)&g_variable.last_device_num);
+001A56 7B01              MOV      R3,#01H
+001A58 7A4C              MOV      R2,#HIGH g_variable+01H
+001A5A 7984              MOV      R1,#LOW g_variable+01H
+001A5C 7D01              MOV      R5,#01H
+001A5E 7C00              MOV      R4,#00H
+001A60 7FBD              MOV      R7,#0BDH
+001A62 7E7F              MOV      R6,#07FH
+001A64 5188              ACALL    _IIC_WriteBlock
+  215: 		IIC_WriteBlock(EEPROM_RECON_INFO_RAMDON_LE_LAP1 ,2 ,(byte *)&g_variable.ble_ramdon_lap1);
+001A66 7B01              MOV      R3,#01H
+001A68 7A4C              MOV      R2,#HIGH g_variable+038H
+001A6A 79BB              MOV      R1,#LOW g_variable+038H
+001A6C 7D02              MOV      R5,#02H
+001A6E 7C00              MOV      R4,#00H
+001A70 7FBE              MOV      R7,#0BEH
+001A72 7E7F              MOV      R6,#07FH
+001A74 5188              ACALL    _IIC_WriteBlock
+  216: 
+  217: 
+  218: 		GPIO_Setout(EEPROM_WP_GPIO,1);
+001A76 D201              SETB     ?_GPIO_Setout?BIT
+001A78 7FFF              MOV      R7,#0FFH
+001A7A 1211D0            LCALL    _GPIO_Setout
+  219: 		Delay1ms(10);
+001A7D 7F0A              MOV      R7,#0AH
+001A7F 120F72            LCALL    _Delay1ms
+  220: 		g_variable.update_eeprom_flag = 0;
 001A82 E4                CLR      A
-001A83 F0                MOVX     @DPTR,A
-001A84 A3                INC      DPTR
-001A85 F0                MOVX     @DPTR,A
-001A86 908090            MOV      DPTR,#08090H
-001A89 04                INC      A
-001A8A F0                MOVX     @DPTR,A
-001A8B 908006            MOV      DPTR,#08006H
-001A8E E0                MOVX     A,@DPTR
-001A8F 4404              ORL      A,#04H
-001A91 F0                MOVX     @DPTR,A
-001A92 21F1              AJMP     IIcWaitDone
------ FUNCTION _IIC_write (END) -------
+001A83 904C83            MOV      DPTR,#g_variable
+001A86 F0                MOVX     @DPTR,A
+  221: 	}
+  222: }
+001A87         ?C0042?BLUETOOTH:
+001A87 22                RET      
+----- FUNCTION YC_update_eeprom_data (END) -------
 
 
 ----- FUNCTION _IIC_WriteBlock (BEGIN) -----
-001A94 904E97            MOV      DPTR,#addr
-001A97 EE                MOV      A,R6
+ FILE: 'iic.c'
+   48: void IIC_WriteBlock(word addr, word len, byte * pbuff)
+   49: {
+001A88 904E99            MOV      DPTR,#addr
+001A8B EE                MOV      A,R6
+001A8C F0                MOVX     @DPTR,A
+001A8D A3                INC      DPTR
+001A8E EF                MOV      A,R7
+001A8F F0                MOVX     @DPTR,A
+001A90 A3                INC      DPTR
+001A91 EC                MOV      A,R4
+001A92 F0                MOVX     @DPTR,A
+001A93 A3                INC      DPTR
+001A94 ED                MOV      A,R5
+001A95 F0                MOVX     @DPTR,A
+001A96 A3                INC      DPTR
+001A97 EB                MOV      A,R3
 001A98 F0                MOVX     @DPTR,A
 001A99 A3                INC      DPTR
-001A9A EF                MOV      A,R7
+001A9A EA                MOV      A,R2
 001A9B F0                MOVX     @DPTR,A
 001A9C A3                INC      DPTR
-001A9D EC                MOV      A,R4
+001A9D E9                MOV      A,R1
 001A9E F0                MOVX     @DPTR,A
-001A9F A3                INC      DPTR
-001AA0 ED                MOV      A,R5
-001AA1 F0                MOVX     @DPTR,A
-001AA2 A3                INC      DPTR
-001AA3 EB                MOV      A,R3
-001AA4 F0                MOVX     @DPTR,A
+   50: 	word cris, curr_len;
+001A9F         ?C0007?IIC:
+   51: 	while (len) {
+001A9F 904E9B            MOV      DPTR,#len
+001AA2 E0                MOVX     A,@DPTR
+001AA3 7002              JNZ      ?C0012?IIC
 001AA5 A3                INC      DPTR
-001AA6 EA                MOV      A,R2
-001AA7 F0                MOVX     @DPTR,A
-001AA8 A3                INC      DPTR
-001AA9 E9                MOV      A,R1
-001AAA F0                MOVX     @DPTR,A
-001AAB         ?C0007?IIC:
-001AAB 904E99            MOV      DPTR,#len
+001AA6 E0                MOVX     A,@DPTR
+001AA7         ?C0012?IIC:
+001AA7 7002              JNZ      $ + 4H
+001AA9 6136              AJMP     ?C0011?IIC
+   52: 		cris = (addr | (EEP_PAGE_SIZE - 1)) + 1;
+001AAB 904E99            MOV      DPTR,#addr
 001AAE E0                MOVX     A,@DPTR
-001AAF 7002              JNZ      ?C0012?IIC
-001AB1 A3                INC      DPTR
-001AB2 E0                MOVX     A,@DPTR
-001AB3         ?C0012?IIC:
-001AB3 7002              JNZ      $ + 4H
-001AB5 6141              AJMP     ?C0011?IIC
-001AB7 904E97            MOV      DPTR,#addr
-001ABA E0                MOVX     A,@DPTR
-001ABB FE                MOV      R6,A
-001ABC A3                INC      DPTR
-001ABD E0                MOVX     A,@DPTR
-001ABE FF                MOV      R7,A
-001ABF 440F              ORL      A,#0FH
-001AC1 2401              ADD      A,#01H
-001AC3 FD                MOV      R5,A
-001AC4 E4                CLR      A
-001AC5 3E                ADDC     A,R6
-001AC6 FC                MOV      R4,A
+001AAF FE                MOV      R6,A
+001AB0 A3                INC      DPTR
+001AB1 E0                MOVX     A,@DPTR
+001AB2 FF                MOV      R7,A
+001AB3 440F              ORL      A,#0FH
+001AB5 2401              ADD      A,#01H
+001AB7 FD                MOV      R5,A
+001AB8 E4                CLR      A
+001AB9 3E                ADDC     A,R6
+001ABA FC                MOV      R4,A
 ;---- Variable 'cris' assigned to Register 'R4/R5' ----
-001AC7 C3                CLR      C
-001AC8 ED                MOV      A,R5
-001AC9 9F                SUBB     A,R7
-001ACA FF                MOV      R7,A
-001ACB EC                MOV      A,R4
-001ACC 9E                SUBB     A,R6
-001ACD FE                MOV      R6,A
-001ACE 904E9E            MOV      DPTR,#curr_len
-001AD1 F0                MOVX     @DPTR,A
-001AD2 A3                INC      DPTR
-001AD3 EF                MOV      A,R7
-001AD4 F0                MOVX     @DPTR,A
-001AD5 904E99            MOV      DPTR,#len
-001AD8 E0                MOVX     A,@DPTR
-001AD9 FC                MOV      R4,A
-001ADA A3                INC      DPTR
-001ADB E0                MOVX     A,@DPTR
-001ADC FD                MOV      R5,A
-001ADD D3                SETB     C
-001ADE 9F                SUBB     A,R7
-001ADF EC                MOV      A,R4
-001AE0 9E                SUBB     A,R6
-001AE1 400A              JC       ?C0009?IIC
-001AE3 904E9E            MOV      DPTR,#curr_len
-001AE6 E0                MOVX     A,@DPTR
-001AE7 FE                MOV      R6,A
-001AE8 A3                INC      DPTR
-001AE9 E0                MOVX     A,@DPTR
-001AEA FF                MOV      R7,A
-001AEB 8004              SJMP     ?C0010?IIC
-001AED         ?C0009?IIC:
-001AED AE04              MOV      R6,AR4
-001AEF AF05              MOV      R7,AR5
-001AF1         ?C0010?IIC:
-001AF1 904E9E            MOV      DPTR,#curr_len
-001AF4 EE                MOV      A,R6
+   53: 		curr_len = cris - addr;
+001ABB C3                CLR      C
+001ABC ED                MOV      A,R5
+001ABD 9F                SUBB     A,R7
+001ABE FF                MOV      R7,A
+001ABF EC                MOV      A,R4
+001AC0 9E                SUBB     A,R6
+001AC1 FE                MOV      R6,A
+001AC2 904EA0            MOV      DPTR,#curr_len
+001AC5 F0                MOVX     @DPTR,A
+001AC6 A3                INC      DPTR
+001AC7 EF                MOV      A,R7
+001AC8 F0                MOVX     @DPTR,A
+   54: 		curr_len = min(curr_len, len);
+001AC9 904E9B            MOV      DPTR,#len
+001ACC E0                MOVX     A,@DPTR
+001ACD FC                MOV      R4,A
+001ACE A3                INC      DPTR
+001ACF E0                MOVX     A,@DPTR
+001AD0 FD                MOV      R5,A
+001AD1 D3                SETB     C
+001AD2 9F                SUBB     A,R7
+001AD3 EC                MOV      A,R4
+001AD4 9E                SUBB     A,R6
+001AD5 400A              JC       ?C0009?IIC
+001AD7 904EA0            MOV      DPTR,#curr_len
+001ADA E0                MOVX     A,@DPTR
+001ADB FE                MOV      R6,A
+001ADC A3                INC      DPTR
+001ADD E0                MOVX     A,@DPTR
+001ADE FF                MOV      R7,A
+001ADF 8004              SJMP     ?C0010?IIC
+001AE1         ?C0009?IIC:
+001AE1 AE04              MOV      R6,AR4
+001AE3 AF05              MOV      R7,AR5
+001AE5         ?C0010?IIC:
+001AE5 904EA0            MOV      DPTR,#curr_len
+001AE8 EE                MOV      A,R6
+001AE9 F0                MOVX     @DPTR,A
+001AEA FC                MOV      R4,A
+001AEB A3                INC      DPTR
+001AEC EF                MOV      A,R7
+001AED F0                MOVX     @DPTR,A
+001AEE FD                MOV      R5,A
+   55: 		len -= curr_len;
+001AEF C3                CLR      C
+001AF0 904E9C            MOV      DPTR,#len+01H
+001AF3 E0                MOVX     A,@DPTR
+001AF4 9D                SUBB     A,R5
 001AF5 F0                MOVX     @DPTR,A
-001AF6 FC                MOV      R4,A
-001AF7 A3                INC      DPTR
-001AF8 EF                MOV      A,R7
-001AF9 F0                MOVX     @DPTR,A
-001AFA FD                MOV      R5,A
-001AFB C3                CLR      C
-001AFC 904E9A            MOV      DPTR,#len+01H
+001AF6 904E9B            MOV      DPTR,#len
+001AF9 E0                MOVX     A,@DPTR
+001AFA 9C                SUBB     A,R4
+001AFB F0                MOVX     @DPTR,A
+   56: 		IIC_write(addr, curr_len, pbuff);
+001AFC 904E99            MOV      DPTR,#addr
 001AFF E0                MOVX     A,@DPTR
-001B00 9D                SUBB     A,R5
-001B01 F0                MOVX     @DPTR,A
-001B02 904E99            MOV      DPTR,#len
-001B05 E0                MOVX     A,@DPTR
-001B06 9C                SUBB     A,R4
-001B07 F0                MOVX     @DPTR,A
-001B08 904E97            MOV      DPTR,#addr
-001B0B E0                MOVX     A,@DPTR
-001B0C FE                MOV      R6,A
-001B0D A3                INC      DPTR
-001B0E E0                MOVX     A,@DPTR
-001B0F FF                MOV      R7,A
-001B10 904E9B            MOV      DPTR,#pbuff
-001B13 E0                MOVX     A,@DPTR
-001B14 FB                MOV      R3,A
-001B15 A3                INC      DPTR
-001B16 E0                MOVX     A,@DPTR
-001B17 FA                MOV      R2,A
-001B18 A3                INC      DPTR
-001B19 E0                MOVX     A,@DPTR
-001B1A F9                MOV      R1,A
-001B1B 31F9              ACALL    _IIC_write
-001B1D 7F0A              MOV      R7,#0AH
-001B1F 1216F3            LCALL    _Delay1ms
-001B22 904E9E            MOV      DPTR,#curr_len
-001B25 E0                MOVX     A,@DPTR
-001B26 FE                MOV      R6,A
-001B27 A3                INC      DPTR
-001B28 E0                MOVX     A,@DPTR
-001B29 FF                MOV      R7,A
-001B2A 904E9C            MOV      DPTR,#pbuff+01H
-001B2D EE                MOV      A,R6
-001B2E 8FF0              MOV      B,R7
-001B30 12040E            LCALL    ?C?IILDX
-001B33 904E98            MOV      DPTR,#addr+01H
-001B36 E0                MOVX     A,@DPTR
-001B37 2F                ADD      A,R7
-001B38 F0                MOVX     @DPTR,A
-001B39 904E97            MOV      DPTR,#addr
-001B3C E0                MOVX     A,@DPTR
-001B3D 3E                ADDC     A,R6
-001B3E F0                MOVX     @DPTR,A
-001B3F 41AB              AJMP     ?C0007?IIC
-001B41         ?C0011?IIC:
-001B41 22                RET      
+001B00 FE                MOV      R6,A
+001B01 A3                INC      DPTR
+001B02 E0                MOVX     A,@DPTR
+001B03 FF                MOV      R7,A
+001B04 904E9D            MOV      DPTR,#pbuff
+001B07 E0                MOVX     A,@DPTR
+001B08 FB                MOV      R3,A
+001B09 A3                INC      DPTR
+001B0A E0                MOVX     A,@DPTR
+001B0B FA                MOV      R2,A
+001B0C A3                INC      DPTR
+001B0D E0                MOVX     A,@DPTR
+001B0E F9                MOV      R1,A
+001B0F 122168            LCALL    _IIC_write
+   57: 		Delay1ms(10);
+001B12 7F0A              MOV      R7,#0AH
+001B14 120F72            LCALL    _Delay1ms
+   58: 		pbuff += curr_len;
+001B17 904EA0            MOV      DPTR,#curr_len
+001B1A E0                MOVX     A,@DPTR
+001B1B FE                MOV      R6,A
+001B1C A3                INC      DPTR
+001B1D E0                MOVX     A,@DPTR
+001B1E FF                MOV      R7,A
+001B1F 904E9E            MOV      DPTR,#pbuff+01H
+001B22 EE                MOV      A,R6
+001B23 8FF0              MOV      B,R7
+001B25 12040E            LCALL    ?C?IILDX
+   59: 		addr += curr_len;
+001B28 904E9A            MOV      DPTR,#addr+01H
+001B2B E0                MOVX     A,@DPTR
+001B2C 2F                ADD      A,R7
+001B2D F0                MOVX     @DPTR,A
+001B2E 904E99            MOV      DPTR,#addr
+001B31 E0                MOVX     A,@DPTR
+001B32 3E                ADDC     A,R6
+001B33 F0                MOVX     @DPTR,A
+   60: 	};
+001B34 419F              AJMP     ?C0007?IIC
+   61: }
+001B36         ?C0011?IIC:
+001B36 22                RET      
 ----- FUNCTION _IIC_WriteBlock (END) -------
 
 
------ FUNCTION YC_update_eeprom_data (BEGIN) -----
- FILE: 'bluetooth.c'
-  274: void YC_update_eeprom_data()
-  275: {
-  276: 	if (g_variable.update_eeprom_flag)				//bt3.0  bt4.2 record information save
-  277: 	{
-001B42 904CBF            MOV      DPTR,#g_variable
-001B45 E0                MOVX     A,@DPTR
-001B46 FF                MOV      R7,A
-001B47 7002              JNZ      $ + 4H
-001B49 61DC              AJMP     ?C0052?BLUETOOTH
-  278: 		if (g_variable.update_eeprom_flag != EEPROM_STORE_TYPE_NORMAL)
-  279: 			Delay1ms(200);
-001B4B 6401              XRL      A,#01H
-001B4D 6005              JZ       ?C0048?BLUETOOTH
-  280: 		GPIO_Setout(EEPROM_WP_GPIO,0);
-001B4F 7FC8              MOV      R7,#0C8H
-001B51 1216F3            LCALL    _Delay1ms
-001B54         ?C0048?BLUETOOTH:
-  281: 		if (g_variable.update_eeprom_flag == EEPROM_STORE_TYPE_G24)
-001B54 C201              CLR      ?_GPIO_Setout?BIT
-001B56 7FFF              MOV      R7,#0FFH
-001B58 1212BB            LCALL    _GPIO_Setout
-  282: 		{
-001B5B 904CBF            MOV      DPTR,#g_variable
-001B5E E0                MOVX     A,@DPTR
-001B5F 6402              XRL      A,#02H
-001B61 7031              JNZ      ?C0049?BLUETOOTH
-  283: 			IIC_WriteBlock(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
-  284: 			IIC_WriteBlock(EEPROM_RECON_INFO_G24_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
-001B63 7B01              MOV      R3,#01H
-001B65 7A4C              MOV      R2,#HIGH m_24g_addr
-001B67 7900              MOV      R1,#LOW m_24g_addr
-001B69 7D04              MOV      R5,#04H
-001B6B FC                MOV      R4,A
-001B6C 7F52              MOV      R7,#052H
-001B6E 7E7F              MOV      R6,#07FH
-001B70 5194              ACALL    _IIC_WriteBlock
-  285: 			IIC_WriteBlock(EEPROM_RECON_INFO_G24_FN_LOCK ,1 ,(byte *)&fn_lock_flag);
-001B72 7B01              MOV      R3,#01H
-001B74 7A4C              MOV      R2,#HIGH g_variable+02H
-001B76 79C1              MOV      R1,#LOW g_variable+02H
-001B78 7D01              MOV      R5,#01H
-001B7A 7C00              MOV      R4,#00H
-001B7C 7F57              MOV      R7,#057H
-001B7E 7E7F              MOV      R6,#07FH
-001B80 5194              ACALL    _IIC_WriteBlock
-  286: 		}	
-001B82 7B01              MOV      R3,#01H
-001B84 7A4D              MOV      R2,#HIGH fn_lock_flag
-001B86 79EA              MOV      R1,#LOW fn_lock_flag
-001B88 7D01              MOV      R5,#01H
-001B8A 7C00              MOV      R4,#00H
-001B8C 7F56              MOV      R7,#056H
-001B8E 7E7F              MOV      R6,#07FH
-001B90 5194              ACALL    _IIC_WriteBlock
-  287: 		else if (g_variable.update_eeprom_flag == EEPROM_STORE_TYPE_BT)
-001B92 8017              SJMP     ?C0050?BLUETOOTH
-001B94         ?C0049?BLUETOOTH:
-  288: 			IIC_WriteBlock(EEPROM_RECON_INFO_BASE ,(sizeof(BD_KEY_RECORD)*3) , (byte *)&bd_key_record_list);
-001B94 904CBF            MOV      DPTR,#g_variable
-001B97 E0                MOVX     A,@DPTR
-001B98 B40310            CJNE     A,#03H,?C0050?BLUETOOTH
-  289: 		
-001B9B 7B01              MOV      R3,#01H
-001B9D 7A4D              MOV      R2,#HIGH bd_key_record_list
-001B9F 79F2              MOV      R1,#LOW bd_key_record_list
-001BA1 7D5D              MOV      R5,#05DH
-001BA3 7C00              MOV      R4,#00H
-001BA5 7F60              MOV      R7,#060H
-001BA7 7E7F              MOV      R6,#07FH
-001BA9 5194              ACALL    _IIC_WriteBlock
-001BAB         ?C0050?BLUETOOTH:
-  290: 		IIC_WriteBlock(EEPROM_RECON_INFO_LAST_DEVICE ,1 ,(byte *)&g_variable.last_device_num);
-001BAB 7B01              MOV      R3,#01H
-001BAD 7A4C              MOV      R2,#HIGH g_variable+01H
-001BAF 79C0              MOV      R1,#LOW g_variable+01H
-001BB1 7D01              MOV      R5,#01H
-001BB3 7C00              MOV      R4,#00H
-001BB5 7FBD              MOV      R7,#0BDH
-001BB7 7E7F              MOV      R6,#07FH
-001BB9 5194              ACALL    _IIC_WriteBlock
-  291: 		IIC_WriteBlock(EEPROM_RECON_INFO_RAMDON_LE_LAP1 ,2 ,(byte *)&g_variable.ble_ramdon_lap1);
-001BBB 7B01              MOV      R3,#01H
-001BBD 7A4C              MOV      R2,#HIGH g_variable+033H
-001BBF 79F2              MOV      R1,#LOW g_variable+033H
-001BC1 7D02              MOV      R5,#02H
-001BC3 7C00              MOV      R4,#00H
-001BC5 7FBE              MOV      R7,#0BEH
-001BC7 7E7F              MOV      R6,#07FH
-001BC9 5194              ACALL    _IIC_WriteBlock
-  292: 
-  293: 		GPIO_Setout(EEPROM_WP_GPIO,1);
-001BCB D201              SETB     ?_GPIO_Setout?BIT
-001BCD 7FFF              MOV      R7,#0FFH
-001BCF 1212BB            LCALL    _GPIO_Setout
-  294: 		Delay1ms(10);
-001BD2 7F0A              MOV      R7,#0AH
-001BD4 1216F3            LCALL    _Delay1ms
-  295: 		g_variable.update_eeprom_flag = 0;
-001BD7 E4                CLR      A
-001BD8 904CBF            MOV      DPTR,#g_variable
-001BDB F0                MOVX     @DPTR,A
-  296: 	}
-  297: }
-001BDC         ?C0052?BLUETOOTH:
-001BDC 22                RET      
------ FUNCTION YC_update_eeprom_data (END) -------
+----- FUNCTION System_Reset_Connect (BEGIN) -----
+ FILE: 'sys.c'
+  106: void System_Reset_Connect()
+;----                  JMP      System_Hardware_reset
+  107: {
+  108: 	System_Hardware_reset();
+----- FUNCTION System_Reset_Connect (END) -------
 
 
------ FUNCTION kb_button_press_timer500ms (BEGIN) -----
+----- FUNCTION System_Hardware_reset (BEGIN) -----
  FILE: 'sys.c'
-  711: void kb_button_press_timer500ms()
-  712: {
-  713: 	
-  714: //key status 
-  715: /*
-  716: 	if (g_variable.button_flag & KEY_FLAG_BTKEY_PRESS)		//press BT key
-  717: 	{
-  718: 		if (g_variable.button_timer[0] < 250)
-  719: 			g_variable.button_timer[0]++;
-  720: 		if (g_variable.button_timer[0] == 2)
-  721: 		{
-  722: 			YC_key_action_handle(KEY_DISCOVERY);
-  723: 		}
-  724: 	}
-  725: 	else
-  726: 		g_variable.button_timer[0] = 0;
-  727: */		
-  728: 	
-  729: 	if (g_variable.button_flag & KEY_FLAG_SAME_KEY_PRESS)
-001BDD 904CCE            MOV      DPTR,#g_variable+0FH
-001BE0 E0                MOVX     A,@DPTR
-001BE1 30E13E            JNB      ACC.1,?C0091?SYS
-  730: 	{
-  731: 		if (g_variable.button_timer[1] < 250)
-001BE4 904CD0            MOV      DPTR,#g_variable+011H
-001BE7 E0                MOVX     A,@DPTR
-001BE8 C3                CLR      C
-001BE9 94FA              SUBB     A,#0FAH
-001BEB 5003              JNC      ?C0092?SYS
-  732: 			g_variable.button_timer[1]++;
-001BED E0                MOVX     A,@DPTR
-001BEE 04                INC      A
-001BEF F0                MOVX     @DPTR,A
-001BF0         ?C0092?SYS:
-  733: 		if (g_variable.button_timer[1] == 180)			// 500ms*180*3 = 4min30s
-001BF0 904CD0            MOV      DPTR,#g_variable+011H
-001BF3 E0                MOVX     A,@DPTR
-001BF4 64B4              XRL      A,#0B4H
-001BF6 7037              JNZ      ?C0097?SYS
-  734: 		{
-  735: 			press_long_time_flag++;
-001BF8 904DE6            MOV      DPTR,#press_long_time_flag
-001BFB E0                MOVX     A,@DPTR
-001BFC 04                INC      A
-001BFD F0                MOVX     @DPTR,A
-  736: 			if(press_long_time_flag <= 2)
-001BFE E0                MOVX     A,@DPTR
-001BFF D3                SETB     C
-001C00 9402              SUBB     A,#02H
-001C02 5007              JNC      ?C0094?SYS
-  737: 			{
-  738: 				g_variable.button_timer[1] = 0;
-001C04 E4                CLR      A
-001C05 904CD0            MOV      DPTR,#g_variable+011H
-001C08 F0                MOVX     @DPTR,A
-  739: 			}
-001C09 8024              SJMP     ?C0097?SYS
-001C0B         ?C0094?SYS:
-  740: 			else if(press_long_time_flag == 3)
-001C0B 904DE6            MOV      DPTR,#press_long_time_flag
-001C0E E0                MOVX     A,@DPTR
-001C0F B4031D            CJNE     A,#03H,?C0097?SYS
-  741: 			{
-  742: 				long_press_flag = 1;
-001C12 904DDF            MOV      DPTR,#long_press_flag
-001C15 7401              MOV      A,#01H
-001C17 F0                MOVX     @DPTR,A
-  743: 				g_variable.button_timer[1] = 0;
-001C18 E4                CLR      A
-001C19 904CD0            MOV      DPTR,#g_variable+011H
-001C1C F0                MOVX     @DPTR,A
-  744: 				System_long_sleep();
-001C1D 1217BD            LCALL    System_long_sleep
-  745: 			}
-  746: 		}
-  747: 	}
-001C20 800D              SJMP     ?C0097?SYS
-001C22         ?C0091?SYS:
-  748: 	else
-  749: 	{
-  750: 		press_long_time_flag = 0;
-001C22 E4                CLR      A
-001C23 904DE6            MOV      DPTR,#press_long_time_flag
-001C26 F0                MOVX     @DPTR,A
-  751: 		long_press_flag = 0;
-001C27 904DDF            MOV      DPTR,#long_press_flag
-001C2A F0                MOVX     @DPTR,A
-  752: 		g_variable.button_timer[1] = 0;
-001C2B 904CD0            MOV      DPTR,#g_variable+011H
-001C2E F0                MOVX     @DPTR,A
-  753: 	}
-001C2F         ?C0097?SYS:
-  754: 		
-  755: 	if (g_variable.button_flag & KEY_FLAG_FN_24G_DEVICE_BUTTON)		// G24 pairing
-001C2F 904CCE            MOV      DPTR,#g_variable+0FH
-001C32 E0                MOVX     A,@DPTR
-001C33 30E439            JNB      ACC.4,?C0098?SYS
-  756: 	{
-  757: 		g_variable.delay_enter_lpm_timer = 10;
-001C36 904CEA            MOV      DPTR,#g_variable+02BH
-001C39 740A              MOV      A,#0AH
-001C3B F0                MOVX     @DPTR,A
-  758: 		if (g_variable.button_timer[2] < 250)
-001C3C 904CD1            MOV      DPTR,#g_variable+012H
-001C3F E0                MOVX     A,@DPTR
-001C40 C3                CLR      C
-001C41 94FA              SUBB     A,#0FAH
-001C43 5003              JNC      ?C0099?SYS
-  759: 			g_variable.button_timer[2]++;
-001C45 E0                MOVX     A,@DPTR
-001C46 04                INC      A
-001C47 F0                MOVX     @DPTR,A
-001C48         ?C0099?SYS:
-  760: 		if (g_variable.button_timer[2] == 6)
-001C48 904CD1            MOV      DPTR,#g_variable+012H
-001C4B E0                MOVX     A,@DPTR
-001C4C 6406              XRL      A,#06H
-001C4E 7049              JNZ      ?C0103?SYS
-  761: 		{
-  762: 			if( !g_variable.current_device_num || (g_variable.current_device_num == 0xfe))
-001C50 904CC3            MOV      DPTR,#g_variable+04H
-001C53 E0                MOVX     A,@DPTR
-001C54 FF                MOV      R7,A
-001C55 6004              JZ       ?C0102?SYS
-001C57 64FE              XRL      A,#0FEH
-001C59 703E              JNZ      ?C0103?SYS
-001C5B         ?C0102?SYS:
-  763: 			{
-  764: 				g_variable.button_24G_rec_flag = 0;
-001C5B E4                CLR      A
-001C5C 904CCD            MOV      DPTR,#g_variable+0EH
-001C5F F0                MOVX     @DPTR,A
-  765: 				YC_disconnect_all_link();
-001C60 1217C6            LCALL    YC_disconnect_all_link
-  766: 				Delay1ms(10);
-001C63 7F0A              MOV      R7,#0AH
-001C65 1216F3            LCALL    _Delay1ms
-  767: 				YC_key_action_handle(KEY_PAIRING_24G);
-001C68 7F0A              MOV      R7,#0AH
-001C6A 1210D7            LCALL    _YC_key_action_handle
-  768: 			}
-  769: 		}
-  770: 	}
-001C6D 802A              SJMP     ?C0103?SYS
-001C6F         ?C0098?SYS:
-  771: 	else
-  772: 	{
-  773: 		if(g_variable.button_24G_rec_flag)
-001C6F 904CCD            MOV      DPTR,#g_variable+0EH
-001C72 E0                MOVX     A,@DPTR
-001C73 601F              JZ       ?C0104?SYS
-  774: 		{
-  775: 			g_variable.button_24G_rec_flag = 0;
-001C75 E4                CLR      A
-001C76 F0                MOVX     @DPTR,A
-  776: 			YC_key_action_handle(KEY_STOP_DISCOVERY);
-001C77 7F0D              MOV      R7,#0DH
-001C79 1210D7            LCALL    _YC_key_action_handle
-  777: 			g_variable.release_data = 1;
-001C7C 904CEB            MOV      DPTR,#g_variable+02CH
-001C7F 7401              MOV      A,#01H
-001C81 F0                MOVX     @DPTR,A
-  778: 			g_variable.last_device_num = g_variable.current_device_num;
-001C82 904CC3            MOV      DPTR,#g_variable+04H
-001C85 E0                MOVX     A,@DPTR
-001C86 904CC0            MOV      DPTR,#g_variable+01H
-001C89 F0                MOVX     @DPTR,A
-  779: 			g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_NORMAL;
-001C8A 904CBF            MOV      DPTR,#g_variable
-001C8D 7401              MOV      A,#01H
-001C8F F0                MOVX     @DPTR,A
-  780: 			YC_update_eeprom_data();
-001C90 7142              ACALL    YC_update_eeprom_data
-  781: 			System_Reset_Connect();
-001C92 D1C7              ACALL    System_Reset_Connect
-  782: 		}
-001C94         ?C0104?SYS:
-  783: 		g_variable.button_timer[2] = 0;
-001C94 E4                CLR      A
-001C95 904CD1            MOV      DPTR,#g_variable+012H
-001C98 F0                MOVX     @DPTR,A
-  784: 	}
-001C99         ?C0103?SYS:
-  785: 
-  786: 	
-  787: 	if (g_variable.button_flag & KEY_FLAG_FN_DEVICE_BUTTON)
-001C99 904CCE            MOV      DPTR,#g_variable+0FH
-001C9C E0                MOVX     A,@DPTR
-001C9D 20E336            JB       ACC.3,?C0109?SYS
-  788: 	{
-  789: //		g_variable.delay_enter_lpm_timer = 10;
-  790: //		if (g_variable.button_timer[3] < 250)
-  791: //			g_variable.button_timer[3]++;
-  792: //		if (g_variable.button_timer[3] == 6)
-  793: //		{
-  794: //			//do discoverable
-  795: //			g_variable.pairing_timeout = BT_PAIRING_TIME_OUT_2MIN;
-  796: //			g_variable.pairing_g24_timeout = 0;
-  797: //			YC_key_action_handle(KEY_DISCOVERY);
-  798: //			LED_all_shutdown();
-  799: //			g_variable.button_reconnect_flag = 0;
-  800: //			g_variable.release_data = 1;
-  801: //			g_variable.temp_device_num = g_variable.last_device_num;
-  802: //			g_variable.last_device_num = g_variable.current_device_num;
-  803: //		}
-  804: 	}
-001CA0         ?C0105?SYS:
-  805: 	else
-  806: 	{
-  807: 		if (g_variable.button_reconnect_flag)
-001CA0 904CCC            MOV      DPTR,#g_variable+0DH
-001CA3 E0                MOVX     A,@DPTR
-001CA4 602B              JZ       ?C0107?SYS
-  808: 		{
-  809: 			g_variable.button_reconnect_flag = 0;
-001CA6 E4                CLR      A
-001CA7 F0                MOVX     @DPTR,A
-  810: 
-  811: 			if(g_variable.last_device_num !=g_variable.current_device_num)		//switch device,
-001CA8 904CC3            MOV      DPTR,#g_variable+04H
-001CAB E0                MOVX     A,@DPTR
-001CAC FF                MOV      R7,A
-001CAD 904CC0            MOV      DPTR,#g_variable+01H
-001CB0 E0                MOVX     A,@DPTR
-001CB1 6F                XRL      A,R7
-001CB2 601D              JZ       ?C0107?SYS
-  812: 			{
-  813: 				g_variable.release_data = 1;
-001CB4 904CEB            MOV      DPTR,#g_variable+02CH
-001CB7 7401              MOV      A,#01H
-001CB9 F0                MOVX     @DPTR,A
-  814: 				LED_all_shutdown();
-001CBA 91D7              ACALL    LED_all_shutdown
-  815: 				g_variable.last_device_num = g_variable.current_device_num;
-001CBC 904CC3            MOV      DPTR,#g_variable+04H
-001CBF E0                MOVX     A,@DPTR
-001CC0 904CC0            MOV      DPTR,#g_variable+01H
-001CC3 F0                MOVX     @DPTR,A
-  816: 				g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_NORMAL;
-001CC4 904CBF            MOV      DPTR,#g_variable
-001CC7 7401              MOV      A,#01H
-001CC9 F0                MOVX     @DPTR,A
-  817: 				
-  818: 				YC_disconnect_all_link();
-001CCA 1217C6            LCALL    YC_disconnect_all_link
-  819: 				YC_update_eeprom_data();
-001CCD 7142              ACALL    YC_update_eeprom_data
-  820: 				System_Reset_Connect();
-001CCF D1C7              ACALL    System_Reset_Connect
-  821: 			}
-  822: 		}
-001CD1         ?C0107?SYS:
-  823: 		g_variable.button_timer[3] = 0;
-001CD1 E4                CLR      A
-001CD2 904CD2            MOV      DPTR,#g_variable+013H
-001CD5 F0                MOVX     @DPTR,A
-  824: 	}
-  825: 
-  826: 
-  827: //	if (g_variable.button_flag & KEY_FLAG_FN_SYSTEM_MODE_BUTTON)
-  828: //	{
-  829: ////		if (g_variable.button_timer[0] < 250)
-  830: ////			g_variable.button_timer[0]++;
-  831: ////		if (g_variable.button_timer[0] == 6)
-  832: ////		{
-  833: //			if(key_value_temp == HID_KEY_E)
-  834: //			{
-  835: //				g_variable.system_mode = OSMODE_IOS;
-  836: //			}
-  837: //			else if(key_value_temp == HID_KEY_Q)
-  838: //			{
-  839: //				g_variable.system_mode = OSMODE_MAC;
-  840: //
-  841: //			}
-  842: //			else if(key_value_temp == HID_KEY_W)
-  843: //			{
-  844: //				g_variable.system_mode = OSMODE_WINDOWS;
-  845: //
-  846: //			}
-  847: //			g_variable.powerOn_timer = 10;
-  848: //			if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
-  849: //			{
-  850: //				g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
-  851: //			}
-  852: //			else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
-  853: //			{
-  854: //				bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
-  855: //				g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-  856: //			}
-  857: ////		}
-  858: //	}
-  859: //	else
-  860: //	{
-  861: //		g_variable.button_timer[0] = 0;
-  862: //	}		
-  863: 
-  864: }
-001CD6         ?C0109?SYS:
-001CD6 22                RET      
------ FUNCTION kb_button_press_timer500ms (END) -------
-
-
------ FUNCTION LED_all_shutdown (BEGIN) -----
- FILE: 'led.c'
-    4: void LED_all_shutdown()
-    5: {
-    6: 	GPIO_SetOutput(NUM_LOCK_LED_GPIO,LED_OFF);
-    7: 	GPIO_SetOutput(CAPS_LED_GPIO,LED_OFF);
-001CD7 C206              CLR      ?_GPIO_SetOutput?BIT
-001CD9 7F0F              MOV      R7,#0FH
-001CDB 91FF              ACALL    _GPIO_SetOutput
-    8: 	GPIO_SetOutput(num1_led,LED_OFF);
-001CDD C206              CLR      ?_GPIO_SetOutput?BIT
-001CDF 7F10              MOV      R7,#010H
-001CE1 91FF              ACALL    _GPIO_SetOutput
-    9: 	GPIO_SetOutput(num2_led,LED_OFF);	
-001CE3 C206              CLR      ?_GPIO_SetOutput?BIT
-001CE5 7F1F              MOV      R7,#01FH
-001CE7 91FF              ACALL    _GPIO_SetOutput
-   10: 	GPIO_SetOutput(LOWPOWER_LED_GPIO,LED_OFF);
-001CE9 C206              CLR      ?_GPIO_SetOutput?BIT
-001CEB 7FFF              MOV      R7,#0FFH
-001CED 91FF              ACALL    _GPIO_SetOutput
-   11: 	GPIO_SetOutput(num0_led,LED_OFF);
-001CEF C206              CLR      ?_GPIO_SetOutput?BIT
-001CF1 7F1F              MOV      R7,#01FH
-001CF3 91FF              ACALL    _GPIO_SetOutput
-   12: 	GPIO_SetOutput(num3_led,LED_OFF);
-001CF5 C206              CLR      ?_GPIO_SetOutput?BIT
-001CF7 7F1F              MOV      R7,#01FH
-001CF9 91FF              ACALL    _GPIO_SetOutput
-   13: //	GPIO_SetOutput(PAIRING_LED_GPIO,LED_OFF);
-001CFB C206              CLR      ?_GPIO_SetOutput?BIT
-001CFD 7FFF              MOV      R7,#0FFH
-;----                  JMP      _GPIO_SetOutput
-   14: //	GPIO_SetOutput(num0_led,LED_ON);
-   15: //	GPIO_SetOutput(CAPS_LED_GPIO,LED_ON);
-   16: //	GPIO_SetOutput(NUM_LOCK_LED_GPIO,LED_ON);
-   17: //	GPIO_SetOutput(LOWPOWER_LED_GPIO,LED_ON);
-   18: //	while(1);
------ FUNCTION LED_all_shutdown (END) -------
-
-
------ FUNCTION _GPIO_SetOutput (BEGIN) -----
-;---- Variable 'gpio_num' assigned to Register 'R4' ----
-001CFF AC07              MOV      R4,AR7
-001D01 EC                MOV      A,R4
-001D02 F4                CPL      A
-001D03 6015              JZ       ?C0017?GPIO
-001D05         ?C0016?GPIO:
-001D05 AF04              MOV      R7,AR4
-001D07 D204              SETB     ?_GPIO_Setoe?BIT
-001D09 F120              ACALL    _GPIO_Setoe
-001D0B AF04              MOV      R7,AR4
-001D0D A206              MOV      C,st
-001D0F 9201              MOV      ?_GPIO_Setout?BIT,C
-001D11 1212BB            LCALL    _GPIO_Setout
-001D14 AF04              MOV      R7,AR4
-001D16 C202              CLR      ?_GPIO_SetPu?BIT
-001D18 D1F1              ACALL    _GPIO_SetPu
-001D1A         ?C0017?GPIO:
-001D1A 22                RET      
------ FUNCTION _GPIO_SetOutput (END) -------
+   79: static void System_Hardware_reset()
+   80: {
+   81: 	m_reset_reg = 1;
+   82: 	while(1);
+001B37 908010            MOV      DPTR,#m_reset_reg
+001B3A 7401              MOV      A,#01H
+001B3C F0                MOVX     @DPTR,A
+001B3D         ?C0005?SYS:
+   83: }
+001B3D 80FE              SJMP     ?C0005?SYS
+001B3F 22                RET      
+----- FUNCTION System_Hardware_reset (END) -------
 
 
 ----- FUNCTION YC_System_Main (BEGIN) -----
  FILE: 'sys.c'
- 1081: void YC_System_Main(void)
- 1082: {
- 1083: 	kb_cb_init();
- 1084: 	while(1) {
-001D1B D1DE              ACALL    kb_cb_init
-001D1D         ?C0149?SYS:
- 1085: 		IPC_DealSingleStep();
- 1086: 		kb_need_keyscan();
-001D1D 123652            LCALL    IPC_DealSingleStep
- 1087: //		kb_send_wheel_data();	
-001D20 120E04            LCALL    kb_need_keyscan
- 1088: 		YC_update_eeprom_data();
-001D23 7142              ACALL    YC_update_eeprom_data
- 1089: 		LED_handle();
-001D25 1212CD            LCALL    LED_handle
- 1090: 		//m_lpm_mode = 0;		
- 1091: #ifdef PC_SLEEP_STATUS_GET		
- 1092: 		if(m_pc_sleep_flag)
-001D28 904D7D            MOV      DPTR,#m_pc_sleep_flag
-001D2B E0                MOVX     A,@DPTR
-001D2C 6003              JZ       ?C0151?SYS
- 1093: 		{
- 1094: 			System_G24_long_lpm();
-001D2E 120FC8            LCALL    System_G24_long_lpm
- 1095: 		}
-001D31         ?C0151?SYS:
- 1096: #endif		
- 1097: 		switch (current_task) {
-001D31 900B7E            MOV      DPTR,#current_task
-001D34 E0                MOVX     A,@DPTR
-001D35 14                DEC      A
-001D36 601D              JZ       ?C0157?SYS
-001D38 24FE              ADD      A,#0FEH
-001D3A 70E1              JNZ      ?C0149?SYS
- 1098: 		case FIX_ENTER_HIBERNATE:
-001D3C         ?C0153?SYS:
- 1099: 			KS_Unistall();
-001D3C B18E              ACALL    KS_Unistall
- 1100: 			//GPIO_SetWakeupByCurrentState(BT_BUTTON_GPIO);
- 1101: //			GPIO_SetInput_high_impedance(WHEEL_DATA_A_GPIO);
- 1102: //			GPIO_SetInput_high_impedance(WHEEL_DATA_B_GPIO);
- 1103: //			GPIO_SetWakeupByCurrentState(WHEEL_DATA_A_GPIO);
- 1104: //			GPIO_SetWakeupByCurrentState(WHEEL_DATA_B_GPIO);
- 1105: 			GPIO_SetWakeupByCurrentState(USER_MODE_GPIO);
-001D3E 7F1E              MOV      R7,#01EH
-001D40 D127              ACALL    _GPIO_SetWakeupByCurrentState
- 1106: 			LED_all_shutdown();
-001D42 91D7              ACALL    LED_all_shutdown
- 1107: 			if(!GPIO_GetInputStatus(USER_MODE_GPIO))
-001D44 7F1E              MOV      R7,#01EH
-001D46 1217F1            LCALL    _GPIO_GetInputStatus
-001D49 4006              JC       ?C0154?SYS
- 1108: 				GPIO_SetInput(USER_MODE_GPIO, 1);
-001D4B D205              SETB     ?_GPIO_SetInput?BIT
-001D4D 7F1E              MOV      R7,#01EH
-001D4F F102              ACALL    _GPIO_SetInput
-001D51         ?C0154?SYS:
- 1109: 			IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
-001D51 D1D0              ACALL    IPC_WaitLpm
-001D53         ?C0155?SYS:
- 1110: 			while(1);
-001D53 80FE              SJMP     ?C0155?SYS
- 1111: 			break;
- 1112: 			
- 1113: 		case FIX_ENTER_LPM:
-001D55         ?C0157?SYS:
- 1114: 			if (g_variable.delay_enter_lpm_timer ||g_variable.lockLpm ||g_variable.powerOn_timer  ||control_key_flag || fn
->> _flag ||g_variable.one_key_press_wait_release_timer
-001D55 904CEA            MOV      DPTR,#g_variable+02BH
-001D58 E0                MOVX     A,@DPTR
-001D59 701E              JNZ      ?C0159?SYS
-001D5B 904CEC            MOV      DPTR,#g_variable+02DH
-001D5E E0                MOVX     A,@DPTR
-001D5F 7018              JNZ      ?C0159?SYS
-001D61 904CE5            MOV      DPTR,#g_variable+026H
-001D64 E0                MOVX     A,@DPTR
-001D65 7012              JNZ      ?C0159?SYS
-001D67 904DDA            MOV      DPTR,#control_key_flag
-001D6A E0                MOVX     A,@DPTR
-001D6B 700C              JNZ      ?C0159?SYS
-001D6D 904DE5            MOV      DPTR,#fn_flag
-001D70 E0                MOVX     A,@DPTR
-001D71 7006              JNZ      ?C0159?SYS
-001D73 904CF8            MOV      DPTR,#g_variable+039H
-001D76 E0                MOVX     A,@DPTR
-001D77 6004              JZ       ?C0158?SYS
-001D79         ?C0159?SYS:
- 1115: 			) 
- 1116: 			{
- 1117: 				IPC_AbandonLpm();
-001D79 F1DC              ACALL    IPC_AbandonLpm
- 1118: 				break;
-001D7B 80A0              SJMP     ?C0149?SYS
- 1119: 			}
-001D7D         ?C0158?SYS:
- 1120: 			else
- 1121: 			{
- 1122: 				KS_Unistall();
-001D7D B18E              ACALL    KS_Unistall
- 1123: //				GPIO_SetWakeupByCurrentState(WHEEL_DATA_A_GPIO);
- 1124: //				GPIO_SetWakeupByCurrentState(WHEEL_DATA_B_GPIO);
- 1125: 				if(g_variable.g24_long_sleep_flag)
-001D7F 904D01            MOV      DPTR,#g_variable+042H
-001D82 E0                MOVX     A,@DPTR
-001D83 6002              JZ       ?C0161?SYS
- 1126: 					LED_all_shutdown();				
-001D85 91D7              ACALL    LED_all_shutdown
-001D87         ?C0161?SYS:
- 1127: 				IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
-001D87 D1D0              ACALL    IPC_WaitLpm
- 1128: 				break;
-001D89 8092              SJMP     ?C0149?SYS
- 1129: 			}
- 1130: 		}
- 1131: 	}
-001D8B 8090              SJMP     ?C0149?SYS
-001D8D 22                RET      
+  878: void YC_System_Main(void)
+  879: {
+  880: 	kb_cb_init();
+  881: 	while(1) {
+001B40 F14E              ACALL    kb_cb_init
+001B42         ?C0160?SYS:
+  882: 		IPC_DealSingleStep();
+  883: 		kb_need_keyscan();
+001B42 91F5              ACALL    IPC_DealSingleStep
+  884: 		YC_update_eeprom_data();
+001B44 120E01            LCALL    kb_need_keyscan
+  885: 		LED_handle();
+001B47 31ED              ACALL    YC_update_eeprom_data
+  886: #ifdef PC_SLEEP_STATUS_GET		
+001B49 1210DA            LCALL    LED_handle
+  887: 		if(m_pc_sleep_flag)
+001B4C 904D27            MOV      DPTR,#m_pc_sleep_flag
+001B4F E0                MOVX     A,@DPTR
+001B50 6003              JZ       ?C0162?SYS
+  888: 		{
+  889: 			System_G24_long_lpm();
+001B52 120F97            LCALL    System_G24_long_lpm
+  890: 		}
+001B55         ?C0162?SYS:
+  891: #endif		
+  892: 		switch (current_task) {
+001B55 900B7E            MOV      DPTR,#current_task
+001B58 E0                MOVX     A,@DPTR
+001B59 14                DEC      A
+001B5A 601F              JZ       ?C0168?SYS
+001B5C 24FE              ADD      A,#0FEH
+001B5E 70E2              JNZ      ?C0160?SYS
+  893: 		case FIX_ENTER_HIBERNATE:
+001B60         ?C0164?SYS:
+  894: 			KS_Unistall();
+001B60 71BC              ACALL    KS_Unistall
+  895: 			//GPIO_SetWakeupByCurrentState(BT_BUTTON_GPIO);
+  896: 			GPIO_SetWakeupByCurrentState(USER_MODE_GPIO);
+001B62 7F1E              MOV      R7,#01EH
+001B64 9155              ACALL    _GPIO_SetWakeupByCurrentState
+  897: 			LED_all_shutdown();
+001B66 1217BC            LCALL    LED_all_shutdown
+  898: 			if(!GPIO_GetInputStatus(USER_MODE_GPIO))
+001B69 7F1E              MOV      R7,#01EH
+001B6B 1217F0            LCALL    _GPIO_GetInputStatus
+001B6E 4006              JC       ?C0165?SYS
+  899: 				GPIO_SetInput(USER_MODE_GPIO, 1);
+001B70 D205              SETB     ?_GPIO_SetInput?BIT
+001B72 7F1E              MOV      R7,#01EH
+001B74 F161              ACALL    _GPIO_SetInput
+001B76         ?C0165?SYS:
+  900: 			IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
+001B76 120F8A            LCALL    IPC_WaitLpm
+001B79         ?C0166?SYS:
+  901: 			while(1);
+001B79 80FE              SJMP     ?C0166?SYS
+  902: 			break;
+  903: 			
+  904: 		case FIX_ENTER_LPM:
+001B7B         ?C0168?SYS:
+  905: 			// if (g_variable.delay_enter_lpm_timer ||g_variable.lockLpm ||g_variable.powerOn_timer ||control_key_flag || 
+>> fn_flag ||g_variable.sys_mode_led_on_timer ||g_variable.one_key_press_wait_release_timer	
+  906: 			//  ||g_variable.pairing_succed_timeout ||g_variable.os_24g_juge_start_delay_timer  ||g_variable.switch_device
+>> _led_timer 
+  907: 			// ) 
+  908: 			if (g_variable.delay_enter_lpm_timer ||g_variable.lockLpm ||g_variable.powerOn_timer  ||control_key_flag || fn
+>> _flag ||g_variable.one_key_press_wait_release_timer||g_variable.os_24g_juge_start_delay_timer
+001B7B 904CB3            MOV      DPTR,#g_variable+030H
+001B7E E0                MOVX     A,@DPTR
+001B7F 7024              JNZ      ?C0170?SYS
+001B81 904CB5            MOV      DPTR,#g_variable+032H
+001B84 E0                MOVX     A,@DPTR
+001B85 701E              JNZ      ?C0170?SYS
+001B87 904CAD            MOV      DPTR,#g_variable+02AH
+001B8A E0                MOVX     A,@DPTR
+001B8B 7018              JNZ      ?C0170?SYS
+001B8D 904DDB            MOV      DPTR,#control_key_flag
+001B90 E0                MOVX     A,@DPTR
+001B91 7012              JNZ      ?C0170?SYS
+001B93 904DE6            MOV      DPTR,#fn_flag
+001B96 E0                MOVX     A,@DPTR
+001B97 700C              JNZ      ?C0170?SYS
+001B99 904CC1            MOV      DPTR,#g_variable+03EH
+001B9C E0                MOVX     A,@DPTR
+001B9D 7006              JNZ      ?C0170?SYS
+001B9F 904CD3            MOV      DPTR,#g_variable+050H
+001BA2 E0                MOVX     A,@DPTR
+001BA3 6004              JZ       ?C0169?SYS
+001BA5         ?C0170?SYS:
+  909: 			) 
+  910: 			{
+  911: 				IPC_AbandonLpm();
+001BA5 F1B7              ACALL    IPC_AbandonLpm
+  912: 				break;
+001BA7 8099              SJMP     ?C0160?SYS
+  913: 			}
+001BA9         ?C0169?SYS:
+  914: 			else
+  915: 			{
+  916: 				KS_Unistall();
+001BA9 71BC              ACALL    KS_Unistall
+  917: 				if(g_variable.g24_long_sleep_flag)
+001BAB 904CCA            MOV      DPTR,#g_variable+047H
+001BAE E0                MOVX     A,@DPTR
+001BAF 6003              JZ       ?C0172?SYS
+  918: 					LED_all_shutdown();				
+001BB1 1217BC            LCALL    LED_all_shutdown
+001BB4         ?C0172?SYS:
+  919: 				IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
+001BB4 120F8A            LCALL    IPC_WaitLpm
+  920: 				break;
+001BB7 8089              SJMP     ?C0160?SYS
+  921: 			}
+  922: 		}
+  923: 	}
+001BB9 8087              SJMP     ?C0160?SYS
+001BBB 22                RET      
 ----- FUNCTION YC_System_Main (END) -------
 
 
@@ -5239,408 +4727,947 @@
   217: 	byte i = 0;
   218: 	byte temp = 0;
 ;---- Variable 'i' assigned to Register 'R7' ----
-001D8E E4                CLR      A
-001D8F FF                MOV      R7,A
+001BBC E4                CLR      A
+001BBD FF                MOV      R7,A
   219: 	byte tgroup = 0;
-001D90 904F0D            MOV      DPTR,#temp
-001D93 F0                MOVX     @DPTR,A
+001BBE 904F0C            MOV      DPTR,#temp
+001BC1 F0                MOVX     @DPTR,A
   220: 	byte tgpionum = 0;
 ;---- Variable 'tgroup' assigned to Register 'R6' ----
-001D94 FE                MOV      R6,A
+001BC2 FE                MOV      R6,A
   221: 	for (i=0; col[i]!=0; i++) {
 ;---- Variable 'tgpionum' assigned to Register 'R5' ----
-001D95 FD                MOV      R5,A
+001BC3 FD                MOV      R5,A
   222: 		tgroup = col[i]  >> 3;
-001D96         ?C0037?KEYSCAN:
-001D96 EF                MOV      A,R7
-001D97 900681            MOV      DPTR,#col
-001D9A 93                MOVC     A,@A+DPTR
-001D9B 6049              JZ       ?C0038?KEYSCAN
+001BC4         ?C0037?KEYSCAN:
+001BC4 EF                MOV      A,R7
+001BC5 900681            MOV      DPTR,#col
+001BC8 93                MOVC     A,@A+DPTR
+001BC9 6049              JZ       ?C0038?KEYSCAN
   223: 		tgpionum = 1 << (col[i] & 7);
-001D9D EF                MOV      A,R7
-001D9E 93                MOVC     A,@A+DPTR
-001D9F FD                MOV      R5,A
-001DA0 13                RRC      A
-001DA1 13                RRC      A
-001DA2 13                RRC      A
-001DA3 541F              ANL      A,#01FH
-001DA5 FE                MOV      R6,A
+001BCB EF                MOV      A,R7
+001BCC 93                MOVC     A,@A+DPTR
+001BCD FD                MOV      R5,A
+001BCE 13                RRC      A
+001BCF 13                RRC      A
+001BD0 13                RRC      A
+001BD1 541F              ANL      A,#01FH
+001BD3 FE                MOV      R6,A
   224: 		REG_GPIO_PUP (tgroup) &= ~tgpionum;
-001DA6 ED                MOV      A,R5
-001DA7 5407              ANL      A,#07H
-001DA9 FD                MOV      R5,A
-001DAA 7401              MOV      A,#01H
-001DAC A805              MOV      R0,AR5
-001DAE 08                INC      R0
-001DAF 8002              SJMP     ?C0102?KEYSCAN
-001DB1         ?C0101?KEYSCAN:
-001DB1 C3                CLR      C
-001DB2 33                RLC      A
-001DB3         ?C0102?KEYSCAN:
-001DB3 D8FC              DJNZ     R0,?C0101?KEYSCAN
-001DB5 FD                MOV      R5,A
+001BD4 ED                MOV      A,R5
+001BD5 5407              ANL      A,#07H
+001BD7 FD                MOV      R5,A
+001BD8 7401              MOV      A,#01H
+001BDA A805              MOV      R0,AR5
+001BDC 08                INC      R0
+001BDD 8002              SJMP     ?C0102?KEYSCAN
+001BDF         ?C0101?KEYSCAN:
+001BDF C3                CLR      C
+001BE0 33                RLC      A
+001BE1         ?C0102?KEYSCAN:
+001BE1 D8FC              DJNZ     R0,?C0101?KEYSCAN
+001BE3 FD                MOV      R5,A
   225: 		REG_GPIO_OE(tgroup) |= tgpionum;
-001DB6 EE                MOV      A,R6
-001DB7 2478              ADD      A,#078H
-001DB9 FB                MOV      R3,A
-001DBA E4                CLR      A
-001DBB 3480              ADDC     A,#080H
-001DBD 8B82              MOV      DPL,R3
-001DBF F583              MOV      DPH,A
-001DC1 E0                MOVX     A,@DPTR
-001DC2 FC                MOV      R4,A
-001DC3 ED                MOV      A,R5
-001DC4 F4                CPL      A
-001DC5 FB                MOV      R3,A
-001DC6 EC                MOV      A,R4
-001DC7 5B                ANL      A,R3
-001DC8 F0                MOVX     @DPTR,A
+001BE4 EE                MOV      A,R6
+001BE5 2478              ADD      A,#078H
+001BE7 FB                MOV      R3,A
+001BE8 E4                CLR      A
+001BE9 3480              ADDC     A,#080H
+001BEB 8B82              MOV      DPL,R3
+001BED F583              MOV      DPH,A
+001BEF E0                MOVX     A,@DPTR
+001BF0 FC                MOV      R4,A
+001BF1 ED                MOV      A,R5
+001BF2 F4                CPL      A
+001BF3 FB                MOV      R3,A
+001BF4 EC                MOV      A,R4
+001BF5 5B                ANL      A,R3
+001BF6 F0                MOVX     @DPTR,A
   226: 		REG_GPIO_OUT(tgroup) &= ~tgpionum;
-001DC9 EE                MOV      A,R6
-001DCA 2470              ADD      A,#070H
-001DCC F582              MOV      DPL,A
-001DCE E4                CLR      A
-001DCF 3480              ADDC     A,#080H
-001DD1 F583              MOV      DPH,A
-001DD3 E0                MOVX     A,@DPTR
-001DD4 4D                ORL      A,R5
-001DD5 F0                MOVX     @DPTR,A
+001BF7 EE                MOV      A,R6
+001BF8 2470              ADD      A,#070H
+001BFA F582              MOV      DPL,A
+001BFC E4                CLR      A
+001BFD 3480              ADDC     A,#080H
+001BFF F583              MOV      DPH,A
+001C01 E0                MOVX     A,@DPTR
+001C02 4D                ORL      A,R5
+001C03 F0                MOVX     @DPTR,A
   227: 	}
-001DD6 EE                MOV      A,R6
-001DD7 2474              ADD      A,#074H
-001DD9 F582              MOV      DPL,A
-001DDB E4                CLR      A
-001DDC 3480              ADDC     A,#080H
-001DDE F583              MOV      DPH,A
-001DE0 E0                MOVX     A,@DPTR
-001DE1 5B                ANL      A,R3
-001DE2 F0                MOVX     @DPTR,A
+001C04 EE                MOV      A,R6
+001C05 2474              ADD      A,#074H
+001C07 F582              MOV      DPL,A
+001C09 E4                CLR      A
+001C0A 3480              ADDC     A,#080H
+001C0C F583              MOV      DPH,A
+001C0E E0                MOVX     A,@DPTR
+001C0F 5B                ANL      A,R3
+001C10 F0                MOVX     @DPTR,A
   228: 	
-001DE3 0F                INC      R7
-001DE4 80B0              SJMP     ?C0037?KEYSCAN
-001DE6         ?C0038?KEYSCAN:
+001C11 0F                INC      R7
+001C12 80B0              SJMP     ?C0037?KEYSCAN
+001C14         ?C0038?KEYSCAN:
   229: 	GPIO_fillpd();
-001DE6 12390D            LCALL    GPIO_fillpd
+001C14 1236C9            LCALL    GPIO_fillpd
   230: 	
   231: 	temp = REG_GPIO_IN(0);
-001DE9 90811C            MOV      DPTR,#0811CH
-001DEC E0                MOVX     A,@DPTR
-001DED 904F0D            MOV      DPTR,#temp
-001DF0 F0                MOVX     @DPTR,A
+001C17 90811C            MOV      DPTR,#0811CH
+001C1A E0                MOVX     A,@DPTR
+001C1B 904F0C            MOV      DPTR,#temp
+001C1E F0                MOVX     @DPTR,A
   232: 
   233: 	if(long_press_flag)
-001DF1 904DDF            MOV      DPTR,#long_press_flag
-001DF4 E0                MOVX     A,@DPTR
-001DF5 6020              JZ       ?C0040?KEYSCAN
+001C1F 904DE0            MOV      DPTR,#long_press_flag
+001C22 E0                MOVX     A,@DPTR
+001C23 6020              JZ       ?C0040?KEYSCAN
   234: 	{
   235: 		GPIO_SetWakeupByCurrentState(0);
-001DF7 E4                CLR      A
-001DF8 FF                MOV      R7,A
-001DF9 D127              ACALL    _GPIO_SetWakeupByCurrentState
+001C25 E4                CLR      A
+001C26 FF                MOV      R7,A
+001C27 9155              ACALL    _GPIO_SetWakeupByCurrentState
   236: 		GPIO_SetWakeupByCurrentState(1);
-001DFB 7F01              MOV      R7,#01H
-001DFD D127              ACALL    _GPIO_SetWakeupByCurrentState
+001C29 7F01              MOV      R7,#01H
+001C2B 9155              ACALL    _GPIO_SetWakeupByCurrentState
   237: 		GPIO_SetWakeupByCurrentState(2);
-001DFF 7F02              MOV      R7,#02H
-001E01 D127              ACALL    _GPIO_SetWakeupByCurrentState
+001C2D 7F02              MOV      R7,#02H
+001C2F 9155              ACALL    _GPIO_SetWakeupByCurrentState
   238: 		GPIO_SetWakeupByCurrentState(3);
-001E03 7F03              MOV      R7,#03H
-001E05 D127              ACALL    _GPIO_SetWakeupByCurrentState
+001C31 7F03              MOV      R7,#03H
+001C33 9155              ACALL    _GPIO_SetWakeupByCurrentState
   239: 		GPIO_SetWakeupByCurrentState(4);
-001E07 7F04              MOV      R7,#04H
-001E09 D127              ACALL    _GPIO_SetWakeupByCurrentState
+001C35 7F04              MOV      R7,#04H
+001C37 9155              ACALL    _GPIO_SetWakeupByCurrentState
   240: 		GPIO_SetWakeupByCurrentState(5);
-001E0B 7F05              MOV      R7,#05H
-001E0D D127              ACALL    _GPIO_SetWakeupByCurrentState
+001C39 7F05              MOV      R7,#05H
+001C3B 9155              ACALL    _GPIO_SetWakeupByCurrentState
   241: 		GPIO_SetWakeupByCurrentState(6);
-001E0F 7F06              MOV      R7,#06H
-001E11 D127              ACALL    _GPIO_SetWakeupByCurrentState
+001C3D 7F06              MOV      R7,#06H
+001C3F 9155              ACALL    _GPIO_SetWakeupByCurrentState
   242: 		GPIO_SetWakeupByCurrentState(7);
-001E13 7F07              MOV      R7,#07H
-001E15 8010              SJMP     _GPIO_SetWakeupByCurrentState
+001C41 7F07              MOV      R7,#07H
+001C43 8010              SJMP     _GPIO_SetWakeupByCurrentState
   243: 	}
-001E17         ?C0040?KEYSCAN:
+001C45         ?C0040?KEYSCAN:
   244: 	else
   245: 	{
   246: 		YC_GPIOWakeupL[0] = temp;
-001E17 904F0D            MOV      DPTR,#temp
-001E1A E0                MOVX     A,@DPTR
-001E1B FF                MOV      R7,A
-001E1C 9000A3            MOV      DPTR,#YC_GPIOWakeupL
-001E1F F0                MOVX     @DPTR,A
+001C45 904F0C            MOV      DPTR,#temp
+001C48 E0                MOVX     A,@DPTR
+001C49 FF                MOV      R7,A
+001C4A 9000A3            MOV      DPTR,#YC_GPIOWakeupL
+001C4D F0                MOVX     @DPTR,A
   247: 		YC_GPIOWakeupH[0] = ~temp;
-001E20 EF                MOV      A,R7
-001E21 F4                CPL      A
-001E22 9000A7            MOV      DPTR,#YC_GPIOWakeupH
-001E25 F0                MOVX     @DPTR,A
+001C4E EF                MOV      A,R7
+001C4F F4                CPL      A
+001C50 9000A7            MOV      DPTR,#YC_GPIOWakeupH
+001C53 F0                MOVX     @DPTR,A
   248: 	}
   249: 
   250: }
-001E26 22                RET      
+001C54 22                RET      
 ----- FUNCTION KS_Unistall (END) -------
 
 
 ----- FUNCTION _GPIO_SetWakeupByCurrentState (BEGIN) -----
-001E27 904F12            MOV      DPTR,#gpio_num
-001E2A EF                MOV      A,R7
-001E2B F0                MOVX     @DPTR,A
-001E2C 1217F1            LCALL    _GPIO_GetInputStatus
-001E2F 9208              MOV      st,C
-001E31 904F12            MOV      DPTR,#gpio_num
-001E34 E0                MOVX     A,@DPTR
-001E35 FF                MOV      R7,A
-001E36 A208              MOV      C,st
-001E38 B3                CPL      C
-001E39 9207              MOV      ?_GPIO_SetWakeup?BIT,C
+ FILE: 'gpio.c'
+  119: void GPIO_SetWakeupByCurrentState(byte gpio_num)
+  120: {
+001C55 904F11            MOV      DPTR,#gpio_num
+001C58 EF                MOV      A,R7
+001C59 F0                MOVX     @DPTR,A
+  121: 	bool st = GPIO_GetInputStatus(gpio_num);
+  122: 	GPIO_SetWakeup(gpio_num, ~st);
+001C5A 1217F0            LCALL    _GPIO_GetInputStatus
+001C5D 9208              MOV      st,C
+  123: }
+001C5F 904F11            MOV      DPTR,#gpio_num
+001C62 E0                MOVX     A,@DPTR
+001C63 FF                MOV      R7,A
+001C64 A208              MOV      C,st
+001C66 B3                CPL      C
+001C67 9207              MOV      ?_GPIO_SetWakeup?BIT,C
 ;----                  JMP      _GPIO_SetWakeup
 ----- FUNCTION _GPIO_SetWakeupByCurrentState (END) -------
 
 
 ----- FUNCTION _GPIO_SetWakeup (BEGIN) -----
+ FILE: 'gpio.c'
+   88: void GPIO_SetWakeup(byte gpio_num, bit st)
+   89: {
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-001E3B EF                MOV      A,R7
-001E3C F4                CPL      A
-001E3D 7002              JNZ      $ + 4H
-001E3F C1C6              AJMP     ?C0019?GPIO
-001E41         ?C0018?GPIO:
-001E41 EF                MOV      A,R7
-001E42 5407              ANL      A,#07H
-001E44 FE                MOV      R6,A
+   90: 	byte queue, group;
+   91: 
+   92: 	if(gpio_num == 0xff)
+001C69 EF                MOV      A,R7
+001C6A F4                CPL      A
+001C6B 7002              JNZ      $ + 4H
+001C6D 81F4              AJMP     ?C0019?GPIO
+001C6F         ?C0018?GPIO:
+   93: 		return;
+   94: 	queue = (gpio_num & 7);
+001C6F EF                MOV      A,R7
+001C70 5407              ANL      A,#07H
+001C72 FE                MOV      R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-001E45 EF                MOV      A,R7
-001E46 13                RRC      A
-001E47 13                RRC      A
-001E48 13                RRC      A
-001E49 5403              ANL      A,#03H
-001E4B FF                MOV      R7,A
+   95: 	group = (gpio_num >> 3 & 3);
+001C73 EF                MOV      A,R7
+001C74 13                RRC      A
+001C75 13                RRC      A
+001C76 13                RRC      A
+001C77 5403              ANL      A,#03H
+001C79 FF                MOV      R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-001E4C 300743            JNB      st,?C0020?GPIO
-001E4F 24A3              ADD      A,#LOW YC_GPIOWakeupL
-001E51 F582              MOV      DPL,A
-001E53 E4                CLR      A
-001E54 3400              ADDC     A,#HIGH YC_GPIOWakeupL
-001E56 F583              MOV      DPH,A
-001E58 C083              PUSH     DPH
-001E5A C082              PUSH     DPL
+   96: 	if (st) {
+001C7A 300743            JNB      st,?C0020?GPIO
+   97: 		*(YC_GPIOWakeupL + group) &= ~(1 << queue);
+001C7D 24A3              ADD      A,#LOW YC_GPIOWakeupL
+001C7F F582              MOV      DPL,A
+001C81 E4                CLR      A
+001C82 3400              ADDC     A,#HIGH YC_GPIOWakeupL
+001C84 F583              MOV      DPH,A
+001C86 C083              PUSH     DPH
+001C88 C082              PUSH     DPL
+001C8A E0                MOVX     A,@DPTR
+001C8B FD                MOV      R5,A
+001C8C 7401              MOV      A,#01H
+001C8E A806              MOV      R0,AR6
+001C90 08                INC      R0
+001C91 8002              SJMP     ?C0037?GPIO
+001C93         ?C0036?GPIO:
+001C93 C3                CLR      C
+001C94 33                RLC      A
+001C95         ?C0037?GPIO:
+001C95 D8FC              DJNZ     R0,?C0036?GPIO
+001C97 F4                CPL      A
+001C98 5D                ANL      A,R5
+001C99 D082              POP      DPL
+001C9B D083              POP      DPH
+001C9D F0                MOVX     @DPTR,A
+   98: 		*(YC_GPIOWakeupH + group) |= 1 << queue;	//high wakeup
+001C9E 74A7              MOV      A,#LOW YC_GPIOWakeupH
+001CA0 2F                ADD      A,R7
+001CA1 F582              MOV      DPL,A
+001CA3 E4                CLR      A
+001CA4 3400              ADDC     A,#HIGH YC_GPIOWakeupH
+001CA6 F583              MOV      DPH,A
+001CA8 C083              PUSH     DPH
+001CAA C082              PUSH     DPL
+001CAC E0                MOVX     A,@DPTR
+001CAD FF                MOV      R7,A
+001CAE 7401              MOV      A,#01H
+001CB0 A806              MOV      R0,AR6
+001CB2 08                INC      R0
+001CB3 8002              SJMP     ?C0039?GPIO
+001CB5         ?C0038?GPIO:
+001CB5 C3                CLR      C
+001CB6 33                RLC      A
+001CB7         ?C0039?GPIO:
+001CB7 D8FC              DJNZ     R0,?C0038?GPIO
+001CB9 4F                ORL      A,R7
+001CBA D082              POP      DPL
+001CBC D083              POP      DPH
+001CBE F0                MOVX     @DPTR,A
+   99: 	}
+001CBF 22                RET      
+001CC0         ?C0020?GPIO:
+  100: 
+  101: 	else {
+  102: 		*(YC_GPIOWakeupL + group) |= 1 << queue;	//low wakeup
+001CC0 74A3              MOV      A,#LOW YC_GPIOWakeupL
+001CC2 2F                ADD      A,R7
+001CC3 F582              MOV      DPL,A
+001CC5 E4                CLR      A
+001CC6 3400              ADDC     A,#HIGH YC_GPIOWakeupL
+001CC8 F583              MOV      DPH,A
+001CCA C083              PUSH     DPH
+001CCC C082              PUSH     DPL
+001CCE E0                MOVX     A,@DPTR
+001CCF FD                MOV      R5,A
+001CD0 7401              MOV      A,#01H
+001CD2 A806              MOV      R0,AR6
+001CD4 08                INC      R0
+001CD5 8002              SJMP     ?C0041?GPIO
+001CD7         ?C0040?GPIO:
+001CD7 C3                CLR      C
+001CD8 33                RLC      A
+001CD9         ?C0041?GPIO:
+001CD9 D8FC              DJNZ     R0,?C0040?GPIO
+001CDB FC                MOV      R4,A
+001CDC 4D                ORL      A,R5
+001CDD D082              POP      DPL
+001CDF D083              POP      DPH
+001CE1 F0                MOVX     @DPTR,A
+  103: 		*(YC_GPIOWakeupH + group) &= ~(1 << queue);
+001CE2 74A7              MOV      A,#LOW YC_GPIOWakeupH
+001CE4 2F                ADD      A,R7
+001CE5 F582              MOV      DPL,A
+001CE7 E4                CLR      A
+001CE8 3400              ADDC     A,#HIGH YC_GPIOWakeupH
+001CEA F583              MOV      DPH,A
+001CEC E0                MOVX     A,@DPTR
+001CED FF                MOV      R7,A
+001CEE EC                MOV      A,R4
+001CEF F4                CPL      A
+001CF0 FE                MOV      R6,A
+001CF1 EF                MOV      A,R7
+001CF2 5E                ANL      A,R6
+001CF3 F0                MOVX     @DPTR,A
+  104: 	}
+  105: }
+001CF4         ?C0019?GPIO:
+001CF4 22                RET      
+----- FUNCTION _GPIO_SetWakeup (END) -------
+
+
+----- FUNCTION IPC_DealSingleStep (BEGIN) -----
+ FILE: 'ipc.c'
+  146: void IPC_DealSingleStep()
+  147: {
+  148: 	byte *pbuff = ipcReadBuff;
+  149: 	if (ipcRxReadPtr == ipcRxWritePtr)
+001CF5 7A0C              MOV      R2,#HIGH ipcReadBuff
+001CF7 794B              MOV      R1,#LOW ipcReadBuff
+001CF9 904EF2            MOV      DPTR,#pbuff
+001CFC 7401              MOV      A,#01H
+001CFE F0                MOVX     @DPTR,A
+001CFF A3                INC      DPTR
+001D00 740C              MOV      A,#HIGH ipcReadBuff
+001D02 F0                MOVX     @DPTR,A
+001D03 A3                INC      DPTR
+001D04 744B              MOV      A,#LOW ipcReadBuff
+001D06 F0                MOVX     @DPTR,A
+  150: 		goto IPC_TIMER;
+001D07 904BA0            MOV      DPTR,#ipcRxWritePtr
+001D0A E0                MOVX     A,@DPTR
+001D0B FE                MOV      R6,A
+001D0C A3                INC      DPTR
+001D0D E0                MOVX     A,@DPTR
+001D0E FF                MOV      R7,A
+001D0F 904B9E            MOV      DPTR,#ipcRxReadPtr
+001D12 E0                MOVX     A,@DPTR
+001D13 6E                XRL      A,R6
+001D14 7003              JNZ      ?C0048?IPC
+001D16 A3                INC      DPTR
+001D17 E0                MOVX     A,@DPTR
+001D18 6F                XRL      A,R7
+001D19         ?C0048?IPC:
+001D19 7002              JNZ      $ + 4H
+001D1B C1A4              AJMP     ?C0039?IPC
+  151: 	ipcRx(ipcReadBuff, IPC_HEAD_LEN);
+001D1D         ?C0027?IPC:
+  152: 	if (*pbuff == IPC_CONTROL_EVT) {
+001D1D 7E0C              MOV      R6,#HIGH ipcReadBuff
+001D1F 7F4B              MOV      R7,#LOW ipcReadBuff
+001D21 7D03              MOV      R5,#03H
+001D23 D1FE              ACALL    _ipcRx
+  153: 		pbuff += 2;
+001D25 904EF2            MOV      DPTR,#pbuff
+001D28 E0                MOVX     A,@DPTR
+001D29 FB                MOV      R3,A
+001D2A A3                INC      DPTR
+001D2B E0                MOVX     A,@DPTR
+001D2C FA                MOV      R2,A
+001D2D A3                INC      DPTR
+001D2E E0                MOVX     A,@DPTR
+001D2F F9                MOV      R1,A
+001D30 1203B6            LCALL    ?C?CLDPTR
+001D33 B4022B            CJNE     A,#02H,?C0029?IPC
+  154: 		ipcCb.evtcb(*pbuff);
+001D36 904EF3            MOV      DPTR,#pbuff+01H
+001D39 E4                CLR      A
+001D3A 75F002            MOV      B,#02H
+001D3D 12040E            LCALL    ?C?IILDX
+  155: 	}
+001D40 904EF2            MOV      DPTR,#pbuff
+001D43 E0                MOVX     A,@DPTR
+001D44 FB                MOV      R3,A
+001D45 A3                INC      DPTR
+001D46 E0                MOVX     A,@DPTR
+001D47 FA                MOV      R2,A
+001D48 A3                INC      DPTR
+001D49 E0                MOVX     A,@DPTR
+001D4A F9                MOV      R1,A
+001D4B 1203B6            LCALL    ?C?CLDPTR
+001D4E FF                MOV      R7,A
+001D4F 904E6E            MOV      DPTR,#ipcCb
+001D52 E0                MOVX     A,@DPTR
+001D53 A3                INC      DPTR
+001D54 E0                MOVX     A,@DPTR
+001D55 FA                MOV      R2,A
+001D56 A3                INC      DPTR
+001D57 E0                MOVX     A,@DPTR
+001D58 F582              MOV      DPL,A
+001D5A 8A83              MOV      DPH,R2
+001D5C 1205DD            LCALL    ?C?ICALL2
+  156: 	else if (*pbuff == IPC_SPP_DATA) {
+001D5F C1A4              AJMP     ?C0039?IPC
+001D61         ?C0029?IPC:
+  157: 		pbuff ++ ;
+001D61 904EF2            MOV      DPTR,#pbuff
+001D64 E0                MOVX     A,@DPTR
+001D65 FB                MOV      R3,A
+001D66 A3                INC      DPTR
+001D67 E0                MOVX     A,@DPTR
+001D68 FA                MOV      R2,A
+001D69 A3                INC      DPTR
+001D6A E0                MOVX     A,@DPTR
+001D6B F9                MOV      R1,A
+001D6C 1203B6            LCALL    ?C?CLDPTR
+001D6F 6404              XRL      A,#04H
+001D71 7059              JNZ      ?C0031?IPC
+  158: 		ipcRx(ipcReadBuff+3, *pbuff -1);
+001D73 904EF3            MOV      DPTR,#pbuff+01H
+001D76 75F001            MOV      B,#01H
+001D79 12040E            LCALL    ?C?IILDX
+  159: 		ipcCb.sppcb(pbuff+1, *pbuff);
+001D7C 7E0C              MOV      R6,#HIGH ipcReadBuff+03H
+001D7E 7F4E              MOV      R7,#LOW ipcReadBuff+03H
+001D80 904EF2            MOV      DPTR,#pbuff
+001D83 E0                MOVX     A,@DPTR
+001D84 FB                MOV      R3,A
+001D85 A3                INC      DPTR
+001D86 E0                MOVX     A,@DPTR
+001D87 FA                MOV      R2,A
+001D88 A3                INC      DPTR
+001D89 E0                MOVX     A,@DPTR
+001D8A F9                MOV      R1,A
+001D8B 1203B6            LCALL    ?C?CLDPTR
+001D8E 14                DEC      A
+001D8F FD                MOV      R5,A
+001D90 D1FE              ACALL    _ipcRx
+  160: 	}
+001D92 904EF2            MOV      DPTR,#pbuff
+001D95 E0                MOVX     A,@DPTR
+001D96 FB                MOV      R3,A
+001D97 A3                INC      DPTR
+001D98 E0                MOVX     A,@DPTR
+001D99 FA                MOV      R2,A
+001D9A A3                INC      DPTR
+001D9B E0                MOVX     A,@DPTR
+001D9C 2401              ADD      A,#01H
+001D9E F9                MOV      R1,A
+001D9F E4                CLR      A
+001DA0 3A                ADDC     A,R2
+001DA1 FA                MOV      R2,A
+001DA2 C002              PUSH     AR2
+001DA4 C001              PUSH     AR1
+001DA6 904EF2            MOV      DPTR,#pbuff
+001DA9 E0                MOVX     A,@DPTR
+001DAA A3                INC      DPTR
+001DAB E0                MOVX     A,@DPTR
+001DAC FA                MOV      R2,A
+001DAD A3                INC      DPTR
+001DAE E0                MOVX     A,@DPTR
+001DAF F9                MOV      R1,A
+001DB0 1203B6            LCALL    ?C?CLDPTR
+001DB3 FD                MOV      R5,A
+001DB4 7C00              MOV      R4,#00H
+001DB6 904E71            MOV      DPTR,#ipcCb+03H
+001DB9 E0                MOVX     A,@DPTR
+001DBA A3                INC      DPTR
+001DBB E0                MOVX     A,@DPTR
+001DBC FA                MOV      R2,A
+001DBD A3                INC      DPTR
+001DBE E0                MOVX     A,@DPTR
+001DBF F582              MOV      DPL,A
+001DC1 8A83              MOV      DPH,R2
+001DC3 D001              POP      AR1
+001DC5 D002              POP      AR2
+001DC7 1205DD            LCALL    ?C?ICALL2
+  161: 	else if (*pbuff == IPC_BLE_DATA) {
+001DCA C1A4              AJMP     ?C0039?IPC
+001DCC         ?C0031?IPC:
+  162: 		pbuff ++ ;
+001DCC 904EF2            MOV      DPTR,#pbuff
+001DCF E0                MOVX     A,@DPTR
+001DD0 FB                MOV      R3,A
+001DD1 A3                INC      DPTR
+001DD2 E0                MOVX     A,@DPTR
+001DD3 FA                MOV      R2,A
+001DD4 A3                INC      DPTR
+001DD5 E0                MOVX     A,@DPTR
+001DD6 F9                MOV      R1,A
+001DD7 1203B6            LCALL    ?C?CLDPTR
+001DDA 6405              XRL      A,#05H
+001DDC 7059              JNZ      ?C0033?IPC
+  163: 		ipcRx(ipcReadBuff+3, *pbuff -1);
+001DDE 904EF3            MOV      DPTR,#pbuff+01H
+001DE1 75F001            MOV      B,#01H
+001DE4 12040E            LCALL    ?C?IILDX
+  164: 		ipcCb.blecb(pbuff+1, *pbuff);
+001DE7 7E0C              MOV      R6,#HIGH ipcReadBuff+03H
+001DE9 7F4E              MOV      R7,#LOW ipcReadBuff+03H
+001DEB 904EF2            MOV      DPTR,#pbuff
+001DEE E0                MOVX     A,@DPTR
+001DEF FB                MOV      R3,A
+001DF0 A3                INC      DPTR
+001DF1 E0                MOVX     A,@DPTR
+001DF2 FA                MOV      R2,A
+001DF3 A3                INC      DPTR
+001DF4 E0                MOVX     A,@DPTR
+001DF5 F9                MOV      R1,A
+001DF6 1203B6            LCALL    ?C?CLDPTR
+001DF9 14                DEC      A
+001DFA FD                MOV      R5,A
+001DFB D1FE              ACALL    _ipcRx
+  165: 	}
+001DFD 904EF2            MOV      DPTR,#pbuff
+001E00 E0                MOVX     A,@DPTR
+001E01 FB                MOV      R3,A
+001E02 A3                INC      DPTR
+001E03 E0                MOVX     A,@DPTR
+001E04 FA                MOV      R2,A
+001E05 A3                INC      DPTR
+001E06 E0                MOVX     A,@DPTR
+001E07 2401              ADD      A,#01H
+001E09 F9                MOV      R1,A
+001E0A E4                CLR      A
+001E0B 3A                ADDC     A,R2
+001E0C FA                MOV      R2,A
+001E0D C002              PUSH     AR2
+001E0F C001              PUSH     AR1
+001E11 904EF2            MOV      DPTR,#pbuff
+001E14 E0                MOVX     A,@DPTR
+001E15 A3                INC      DPTR
+001E16 E0                MOVX     A,@DPTR
+001E17 FA                MOV      R2,A
+001E18 A3                INC      DPTR
+001E19 E0                MOVX     A,@DPTR
+001E1A F9                MOV      R1,A
+001E1B 1203B6            LCALL    ?C?CLDPTR
+001E1E FD                MOV      R5,A
+001E1F 7C00              MOV      R4,#00H
+001E21 904E7A            MOV      DPTR,#ipcCb+0CH
+001E24 E0                MOVX     A,@DPTR
+001E25 A3                INC      DPTR
+001E26 E0                MOVX     A,@DPTR
+001E27 FA                MOV      R2,A
+001E28 A3                INC      DPTR
+001E29 E0                MOVX     A,@DPTR
+001E2A F582              MOV      DPL,A
+001E2C 8A83              MOV      DPH,R2
+001E2E D001              POP      AR1
+001E30 D002              POP      AR2
+001E32 1205DD            LCALL    ?C?ICALL2
+  166: 	else if (*pbuff == IPC_HID_DATA) {
+001E35 806D              SJMP     ?C0039?IPC
+001E37         ?C0033?IPC:
+  167: 		pbuff ++ ;
+001E37 904EF2            MOV      DPTR,#pbuff
+001E3A E0                MOVX     A,@DPTR
+001E3B FB                MOV      R3,A
+001E3C A3                INC      DPTR
+001E3D E0                MOVX     A,@DPTR
+001E3E FA                MOV      R2,A
+001E3F A3                INC      DPTR
+001E40 E0                MOVX     A,@DPTR
+001E41 F9                MOV      R1,A
+001E42 1203B6            LCALL    ?C?CLDPTR
+001E45 6403              XRL      A,#03H
+001E47 7059              JNZ      ?C0037?IPC
+  168: 		ipcRx(ipcReadBuff+3, *pbuff -1);
+001E49 904EF3            MOV      DPTR,#pbuff+01H
+001E4C 75F001            MOV      B,#01H
+001E4F 12040E            LCALL    ?C?IILDX
+  169: 		ipcCb.hidcb(pbuff+1, *pbuff);
+001E52 7E0C              MOV      R6,#HIGH ipcReadBuff+03H
+001E54 7F4E              MOV      R7,#LOW ipcReadBuff+03H
+001E56 904EF2            MOV      DPTR,#pbuff
+001E59 E0                MOVX     A,@DPTR
+001E5A FB                MOV      R3,A
+001E5B A3                INC      DPTR
 001E5C E0                MOVX     A,@DPTR
-001E5D FD                MOV      R5,A
-001E5E 7401              MOV      A,#01H
-001E60 A806              MOV      R0,AR6
-001E62 08                INC      R0
-001E63 8002              SJMP     ?C0037?GPIO
-001E65         ?C0036?GPIO:
-001E65 C3                CLR      C
-001E66 33                RLC      A
-001E67         ?C0037?GPIO:
-001E67 D8FC              DJNZ     R0,?C0036?GPIO
-001E69 F4                CPL      A
-001E6A 5D                ANL      A,R5
-001E6B D082              POP      DPL
-001E6D D083              POP      DPH
-001E6F F0                MOVX     @DPTR,A
-001E70 74A7              MOV      A,#LOW YC_GPIOWakeupH
-001E72 2F                ADD      A,R7
-001E73 F582              MOV      DPL,A
+001E5D FA                MOV      R2,A
+001E5E A3                INC      DPTR
+001E5F E0                MOVX     A,@DPTR
+001E60 F9                MOV      R1,A
+001E61 1203B6            LCALL    ?C?CLDPTR
+001E64 14                DEC      A
+001E65 FD                MOV      R5,A
+001E66 D1FE              ACALL    _ipcRx
+  170: 	}
+001E68 904EF2            MOV      DPTR,#pbuff
+001E6B E0                MOVX     A,@DPTR
+001E6C FB                MOV      R3,A
+001E6D A3                INC      DPTR
+001E6E E0                MOVX     A,@DPTR
+001E6F FA                MOV      R2,A
+001E70 A3                INC      DPTR
+001E71 E0                MOVX     A,@DPTR
+001E72 2401              ADD      A,#01H
+001E74 F9                MOV      R1,A
 001E75 E4                CLR      A
-001E76 3400              ADDC     A,#HIGH YC_GPIOWakeupH
-001E78 F583              MOV      DPH,A
-001E7A C083              PUSH     DPH
-001E7C C082              PUSH     DPL
-001E7E E0                MOVX     A,@DPTR
-001E7F FF                MOV      R7,A
-001E80 7401              MOV      A,#01H
-001E82 A806              MOV      R0,AR6
-001E84 08                INC      R0
-001E85 8002              SJMP     ?C0039?GPIO
-001E87         ?C0038?GPIO:
-001E87 C3                CLR      C
-001E88 33                RLC      A
-001E89         ?C0039?GPIO:
-001E89 D8FC              DJNZ     R0,?C0038?GPIO
-001E8B 4F                ORL      A,R7
-001E8C D082              POP      DPL
-001E8E D083              POP      DPH
-001E90 F0                MOVX     @DPTR,A
-001E91 22                RET      
-001E92         ?C0020?GPIO:
-001E92 74A3              MOV      A,#LOW YC_GPIOWakeupL
-001E94 2F                ADD      A,R7
+001E76 3A                ADDC     A,R2
+001E77 FA                MOV      R2,A
+001E78 C002              PUSH     AR2
+001E7A C001              PUSH     AR1
+001E7C 904EF2            MOV      DPTR,#pbuff
+001E7F E0                MOVX     A,@DPTR
+001E80 A3                INC      DPTR
+001E81 E0                MOVX     A,@DPTR
+001E82 FA                MOV      R2,A
+001E83 A3                INC      DPTR
+001E84 E0                MOVX     A,@DPTR
+001E85 F9                MOV      R1,A
+001E86 1203B6            LCALL    ?C?CLDPTR
+001E89 FD                MOV      R5,A
+001E8A 7C00              MOV      R4,#00H
+001E8C 904E7D            MOV      DPTR,#ipcCb+0FH
+001E8F E0                MOVX     A,@DPTR
+001E90 A3                INC      DPTR
+001E91 E0                MOVX     A,@DPTR
+001E92 FA                MOV      R2,A
+001E93 A3                INC      DPTR
+001E94 E0                MOVX     A,@DPTR
 001E95 F582              MOV      DPL,A
-001E97 E4                CLR      A
-001E98 3400              ADDC     A,#HIGH YC_GPIOWakeupL
-001E9A F583              MOV      DPH,A
-001E9C C083              PUSH     DPH
-001E9E C082              PUSH     DPL
-001EA0 E0                MOVX     A,@DPTR
-001EA1 FD                MOV      R5,A
-001EA2 7401              MOV      A,#01H
-001EA4 A806              MOV      R0,AR6
-001EA6 08                INC      R0
-001EA7 8002              SJMP     ?C0041?GPIO
-001EA9         ?C0040?GPIO:
-001EA9 C3                CLR      C
-001EAA 33                RLC      A
-001EAB         ?C0041?GPIO:
-001EAB D8FC              DJNZ     R0,?C0040?GPIO
-001EAD FC                MOV      R4,A
-001EAE 4D                ORL      A,R5
-001EAF D082              POP      DPL
-001EB1 D083              POP      DPH
-001EB3 F0                MOVX     @DPTR,A
-001EB4 74A7              MOV      A,#LOW YC_GPIOWakeupH
-001EB6 2F                ADD      A,R7
-001EB7 F582              MOV      DPL,A
-001EB9 E4                CLR      A
-001EBA 3400              ADDC     A,#HIGH YC_GPIOWakeupH
-001EBC F583              MOV      DPH,A
+001E97 8A83              MOV      DPH,R2
+001E99 D001              POP      AR1
+001E9B D002              POP      AR2
+001E9D 1205DD            LCALL    ?C?ICALL2
+  171: 	else {
+001EA0 8002              SJMP     ?C0039?IPC
+  172: 		while(1);
+001EA2         ?C0037?IPC:
+  173: 	}
+001EA2 80FE              SJMP     ?C0037?IPC
+  174: IPC_TIMER:
+  175: 	while (c51timer != bttimer) {
+001EA4         IPC_TIMER:
+001EA4         ?C0039?IPC:
+  176: 		if (ipcCb.timercb == NULL)
+001EA4 904BA5            MOV      DPTR,#bttimer
+001EA7 E0                MOVX     A,@DPTR
+001EA8 FE                MOV      R6,A
+001EA9 A3                INC      DPTR
+001EAA E0                MOVX     A,@DPTR
+001EAB FF                MOV      R7,A
+001EAC 904C3E            MOV      DPTR,#c51timer
+001EAF E0                MOVX     A,@DPTR
+001EB0 6E                XRL      A,R6
+001EB1 7003              JNZ      ?C0049?IPC
+001EB3 A3                INC      DPTR
+001EB4 E0                MOVX     A,@DPTR
+001EB5 6F                XRL      A,R7
+001EB6         ?C0049?IPC:
+001EB6 6022              JZ       ?C0043?IPC
+  177: 			return;
+001EB8 904E74            MOV      DPTR,#ipcCb+06H
+001EBB E0                MOVX     A,@DPTR
+001EBC FB                MOV      R3,A
+001EBD A3                INC      DPTR
 001EBE E0                MOVX     A,@DPTR
-001EBF FF                MOV      R7,A
-001EC0 EC                MOV      A,R4
-001EC1 F4                CPL      A
-001EC2 FE                MOV      R6,A
-001EC3 EF                MOV      A,R7
-001EC4 5E                ANL      A,R6
-001EC5 F0                MOVX     @DPTR,A
-001EC6         ?C0019?GPIO:
-001EC6 22                RET      
------ FUNCTION _GPIO_SetWakeup (END) -------
-
-
------ FUNCTION System_Reset_Connect (BEGIN) -----
- FILE: 'sys.c'
-  114: void System_Reset_Connect()
-;----                  JMP      System_Hardware_reset
-  115: {
-  116: 	System_Hardware_reset();
------ FUNCTION System_Reset_Connect (END) -------
-
-
------ FUNCTION System_Hardware_reset (BEGIN) -----
- FILE: 'sys.c'
-   87: static void System_Hardware_reset()
-   88: {
-   89: 	m_reset_reg = 1;
-   90: 	while(1);
-001EC7 908010            MOV      DPTR,#m_reset_reg
-001ECA 7401              MOV      A,#01H
-001ECC F0                MOVX     @DPTR,A
-001ECD         ?C0005?SYS:
-   91: }
-001ECD 80FE              SJMP     ?C0005?SYS
-001ECF 22                RET      
------ FUNCTION System_Hardware_reset (END) -------
+001EBF FA                MOV      R2,A
+001EC0 A3                INC      DPTR
+001EC1 E0                MOVX     A,@DPTR
+001EC2 F9                MOV      R1,A
+001EC3 4A                ORL      A,R2
+001EC4 6037              JZ       ?C0042?IPC
+001EC6         ?C0041?IPC:
+  178: 		ipcCb.timercb();
+001EC6 1205D9            LCALL    ?C?ICALL
+  179: 		//c51timer ++;
+  180: 		c51timer = bttimer;
+001EC9 904BA5            MOV      DPTR,#bttimer
+001ECC E0                MOVX     A,@DPTR
+001ECD FF                MOV      R7,A
+001ECE A3                INC      DPTR
+001ECF E0                MOVX     A,@DPTR
+001ED0 904C3E            MOV      DPTR,#c51timer
+001ED3 CF                XCH      A,R7
+001ED4 F0                MOVX     @DPTR,A
+001ED5 A3                INC      DPTR
+001ED6 EF                MOV      A,R7
+001ED7 F0                MOVX     @DPTR,A
+  181: 	}
+001ED8 80CA              SJMP     ?C0039?IPC
+001EDA         ?C0043?IPC:
+  182: 	while (c51stimer!= btstimer) {
+001EDA 904C6D            MOV      DPTR,#btstimer
+001EDD E0                MOVX     A,@DPTR
+001EDE FF                MOV      R7,A
+001EDF A3                INC      DPTR
+001EE0 E0                MOVX     A,@DPTR
+001EE1 6F                XRL      A,R7
+001EE2 6019              JZ       ?C0042?IPC
+  183: 		if (ipcCb.stimercb == NULL)
+001EE4 904E77            MOV      DPTR,#ipcCb+09H
+001EE7 E0                MOVX     A,@DPTR
+001EE8 FB                MOV      R3,A
+001EE9 A3                INC      DPTR
+001EEA E0                MOVX     A,@DPTR
+001EEB FA                MOV      R2,A
+001EEC A3                INC      DPTR
+001EED E0                MOVX     A,@DPTR
+001EEE F9                MOV      R1,A
+001EEF 4A                ORL      A,R2
+001EF0 600B              JZ       ?C0042?IPC
+001EF2         ?C0045?IPC:
+  184: 			return;
+  185: 		ipcCb.stimercb();
+001EF2 1205D9            LCALL    ?C?ICALL
+  186: 		//c51stimer ++;
+  187: 		c51stimer = btstimer;
+001EF5 904C6D            MOV      DPTR,#btstimer
+001EF8 E0                MOVX     A,@DPTR
+001EF9 A3                INC      DPTR
+001EFA F0                MOVX     @DPTR,A
+  188: 	}
+001EFB 80DD              SJMP     ?C0043?IPC
+  189: 	//other app process
+  190: }
+001EFD         ?C0042?IPC:
+001EFD 22                RET      
+----- FUNCTION IPC_DealSingleStep (END) -------
 
 
------ FUNCTION IPC_WaitLpm (BEGIN) -----
-001ED0 E4                CLR      A
-001ED1 900B7F            MOV      DPTR,#lpm_flag
-001ED4 F0                MOVX     @DPTR,A
-001ED5 900B7E            MOV      DPTR,#current_task
-001ED8 F0                MOVX     @DPTR,A
-001ED9 7F01              MOV      R7,#01H
-001EDB 0216F3            LJMP     _Delay1ms
------ FUNCTION IPC_WaitLpm (END) -------
+----- FUNCTION _ipcRx (BEGIN) -----
+ FILE: 'ipc.c'
+   49: static void ipcRx(xbyte * dest, byte len)
+   50: {
+001EFE 904F04            MOV      DPTR,#dest
+001F01 EE                MOV      A,R6
+001F02 F0                MOVX     @DPTR,A
+001F03 A3                INC      DPTR
+001F04 EF                MOV      A,R7
+001F05 F0                MOVX     @DPTR,A
+;---- Variable 'len' assigned to Register 'R1' ----
+001F06 A905              MOV      R1,AR5
+   51: 	xbyte* src = (xbyte *)ipcRxReadPtr;
+   52: 	while(len--) {
+001F08 904B9E            MOV      DPTR,#ipcRxReadPtr
+001F0B E0                MOVX     A,@DPTR
+001F0C FE                MOV      R6,A
+001F0D A3                INC      DPTR
+001F0E E0                MOVX     A,@DPTR
+001F0F FF                MOV      R7,A
+;---- Variable 'src' assigned to Register 'R6/R7' ----
+001F10         ?C0004?IPC:
+   53: 		*dest++ = *src++;
+001F10 AD01              MOV      R5,AR1
+001F12 19                DEC      R1
+001F13 ED                MOV      A,R5
+001F14 602F              JZ       ?C0005?IPC
+   54: 		if ((word)src == IPC_RX_END) {
+001F16 0F                INC      R7
+001F17 EF                MOV      A,R7
+001F18 AC06              MOV      R4,AR6
+001F1A 7001              JNZ      ?C0046?IPC
+001F1C 0E                INC      R6
+001F1D         ?C0046?IPC:
+001F1D 14                DEC      A
+001F1E F582              MOV      DPL,A
+001F20 8C83              MOV      DPH,R4
+001F22 E0                MOVX     A,@DPTR
+001F23 FD                MOV      R5,A
+001F24 904F04            MOV      DPTR,#dest
+001F27 E4                CLR      A
+001F28 75F001            MOV      B,#01H
+001F2B 120424            LCALL    ?C?ILDIX
+001F2E 85F082            MOV      DPL,B
+001F31 F583              MOV      DPH,A
+001F33 ED                MOV      A,R5
+001F34 F0                MOVX     @DPTR,A
+   55: 			src = (xbyte *)IPC_RX_HEAD;
+001F35 AD07              MOV      R5,AR7
+001F37 AC06              MOV      R4,AR6
+001F39 BC4BD4            CJNE     R4,#04BH,?C0004?IPC
+001F3C BD9AD1            CJNE     R5,#09AH,?C0004?IPC
+   56: 		}
+001F3F 7E4B              MOV      R6,#04BH
+001F41 7F36              MOV      R7,#036H
+   57: 	}
+   58: 	ipcRxReadPtr = (word)src;
+001F43 80CB              SJMP     ?C0004?IPC
+001F45         ?C0005?IPC:
+   59: }
+001F45 904B9E            MOV      DPTR,#ipcRxReadPtr
+001F48 EE                MOV      A,R6
+001F49 F0                MOVX     @DPTR,A
+001F4A A3                INC      DPTR
+001F4B EF                MOV      A,R7
+001F4C F0                MOVX     @DPTR,A
+   60: 
+001F4D 22                RET      
+----- FUNCTION _ipcRx (END) -------
 
 
 ----- FUNCTION kb_cb_init (BEGIN) -----
  FILE: 'sys.c'
- 1074: static void kb_cb_init()
- 1075: {
- 1076: 	IPC_Initialize(&cb);
- 1077: }
-001EDE 7B01              MOV      R3,#01H
-001EE0 7A4E              MOV      R2,#HIGH cb
-001EE2 795A              MOV      R1,#LOW cb
+  854: static void kb_cb_init()
+  855: {
+  856: 	IPC_Initialize(&cb);
+  857: }
+001F4E 7B01              MOV      R3,#01H
+001F50 7A4E              MOV      R2,#HIGH cb
+001F52 795C              MOV      R1,#LOW cb
 ;----                  JMP      _IPC_Initialize
 ----- FUNCTION kb_cb_init (END) -------
 
 
 ----- FUNCTION _IPC_Initialize (BEGIN) -----
+ FILE: 'ipc.c'
+  120: void IPC_Initialize(tIPCControlBlock *cb)
+  121: {
 ;---- Variable 'cb' assigned to Register 'R1/R2/R3' ----
-001EE4 786C              MOV      R0,#LOW ipcCb
-001EE6 7C4E              MOV      R4,#HIGH ipcCb
-001EE8 7D01              MOV      R5,#01H
-001EEA 7E00              MOV      R6,#00H
-001EEC 7F12              MOV      R7,#012H
-001EEE 020390            LJMP     ?C?COPY
+  122: 	ipcCb = *cb;
+  123: }
+001F54 786E              MOV      R0,#LOW ipcCb
+001F56 7C4E              MOV      R4,#HIGH ipcCb
+001F58 7D01              MOV      R5,#01H
+001F5A 7E00              MOV      R6,#00H
+001F5C 7F12              MOV      R7,#012H
+001F5E 020390            LJMP     ?C?COPY
 ----- FUNCTION _IPC_Initialize (END) -------
 
 
+----- FUNCTION _GPIO_SetInput (BEGIN) -----
+ FILE: 'gpio.c'
+   70: void GPIO_SetInput(byte gpio_num, bit st)
+   71: {
+;---- Variable 'gpio_num' assigned to Register 'R4' ----
+001F61 AC07              MOV      R4,AR7
+   72: 	if(gpio_num == 0xff)
+   73: 		return;
+001F63 EC                MOV      A,R4
+001F64 F4                CPL      A
+001F65 6017              JZ       ?C0015?GPIO
+001F67         ?C0014?GPIO:
+   74: 	GPIO_SetPd(gpio_num, st);
+001F67 AF04              MOV      R7,AR4
+001F69 A205              MOV      C,st
+001F6B 9203              MOV      ?_GPIO_SetPd?BIT,C
+001F6D F191              ACALL    _GPIO_SetPd
+   75: 	GPIO_SetPu(gpio_num, ~st);
+001F6F AF04              MOV      R7,AR4
+001F71 A205              MOV      C,st
+001F73 B3                CPL      C
+001F74 9202              MOV      ?_GPIO_SetPu?BIT,C
+001F76 F17F              ACALL    _GPIO_SetPu
+   76: 	GPIO_Setoe(gpio_num, 0);
+001F78 AF04              MOV      R7,AR4
+001F7A C204              CLR      ?_GPIO_Setoe?BIT
+001F7C F1A3              ACALL    _GPIO_Setoe
+   77: }
+001F7E         ?C0015?GPIO:
+001F7E 22                RET      
+----- FUNCTION _GPIO_SetInput (END) -------
+
+
 ----- FUNCTION _GPIO_SetPu (BEGIN) -----
+ FILE: 'gpio.c'
+   49: void GPIO_SetPu(byte gpio_num, bool bit_val)
+   50: {
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-001EF1 EF                MOV      A,R7
-001EF2 F4                CPL      A
-001EF3 600C              JZ       ?C0009?GPIO
-001EF5         ?C0008?GPIO:
-001EF5 7B01              MOV      R3,#01H
-001EF7 7A80              MOV      R2,#080H
-001EF9 7978              MOV      R1,#078H
-001EFB A202              MOV      C,bit_val
-001EFD 9200              MOV      ?_gpioSetBit?BIT,C
-001EFF F179              ACALL    _gpioSetBit
-001F01         ?C0009?GPIO:
-001F01 22                RET      
+   51: 	if(gpio_num == 0xff)
+   52: 		return;
+001F7F EF                MOV      A,R7
+001F80 F4                CPL      A
+001F81 600D              JZ       ?C0009?GPIO
+001F83         ?C0008?GPIO:
+   53: 	gpioSetBit(gpio_num, &REG_GPIO_PUP(0), bit_val);
+001F83 7B01              MOV      R3,#01H
+001F85 7A80              MOV      R2,#080H
+001F87 7978              MOV      R1,#078H
+001F89 A202              MOV      C,bit_val
+001F8B 9200              MOV      ?_gpioSetBit?BIT,C
+001F8D 123629            LCALL    _gpioSetBit
+   54: }
+001F90         ?C0009?GPIO:
+001F90 22                RET      
 ----- FUNCTION _GPIO_SetPu (END) -------
 
 
------ FUNCTION _GPIO_SetInput (BEGIN) -----
-;---- Variable 'gpio_num' assigned to Register 'R4' ----
-001F02 AC07              MOV      R4,AR7
-001F04 EC                MOV      A,R4
-001F05 F4                CPL      A
-001F06 6017              JZ       ?C0015?GPIO
-001F08         ?C0014?GPIO:
-001F08 AF04              MOV      R7,AR4
-001F0A A205              MOV      C,st
-001F0C 9203              MOV      ?_GPIO_SetPd?BIT,C
-001F0E F168              ACALL    _GPIO_SetPd
-001F10 AF04              MOV      R7,AR4
-001F12 A205              MOV      C,st
-001F14 B3                CPL      C
-001F15 9202              MOV      ?_GPIO_SetPu?BIT,C
-001F17 D1F1              ACALL    _GPIO_SetPu
-001F19 AF04              MOV      R7,AR4
-001F1B C204              CLR      ?_GPIO_Setoe?BIT
-001F1D F120              ACALL    _GPIO_Setoe
-001F1F         ?C0015?GPIO:
-001F1F 22                RET      
------ FUNCTION _GPIO_SetInput (END) -------
+----- FUNCTION _GPIO_SetPd (BEGIN) -----
+ FILE: 'gpio.c'
+   56: void GPIO_SetPd(byte gpio_num, bool bit_val)
+   57: {
+;---- Variable 'gpio_num' assigned to Register 'R7' ----
+   58: 	if(gpio_num == 0xff)
+   59: 		return;
+001F91 EF                MOV      A,R7
+001F92 F4                CPL      A
+001F93 600D              JZ       ?C0011?GPIO
+001F95         ?C0010?GPIO:
+   60: 	gpioSetBit(gpio_num, &REG_GPIO_PDN(0), bit_val);
+001F95 7B01              MOV      R3,#01H
+001F97 7A80              MOV      R2,#080H
+001F99 797C              MOV      R1,#07CH
+001F9B A203              MOV      C,bit_val
+001F9D 9200              MOV      ?_gpioSetBit?BIT,C
+001F9F 123629            LCALL    _gpioSetBit
+   61: }
+001FA2         ?C0011?GPIO:
+001FA2 22                RET      
+----- FUNCTION _GPIO_SetPd (END) -------
 
 
 ----- FUNCTION _GPIO_Setoe (BEGIN) -----
+ FILE: 'gpio.c'
+   63: void GPIO_Setoe(byte gpio_num, bool bit_val)
+   64: {
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-001F20 EF                MOV      A,R7
-001F21 F4                CPL      A
-001F22 600C              JZ       ?C0013?GPIO
-001F24         ?C0012?GPIO:
-001F24 7B01              MOV      R3,#01H
-001F26 7A80              MOV      R2,#080H
-001F28 7970              MOV      R1,#070H
-001F2A A204              MOV      C,bit_val
-001F2C 9200              MOV      ?_gpioSetBit?BIT,C
-001F2E F179              ACALL    _gpioSetBit
-001F30         ?C0013?GPIO:
-001F30 22                RET      
+   65: 	if(gpio_num == 0xff)
+   66: 		return;
+001FA3 EF                MOV      A,R7
+001FA4 F4                CPL      A
+001FA5 600D              JZ       ?C0013?GPIO
+001FA7         ?C0012?GPIO:
+   67: 	gpioSetBit(gpio_num, &REG_GPIO_OE(0), bit_val);
+001FA7 7B01              MOV      R3,#01H
+001FA9 7A80              MOV      R2,#080H
+001FAB 7970              MOV      R1,#070H
+001FAD A204              MOV      C,bit_val
+001FAF 9200              MOV      ?_gpioSetBit?BIT,C
+001FB1 123629            LCALL    _gpioSetBit
+   68: }
+001FB4         ?C0013?GPIO:
+001FB4 22                RET      
 ----- FUNCTION _GPIO_Setoe (END) -------
 
 
+----- FUNCTION main (BEGIN) -----
+ FILE: 'ram.c'
+    5: void main()
+    6: {
+    7: 	YC_System_Main();
+    8: }
+001FB5 6140              AJMP     YC_System_Main
+----- FUNCTION main (END) -------
+
+
+----- FUNCTION IPC_AbandonLpm (BEGIN) -----
+ FILE: 'ipc.c'
+  132: void IPC_AbandonLpm()
+  133: {
+  134: 	lpm_flag = 1;
+  135: 	current_task = 0;
+001FB7 900B7F            MOV      DPTR,#lpm_flag
+001FBA 7401              MOV      A,#01H
+001FBC F0                MOVX     @DPTR,A
+  136: }
+001FBD E4                CLR      A
+001FBE 900B7E            MOV      DPTR,#current_task
+001FC1 F0                MOVX     @DPTR,A
+  137: 
+001FC2 22                RET      
+----- FUNCTION IPC_AbandonLpm (END) -------
+
+
 ----- FUNCTION System_Hardware_init (BEGIN) -----
  FILE: 'sys.c'
-   63: static void System_Hardware_init()
-   64: {
-   65: 	System_IIC_clk_setup();
-   66: 	KS_Initialize();
-001F31 12303D            LCALL    System_IIC_clk_setup
-   67: //	GPIO_SetInput(WHEEL_DATA_A_GPIO,0);
-001F34 F13E              ACALL    KS_Initialize
-   68: //	GPIO_SetInput(WHEEL_DATA_B_GPIO,0);
-   69: 	GPIO_SetInput(USER_MODE_GPIO, 1);	//pull down
-001F36 D205              SETB     ?_GPIO_SetInput?BIT
-001F38 7F1E              MOV      R7,#01EH
-001F3A F102              ACALL    _GPIO_SetInput
-   70: 	LED_all_shutdown();
-001F3C 81D7              AJMP     LED_all_shutdown
-   71: }
+   56: static void System_Hardware_init()
+   57: {
+   58: 	System_IIC_clk_setup();
+   59: 	KS_Initialize();
+001FC3 1233B2            LCALL    System_IIC_clk_setup
+   60: 	GPIO_SetInput(USER_MODE_GPIO, 1);
+001FC6 F1D1              ACALL    KS_Initialize
+   61: 	LED_all_shutdown();
+001FC8 D205              SETB     ?_GPIO_SetInput?BIT
+001FCA 7F1E              MOV      R7,#01EH
+001FCC F161              ACALL    _GPIO_SetInput
+   62: }
+001FCE 0217BC            LJMP     LED_all_shutdown
 ----- FUNCTION System_Hardware_init (END) -------
 
 
@@ -5650,17 +5677,17 @@
   207: {
   208: 	REG_GPIO_SELECT(0) = 0;
   209: 	REG_GPIO_SELECT(1) = 0;
-001F3E 908080            MOV      DPTR,#08080H
-001F41 E4                CLR      A
-001F42 F0                MOVX     @DPTR,A
+001FD1 908080            MOV      DPTR,#08080H
+001FD4 E4                CLR      A
+001FD5 F0                MOVX     @DPTR,A
   210: 	REG_GPIO_SELECT(2) = 0;
-001F43 A3                INC      DPTR
-001F44 F0                MOVX     @DPTR,A
+001FD6 A3                INC      DPTR
+001FD7 F0                MOVX     @DPTR,A
   211: 	ksRawInitialize();
-001F45 A3                INC      DPTR
-001F46 F0                MOVX     @DPTR,A
+001FD8 A3                INC      DPTR
+001FD9 F0                MOVX     @DPTR,A
   212: 	ksColInitialize();
-001F47 122CDF            LCALL    ksRawInitialize
+001FDA 123149            LCALL    ksRawInitialize
 ;----                  JMP      ksColInitialize
   213: }
 ----- FUNCTION KS_Initialize (END) -------
@@ -5672,933 +5699,2641 @@
   199: {
   200: 	byte i = 0;
   201: 	for (i=0; col[i]!=0; i++) {
-001F4A E4                CLR      A
-001F4B 904F0C            MOV      DPTR,#i
-001F4E F0                MOVX     @DPTR,A
+001FDD E4                CLR      A
+001FDE 904F0B            MOV      DPTR,#i
+001FE1 F0                MOVX     @DPTR,A
   202: 		GPIO_SetInput(col[i], 0);
-001F4F F0                MOVX     @DPTR,A
-001F50         ?C0032?KEYSCAN:
-001F50 904F0C            MOV      DPTR,#i
-001F53 E0                MOVX     A,@DPTR
-001F54 900681            MOV      DPTR,#col
-001F57 93                MOVC     A,@A+DPTR
-001F58 FF                MOV      R7,A
-001F59 600C              JZ       ?C0035?KEYSCAN
+001FE2 F0                MOVX     @DPTR,A
+001FE3         ?C0032?KEYSCAN:
+001FE3 904F0B            MOV      DPTR,#i
+001FE6 E0                MOVX     A,@DPTR
+001FE7 900681            MOV      DPTR,#col
+001FEA 93                MOVC     A,@A+DPTR
+001FEB FF                MOV      R7,A
+001FEC 600C              JZ       ?C0035?KEYSCAN
   203: 	}
-001F5B C205              CLR      ?_GPIO_SetInput?BIT
-001F5D F102              ACALL    _GPIO_SetInput
+001FEE C205              CLR      ?_GPIO_SetInput?BIT
+001FF0 F161              ACALL    _GPIO_SetInput
   204: }
-001F5F 904F0C            MOV      DPTR,#i
-001F62 E0                MOVX     A,@DPTR
-001F63 04                INC      A
-001F64 F0                MOVX     @DPTR,A
-001F65 80E9              SJMP     ?C0032?KEYSCAN
+001FF2 904F0B            MOV      DPTR,#i
+001FF5 E0                MOVX     A,@DPTR
+001FF6 04                INC      A
+001FF7 F0                MOVX     @DPTR,A
+001FF8 80E9              SJMP     ?C0032?KEYSCAN
   205: 
-001F67         ?C0035?KEYSCAN:
-001F67 22                RET      
+001FFA         ?C0035?KEYSCAN:
+001FFA 22                RET      
 ----- FUNCTION ksColInitialize (END) -------
 
 
------ FUNCTION _GPIO_SetPd (BEGIN) -----
-;---- Variable 'gpio_num' assigned to Register 'R7' ----
-001F68 EF                MOV      A,R7
-001F69 F4                CPL      A
-001F6A 600C              JZ       ?C0011?GPIO
-001F6C         ?C0010?GPIO:
-001F6C 7B01              MOV      R3,#01H
-001F6E 7A80              MOV      R2,#080H
-001F70 797C              MOV      R1,#07CH
-001F72 A203              MOV      C,bit_val
-001F74 9200              MOV      ?_gpioSetBit?BIT,C
-001F76 F179              ACALL    _gpioSetBit
-001F78         ?C0011?GPIO:
-001F78 22                RET      
------ FUNCTION _GPIO_SetPd (END) -------
-
-
------ FUNCTION _gpioSetBit (BEGIN) -----
-001F79 904EFC            MOV      DPTR,#reg_base
-001F7C EB                MOV      A,R3
-001F7D F0                MOVX     @DPTR,A
-001F7E A3                INC      DPTR
-001F7F EA                MOV      A,R2
-001F80 F0                MOVX     @DPTR,A
-001F81 A3                INC      DPTR
-001F82 E9                MOV      A,R1
-001F83 F0                MOVX     @DPTR,A
-;---- Variable 'gpio_num' assigned to Register 'R7' ----
-;---- Variable 'queue' assigned to Register 'R6' ----
-001F84 E4                CLR      A
-001F85 FE                MOV      R6,A
-;---- Variable 'group' assigned to Register 'R5' ----
-001F86 FD                MOV      R5,A
-001F87 EF                MOV      A,R7
-001F88 5407              ANL      A,#07H
-001F8A FE                MOV      R6,A
-001F8B EF                MOV      A,R7
-001F8C 13                RRC      A
-001F8D 13                RRC      A
-001F8E 13                RRC      A
-001F8F 5403              ANL      A,#03H
-001F91 FD                MOV      R5,A
-001F92 300022            JNB      bit_val,?C0001?GPIO
-001F95 904EFC            MOV      DPTR,#reg_base
-001F98 E0                MOVX     A,@DPTR
-001F99 FB                MOV      R3,A
-001F9A A3                INC      DPTR
-001F9B E0                MOVX     A,@DPTR
-001F9C FA                MOV      R2,A
-001F9D A3                INC      DPTR
-001F9E E0                MOVX     A,@DPTR
-001F9F 2D                ADD      A,R5
-001FA0 F9                MOV      R1,A
-001FA1 E4                CLR      A
-001FA2 3A                ADDC     A,R2
-001FA3 FA                MOV      R2,A
-001FA4 1203B6            LCALL    ?C?CLDPTR
-001FA7 FF                MOV      R7,A
-001FA8 7401              MOV      A,#01H
-001FAA A806              MOV      R0,AR6
-001FAC 08                INC      R0
-001FAD 8002              SJMP     ?C0031?GPIO
-001FAF         ?C0030?GPIO:
-001FAF C3                CLR      C
-001FB0 33                RLC      A
-001FB1         ?C0031?GPIO:
-001FB1 D8FC              DJNZ     R0,?C0030?GPIO
-001FB3 4F                ORL      A,R7
-001FB4 0203FC            LJMP     ?C?CSTPTR
-001FB7         ?C0001?GPIO:
-001FB7 904EFC            MOV      DPTR,#reg_base
-001FBA E0                MOVX     A,@DPTR
-001FBB FB                MOV      R3,A
-001FBC A3                INC      DPTR
-001FBD E0                MOVX     A,@DPTR
-001FBE FA                MOV      R2,A
-001FBF A3                INC      DPTR
-001FC0 E0                MOVX     A,@DPTR
-001FC1 2D                ADD      A,R5
-001FC2 F9                MOV      R1,A
-001FC3 E4                CLR      A
-001FC4 3A                ADDC     A,R2
-001FC5 FA                MOV      R2,A
-001FC6 1203B6            LCALL    ?C?CLDPTR
-001FC9 FF                MOV      R7,A
-001FCA 7401              MOV      A,#01H
-001FCC A806              MOV      R0,AR6
-001FCE 08                INC      R0
-001FCF 8002              SJMP     ?C0033?GPIO
-001FD1         ?C0032?GPIO:
-001FD1 C3                CLR      C
-001FD2 33                RLC      A
-001FD3         ?C0033?GPIO:
-001FD3 D8FC              DJNZ     R0,?C0032?GPIO
-001FD5 F4                CPL      A
-001FD6 5F                ANL      A,R7
-001FD7 0203FC            LJMP     ?C?CSTPTR
------ FUNCTION _gpioSetBit (END) -------
-
-
------ FUNCTION main (BEGIN) -----
- FILE: 'ram.c'
-    5: void main()
-    6: {
-    7: 	YC_System_Main();
-    8: }
-001FDA A11B              AJMP     YC_System_Main
------ FUNCTION main (END) -------
-
-
------ FUNCTION IPC_AbandonLpm (BEGIN) -----
-001FDC 900B7F            MOV      DPTR,#lpm_flag
-001FDF 7401              MOV      A,#01H
-001FE1 F0                MOVX     @DPTR,A
-001FE2 E4                CLR      A
-001FE3 900B7E            MOV      DPTR,#current_task
-001FE6 F0                MOVX     @DPTR,A
-001FE7 22                RET      
------ FUNCTION IPC_AbandonLpm (END) -------
+----- FUNCTION YC_g24_mode_discovery (BEGIN) -----
+ FILE: 'bluetooth.c'
+  141: byte YC_g24_mode_discovery()
+  142: {
+  143: 	if (g_variable.last_device_num == 0xfe ||g_variable.last_device_num == 0x00)
+  144: 	{
+001FFB 904C84            MOV      DPTR,#g_variable+01H
+001FFE E0                MOVX     A,@DPTR
+001FFF FF                MOV      R7,A
+002000 64FE              XRL      A,#0FEH
+002002 6003              JZ       ?C0029?BLUETOOTH
+002004 EF                MOV      A,R7
+002005 7008              JNZ      ?C0028?BLUETOOTH
+002007         ?C0029?BLUETOOTH:
+  145: 		IPC_TxControlCmd(IPC_CMD_STOP_24G);
+  146: 		return 1;
+002007 7F22              MOV      R7,#022H
+002009 1213C9            LCALL    _IPC_TxControlCmd
+  147: 	}
+00200C 7F01              MOV      R7,#01H
+00200E 22                RET      
+  148: 	return 0;
+00200F         ?C0028?BLUETOOTH:
+  149: }
+00200F 7F00              MOV      R7,#00H
+  150: 
+002011 22                RET      
+----- FUNCTION YC_g24_mode_discovery (END) -------
 
 
------ FUNCTION YC_clear_BT_same_address_record (BEGIN) -----
+----- FUNCTION YC_start_reconnect (BEGIN) -----
  FILE: 'bluetooth.c'
-  234: void  YC_clear_BT_same_address_record()
-  235: {
-  236: 	byte record_index;
-  237: 	//if (pinCode_flag == 1)			//clear the same BT3.0 device address record
-  238: 	{
-  239: 		record_index = g_variable.current_device_num-1;
-001FE8 904CC3            MOV      DPTR,#g_variable+04H
-001FEB E0                MOVX     A,@DPTR
-001FEC 14                DEC      A
-001FED 904F08            MOV      DPTR,#record_index
-001FF0 F0                MOVX     @DPTR,A
-  240: 		pinCode_flag= 0;
-001FF1 E4                CLR      A
-001FF2 904DE1            MOV      DPTR,#pinCode_flag
-001FF5 F0                MOVX     @DPTR,A
-  241: 		YC_store_record_list(2, record_index);
-001FF6 904F08            MOV      DPTR,#record_index
-001FF9 E0                MOVX     A,@DPTR
-001FFA FD                MOV      R5,A
-001FFB 7F02              MOV      R7,#02H
-001FFD 120803            LCALL    _YC_store_record_list
-  242: 
-  243: 		if(record_index != 0)
-002000 904F08            MOV      DPTR,#record_index
-002003 E0                MOVX     A,@DPTR
-002004 FF                MOV      R7,A
-002005 603C              JZ       ?C0037?BLUETOOTH
-  244: 		{
-  245: 			if(bd_key_record_list[0].device_type == 2) 
-002007 904DF2            MOV      DPTR,#bd_key_record_list
-00200A E0                MOVX     A,@DPTR
-00200B 6402              XRL      A,#02H
-00200D 7034              JNZ      ?C0037?BLUETOOTH
-  246: 			{
-  247: 				if (compare_str(bd_key_record_list[0].device_addr,bd_key_record_list[record_index].device_addr,6))
-00200F EF                MOV      A,R7
-002010 75F01F            MOV      B,#01FH
-002013 A4                MUL      AB
-002014 24F3              ADD      A,#LOW bd_key_record_list+01H
-002016 F9                MOV      R1,A
-002017 744D              MOV      A,#HIGH bd_key_record_list+01H
-002019 35F0              ADDC     A,B
-00201B FA                MOV      R2,A
-00201C 904EB2            MOV      DPTR,#?_compare_str?BYTE+03H
-00201F 7401              MOV      A,#01H
-002021 F0                MOVX     @DPTR,A
-002022 A3                INC      DPTR
-002023 EA                MOV      A,R2
-002024 F0                MOVX     @DPTR,A
-002025 A3                INC      DPTR
-002026 E9                MOV      A,R1
-002027 F0                MOVX     @DPTR,A
-002028 A3                INC      DPTR
-002029 7406              MOV      A,#06H
-00202B F0                MOVX     @DPTR,A
-00202C 7B01              MOV      R3,#01H
-00202E 7A4D              MOV      R2,#HIGH bd_key_record_list+01H
-002030 79F3              MOV      R1,#LOW bd_key_record_list+01H
-002032 11FB              ACALL    _compare_str
-002034 EF                MOV      A,R7
-002035 600C              JZ       ?C0037?BLUETOOTH
-  248: 					xmemclear_ff((byte *)(&bd_key_record_list[0]), sizeof(BD_KEY_RECORD));
-002037 7B01              MOV      R3,#01H
-002039 7A4D              MOV      R2,#HIGH bd_key_record_list
-00203B 79F2              MOV      R1,#LOW bd_key_record_list
-00203D 7D1F              MOV      R5,#01FH
-00203F 7C00              MOV      R4,#00H
-002041 11CE              ACALL    _xmemclear_ff
-  249: 			}
-  250: 		}
-002043         ?C0037?BLUETOOTH:
-  251: 
-  252: 		if(record_index != 1)
-002043 904F08            MOV      DPTR,#record_index
-002046 E0                MOVX     A,@DPTR
-002047 FF                MOV      R7,A
-002048 6401              XRL      A,#01H
-00204A 603C              JZ       ?C0040?BLUETOOTH
-  253: 		{
-  254: 			if(bd_key_record_list[1].device_type == 2) 
-00204C 904E11            MOV      DPTR,#bd_key_record_list+01FH
-00204F E0                MOVX     A,@DPTR
-002050 6402              XRL      A,#02H
-002052 7034              JNZ      ?C0040?BLUETOOTH
-  255: 			{
-  256: 				if (compare_str(bd_key_record_list[1].device_addr,bd_key_record_list[record_index].device_addr,6))
-002054 EF                MOV      A,R7
-002055 75F01F            MOV      B,#01FH
-002058 A4                MUL      AB
-002059 24F3              ADD      A,#LOW bd_key_record_list+01H
-00205B F9                MOV      R1,A
-00205C 744D              MOV      A,#HIGH bd_key_record_list+01H
-00205E 35F0              ADDC     A,B
-002060 FA                MOV      R2,A
-002061 904EB2            MOV      DPTR,#?_compare_str?BYTE+03H
-002064 7401              MOV      A,#01H
-002066 F0                MOVX     @DPTR,A
-002067 A3                INC      DPTR
-002068 EA                MOV      A,R2
-002069 F0                MOVX     @DPTR,A
-00206A A3                INC      DPTR
-00206B E9                MOV      A,R1
-00206C F0                MOVX     @DPTR,A
-00206D A3                INC      DPTR
-00206E 7406              MOV      A,#06H
-002070 F0                MOVX     @DPTR,A
-002071 7B01              MOV      R3,#01H
-002073 7A4E              MOV      R2,#HIGH bd_key_record_list+020H
-002075 7912              MOV      R1,#LOW bd_key_record_list+020H
-002077 11FB              ACALL    _compare_str
-002079 EF                MOV      A,R7
-00207A 600C              JZ       ?C0040?BLUETOOTH
-  257: 					xmemclear_ff((byte *)(&bd_key_record_list[1]), sizeof(BD_KEY_RECORD));
-00207C 7B01              MOV      R3,#01H
-00207E 7A4E              MOV      R2,#HIGH bd_key_record_list+01FH
-002080 7911              MOV      R1,#LOW bd_key_record_list+01FH
-002082 7D1F              MOV      R5,#01FH
-002084 7C00              MOV      R4,#00H
-002086 11CE              ACALL    _xmemclear_ff
-  258: 			}
-  259: 		}
-002088         ?C0040?BLUETOOTH:
-  260: 
-  261: 		if(record_index != 2)
-002088 904F08            MOV      DPTR,#record_index
-00208B E0                MOVX     A,@DPTR
-00208C FF                MOV      R7,A
-00208D 6402              XRL      A,#02H
-00208F 603C              JZ       ?C0046?BLUETOOTH
-  262: 		{
-  263: 			if(bd_key_record_list[2].device_type == 2) 
-002091 904E30            MOV      DPTR,#bd_key_record_list+03EH
-002094 E0                MOVX     A,@DPTR
-002095 6402              XRL      A,#02H
-002097 7034              JNZ      ?C0046?BLUETOOTH
-  264: 			{
-  265: 				if (compare_str(bd_key_record_list[2].device_addr,bd_key_record_list[record_index].device_addr,6))
-002099 EF                MOV      A,R7
-00209A 75F01F            MOV      B,#01FH
-00209D A4                MUL      AB
-00209E 24F3              ADD      A,#LOW bd_key_record_list+01H
-0020A0 F9                MOV      R1,A
-0020A1 744D              MOV      A,#HIGH bd_key_record_list+01H
-0020A3 35F0              ADDC     A,B
-0020A5 FA                MOV      R2,A
-0020A6 904EB2            MOV      DPTR,#?_compare_str?BYTE+03H
-0020A9 7401              MOV      A,#01H
-0020AB F0                MOVX     @DPTR,A
-0020AC A3                INC      DPTR
-0020AD EA                MOV      A,R2
+  153: void YC_start_reconnect()
+  154: {
+  155: 	power_on_flag = 2;
+  156: 	IIC_Read(EEPROM_RECON_INFO_BASE ,sizeof(BD_KEY_RECORD)*3, (byte *)bd_key_record_list);
+002012 904DF0            MOV      DPTR,#power_on_flag
+002015 7402              MOV      A,#02H
+002017 F0                MOVX     @DPTR,A
+  157: 	Delay1ms(10);
+002018 7B01              MOV      R3,#01H
+00201A 7A4D              MOV      R2,#HIGH bd_key_record_list
+00201C 79F4              MOV      R1,#LOW bd_key_record_list
+00201E 7D5D              MOV      R5,#05DH
+002020 7C00              MOV      R4,#00H
+002022 7F60              MOV      R7,#060H
+002024 7E7F              MOV      R6,#07FH
+002026 11B0              ACALL    _IIC_Read
+  158: 	IIC_Read(EEPROM_RECON_INFO_BASE_6+2,4 , (byte *)m_24g_addr);
+002028 7F0A              MOV      R7,#0AH
+00202A 120F72            LCALL    _Delay1ms
+  159: 	Delay1ms(10);
+00202D 7B01              MOV      R3,#01H
+00202F 7A4C              MOV      R2,#HIGH m_24g_addr
+002031 7900              MOV      R1,#LOW m_24g_addr
+002033 7D04              MOV      R5,#04H
+002035 7C00              MOV      R4,#00H
+002037 7F52              MOV      R7,#052H
+002039 7E7F              MOV      R6,#07FH
+00203B 11B0              ACALL    _IIC_Read
+  160: 	IIC_Read(EEPROM_RECON_INFO_G24_FN_LOCK ,1 ,(byte *)&fn_lock_flag);
+00203D 7F0A              MOV      R7,#0AH
+00203F 120F72            LCALL    _Delay1ms
+  161: 	Delay1ms(10);
+002042 7B01              MOV      R3,#01H
+002044 7A4D              MOV      R2,#HIGH fn_lock_flag
+002046 79EC              MOV      R1,#LOW fn_lock_flag
+002048 7D01              MOV      R5,#01H
+00204A 7C00              MOV      R4,#00H
+00204C 7F56              MOV      R7,#056H
+00204E 7E7F              MOV      R6,#07FH
+002050 11B0              ACALL    _IIC_Read
+  162: 	IIC_Read(EEPROM_RECON_INFO_G24_SYTEM_MODE ,1 ,(byte *)&g_variable.system_mode);
+002052 7F0A              MOV      R7,#0AH
+002054 120F72            LCALL    _Delay1ms
+  163: 	Delay1ms(10);
+002057 7B01              MOV      R3,#01H
+002059 7A4C              MOV      R2,#HIGH g_variable+02H
+00205B 7985              MOV      R1,#LOW g_variable+02H
+00205D 7D01              MOV      R5,#01H
+00205F 7C00              MOV      R4,#00H
+002061 7F57              MOV      R7,#057H
+002063 7E7F              MOV      R6,#07FH
+002065 11B0              ACALL    _IIC_Read
+  164: 	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
+002067 7F0A              MOV      R7,#0AH
+002069 120F72            LCALL    _Delay1ms
+  165: 	{
+00206C 904C87            MOV      DPTR,#g_variable+04H
+00206F E0                MOVX     A,@DPTR
+002070 FF                MOV      R7,A
+002071 D3                SETB     C
+002072 9403              SUBB     A,#03H
+002074 501E              JNC      ?C0031?BLUETOOTH
+002076 EF                MOV      A,R7
+002077 C3                CLR      C
+002078 9401              SUBB     A,#01H
+00207A 4018              JC       ?C0031?BLUETOOTH
+  166: 		//g_variable.system_mode = bd_key_record_list[g_variable.current_device_num - 1].system_mode;
+  167: 		fn_lock_flag = bd_key_record_list[g_variable.current_device_num - 1].fn_lock; 
+00207C E0                MOVX     A,@DPTR
+00207D 75F01F            MOV      B,#01FH
+002080 A4                MUL      AB
+002081 24F3              ADD      A,#LOW bd_key_record_list-01H
+002083 F582              MOV      DPL,A
+002085 E4                CLR      A
+002086 344D              ADDC     A,#HIGH bd_key_record_list-01H
+002088 F583              MOV      DPH,A
+00208A E0                MOVX     A,@DPTR
+00208B 904DEC            MOV      DPTR,#fn_lock_flag
+00208E F0                MOVX     @DPTR,A
+  168: 		YC_key_action_handle(g_variable.current_device_num);
+00208F 1211E2            LCALL    _YC_key_action_handle
+  169: 	}
+002092 8005              SJMP     ?C0032?BLUETOOTH
+002094         ?C0031?BLUETOOTH:
+  170: 	else	
+  171: 	{	
+  172: 		YC_key_action_handle(KEY_START_24G);
+002094 7F08              MOV      R7,#08H
+002096 1211E2            LCALL    _YC_key_action_handle
+  173: 	}
+002099         ?C0032?BLUETOOTH:
+  174: 	if(fn_lock_flag > 1)
+002099 904DEC            MOV      DPTR,#fn_lock_flag
+00209C E0                MOVX     A,@DPTR
+00209D D3                SETB     C
+00209E 9401              SUBB     A,#01H
+0020A0 4002              JC       ?C0033?BLUETOOTH
+  175: 		fn_lock_flag = 0;
+0020A2 E4                CLR      A
+0020A3 F0                MOVX     @DPTR,A
+0020A4         ?C0033?BLUETOOTH:
+  176: 	if(g_variable.system_mode > OSMODE_IOS)
+0020A4 904C85            MOV      DPTR,#g_variable+02H
+0020A7 E0                MOVX     A,@DPTR
+0020A8 D3                SETB     C
+0020A9 9404              SUBB     A,#04H
+0020AB 4002              JC       ?C0035?BLUETOOTH
+  177: 	{
+  178: 		g_variable.system_mode = OSMODE_WINDOWS;
+0020AD E4                CLR      A
 0020AE F0                MOVX     @DPTR,A
-0020AF A3                INC      DPTR
-0020B0 E9                MOV      A,R1
-0020B1 F0                MOVX     @DPTR,A
-0020B2 A3                INC      DPTR
-0020B3 7406              MOV      A,#06H
-0020B5 F0                MOVX     @DPTR,A
-0020B6 7B01              MOV      R3,#01H
-0020B8 7A4E              MOV      R2,#HIGH bd_key_record_list+03FH
-0020BA 7931              MOV      R1,#LOW bd_key_record_list+03FH
-0020BC 11FB              ACALL    _compare_str
-0020BE EF                MOV      A,R7
-0020BF 600C              JZ       ?C0046?BLUETOOTH
-  266: 					xmemclear_ff((byte *)(&bd_key_record_list[2]), sizeof(BD_KEY_RECORD));
-0020C1 7B01              MOV      R3,#01H
-0020C3 7A4E              MOV      R2,#HIGH bd_key_record_list+03EH
-0020C5 7930              MOV      R1,#LOW bd_key_record_list+03EH
-0020C7 7D1F              MOV      R5,#01FH
-0020C9 7C00              MOV      R4,#00H
-0020CB 11CE              ACALL    _xmemclear_ff
-  267: 			}
-  268: 		}	
-  269: 	}
-  270: }
-0020CD         ?C0046?BLUETOOTH:
-0020CD 22                RET      
------ FUNCTION YC_clear_BT_same_address_record (END) -------
+  179: 	}	
+  180: }
+0020AF         ?C0035?BLUETOOTH:
+0020AF 22                RET      
+----- FUNCTION YC_start_reconnect (END) -------
 
 
------ FUNCTION _xmemclear_ff (BEGIN) -----
-0020CE 904EF9            MOV      DPTR,#dest
-0020D1 EB                MOV      A,R3
+----- FUNCTION _IIC_Read (BEGIN) -----
+ FILE: 'iic.c'
+   16: void IIC_Read(word addr, word len, byte * pbuff)
+   17: {
+0020B0 904ED5            MOV      DPTR,#len
+0020B3 EC                MOV      A,R4
+0020B4 F0                MOVX     @DPTR,A
+0020B5 A3                INC      DPTR
+0020B6 ED                MOV      A,R5
+0020B7 F0                MOVX     @DPTR,A
+0020B8 A3                INC      DPTR
+0020B9 EB                MOV      A,R3
+0020BA F0                MOVX     @DPTR,A
+0020BB A3                INC      DPTR
+0020BC EA                MOV      A,R2
+0020BD F0                MOVX     @DPTR,A
+0020BE A3                INC      DPTR
+0020BF E9                MOV      A,R1
+0020C0 F0                MOVX     @DPTR,A
+;---- Variable 'addr' assigned to Register 'R6/R7' ----
+   18: 	word mem_src = addr;
+   19: 	REG_IICD_TXLEN = ESWAP(4);
+;---- Variable 'mem_src' assigned to Register 'R6/R7' ----
+   20: 	YC_IICDTbuf[0] = 0xa0 | EEP_DEV_ADDR;
+0020C1 908098            MOV      DPTR,#08098H
+0020C4 7404              MOV      A,#04H
+0020C6 F0                MOVX     @DPTR,A
+0020C7 A3                INC      DPTR
+0020C8 E4                CLR      A
+0020C9 F0                MOVX     @DPTR,A
+   21: 	*(word *) (YC_IICDTbuf + 1) = mem_src;
+0020CA 900CAF            MOV      DPTR,#YC_IICDTbuf
+0020CD 74A0              MOV      A,#0A0H
+0020CF F0                MOVX     @DPTR,A
+   22: 	YC_IICDTbuf[3] = 0xa1 | EEP_DEV_ADDR;
+0020D0 A3                INC      DPTR
+0020D1 EE                MOV      A,R6
 0020D2 F0                MOVX     @DPTR,A
 0020D3 A3                INC      DPTR
-0020D4 EA                MOV      A,R2
+0020D4 EF                MOV      A,R7
 0020D5 F0                MOVX     @DPTR,A
-0020D6 A3                INC      DPTR
-0020D7 E9                MOV      A,R1
-0020D8 F0                MOVX     @DPTR,A
-;---- Variable 'len' assigned to Register 'R4/R5' ----
-0020D9         ?C0011?UTILITIES:
-0020D9 ED                MOV      A,R5
-0020DA 1D                DEC      R5
-0020DB AE04              MOV      R6,AR4
-0020DD 7001              JNZ      ?C0027?UTILITIES
-0020DF 1C                DEC      R4
-0020E0         ?C0027?UTILITIES:
-0020E0 4E                ORL      A,R6
-0020E1 6017              JZ       ?C0013?UTILITIES
-0020E3 904EF9            MOV      DPTR,#dest
-0020E6 E0                MOVX     A,@DPTR
-0020E7 FB                MOV      R3,A
-0020E8 A3                INC      DPTR
-0020E9 E4                CLR      A
-0020EA 75F001            MOV      B,#01H
-0020ED 120424            LCALL    ?C?ILDIX
-0020F0 A9F0              MOV      R1,B
-0020F2 FA                MOV      R2,A
-0020F3 74FF              MOV      A,#0FFH
-0020F5 1203FC            LCALL    ?C?CSTPTR
-0020F8 80DF              SJMP     ?C0011?UTILITIES
-0020FA         ?C0013?UTILITIES:
-0020FA 22                RET      
------ FUNCTION _xmemclear_ff (END) -------
+   23: 	REG_IICD_TXADDR = ESWAP((word) & YC_IICDTbuf);
+0020D6 900CB2            MOV      DPTR,#YC_IICDTbuf+03H
+0020D9 74A1              MOV      A,#0A1H
+0020DB F0                MOVX     @DPTR,A
+   24: 	REG_IICD_RXLEN = ESWAP(len);
+0020DC 7A0C              MOV      R2,#HIGH YC_IICDTbuf
+0020DE 79AF              MOV      R1,#LOW YC_IICDTbuf
+0020E0 7E0C              MOV      R6,#HIGH YC_IICDTbuf
+0020E2 7FAF              MOV      R7,#LOW YC_IICDTbuf
+0020E4 74AF              MOV      A,#LOW YC_IICDTbuf
+0020E6 FC                MOV      R4,A
+0020E7 740C              MOV      A,#HIGH YC_IICDTbuf
+0020E9 FF                MOV      R7,A
+0020EA EC                MOV      A,R4
+0020EB FE                MOV      R6,A
+0020EC EF                MOV      A,R7
+0020ED 90809A            MOV      DPTR,#0809AH
+0020F0 EE                MOV      A,R6
+0020F1 F0                MOVX     @DPTR,A
+0020F2 A3                INC      DPTR
+0020F3 EF                MOV      A,R7
+0020F4 F0                MOVX     @DPTR,A
+   25: 	REG_IICD_RXADDR = ESWAP((word) IIC_TempBuff);
+0020F5 904ED5            MOV      DPTR,#len
+0020F8 E0                MOVX     A,@DPTR
+0020F9 FC                MOV      R4,A
+0020FA A3                INC      DPTR
+0020FB E0                MOVX     A,@DPTR
+0020FC FA                MOV      R2,A
+0020FD EC                MOV      A,R4
+0020FE FF                MOV      R7,A
+0020FF EA                MOV      A,R2
+002100 FE                MOV      R6,A
+002101 EF                MOV      A,R7
+002102 90809E            MOV      DPTR,#0809EH
+002105 EE                MOV      A,R6
+002106 F0                MOVX     @DPTR,A
+002107 A3                INC      DPTR
+002108 EF                MOV      A,R7
+002109 F0                MOVX     @DPTR,A
+   26: 	REG_IICD_CTRL = 2;
+00210A 7A0B              MOV      R2,#HIGH IIC_TempBuff
+00210C 7983              MOV      R1,#LOW IIC_TempBuff
+00210E 7E0B              MOV      R6,#HIGH IIC_TempBuff
+002110 7F83              MOV      R7,#LOW IIC_TempBuff
+002112 7483              MOV      A,#LOW IIC_TempBuff
+002114 FC                MOV      R4,A
+002115 740B              MOV      A,#HIGH IIC_TempBuff
+002117 FF                MOV      R7,A
+002118 EC                MOV      A,R4
+002119 FE                MOV      R6,A
+00211A EF                MOV      A,R7
+00211B 90809C            MOV      DPTR,#0809CH
+00211E EE                MOV      A,R6
+00211F F0                MOVX     @DPTR,A
+002120 A3                INC      DPTR
+002121 EF                MOV      A,R7
+002122 F0                MOVX     @DPTR,A
+   27: 	if (!(REG_IICD_RXADDR & (1 << 7))) {
+002123 908090            MOV      DPTR,#08090H
+002126 7402              MOV      A,#02H
+002128 F0                MOVX     @DPTR,A
+   28: 		REG_IICD_CTRL |= 1;
+002129 90809C            MOV      DPTR,#0809CH
+00212C A3                INC      DPTR
+00212D E0                MOVX     A,@DPTR
+00212E 20E707            JB       ACC.7,?C0004?IIC
+   29: 	}
+002131 908090            MOV      DPTR,#08090H
+002134 E0                MOVX     A,@DPTR
+002135 4401              ORL      A,#01H
+002137 F0                MOVX     @DPTR,A
+   30: 	REG_MISC_CTRL |= 1 << 2;	//start iic dma
+002138         ?C0004?IIC:
+   31: 	IIcWaitDone();
+002138 908006            MOV      DPTR,#08006H
+00213B E0                MOVX     A,@DPTR
+00213C 4404              ORL      A,#04H
+00213E F0                MOVX     @DPTR,A
+   32: 	xmemcpy(pbuff, IIC_TempBuff, len);
+00213F 3160              ACALL    IIcWaitDone
+   33: }
+002141 904ED7            MOV      DPTR,#pbuff
+002144 E0                MOVX     A,@DPTR
+002145 A3                INC      DPTR
+002146 E0                MOVX     A,@DPTR
+002147 FA                MOV      R2,A
+002148 A3                INC      DPTR
+002149 E0                MOVX     A,@DPTR
+00214A AE02              MOV      R6,AR2
+00214C FF                MOV      R7,A
+00214D 7B01              MOV      R3,#01H
+00214F 7A0B              MOV      R2,#HIGH IIC_TempBuff
+002151 7983              MOV      R1,#LOW IIC_TempBuff
+002153 904ED5            MOV      DPTR,#len
+002156 E0                MOVX     A,@DPTR
+002157 A3                INC      DPTR
+002158 E0                MOVX     A,@DPTR
+002159 904ECA            MOV      DPTR,#?_xmemcpy?BYTE+05H
+00215C F0                MOVX     @DPTR,A
+00215D 02087D            LJMP     _xmemcpy
+----- FUNCTION _IIC_Read (END) -------
 
 
------ FUNCTION _compare_str (BEGIN) -----
-0020FB 904EAF            MOV      DPTR,#str1
-0020FE EB                MOV      A,R3
-0020FF F0                MOVX     @DPTR,A
-002100 A3                INC      DPTR
-002101 EA                MOV      A,R2
-002102 F0                MOVX     @DPTR,A
-002103 A3                INC      DPTR
-002104 E9                MOV      A,R1
-002105 F0                MOVX     @DPTR,A
-;---- Variable 'i' assigned to Register 'R7' ----
-002106 E4                CLR      A
-002107 FF                MOV      R7,A
-002108         ?C0021?UTILITIES:
-002108 904EB5            MOV      DPTR,#len
-00210B E0                MOVX     A,@DPTR
-00210C FE                MOV      R6,A
-00210D EF                MOV      A,R7
-00210E C3                CLR      C
-00210F 9E                SUBB     A,R6
-002110 5030              JNC      ?C0022?UTILITIES
-002112 904EB2            MOV      DPTR,#str2
-002115 E0                MOVX     A,@DPTR
-002116 FB                MOV      R3,A
-002117 A3                INC      DPTR
-002118 E0                MOVX     A,@DPTR
-002119 FA                MOV      R2,A
-00211A A3                INC      DPTR
-00211B E0                MOVX     A,@DPTR
-00211C F9                MOV      R1,A
-00211D 8F82              MOV      DPL,R7
-00211F 758300            MOV      DPH,#00H
-002122 1203CF            LCALL    ?C?CLDOPTR
-002125 FE                MOV      R6,A
-002126 904EAF            MOV      DPTR,#str1
-002129 E0                MOVX     A,@DPTR
-00212A FB                MOV      R3,A
-00212B A3                INC      DPTR
-00212C E0                MOVX     A,@DPTR
-00212D FA                MOV      R2,A
-00212E A3                INC      DPTR
-00212F E0                MOVX     A,@DPTR
-002130 F9                MOV      R1,A
-002131 8F82              MOV      DPL,R7
-002133 758300            MOV      DPH,#00H
-002136 1203CF            LCALL    ?C?CLDOPTR
-002139 6E                XRL      A,R6
-00213A 6003              JZ       ?C0023?UTILITIES
-00213C 7F00              MOV      R7,#00H
-00213E 22                RET      
-00213F         ?C0023?UTILITIES:
-00213F 0F                INC      R7
-002140 80C6              SJMP     ?C0021?UTILITIES
-002142         ?C0022?UTILITIES:
-002142 7F01              MOV      R7,#01H
-002144 22                RET      
------ FUNCTION _compare_str (END) -------
+----- FUNCTION IIcWaitDone (BEGIN) -----
+ FILE: 'iic.c'
+   11: static void IIcWaitDone(void)
+   12: {
+   13: 	while (!(REG_DMA_STATUS & (1 << 5))) ;
+002160         ?C0001?IIC:
+   14: }
+002160 90812C            MOV      DPTR,#0812CH
+002163 E0                MOVX     A,@DPTR
+002164 30E5F9            JNB      ACC.5,?C0001?IIC
+   15: 
+002167 22                RET      
+----- FUNCTION IIcWaitDone (END) -------
 
 
------ FUNCTION KS_GetCurrentEvt (BEGIN) -----
- FILE: 'keyscan.c'
-  302: tKSEVENT *KS_GetCurrentEvt()
-  303: {
-  304: 	//
-  305: 	byte i = 0;
-002145 E4                CLR      A
-002146 904E8C            MOV      DPTR,#i
-002149 F0                MOVX     @DPTR,A
-  306: 	byte j = 0;
-00214A A3                INC      DPTR
-00214B F0                MOVX     @DPTR,A
-  307: 	byte k = 0;
-00214C A3                INC      DPTR
-00214D F0                MOVX     @DPTR,A
-  308: 	byte temp = 0;
-00214E A3                INC      DPTR
-00214F F0                MOVX     @DPTR,A
-  309: 	byte flag = 0;
-002150 A3                INC      DPTR
-002151 F0                MOVX     @DPTR,A
-  310: 	byte offset = 0;
-002152 A3                INC      DPTR
-002153 F0                MOVX     @DPTR,A
-  311: 	byte state = 0;
-002154 A3                INC      DPTR
-002155 F0                MOVX     @DPTR,A
-  312: 	byte keyCounttemp = 0;
-002156 A3                INC      DPTR
-002157 F0                MOVX     @DPTR,A
-  313: 	byte key_value_temp = 0;
-002158 A3                INC      DPTR
-002159 F0                MOVX     @DPTR,A
-  314: 	byte ghost = 0;
-00215A A3                INC      DPTR
-00215B F0                MOVX     @DPTR,A
-  315: 	byte rawCount = 0;
-00215C A3                INC      DPTR
-00215D F0                MOVX     @DPTR,A
-  316: 	
-  317: 	KS_ScanMatrix();
-00215E 122CFD            LCALL    KS_ScanMatrix
-  318: 
-  319: 	if (compare_str(ksSelMapCurr,ksSelMapCheck,KB_KSCAN_COL_NUM) 
-002161 7A4D              MOV      R2,#HIGH ksSelMapCheck
-002163 79A8              MOV      R1,#LOW ksSelMapCheck
-002165 904EB2            MOV      DPTR,#?_compare_str?BYTE+03H
-002168 7401              MOV      A,#01H
-00216A F0                MOVX     @DPTR,A
-00216B A3                INC      DPTR
-00216C 744D              MOV      A,#HIGH ksSelMapCheck
-00216E F0                MOVX     @DPTR,A
-00216F A3                INC      DPTR
-002170 74A8              MOV      A,#LOW ksSelMapCheck
-002172 F0                MOVX     @DPTR,A
-002173 A3                INC      DPTR
-002174 7414              MOV      A,#014H
-002176 F0                MOVX     @DPTR,A
-002177 7B01              MOV      R3,#01H
-002179 7A4D              MOV      R2,#HIGH ksSelMapCurr
-00217B 79BC              MOV      R1,#LOW ksSelMapCurr
-00217D 11FB              ACALL    _compare_str
-00217F EF                MOV      A,R7
-002180 6016              JZ       ?C0064?KEYSCAN
-002182 7B01              MOV      R3,#01H
-002184 7A4D              MOV      R2,#HIGH ksSelMapCurr
-002186 79BC              MOV      R1,#LOW ksSelMapCurr
-002188 7D14              MOV      R5,#014H
-00218A 71EA              ACALL    _array_is_empty
-00218C EF                MOV      A,R7
-00218D 7009              JNZ      ?C0064?KEYSCAN
-  320: 		&& !array_is_empty(ksSelMapCurr,KB_KSCAN_COL_NUM))
-  321: 	{
-  322: 		g_variable.button_flag |= 0x02;
-00218F 904CCE            MOV      DPTR,#g_variable+0FH
-002192 E0                MOVX     A,@DPTR
-002193 4402              ORL      A,#02H
+----- FUNCTION _IIC_write (BEGIN) -----
+ FILE: 'iic.c'
+   35: void IIC_write(word addr, word len, byte * pbuff)
+   36: {
+002168 904EB8            MOV      DPTR,#addr
+00216B EE                MOV      A,R6
+00216C F0                MOVX     @DPTR,A
+00216D A3                INC      DPTR
+00216E EF                MOV      A,R7
+00216F F0                MOVX     @DPTR,A
+002170 904EBC            MOV      DPTR,#pbuff
+002173 EB                MOV      A,R3
+002174 F0                MOVX     @DPTR,A
+002175 A3                INC      DPTR
+002176 EA                MOV      A,R2
+002177 F0                MOVX     @DPTR,A
+002178 A3                INC      DPTR
+002179 E9                MOV      A,R1
+00217A F0                MOVX     @DPTR,A
+00217B 904EBA            MOV      DPTR,#len
+00217E EC                MOV      A,R4
+00217F F0                MOVX     @DPTR,A
+002180 A3                INC      DPTR
+002181 ED                MOV      A,R5
+002182 F0                MOVX     @DPTR,A
+   37: 	dmemcpy(IIC_TempBuff + 3, pbuff, len);
+   38: 	IIC_TempBuff[0] = 0xa0;
+002183 A3                INC      DPTR
+002184 E0                MOVX     A,@DPTR
+002185 F9                MOV      R1,A
+002186 A3                INC      DPTR
+002187 E0                MOVX     A,@DPTR
+002188 FA                MOV      R2,A
+002189 A3                INC      DPTR
+00218A E0                MOVX     A,@DPTR
+00218B 904EA5            MOV      DPTR,#?_dmemcpy?BYTE+03H
+00218E C9                XCH      A,R1
+00218F F0                MOVX     @DPTR,A
+002190 A3                INC      DPTR
+002191 EA                MOV      A,R2
+002192 F0                MOVX     @DPTR,A
+002193 A3                INC      DPTR
+002194 E9                MOV      A,R1
 002195 F0                MOVX     @DPTR,A
-  323: 	}
-002196 800C              SJMP     ?C0065?KEYSCAN
-002198         ?C0064?KEYSCAN:
-  324: 	else
-  325: 	{	
-  326: 		g_variable.button_flag &= 0xFD;
-002198 904CCE            MOV      DPTR,#g_variable+0FH
-00219B E0                MOVX     A,@DPTR
-00219C 54FD              ANL      A,#0FDH
-00219E F0                MOVX     @DPTR,A
-  327: 		g_variable.button_timer[1] = 0;
-00219F E4                CLR      A
-0021A0 904CD0            MOV      DPTR,#g_variable+011H
-0021A3 F0                MOVX     @DPTR,A
-  328: 	}
-0021A4         ?C0065?KEYSCAN:
-  329: 
-  330: 	for (i=0; col[i]!=0; i++) 
-0021A4 E4                CLR      A
-0021A5 904E8C            MOV      DPTR,#i
-0021A8 F0                MOVX     @DPTR,A
-0021A9         ?C0066?KEYSCAN:
-0021A9 904E8C            MOV      DPTR,#i
-0021AC E0                MOVX     A,@DPTR
-0021AD FF                MOV      R7,A
-0021AE 900681            MOV      DPTR,#col
-0021B1 93                MOVC     A,@A+DPTR
-0021B2 7002              JNZ      $ + 4H
-0021B4 4176              AJMP     ?C0067?KEYSCAN
-  331: 	{
-  332: 		temp = ksSelMapCurr[i];
-0021B6 74BC              MOV      A,#LOW ksSelMapCurr
-0021B8 2F                ADD      A,R7
-0021B9 F582              MOV      DPL,A
-0021BB E4                CLR      A
-0021BC 344D              ADDC     A,#HIGH ksSelMapCurr
-0021BE F583              MOV      DPH,A
-0021C0 E0                MOVX     A,@DPTR
-0021C1 904E8F            MOV      DPTR,#temp
-0021C4 F0                MOVX     @DPTR,A
-  333: 		rawCount = bit_count(temp);
-0021C5 E0                MOVX     A,@DPTR
-0021C6 FF                MOV      R7,A
-0021C7 7191              ACALL    _bit_count
-0021C9 904E96            MOV      DPTR,#rawCount
-0021CC EF                MOV      A,R7
-0021CD F0                MOVX     @DPTR,A
-  334: 		if(rawCount >= 2)		// col[i] has more than two key press
-0021CE C3                CLR      C
-0021CF 9402              SUBB     A,#02H
-0021D1 5002              JNC      $ + 4H
-0021D3 415F              AJMP     ?C0069?KEYSCAN
-  335: 		{
-  336: 			for(j=0 ; j<8 ;j++)
-0021D5 E4                CLR      A
-0021D6 904E8D            MOV      DPTR,#j
-0021D9 F0                MOVX     @DPTR,A
-0021DA         ?C0070?KEYSCAN:
-0021DA 904E8D            MOV      DPTR,#j
-0021DD E0                MOVX     A,@DPTR
-0021DE FF                MOV      R7,A
-0021DF C3                CLR      C
-0021E0 9408              SUBB     A,#08H
-0021E2 507B              JNC      ?C0069?KEYSCAN
-  337: 			{
-  338: 				if(temp & (1<<j))	// Ci_Rj press
-0021E4 7401              MOV      A,#01H
-0021E6 7E00              MOV      R6,#00H
-0021E8 A807              MOV      R0,AR7
-0021EA 08                INC      R0
-0021EB 8005              SJMP     ?C0108?KEYSCAN
-0021ED         ?C0107?KEYSCAN:
-0021ED C3                CLR      C
-0021EE 33                RLC      A
-0021EF CE                XCH      A,R6
-0021F0 33                RLC      A
-0021F1 CE                XCH      A,R6
-0021F2         ?C0108?KEYSCAN:
-0021F2 D8F9              DJNZ     R0,?C0107?KEYSCAN
-0021F4 FF                MOV      R7,A
-0021F5 904E8F            MOV      DPTR,#temp
-0021F8 E0                MOVX     A,@DPTR
-0021F9 FD                MOV      R5,A
-0021FA E4                CLR      A
-0021FB EF                MOV      A,R7
-0021FC 5D                ANL      A,R5
-0021FD 6058              JZ       ?C0072?KEYSCAN
-  339: 				{
-  340: 					for(k=0 ; col[k]!=0; k++)
-0021FF E4                CLR      A
-002200 904E8E            MOV      DPTR,#k
-002203 F0                MOVX     @DPTR,A
-002204         ?C0074?KEYSCAN:
-002204 904E8E            MOV      DPTR,#k
-002207 E0                MOVX     A,@DPTR
-002208 FF                MOV      R7,A
-002209 900681            MOV      DPTR,#col
-00220C 93                MOVC     A,@A+DPTR
-00220D 6048              JZ       ?C0072?KEYSCAN
-  341: 					{
-  342: 						if(k!= i)
-00220F 904E8C            MOV      DPTR,#i
-002212 E0                MOVX     A,@DPTR
-002213 FE                MOV      R6,A
-002214 EF                MOV      A,R7
-002215 6E                XRL      A,R6
-002216 6037              JZ       ?C0076?KEYSCAN
-  343: 						{
-  344: 							if(ksSelMapCurr[k] & (1<<j))	// R line has another key press
-002218 904E8E            MOV      DPTR,#k
-00221B E0                MOVX     A,@DPTR
-00221C 24BC              ADD      A,#LOW ksSelMapCurr
-00221E F582              MOV      DPL,A
-002220 E4                CLR      A
-002221 344D              ADDC     A,#HIGH ksSelMapCurr
-002223 F583              MOV      DPH,A
-002225 E0                MOVX     A,@DPTR
-002226 FD                MOV      R5,A
-002227 7C00              MOV      R4,#00H
-002229 904E8D            MOV      DPTR,#j
-00222C E0                MOVX     A,@DPTR
-00222D FF                MOV      R7,A
-00222E 7401              MOV      A,#01H
-002230 7E00              MOV      R6,#00H
-002232 A807              MOV      R0,AR7
-002234 08                INC      R0
-002235 8005              SJMP     ?C0110?KEYSCAN
-002237         ?C0109?KEYSCAN:
-002237 C3                CLR      C
-002238 33                RLC      A
-002239 CE                XCH      A,R6
-00223A 33                RLC      A
-00223B CE                XCH      A,R6
-00223C         ?C0110?KEYSCAN:
-00223C D8F9              DJNZ     R0,?C0109?KEYSCAN
-00223E FF                MOV      R7,A
-00223F EE                MOV      A,R6
-002240 5C                ANL      A,R4
-002241 FE                MOV      R6,A
-002242 EF                MOV      A,R7
-002243 5D                ANL      A,R5
-002244 4E                ORL      A,R6
-002245 6008              JZ       ?C0076?KEYSCAN
-  345: 							{
-  346: 								ghost = 1;
-002247 904E95            MOV      DPTR,#ghost
-00224A 7401              MOV      A,#01H
-00224C F0                MOVX     @DPTR,A
-  347: 								break;
-00224D 8008              SJMP     ?C0072?KEYSCAN
-  348: 							}	
-  349: 						}
-  350: 					}
-00224F         ?C0076?KEYSCAN:
-00224F 904E8E            MOV      DPTR,#k
-002252 E0                MOVX     A,@DPTR
-002253 04                INC      A
-002254 F0                MOVX     @DPTR,A
-002255 80AD              SJMP     ?C0074?KEYSCAN
-  351: 				}
-  352: 			}
-002257         ?C0072?KEYSCAN:
-002257 904E8D            MOV      DPTR,#j
-00225A E0                MOVX     A,@DPTR
-00225B 04                INC      A
-00225C F0                MOVX     @DPTR,A
-00225D 21DA              AJMP     ?C0070?KEYSCAN
-  353: 		}
-00225F         ?C0069?KEYSCAN:
-  354: 		
-  355: 		if (temp!=0)
-00225F 904E8F            MOV      DPTR,#temp
-002262 E0                MOVX     A,@DPTR
-002263 FF                MOV      R7,A
-002264 6008              JZ       ?C0068?KEYSCAN
-  356: 		{
-  357: 			keyCounttemp += bit_count(temp);
-002266 7191              ACALL    _bit_count
-002268 904E93            MOV      DPTR,#keyCounttemp
-00226B E0                MOVX     A,@DPTR
-00226C 2F                ADD      A,R7
+002196 A3                INC      DPTR
+002197 EC                MOV      A,R4
+002198 F0                MOVX     @DPTR,A
+002199 A3                INC      DPTR
+00219A ED                MOV      A,R5
+00219B F0                MOVX     @DPTR,A
+00219C 7B01              MOV      R3,#01H
+00219E 7A0B              MOV      R2,#HIGH IIC_TempBuff+03H
+0021A0 7986              MOV      R1,#LOW IIC_TempBuff+03H
+0021A2 710A              ACALL    _dmemcpy
+   39: 	(word) IIC_TempBuff[1] = addr;
+0021A4 900B83            MOV      DPTR,#IIC_TempBuff
+0021A7 74A0              MOV      A,#0A0H
+0021A9 F0                MOVX     @DPTR,A
+   40: 	REG_IICD_TXLEN = ESWAP(len + 3);
+0021AA 904EB8            MOV      DPTR,#addr
+0021AD E0                MOVX     A,@DPTR
+0021AE FF                MOV      R7,A
+0021AF A3                INC      DPTR
+0021B0 E0                MOVX     A,@DPTR
+0021B1 900B84            MOV      DPTR,#IIC_TempBuff+01H
+0021B4 CF                XCH      A,R7
+0021B5 F0                MOVX     @DPTR,A
+0021B6 A3                INC      DPTR
+0021B7 EF                MOV      A,R7
+0021B8 F0                MOVX     @DPTR,A
+   41: 	REG_IICD_TXADDR = ESWAP((word) IIC_TempBuff);
+0021B9 904EBB            MOV      DPTR,#len+01H
+0021BC E0                MOVX     A,@DPTR
+0021BD 2403              ADD      A,#03H
+0021BF FD                MOV      R5,A
+0021C0 904EBA            MOV      DPTR,#len
+0021C3 E0                MOVX     A,@DPTR
+0021C4 3400              ADDC     A,#00H
+0021C6 FC                MOV      R4,A
+0021C7 ED                MOV      A,R5
+0021C8 FA                MOV      R2,A
+0021C9 EC                MOV      A,R4
+0021CA FF                MOV      R7,A
+0021CB EA                MOV      A,R2
+0021CC FE                MOV      R6,A
+0021CD EF                MOV      A,R7
+0021CE 908098            MOV      DPTR,#08098H
+0021D1 EE                MOV      A,R6
+0021D2 F0                MOVX     @DPTR,A
+0021D3 A3                INC      DPTR
+0021D4 EF                MOV      A,R7
+0021D5 F0                MOVX     @DPTR,A
+   42: 	REG_IICD_RXLEN = 0;
+0021D6 7A0B              MOV      R2,#HIGH IIC_TempBuff
+0021D8 7983              MOV      R1,#LOW IIC_TempBuff
+0021DA 7E0B              MOV      R6,#HIGH IIC_TempBuff
+0021DC 7F83              MOV      R7,#LOW IIC_TempBuff
+0021DE 7483              MOV      A,#LOW IIC_TempBuff
+0021E0 FC                MOV      R4,A
+0021E1 740B              MOV      A,#HIGH IIC_TempBuff
+0021E3 FF                MOV      R7,A
+0021E4 EC                MOV      A,R4
+0021E5 FE                MOV      R6,A
+0021E6 EF                MOV      A,R7
+0021E7 A3                INC      DPTR
+0021E8 EE                MOV      A,R6
+0021E9 F0                MOVX     @DPTR,A
+0021EA A3                INC      DPTR
+0021EB EF                MOV      A,R7
+0021EC F0                MOVX     @DPTR,A
+   43: 	REG_IICD_CTRL = 1;
+0021ED 90809E            MOV      DPTR,#0809EH
+0021F0 E4                CLR      A
+0021F1 F0                MOVX     @DPTR,A
+0021F2 A3                INC      DPTR
+0021F3 F0                MOVX     @DPTR,A
+   44: 	REG_MISC_CTRL |= 1 << 2;	//start iic dma
+0021F4 908090            MOV      DPTR,#08090H
+0021F7 04                INC      A
+0021F8 F0                MOVX     @DPTR,A
+   45: 	IIcWaitDone();
+0021F9 908006            MOV      DPTR,#08006H
+0021FC E0                MOVX     A,@DPTR
+0021FD 4404              ORL      A,#04H
+0021FF F0                MOVX     @DPTR,A
+   46: }
+002200 2160              AJMP     IIcWaitDone
+----- FUNCTION _IIC_write (END) -------
+
+
+----- FUNCTION YC_get_ble_ramdon_lap (BEGIN) -----
+ FILE: 'bluetooth.c'
+  184: void YC_get_ble_ramdon_lap()		
+  185: {
+  186: 	IIC_Read(EEPROM_RECON_INFO_RAMDON_LE_LAP1 ,2 ,(byte *)&g_variable.ble_ramdon_lap1);
+  187: 	g_variable.ble_ramdon_lap1++;
+002202 7B01              MOV      R3,#01H
+002204 7A4C              MOV      R2,#HIGH g_variable+038H
+002206 79BB              MOV      R1,#LOW g_variable+038H
+002208 7D02              MOV      R5,#02H
+00220A 7C00              MOV      R4,#00H
+00220C 7FBE              MOV      R7,#0BEH
+00220E 7E7F              MOV      R6,#07FH
+002210 11B0              ACALL    _IIC_Read
+  188: 	g_variable.ble_ramdon_lap2++;
+002212 904CBB            MOV      DPTR,#g_variable+038H
+002215 E0                MOVX     A,@DPTR
+002216 04                INC      A
+002217 F0                MOVX     @DPTR,A
+  189: 	m_le_lap[1] = g_variable.ble_ramdon_lap1;
+002218 A3                INC      DPTR
+002219 E0                MOVX     A,@DPTR
+00221A 04                INC      A
+00221B F0                MOVX     @DPTR,A
+  190: 	m_le_lap[2] = g_variable.ble_ramdon_lap2;
+00221C 904CBB            MOV      DPTR,#g_variable+038H
+00221F E0                MOVX     A,@DPTR
+002220 9044FA            MOV      DPTR,#m_le_lap+01H
+002223 F0                MOVX     @DPTR,A
+  191: 	m_le_lap[3] = le_lap_temp[0];
+002224 904CBC            MOV      DPTR,#g_variable+039H
+002227 E0                MOVX     A,@DPTR
+002228 9044FB            MOV      DPTR,#m_le_lap+02H
+00222B F0                MOVX     @DPTR,A
+  192: 	m_le_lap[4] = le_lap_temp[1];
+00222C 904DD0            MOV      DPTR,#le_lap_temp
+00222F E0                MOVX     A,@DPTR
+002230 9044FC            MOV      DPTR,#m_le_lap+03H
+002233 F0                MOVX     @DPTR,A
+  193: 	m_le_lap[5] = le_lap_temp[2];
+002234 904DD1            MOV      DPTR,#le_lap_temp+01H
+002237 E0                MOVX     A,@DPTR
+002238 9044FD            MOV      DPTR,#m_le_lap+04H
+00223B F0                MOVX     @DPTR,A
+  194: }
+00223C 904DD2            MOV      DPTR,#le_lap_temp+02H
+00223F E0                MOVX     A,@DPTR
+002240 9044FE            MOV      DPTR,#m_le_lap+05H
+002243 F0                MOVX     @DPTR,A
+  195: 
+002244 22                RET      
+----- FUNCTION YC_get_ble_ramdon_lap (END) -------
+
+
+----- FUNCTION YC_wait_disconnect_timer500ms (BEGIN) -----
+ FILE: 'sys.c'
+  490: void YC_wait_disconnect_timer500ms()
+  491: {
+  492: //before discovery/adv,if current state is connected,wait disconnect done
+  493: 	if (action_timeout!=0)
+002245 904DF1            MOV      DPTR,#action_timeout
+002248 E0                MOVX     A,@DPTR
+002249 603C              JZ       ?C0092?SYS
+  494: 	{
+  495: 		action_timeout--;
+00224B E0                MOVX     A,@DPTR
+00224C 14                DEC      A
+00224D F0                MOVX     @DPTR,A
+  496: 		if(action_timeout == 0)
+00224E E0                MOVX     A,@DPTR
+00224F 7036              JNZ      ?C0092?SYS
+  497: 		{
+  498: 			if(g_variable.key_action == KEY_DISCOVERY
+002251 904CB6            MOV      DPTR,#g_variable+033H
+002254 E0                MOVX     A,@DPTR
+002255 B4052F            CJNE     A,#05H,?C0092?SYS
+002258 9047F5            MOV      DPTR,#m_ui_state_map+01H
+00225B E0                MOVX     A,@DPTR
+00225C 20E328            JB       ACC.3,?C0092?SYS
+  499: 			&& (m_ui_state_map & 0x0008) != 0x0008)
+  500: 
+  501: 			{
+  502: //				m_lpm_mode = 0;
+  503: 				ble_send_secutiry_request_timer = 0;
+00225F E4                CLR      A
+002260 904DD5            MOV      DPTR,#ble_send_secutiry_request_timer
+002263 F0                MOVX     @DPTR,A
+  504: 				g_variable.pairing_timeout = BT_PAIRING_TIME_OUT_10MIN;
+002264 904CB1            MOV      DPTR,#g_variable+02EH
+002267 7404              MOV      A,#04H
+002269 F0                MOVX     @DPTR,A
+00226A A3                INC      DPTR
+00226B 74B0              MOV      A,#0B0H
 00226D F0                MOVX     @DPTR,A
-  358: 		}
-  359: 	}
-00226E         ?C0068?KEYSCAN:
-00226E 904E8C            MOV      DPTR,#i
-002271 E0                MOVX     A,@DPTR
-002272 04                INC      A
-002273 F0                MOVX     @DPTR,A
-002274 21A9              AJMP     ?C0066?KEYSCAN
-002276         ?C0067?KEYSCAN:
-  360: 	keyCount = keyCounttemp;
-002276 904E93            MOV      DPTR,#keyCounttemp
-002279 E0                MOVX     A,@DPTR
-00227A 904DE7            MOV      DPTR,#keyCount
-00227D F0                MOVX     @DPTR,A
-  361: 	
-  362: 	for (i=0; col[i]!=0; i++)
-00227E E4                CLR      A
-00227F 904E8C            MOV      DPTR,#i
-002282 F0                MOVX     @DPTR,A
-002283         ?C0080?KEYSCAN:
-002283 904E8C            MOV      DPTR,#i
-002286 E0                MOVX     A,@DPTR
-002287 FF                MOV      R7,A
-002288 900681            MOV      DPTR,#col
-00228B 93                MOVC     A,@A+DPTR
-00228C 7002              JNZ      $ + 4H
-00228E 6165              AJMP     ?C0081?KEYSCAN
-  363: 	{
-  364: 		temp = ksSelMapCurr[i] ^ ksSelMapOld[i];
-002290 7493              MOV      A,#LOW ksSelMapOld
-002292 2F                ADD      A,R7
-002293 F582              MOV      DPL,A
-002295 E4                CLR      A
-002296 344D              ADDC     A,#HIGH ksSelMapOld
-002298 F583              MOV      DPH,A
-00229A E0                MOVX     A,@DPTR
-00229B FE                MOV      R6,A
-00229C 74BC              MOV      A,#LOW ksSelMapCurr
-00229E 2F                ADD      A,R7
-00229F F582              MOV      DPL,A
-0022A1 E4                CLR      A
-0022A2 344D              ADDC     A,#HIGH ksSelMapCurr
-0022A4 F583              MOV      DPH,A
-0022A6 E0                MOVX     A,@DPTR
-0022A7 6E                XRL      A,R6
-0022A8 904E8F            MOV      DPTR,#temp
-0022AB F0                MOVX     @DPTR,A
-  365: 		state = ksSelMapCurr[i];
-0022AC 904E8C            MOV      DPTR,#i
-0022AF E0                MOVX     A,@DPTR
-0022B0 FF                MOV      R7,A
-0022B1 24BC              ADD      A,#LOW ksSelMapCurr
-0022B3 F582              MOV      DPL,A
-0022B5 E4                CLR      A
-0022B6 344D              ADDC     A,#HIGH ksSelMapCurr
-0022B8 F583              MOV      DPH,A
-0022BA E0                MOVX     A,@DPTR
-0022BB 904E92            MOV      DPTR,#state
+  505: 				g_variable.pairing_g24_timeout = 0;
+00226E E4                CLR      A
+00226F 904CB7            MOV      DPTR,#g_variable+034H
+002272 F0                MOVX     @DPTR,A
+  506: 				fast_connect_flag = 0;
+002273 904E5B            MOV      DPTR,#fast_connect_flag
+002276 F0                MOVX     @DPTR,A
+  507: 				ble_fast_connect_flag = 0;
+002277 904DD3            MOV      DPTR,#ble_fast_connect_flag
+00227A F0                MOVX     @DPTR,A
+  508: 		//		g_variable.recon_flag = 0;
+  509: 				YC_get_ble_ramdon_lap();
+00227B 5102              ACALL    YC_get_ble_ramdon_lap
+  510: 				IPC_TxControlCmd(IPC_CMD_START_ADV);
+00227D 7F0D              MOV      R7,#0DH
+00227F 1213C9            LCALL    _IPC_TxControlCmd
+  511: 				g_variable.key_action = KEY_NONE;
+002282 E4                CLR      A
+002283 904CB6            MOV      DPTR,#g_variable+033H
+002286 F0                MOVX     @DPTR,A
+  512: 			}
+  513: 		}
+  514: 	}
+  515: 
+  516: }
+002287         ?C0092?SYS:
+002287 22                RET      
+----- FUNCTION YC_wait_disconnect_timer500ms (END) -------
+
+
+----- FUNCTION kb_cb_Timer500ms (BEGIN) -----
+ FILE: 'sys.c'
+  661: static void kb_cb_Timer500ms()
+  662: {	
+  663: 
+  664: 	g_variable.sleepTimer++;
+002288 904CAC            MOV      DPTR,#g_variable+029H
+00228B E0                MOVX     A,@DPTR
+00228C 04                INC      A
+00228D F0                MOVX     @DPTR,A
+00228E 7006              JNZ      ?C0179?SYS
+002290 904CAB            MOV      DPTR,#g_variable+028H
+002293 E0                MOVX     A,@DPTR
+002294 04                INC      A
+002295 F0                MOVX     @DPTR,A
+002296         ?C0179?SYS:
+  665: 
+  666: 	YC_adc_check_timer500ms();
+002296 51F9              ACALL    YC_adc_check_timer500ms
+  667: 	YC_connect_timeout_500ms();
+002298 120E85            LCALL    YC_connect_timeout_500ms
+  668: 	kb_button_press_timer500ms();
+00229B 1218F4            LCALL    kb_button_press_timer500ms
+  669: 	YC_wait_disconnect_timer500ms();
+00229E 5145              ACALL    YC_wait_disconnect_timer500ms
+;----                  JMP      YC_pairing_timerout_500ms
+  670: 	YC_pairing_timerout_500ms();
+  671: 
+  672: 	
+  673: /*	
+  674: 	if(g_variable.ble_currentSubState ==  CHANGE_TO_BLE_SUB_PINCODE)
+  675: 	{
+  676: 		g_variable.sleepTimer = 0;				//wait macOS enter pincode
+  677: 	}
+  678: */	
+  679: 	return;
+----- FUNCTION kb_cb_Timer500ms (END) -------
+
+
+----- FUNCTION YC_pairing_timerout_500ms (BEGIN) -----
+ FILE: 'sys.c'
+  519: void YC_pairing_timerout_500ms()
+  520: {
+  521: //pairing timer
+  522: 	if (g_variable.pairing_timeout != 0)
+0022A0 904CB1            MOV      DPTR,#g_variable+02EH
+0022A3 E0                MOVX     A,@DPTR
+0022A4 7002              JNZ      ?C0177?SYS
+0022A6 A3                INC      DPTR
+0022A7 E0                MOVX     A,@DPTR
+0022A8         ?C0177?SYS:
+0022A8 6030              JZ       ?C0093?SYS
+  523: 	{
+  524: 		g_variable.sleepTimer = 0;
+0022AA E4                CLR      A
+0022AB 904CAB            MOV      DPTR,#g_variable+028H
+0022AE F0                MOVX     @DPTR,A
+0022AF A3                INC      DPTR
+0022B0 F0                MOVX     @DPTR,A
+  525: 		g_variable.pairing_timeout--;
+0022B1 904CB2            MOV      DPTR,#g_variable+02FH
+0022B4 E0                MOVX     A,@DPTR
+0022B5 24FF              ADD      A,#0FFH
+0022B7 F0                MOVX     @DPTR,A
+0022B8 904CB1            MOV      DPTR,#g_variable+02EH
+0022BB E0                MOVX     A,@DPTR
+0022BC 34FF              ADDC     A,#0FFH
 0022BE F0                MOVX     @DPTR,A
-  366: 		if (temp == 0) 
-0022BF 904E8F            MOV      DPTR,#temp
-0022C2 E0                MOVX     A,@DPTR
-0022C3 7004              JNZ      ?C0083?KEYSCAN
-  367: 		{
-  368: 			continue;
-0022C5 615D              AJMP     ?C0082?KEYSCAN
-  369: 		}
-0022C7 615D              AJMP     ?C0082?KEYSCAN
-0022C9         ?C0083?KEYSCAN:
-  370: 		else 
-  371: 		{
-  372: 
-  373: 			if (ghost) 
-0022C9 904E95            MOV      DPTR,#ghost
-0022CC E0                MOVX     A,@DPTR
-0022CD 6007              JZ       ?C0085?KEYSCAN
-  374: 				return NULL;
-0022CF 7B00              MOV      R3,#00H
-0022D1 7A00              MOV      R2,#00H
-0022D3 7900              MOV      R1,#00H
-0022D5 22                RET      
-0022D6         ?C0085?KEYSCAN:
-  375: 			ksSelMapOld[i] = ksSelMapCurr[i];
-0022D6 74BC              MOV      A,#LOW ksSelMapCurr
-0022D8 2F                ADD      A,R7
-0022D9 F582              MOV      DPL,A
-0022DB E4                CLR      A
-0022DC 344D              ADDC     A,#HIGH ksSelMapCurr
-0022DE F583              MOV      DPH,A
-0022E0 E0                MOVX     A,@DPTR
-0022E1 FE                MOV      R6,A
-0022E2 7493              MOV      A,#LOW ksSelMapOld
-0022E4 2F                ADD      A,R7
-0022E5 F582              MOV      DPL,A
-0022E7 E4                CLR      A
-0022E8 344D              ADDC     A,#HIGH ksSelMapOld
-0022EA F583              MOV      DPH,A
-0022EC EE                MOV      A,R6
-0022ED F0                MOVX     @DPTR,A
-  376: 			for (j = 0 ; j<8 ; j++) 
-0022EE E4                CLR      A
-0022EF 904E8D            MOV      DPTR,#j
-0022F2 F0                MOVX     @DPTR,A
-0022F3         ?C0087?KEYSCAN:
-0022F3 904E8D            MOV      DPTR,#j
-0022F6 E0                MOVX     A,@DPTR
-0022F7 FF                MOV      R7,A
-0022F8 C3                CLR      C
-0022F9 9408              SUBB     A,#08H
-0022FB 505A              JNC      ?C0088?KEYSCAN
-  377: 			{
-  378: 				if (temp&1)
-0022FD 904E8F            MOV      DPTR,#temp
-002300 E0                MOVX     A,@DPTR
-002301 30E03B            JNB      ACC.0,?C0090?KEYSCAN
-  379: 				{
-  380: 					offset = i<<3 |j;
-002304 904E8C            MOV      DPTR,#i
-002307 E0                MOVX     A,@DPTR
-002308 FE                MOV      R6,A
-002309 33                RLC      A
-00230A 33                RLC      A
-00230B 33                RLC      A
-00230C 54F8              ANL      A,#0F8H
-00230E FE                MOV      R6,A
-00230F EF                MOV      A,R7
-002310 4E                ORL      A,R6
-002311 904E91            MOV      DPTR,#offset
+  526: 		if (g_variable.pairing_timeout == 0)
+0022BF E0                MOVX     A,@DPTR
+0022C0 7002              JNZ      ?C0178?SYS
+0022C2 A3                INC      DPTR
+0022C3 E0                MOVX     A,@DPTR
+0022C4         ?C0178?SYS:
+0022C4 7014              JNZ      ?C0093?SYS
+  527: 		{
+  528: 			g_variable.current_device_num = g_variable.temp_device_num;
+0022C6 904C88            MOV      DPTR,#g_variable+05H
+0022C9 E0                MOVX     A,@DPTR
+0022CA 904C87            MOV      DPTR,#g_variable+04H
+0022CD F0                MOVX     @DPTR,A
+  529: 			g_variable.last_device_num = g_variable.current_device_num;
+0022CE 904C84            MOV      DPTR,#g_variable+01H
+0022D1 F0                MOVX     @DPTR,A
+  530: 		
+  531: 			YC_key_action_handle(KEY_STOP_DISCOVERY);
+0022D2 7F0D              MOV      R7,#0DH
+0022D4 1211E2            LCALL    _YC_key_action_handle
+  532: 			System_long_sleep();
+0022D7 121796            LCALL    System_long_sleep
+  533: 		}
+  534: 	}
+0022DA         ?C0093?SYS:
+  535: 
+  536: 	if (g_variable.pairing_g24_timeout != 0)
+0022DA 904CB7            MOV      DPTR,#g_variable+034H
+0022DD E0                MOVX     A,@DPTR
+0022DE 6018              JZ       ?C0097?SYS
+  537: 	{
+  538: 		g_variable.sleepTimer = 0;
+0022E0 E4                CLR      A
+0022E1 904CAB            MOV      DPTR,#g_variable+028H
+0022E4 F0                MOVX     @DPTR,A
+0022E5 A3                INC      DPTR
+0022E6 F0                MOVX     @DPTR,A
+  539: 		g_variable.pairing_g24_timeout--;
+0022E7 904CB7            MOV      DPTR,#g_variable+034H
+0022EA E0                MOVX     A,@DPTR
+0022EB 14                DEC      A
+0022EC F0                MOVX     @DPTR,A
+  540: 		if (g_variable.pairing_g24_timeout == 0)
+0022ED E0                MOVX     A,@DPTR
+0022EE 7008              JNZ      ?C0097?SYS
+  541: 		{
+  542: //			IPC_TxControlCmd(IPC_CMD_STOP_24G);
+  543: 			Delay1ms(10);
+0022F0 7F0A              MOV      R7,#0AH
+0022F2 120F72            LCALL    _Delay1ms
+  544: 			System_long_sleep();
+0022F5 121796            LCALL    System_long_sleep
+  545: 		}
+  546: 	}
+  547: 	
+  548: }
+0022F8         ?C0097?SYS:
+0022F8 22                RET      
+----- FUNCTION YC_pairing_timerout_500ms (END) -------
+
+
+----- FUNCTION YC_adc_check_timer500ms (BEGIN) -----
+ FILE: 'adc.c'
+  133: void YC_adc_check_timer500ms()
+  134: {
+  135: #ifdef  ADC_ENABLE
+  136: 	// adc check timer	
+  137: 	if (g_variable.battery_check_interval)
+0022F9 904C9A            MOV      DPTR,#g_variable+017H
+0022FC E0                MOVX     A,@DPTR
+0022FD 600A              JZ       ?C0031?ADC
+  138: 	{
+  139: 		g_variable.battery_check_interval--;
+0022FF 14                DEC      A
+002300 F0                MOVX     @DPTR,A
+  140: 		if (g_variable.battery_check_interval == 0)
+002301 E0                MOVX     A,@DPTR
+002302 7005              JNZ      ?C0031?ADC
+  141: 		{
+  142: 			g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
+002304 7405              MOV      A,#05H
+002306 F0                MOVX     @DPTR,A
+  143: 			YC_adc_check();
+002307 714E              ACALL    YC_adc_check
+  144: 		}
+  145: 	}
+  146: #endif	
+  147: }
+002309         ?C0031?ADC:
+002309 22                RET      
+----- FUNCTION YC_adc_check_timer500ms (END) -------
+
+
+----- FUNCTION _dmemcpy (BEGIN) -----
+ FILE: 'utilities.c'
+   16: void dmemcpy(byte * dest, byte * src, word len)
+   17: {
+00230A 904EA2            MOV      DPTR,#dest
+00230D EB                MOV      A,R3
+00230E F0                MOVX     @DPTR,A
+00230F A3                INC      DPTR
+002310 EA                MOV      A,R2
+002311 F0                MOVX     @DPTR,A
+002312 A3                INC      DPTR
+002313 E9                MOV      A,R1
 002314 F0                MOVX     @DPTR,A
-  381: 					key_value_temp = key_fn_function(state,ksMap[offset]);
-002315 A3                INC      DPTR
-002316 E0                MOVX     A,@DPTR
-002317 FF                MOV      R7,A
-002318 904E91            MOV      DPTR,#offset
-00231B E0                MOVX     A,@DPTR
-00231C 900696            MOV      DPTR,#ksMap
-00231F 93                MOVC     A,@A+DPTR
-002320 FD                MOV      R5,A
-002321 B16D              ACALL    _key_fn_function
-002323 904E94            MOV      DPTR,#key_value_temp
-002326 EF                MOV      A,R7
-002327 F0                MOVX     @DPTR,A
-  382: 					if (state & 1)
-002328 904E92            MOV      DPTR,#state
-00232B E0                MOVX     A,@DPTR
-00232C 30E009            JNB      ACC.0,?C0091?KEYSCAN
-  383: 					{
-  384: 						keyIn(key_value_temp);
-00232F 904E94            MOV      DPTR,#key_value_temp
-002332 E0                MOVX     A,@DPTR
-002333 FF                MOV      R7,A
-002334 916D              ACALL    _keyIn
-  385: 					}
-002336 8007              SJMP     ?C0090?KEYSCAN
-002338         ?C0091?KEYSCAN:
-  386: 					else
-  387: 					{
-  388: 						keyOut(key_value_temp);
-002338 904E94            MOV      DPTR,#key_value_temp
-00233B E0                MOVX     A,@DPTR
-00233C FF                MOV      R7,A
-00233D 91C3              ACALL    _keyOut
-  389: 					}
-  390: 				}
-00233F         ?C0090?KEYSCAN:
-  391: 				temp = temp >>1;
-00233F 904E8F            MOV      DPTR,#temp
-002342 E0                MOVX     A,@DPTR
-002343 FF                MOV      R7,A
-002344 C3                CLR      C
-002345 13                RRC      A
-002346 F0                MOVX     @DPTR,A
-  392: 				state = state>>1;
-002347 904E92            MOV      DPTR,#state
-00234A E0                MOVX     A,@DPTR
-00234B FF                MOV      R7,A
-00234C C3                CLR      C
-00234D 13                RRC      A
-00234E F0                MOVX     @DPTR,A
-  393: 			}
-00234F 904E8D            MOV      DPTR,#j
-002352 E0                MOVX     A,@DPTR
-002353 04                INC      A
-002354 F0                MOVX     @DPTR,A
-002355 809C              SJMP     ?C0087?KEYSCAN
-002357         ?C0088?KEYSCAN:
-  394: 			flag = 1;
-002357 904E90            MOV      DPTR,#flag
-00235A 7401              MOV      A,#01H
-00235C F0                MOVX     @DPTR,A
-  395: 		}
-  396: 	}
-00235D         ?C0082?KEYSCAN:
-00235D 904E8C            MOV      DPTR,#i
-002360 E0                MOVX     A,@DPTR
-002361 04                INC      A
-002362 F0                MOVX     @DPTR,A
-002363 4183              AJMP     ?C0080?KEYSCAN
-002365         ?C0081?KEYSCAN:
-  397: 	
-  398: 	if((mult_key_status == KEY_RELEASE) && (standard_key_release_flag == 1))
-002365 904E4F            MOV      DPTR,#mult_key_status
-002368 E0                MOVX     A,@DPTR
-002369 B4030A            CJNE     A,#03H,?C0093?KEYSCAN
-00236C 904DE2            MOV      DPTR,#standard_key_release_flag
-00236F E0                MOVX     A,@DPTR
-002370 B40103            CJNE     A,#01H,?C0093?KEYSCAN
-  399: 	{
-  400: 		standard_key_release_flag = 2;		//media key and standard key  release the same time
-002373 7402              MOV      A,#02H
-002375 F0                MOVX     @DPTR,A
-  401: 	}
-002376         ?C0093?KEYSCAN:
-  402: 
-  403: 	
-  404: 	if (flag || standard_key_release_flag == 2) 
-002376 904E90            MOV      DPTR,#flag
-002379 E0                MOVX     A,@DPTR
-00237A 7007              JNZ      ?C0095?KEYSCAN
-00237C 904DE2            MOV      DPTR,#standard_key_release_flag
-00237F E0                MOVX     A,@DPTR
-002380 B40207            CJNE     A,#02H,?C0094?KEYSCAN
-002383         ?C0095?KEYSCAN:
-  405: 	{
-  406: 		return &ksEvtPool;
-002383 7B01              MOV      R3,#01H
-002385 7A4E              MOV      R2,#HIGH ksEvtPool
-002387 79A8              MOV      R1,#LOW ksEvtPool
-002389 22                RET      
-  407: 	}
-00238A         ?C0094?KEYSCAN:
-  408: 	else
-  409: 	{
-  410: 		return NULL;
-00238A 7B00              MOV      R3,#00H
-00238C 7A00              MOV      R2,#00H
-00238E 7900              MOV      R1,#00H
-  411: 	}
-  412: 	
-  413: 
-  414: }
-002390 22                RET      
+   18: 	while (len--)
+002315         ?C0005?UTILITIES:
+   19: 		*dest++ = *src++;
+002315 904EA8            MOV      DPTR,#len
+002318 74FF              MOV      A,#0FFH
+00231A F5F0              MOV      B,A
+00231C 120424            LCALL    ?C?ILDIX
+00231F 45F0              ORL      A,B
+002321 602A              JZ       ?C0007?UTILITIES
+   20: 	return;
+002323 904EA5            MOV      DPTR,#src
+002326 E0                MOVX     A,@DPTR
+002327 FB                MOV      R3,A
+002328 A3                INC      DPTR
+002329 E4                CLR      A
+00232A 75F001            MOV      B,#01H
+00232D 120424            LCALL    ?C?ILDIX
+002330 A9F0              MOV      R1,B
+002332 FA                MOV      R2,A
+002333 1203B6            LCALL    ?C?CLDPTR
+002336 FF                MOV      R7,A
+002337 904EA2            MOV      DPTR,#dest
+00233A E0                MOVX     A,@DPTR
+00233B FB                MOV      R3,A
+00233C A3                INC      DPTR
+00233D E4                CLR      A
+00233E 75F001            MOV      B,#01H
+002341 120424            LCALL    ?C?ILDIX
+002344 A9F0              MOV      R1,B
+002346 FA                MOV      R2,A
+002347 EF                MOV      A,R7
+002348 1203FC            LCALL    ?C?CSTPTR
+00234B 80C8              SJMP     ?C0005?UTILITIES
+   21: }
+00234D         ?C0007?UTILITIES:
+00234D 22                RET      
+----- FUNCTION _dmemcpy (END) -------
+
+
+----- FUNCTION YC_adc_check (BEGIN) -----
+ FILE: 'adc.c'
+   57: void YC_adc_check() 
+   58: {
+   59: #ifdef  ADC_ENABLE
+   60: 	byte i;
+   61: 	ulong batValue = 0;
+00234E 904ED1            MOV      DPTR,#batValue
+002351 120582            LCALL    ?C?LSTKXDATA
+002354 00                DB       00H
+002355 00                DB       00H
+002356 00                DB       00H
+002357 00                DB       00H
+   62: 
+   63: 	if(m_adcCurrentValue < m_adc0vBase)
+002358 904C71            MOV      DPTR,#m_adc0vBase
+00235B E0                MOVX     A,@DPTR
+00235C FE                MOV      R6,A
+00235D A3                INC      DPTR
+00235E E0                MOVX     A,@DPTR
+00235F FF                MOV      R7,A
+002360 C3                CLR      C
+002361 904C76            MOV      DPTR,#m_adcCurrentValue+01H
+002364 E0                MOVX     A,@DPTR
+002365 9F                SUBB     A,R7
+002366 904C75            MOV      DPTR,#m_adcCurrentValue
+002369 E0                MOVX     A,@DPTR
+00236A 9E                SUBB     A,R6
+00236B 5002              JNC      $ + 4H
+00236D A16D              AJMP     ?C0011?ADC
+00236F         ?C0010?ADC:
+   64: 		return;
+   65: 
+   66: 	g_variable.battery_value[g_variable.battery_value_index++] = m_adcCurrentValue;
+00236F 904C75            MOV      DPTR,#m_adcCurrentValue
+002372 E0                MOVX     A,@DPTR
+002373 FE                MOV      R6,A
+002374 A3                INC      DPTR
+002375 E0                MOVX     A,@DPTR
+002376 FF                MOV      R7,A
+002377 904C9B            MOV      DPTR,#g_variable+018H
+00237A E0                MOVX     A,@DPTR
+00237B FD                MOV      R5,A
+00237C 04                INC      A
+00237D F0                MOVX     @DPTR,A
+00237E ED                MOV      A,R5
+00237F 25E0              ADD      A,ACC
+002381 249D              ADD      A,#LOW g_variable+01AH
+002383 F582              MOV      DPL,A
+002385 E4                CLR      A
+002386 344C              ADDC     A,#HIGH g_variable+01AH
+002388 F583              MOV      DPH,A
+00238A EE                MOV      A,R6
+00238B F0                MOVX     @DPTR,A
+00238C A3                INC      DPTR
+00238D EF                MOV      A,R7
+00238E F0                MOVX     @DPTR,A
+   67: 	if (g_variable.battery_value_index >= BAT_ARRAY_LEN)
+00238F 904C9B            MOV      DPTR,#g_variable+018H
+002392 E0                MOVX     A,@DPTR
+002393 C3                CLR      C
+002394 9404              SUBB     A,#04H
+002396 4002              JC       ?C0012?ADC
+   68: 		g_variable.battery_value_index = 0;
+002398 E4                CLR      A
+002399 F0                MOVX     @DPTR,A
+00239A         ?C0012?ADC:
+   69: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
+00239A E4                CLR      A
+00239B 904ED0            MOV      DPTR,#i
+00239E F0                MOVX     @DPTR,A
+00239F         ?C0013?ADC:
+   70: 	{
+   71: 		batValue += g_variable.battery_value[i];
+00239F 904ED1            MOV      DPTR,#batValue
+0023A2 E0                MOVX     A,@DPTR
+0023A3 F8                MOV      R0,A
+0023A4 A3                INC      DPTR
+0023A5 E0                MOVX     A,@DPTR
+0023A6 F9                MOV      R1,A
+0023A7 A3                INC      DPTR
+0023A8 E0                MOVX     A,@DPTR
+0023A9 FA                MOV      R2,A
+0023AA A3                INC      DPTR
+0023AB E0                MOVX     A,@DPTR
+0023AC FB                MOV      R3,A
+0023AD 904ED0            MOV      DPTR,#i
+0023B0 E0                MOVX     A,@DPTR
+0023B1 25E0              ADD      A,ACC
+0023B3 249D              ADD      A,#LOW g_variable+01AH
+0023B5 F582              MOV      DPL,A
+0023B7 E4                CLR      A
+0023B8 344C              ADDC     A,#HIGH g_variable+01AH
+0023BA F583              MOV      DPH,A
+0023BC E0                MOVX     A,@DPTR
+0023BD FE                MOV      R6,A
+0023BE A3                INC      DPTR
+0023BF E0                MOVX     A,@DPTR
+0023C0 FF                MOV      R7,A
+0023C1 E4                CLR      A
+0023C2 FC                MOV      R4,A
+0023C3 FD                MOV      R5,A
+0023C4 EB                MOV      A,R3
+0023C5 2F                ADD      A,R7
+0023C6 FF                MOV      R7,A
+0023C7 EA                MOV      A,R2
+0023C8 3E                ADDC     A,R6
+0023C9 FE                MOV      R6,A
+0023CA ED                MOV      A,R5
+0023CB 39                ADDC     A,R1
+0023CC FD                MOV      R5,A
+0023CD EC                MOV      A,R4
+0023CE 38                ADDC     A,R0
+0023CF FC                MOV      R4,A
+0023D0 904ED1            MOV      DPTR,#batValue
+0023D3 120576            LCALL    ?C?LSTXDATA
+   72: 	}
+0023D6 904ED0            MOV      DPTR,#i
+0023D9 E0                MOVX     A,@DPTR
+0023DA 04                INC      A
+0023DB F0                MOVX     @DPTR,A
+0023DC E0                MOVX     A,@DPTR
+0023DD B404BF            CJNE     A,#04H,?C0013?ADC
+0023E0         ?C0014?ADC:
+   73: 	batValue = batValue/BAT_ARRAY_LEN;
+0023E0 904ED1            MOV      DPTR,#batValue
+0023E3 E0                MOVX     A,@DPTR
+0023E4 FC                MOV      R4,A
+0023E5 A3                INC      DPTR
+0023E6 E0                MOVX     A,@DPTR
+0023E7 FD                MOV      R5,A
+0023E8 A3                INC      DPTR
+0023E9 E0                MOVX     A,@DPTR
+0023EA FE                MOV      R6,A
+0023EB A3                INC      DPTR
+0023EC E0                MOVX     A,@DPTR
+0023ED FF                MOV      R7,A
+0023EE E4                CLR      A
+0023EF 7B04              MOV      R3,#04H
+0023F1 FA                MOV      R2,A
+0023F2 F9                MOV      R1,A
+0023F3 F8                MOV      R0,A
+0023F4 1204C5            LCALL    ?C?ULDIV
+0023F7 904ED1            MOV      DPTR,#batValue
+0023FA 120576            LCALL    ?C?LSTXDATA
+   74: 
+   75: 	if(batValue <= g_variable.battery_level_shutdown)
+0023FD 904CA7            MOV      DPTR,#g_variable+024H
+002400 E0                MOVX     A,@DPTR
+002401 FE                MOV      R6,A
+002402 A3                INC      DPTR
+002403 E0                MOVX     A,@DPTR
+002404 FF                MOV      R7,A
+002405 E4                CLR      A
+002406 FC                MOV      R4,A
+002407 FD                MOV      R5,A
+002408 904ED1            MOV      DPTR,#batValue
+00240B E0                MOVX     A,@DPTR
+00240C F8                MOV      R0,A
+00240D A3                INC      DPTR
+00240E E0                MOVX     A,@DPTR
+00240F F9                MOV      R1,A
+002410 A3                INC      DPTR
+002411 E0                MOVX     A,@DPTR
+002412 FA                MOV      R2,A
+002413 A3                INC      DPTR
+002414 E0                MOVX     A,@DPTR
+002415 FB                MOV      R3,A
+002416 D3                SETB     C
+002417 120565            LCALL    ?C?ULCMP
+00241A 5007              JNC      ?C0016?ADC
+   76: 		g_variable.battery_level_percentage = 0;
+00241C E4                CLR      A
+00241D 904CC2            MOV      DPTR,#g_variable+03FH
+002420 F0                MOVX     @DPTR,A
+002421 81A5              AJMP     ?C0017?ADC
+002423         ?C0016?ADC:
+   77: 	else	if(batValue >= g_variable.battery_level_full)
+002423 904CC3            MOV      DPTR,#g_variable+040H
+002426 E0                MOVX     A,@DPTR
+002427 FE                MOV      R6,A
+002428 A3                INC      DPTR
+002429 E0                MOVX     A,@DPTR
+00242A FF                MOV      R7,A
+00242B E4                CLR      A
+00242C FC                MOV      R4,A
+00242D FD                MOV      R5,A
+00242E 904ED1            MOV      DPTR,#batValue
+002431 E0                MOVX     A,@DPTR
+002432 F8                MOV      R0,A
+002433 A3                INC      DPTR
+002434 E0                MOVX     A,@DPTR
+002435 F9                MOV      R1,A
+002436 A3                INC      DPTR
+002437 E0                MOVX     A,@DPTR
+002438 FA                MOV      R2,A
+002439 A3                INC      DPTR
+00243A E0                MOVX     A,@DPTR
+00243B FB                MOV      R3,A
+00243C C3                CLR      C
+00243D 120565            LCALL    ?C?ULCMP
+002440 4008              JC       ?C0018?ADC
+   78: 		g_variable.battery_level_percentage = 100;
+002442 904CC2            MOV      DPTR,#g_variable+03FH
+002445 7464              MOV      A,#064H
+002447 F0                MOVX     @DPTR,A
+002448 805B              SJMP     ?C0017?ADC
+00244A         ?C0018?ADC:
+   79: 	else	
+   80: 		g_variable.battery_level_percentage = (byte)(((batValue - g_variable.battery_level_shutdown)*100)/(g_variable.b
+>> attery_level_full -g_variable.battery_level_shutdown) );
+00244A 904CA7            MOV      DPTR,#g_variable+024H
+00244D E0                MOVX     A,@DPTR
+00244E FE                MOV      R6,A
+00244F A3                INC      DPTR
+002450 E0                MOVX     A,@DPTR
+002451 FF                MOV      R7,A
+002452 FB                MOV      R3,A
+002453 AA06              MOV      R2,AR6
+002455 E4                CLR      A
+002456 904ED1            MOV      DPTR,#batValue
+002459 E0                MOVX     A,@DPTR
+00245A FC                MOV      R4,A
+00245B A3                INC      DPTR
+00245C E0                MOVX     A,@DPTR
+00245D FD                MOV      R5,A
+00245E A3                INC      DPTR
+00245F E0                MOVX     A,@DPTR
+002460 FE                MOV      R6,A
+002461 A3                INC      DPTR
+002462 E0                MOVX     A,@DPTR
+002463 C3                CLR      C
+002464 9B                SUBB     A,R3
+002465 FF                MOV      R7,A
+002466 EE                MOV      A,R6
+002467 9A                SUBB     A,R2
+002468 FE                MOV      R6,A
+002469 ED                MOV      A,R5
+00246A 9400              SUBB     A,#00H
+00246C FD                MOV      R5,A
+00246D EC                MOV      A,R4
+00246E 9400              SUBB     A,#00H
+002470 FC                MOV      R4,A
+002471 E4                CLR      A
+002472 7B64              MOV      R3,#064H
+002474 FA                MOV      R2,A
+002475 F9                MOV      R1,A
+002476 F8                MOV      R0,A
+002477 12043A            LCALL    ?C?LMUL
+00247A C006              PUSH     AR6
+00247C C007              PUSH     AR7
+00247E 904CA7            MOV      DPTR,#g_variable+024H
+002481 E0                MOVX     A,@DPTR
+002482 FE                MOV      R6,A
+002483 A3                INC      DPTR
+002484 E0                MOVX     A,@DPTR
+002485 FF                MOV      R7,A
+002486 C3                CLR      C
+002487 904CC4            MOV      DPTR,#g_variable+041H
+00248A E0                MOVX     A,@DPTR
+00248B 9F                SUBB     A,R7
+00248C FF                MOV      R7,A
+00248D 904CC3            MOV      DPTR,#g_variable+040H
+002490 E0                MOVX     A,@DPTR
+002491 9E                SUBB     A,R6
+002492 FE                MOV      R6,A
+002493 AB07              MOV      R3,AR7
+002495 FA                MOV      R2,A
+002496 E4                CLR      A
+002497 F9                MOV      R1,A
+002498 F8                MOV      R0,A
+002499 D007              POP      AR7
+00249B D006              POP      AR6
+00249D 1204C5            LCALL    ?C?ULDIV
+0024A0 904CC2            MOV      DPTR,#g_variable+03FH
+0024A3 EF                MOV      A,R7
+0024A4 F0                MOVX     @DPTR,A
+0024A5         ?C0017?ADC:
+   81: 		// if(g_variable.battery_level_percentage >=BATTER_LEVEL_100)
+   82: 		// 	g_variable.battery_level_percentage =100;	
+   83: 		// else if(g_variable.battery_level_percentage >=BATTER_LEVEL_50)
+   84: 		// 	g_variable.battery_level_percentage =50;	
+   85: 		// else if(g_variable.battery_level_percentage >=BATTER_LEVEL_30)
+   86: 		// 	g_variable.battery_level_percentage =30;
+   87: 		// else
+   88: 		// 	g_variable.battery_level_percentage =10;
+   89: 	if(batValue < g_variable.battery_level_shutdown)
+0024A5 904CA7            MOV      DPTR,#g_variable+024H
+0024A8 E0                MOVX     A,@DPTR
+0024A9 FE                MOV      R6,A
+0024AA A3                INC      DPTR
+0024AB E0                MOVX     A,@DPTR
+0024AC FF                MOV      R7,A
+0024AD E4                CLR      A
+0024AE FC                MOV      R4,A
+0024AF FD                MOV      R5,A
+0024B0 904ED1            MOV      DPTR,#batValue
+0024B3 E0                MOVX     A,@DPTR
+0024B4 F8                MOV      R0,A
+0024B5 A3                INC      DPTR
+0024B6 E0                MOVX     A,@DPTR
+0024B7 F9                MOV      R1,A
+0024B8 A3                INC      DPTR
+0024B9 E0                MOVX     A,@DPTR
+0024BA FA                MOV      R2,A
+0024BB A3                INC      DPTR
+0024BC E0                MOVX     A,@DPTR
+0024BD FB                MOV      R3,A
+0024BE C3                CLR      C
+0024BF 120565            LCALL    ?C?ULCMP
+0024C2 5027              JNC      ?C0020?ADC
+   90: 	{
+   91: 		g_variable.battery_status = BAT_STATUS_SHUT_DOWN;
+0024C4 904C9C            MOV      DPTR,#g_variable+019H
+0024C7 7402              MOV      A,#02H
+0024C9 F0                MOVX     @DPTR,A
+   92: 		if(g_variable.last_battery_status != BAT_STATUS_SHUT_DOWN)
+0024CA 904CC9            MOV      DPTR,#g_variable+046H
+0024CD E0                MOVX     A,@DPTR
+0024CE 6402              XRL      A,#02H
+0024D0 7002              JNZ      $ + 4H
+0024D2 A165              AJMP     ?C0022?ADC
+   93: 		{
+   94: 			g_variable.battery_shutdown_flag = 1;
+0024D4 904CC8            MOV      DPTR,#g_variable+045H
+0024D7 7401              MOV      A,#01H
+0024D9 F0                MOVX     @DPTR,A
+   95: 			IIC_WriteBlock(EEPROM_BATTERY_SHUTDOWN_FLAG ,1 ,(byte *)&g_variable.battery_shutdown_flag);
+0024DA FB                MOV      R3,A
+0024DB 7A4C              MOV      R2,#HIGH g_variable+045H
+0024DD 79C8              MOV      R1,#LOW g_variable+045H
+0024DF FD                MOV      R5,A
+0024E0 7C00              MOV      R4,#00H
+0024E2 7FC0              MOV      R7,#0C0H
+0024E4 7E7F              MOV      R6,#07FH
+0024E6 121A88            LCALL    _IIC_WriteBlock
+   96: 		}
+   97: 	}
+0024E9 807A              SJMP     ?C0022?ADC
+0024EB         ?C0020?ADC:
+   98: 	else
+   99: 	{
+  100: 		if((g_variable.last_battery_status == BAT_STATUS_SHUT_DOWN) ||(g_variable.battery_shutdown_flag == 1))
+0024EB 904CC9            MOV      DPTR,#g_variable+046H
+0024EE E0                MOVX     A,@DPTR
+0024EF 6402              XRL      A,#02H
+0024F1 6007              JZ       ?C0024?ADC
+0024F3 904CC8            MOV      DPTR,#g_variable+045H
+0024F6 E0                MOVX     A,@DPTR
+0024F7 B40115            CJNE     A,#01H,?C0023?ADC
+0024FA         ?C0024?ADC:
+  101: 		{
+  102: 			g_variable.battery_shutdown_flag = 0;
+0024FA E4                CLR      A
+0024FB 904CC8            MOV      DPTR,#g_variable+045H
+0024FE F0                MOVX     @DPTR,A
+  103: 			IIC_WriteBlock(EEPROM_BATTERY_SHUTDOWN_FLAG ,1 ,(byte *)&g_variable.battery_shutdown_flag);
+0024FF 7B01              MOV      R3,#01H
+002501 7A4C              MOV      R2,#HIGH g_variable+045H
+002503 79C8              MOV      R1,#LOW g_variable+045H
+002505 7D01              MOV      R5,#01H
+002507 FC                MOV      R4,A
+002508 7FC0              MOV      R7,#0C0H
+00250A 7E7F              MOV      R6,#07FH
+00250C 121A88            LCALL    _IIC_WriteBlock
+  104: 		}
+00250F         ?C0023?ADC:
+  105: 		if (batValue < g_variable.battery_level_low)
+00250F 904CA5            MOV      DPTR,#g_variable+022H
+002512 E0                MOVX     A,@DPTR
+002513 FE                MOV      R6,A
+002514 A3                INC      DPTR
+002515 E0                MOVX     A,@DPTR
+002516 FF                MOV      R7,A
+002517 E4                CLR      A
+002518 FC                MOV      R4,A
+002519 FD                MOV      R5,A
+00251A 904ED1            MOV      DPTR,#batValue
+00251D E0                MOVX     A,@DPTR
+00251E F8                MOV      R0,A
+00251F A3                INC      DPTR
+002520 E0                MOVX     A,@DPTR
+002521 F9                MOV      R1,A
+002522 A3                INC      DPTR
+002523 E0                MOVX     A,@DPTR
+002524 FA                MOV      R2,A
+002525 A3                INC      DPTR
+002526 E0                MOVX     A,@DPTR
+002527 FB                MOV      R3,A
+002528 C3                CLR      C
+002529 120565            LCALL    ?C?ULCMP
+00252C 501D              JNC      ?C0025?ADC
+  106: 		{
+  107: 			g_variable.battery_status = BAT_STATUS_LOW;
+00252E 904C9C            MOV      DPTR,#g_variable+019H
+002531 7401              MOV      A,#01H
+002533 F0                MOVX     @DPTR,A
+  108: 			if(!g_variable.g24_long_sleep_flag)
+002534 904CCA            MOV      DPTR,#g_variable+047H
+002537 E0                MOVX     A,@DPTR
+002538 702B              JNZ      ?C0022?ADC
+  109: 			{
+  110: 			m_24g_enter_hibernate[0]	= 0x00;
+00253A 904CEF            MOV      DPTR,#m_24g_enter_hibernate
+00253D F0                MOVX     @DPTR,A
+  111: 			m_24g_enter_hibernate[1]	= 0x48;
+00253E A3                INC      DPTR
+00253F 7448              MOV      A,#048H
+002541 F0                MOVX     @DPTR,A
+  112: 			m_24g_enter_hibernate[2]	= 0x12;		// 100ms
+002542 A3                INC      DPTR
+002543 7412              MOV      A,#012H
+002545 F0                MOVX     @DPTR,A
+  113: 			m_24g_enter_hibernate[3]	= 0x00;
+002546 E4                CLR      A
+002547 A3                INC      DPTR
+002548 F0                MOVX     @DPTR,A
+  114: 			}
+  115: 		}
+002549 801A              SJMP     ?C0022?ADC
+00254B         ?C0025?ADC:
+  116: 		else
+  117: 		{
+  118: 			g_variable.battery_status = BAT_STATUS_NONE;
+00254B E4                CLR      A
+00254C 904C9C            MOV      DPTR,#g_variable+019H
+00254F F0                MOVX     @DPTR,A
+  119: 			if(!g_variable.g24_long_sleep_flag)
+002550 904CCA            MOV      DPTR,#g_variable+047H
+002553 E0                MOVX     A,@DPTR
+002554 700F              JNZ      ?C0022?ADC
+  120: 			{
+  121: 			m_24g_enter_hibernate[0]	= 0x00;
+002556 904CEF            MOV      DPTR,#m_24g_enter_hibernate
+002559 F0                MOVX     @DPTR,A
+  122: 			m_24g_enter_hibernate[1]	= 0x48;
+00255A A3                INC      DPTR
+00255B 7448              MOV      A,#048H
+00255D F0                MOVX     @DPTR,A
+  123: 			m_24g_enter_hibernate[2]   = 0x5d;		// 510ms
+00255E A3                INC      DPTR
+00255F 745D              MOV      A,#05DH
+002561 F0                MOVX     @DPTR,A
+  124: 			m_24g_enter_hibernate[3]	= 0x00;
+002562 E4                CLR      A
+002563 A3                INC      DPTR
+002564 F0                MOVX     @DPTR,A
+  125: 			}
+  126: 		}
+  127: 	}
+002565         ?C0022?ADC:
+  128: 	g_variable.last_battery_status = g_variable.battery_status;
+002565 904C9C            MOV      DPTR,#g_variable+019H
+002568 E0                MOVX     A,@DPTR
+002569 904CC9            MOV      DPTR,#g_variable+046H
+00256C F0                MOVX     @DPTR,A
+  129: #endif	
+  130: }
+00256D         ?C0011?ADC:
+00256D 22                RET      
+----- FUNCTION YC_adc_check (END) -------
+
+
+----- FUNCTION _kb_set_multikey (BEGIN) -----
+ FILE: 'kb_process.c'
+  177: void kb_set_multikey(word multikey_value)
+  178: {
+;---- Variable 'multikey_value' assigned to Register 'R4/R5' ----
+00256E AD07              MOV      R5,AR7
+002570 AC06              MOV      R4,AR6
+  179: 	if(mult_key_status != KEY_WAIT_RELEASE)
+  180: 	{
+002572 904E51            MOV      DPTR,#mult_key_status
+002575 E0                MOVX     A,@DPTR
+002576 6402              XRL      A,#02H
+002578 600E              JZ       ?C0047?KB_PROCESS
+  181: 		mult_key_status = KEY_MULIT_PRESS;
+  182: 		multikey[0] = HID_REPORTID_2;
+00257A 7401              MOV      A,#01H
+00257C F0                MOVX     @DPTR,A
+  183: 		multikey[1] = (multikey_value&0xff);
+00257D 904E52            MOV      DPTR,#multikey
+002580 04                INC      A
+002581 F0                MOVX     @DPTR,A
+  184: 		multikey[2] = ((multikey_value>>8)&0xff);
+002582 EF                MOV      A,R7
+002583 A3                INC      DPTR
+002584 F0                MOVX     @DPTR,A
+  185: 	}
+002585 EE                MOV      A,R6
+002586 A3                INC      DPTR
+002587 F0                MOVX     @DPTR,A
+  186: }
+  187: 
+002588         ?C0047?KB_PROCESS:
+002588 22                RET      
+----- FUNCTION _kb_set_multikey (END) -------
+
+
+----- FUNCTION _kb_multikey_setup (BEGIN) -----
+ FILE: 'kb_process.c'
+  790: void kb_multikey_setup(tKSEVENT *pEvt)
+  791: {
+002589 904EDA            MOV      DPTR,#pEvt
+00258C EB                MOV      A,R3
+00258D F0                MOVX     @DPTR,A
+00258E A3                INC      DPTR
+00258F EA                MOV      A,R2
+002590 F0                MOVX     @DPTR,A
+002591 A3                INC      DPTR
+002592 E9                MOV      A,R1
+002593 F0                MOVX     @DPTR,A
+  792: 	byte i = 0;
+  793: 	
+002594 E4                CLR      A
+002595 A3                INC      DPTR
+002596 F0                MOVX     @DPTR,A
+  794: 	for (i = 0;i < 6;i++)
+002597 F0                MOVX     @DPTR,A
+002598         ?C0183?KB_PROCESS:
+002598 904EDD            MOV      DPTR,#i
+00259B E0                MOVX     A,@DPTR
+00259C FF                MOV      R7,A
+00259D C3                CLR      C
+00259E 9406              SUBB     A,#06H
+0025A0 4003              JC       $ + 5H
+0025A2 0228A0            LJMP     ?C0242?KB_PROCESS
+  795: 	{		
+  796: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
+0025A5 904EDA            MOV      DPTR,#pEvt
+0025A8 E0                MOVX     A,@DPTR
+0025A9 FB                MOV      R3,A
+0025AA A3                INC      DPTR
+0025AB E0                MOVX     A,@DPTR
+0025AC FA                MOV      R2,A
+0025AD A3                INC      DPTR
+0025AE E0                MOVX     A,@DPTR
+0025AF 2401              ADD      A,#01H
+0025B1 F9                MOV      R1,A
+0025B2 E4                CLR      A
+0025B3 3A                ADDC     A,R2
+0025B4 FA                MOV      R2,A
+0025B5 7E00              MOV      R6,#00H
+0025B7 E9                MOV      A,R1
+0025B8 2F                ADD      A,R7
+0025B9 F9                MOV      R1,A
+0025BA EE                MOV      A,R6
+0025BB 3A                ADDC     A,R2
+0025BC FA                MOV      R2,A
+0025BD 1203B6            LCALL    ?C?CLDPTR
+0025C0 FF                MOV      R7,A
+0025C1 54F0              ANL      A,#0F0H
+0025C3 64F0              XRL      A,#0F0H
+0025C5 600A              JZ       ?C0187?KB_PROCESS
+0025C7 EF                MOV      A,R7
+0025C8 54D0              ANL      A,#0D0H
+0025CA 64D0              XRL      A,#0D0H
+0025CC 6003              JZ       $ + 5H
+0025CE 022897            LJMP     ?C0185?KB_PROCESS
+0025D1         ?C0187?KB_PROCESS:
+  797: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
+  798: 		{
+  799: 			
+  800: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
+0025D1 1203B6            LCALL    ?C?CLDPTR
+0025D4 FB                MOV      R3,A
+0025D5 B4F109            CJNE     A,#0F1H,?C0188?KB_PROCESS
+  801: 			{
+  802: 				kb_set_multikey(0x0183); 
+0025D8 7F83              MOV      R7,#083H
+0025DA 7E01              MOV      R6,#01H
+0025DC B16E              ACALL    _kb_set_multikey
+  803: 			}
+0025DE 02286C            LJMP     ?C0189?KB_PROCESS
+0025E1         ?C0188?KB_PROCESS:
+  804: 			else
+  805: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
+0025E1 EB                MOV      A,R3
+0025E2 B4F209            CJNE     A,#0F2H,?C0190?KB_PROCESS
+  806: 			{ 
+  807: 				kb_set_multikey(0x00cd);
+0025E5 7FCD              MOV      R7,#0CDH
+0025E7 7E00              MOV      R6,#00H
+0025E9 B16E              ACALL    _kb_set_multikey
+  808: 			}
+0025EB 02286C            LJMP     ?C0189?KB_PROCESS
+0025EE         ?C0190?KB_PROCESS:
+  809: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
+0025EE 904EDA            MOV      DPTR,#pEvt
+0025F1 E0                MOVX     A,@DPTR
+0025F2 FB                MOV      R3,A
+0025F3 A3                INC      DPTR
+0025F4 E0                MOVX     A,@DPTR
+0025F5 FA                MOV      R2,A
+0025F6 A3                INC      DPTR
+0025F7 E0                MOVX     A,@DPTR
+0025F8 2401              ADD      A,#01H
+0025FA F9                MOV      R1,A
+0025FB E4                CLR      A
+0025FC 3A                ADDC     A,R2
+0025FD FA                MOV      R2,A
+0025FE A3                INC      DPTR
+0025FF E0                MOVX     A,@DPTR
+002600 7E00              MOV      R6,#00H
+002602 29                ADD      A,R1
+002603 F9                MOV      R1,A
+002604 EE                MOV      A,R6
+002605 3A                ADDC     A,R2
+002606 FA                MOV      R2,A
+002607 1203B6            LCALL    ?C?CLDPTR
+00260A FB                MOV      R3,A
+00260B B4F307            CJNE     A,#0F3H,?C0192?KB_PROCESS
+  810: 			{
+  811: 				kb_set_multikey(0x00b7);
+00260E 7FB7              MOV      R7,#0B7H
+002610 B16E              ACALL    _kb_set_multikey
+  812: 			}	
+002612 02286C            LJMP     ?C0189?KB_PROCESS
+002615         ?C0192?KB_PROCESS:
+  813: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
+002615 EB                MOV      A,R3
+002616 B4F409            CJNE     A,#0F4H,?C0194?KB_PROCESS
+  814: 			{
+  815: 				kb_set_multikey(0x00b6);
+002619 7FB6              MOV      R7,#0B6H
+00261B 7E00              MOV      R6,#00H
+00261D B16E              ACALL    _kb_set_multikey
+  816: 			}
+00261F 02286C            LJMP     ?C0189?KB_PROCESS
+002622         ?C0194?KB_PROCESS:
+  817: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
+002622 904EDA            MOV      DPTR,#pEvt
+002625 E0                MOVX     A,@DPTR
+002626 FB                MOV      R3,A
+002627 A3                INC      DPTR
+002628 E0                MOVX     A,@DPTR
+002629 FA                MOV      R2,A
+00262A A3                INC      DPTR
+00262B E0                MOVX     A,@DPTR
+00262C 2401              ADD      A,#01H
+00262E F9                MOV      R1,A
+00262F E4                CLR      A
+002630 3A                ADDC     A,R2
+002631 FA                MOV      R2,A
+002632 A3                INC      DPTR
+002633 E0                MOVX     A,@DPTR
+002634 7E00              MOV      R6,#00H
+002636 29                ADD      A,R1
+002637 F9                MOV      R1,A
+002638 EE                MOV      A,R6
+002639 3A                ADDC     A,R2
+00263A FA                MOV      R2,A
+00263B 1203B6            LCALL    ?C?CLDPTR
+00263E FB                MOV      R3,A
+00263F B4F507            CJNE     A,#0F5H,?C0196?KB_PROCESS
+  818: 			{
+  819: 				kb_set_multikey(0x00b5);
+002642 7FB5              MOV      R7,#0B5H
+002644 B16E              ACALL    _kb_set_multikey
+  820: 			}
+002646 02286C            LJMP     ?C0189?KB_PROCESS
+002649         ?C0196?KB_PROCESS:
+  821: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
+002649 EB                MOV      A,R3
+00264A B4F609            CJNE     A,#0F6H,?C0198?KB_PROCESS
+  822: 			{
+  823: 				kb_set_multikey(0x00ea);
+00264D 7FEA              MOV      R7,#0EAH
+00264F 7E00              MOV      R6,#00H
+002651 B16E              ACALL    _kb_set_multikey
+  824: 			}
+002653 02286C            LJMP     ?C0189?KB_PROCESS
+002656         ?C0198?KB_PROCESS:
+  825: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
+002656 904EDA            MOV      DPTR,#pEvt
+002659 E0                MOVX     A,@DPTR
+00265A FB                MOV      R3,A
+00265B A3                INC      DPTR
+00265C E0                MOVX     A,@DPTR
+00265D FA                MOV      R2,A
+00265E A3                INC      DPTR
+00265F E0                MOVX     A,@DPTR
+002660 2401              ADD      A,#01H
+002662 F9                MOV      R1,A
+002663 E4                CLR      A
+002664 3A                ADDC     A,R2
+002665 FA                MOV      R2,A
+002666 A3                INC      DPTR
+002667 E0                MOVX     A,@DPTR
+002668 7E00              MOV      R6,#00H
+00266A 29                ADD      A,R1
+00266B F9                MOV      R1,A
+00266C EE                MOV      A,R6
+00266D 3A                ADDC     A,R2
+00266E FA                MOV      R2,A
+00266F 1203B6            LCALL    ?C?CLDPTR
+002672 FB                MOV      R3,A
+002673 B4F707            CJNE     A,#0F7H,?C0200?KB_PROCESS
+  826: 			{
+  827: 				kb_set_multikey(0x00e9);
+002676 7FE9              MOV      R7,#0E9H
+002678 B16E              ACALL    _kb_set_multikey
+  828: 			}
+00267A 02286C            LJMP     ?C0189?KB_PROCESS
+00267D         ?C0200?KB_PROCESS:
+  829: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
+00267D EB                MOV      A,R3
+00267E B4F809            CJNE     A,#0F8H,?C0202?KB_PROCESS
+  830: 			{
+  831: 				kb_set_multikey(0x00e2);
+002681 7FE2              MOV      R7,#0E2H
+002683 7E00              MOV      R6,#00H
+002685 B16E              ACALL    _kb_set_multikey
+  832: 			}
+002687 02286C            LJMP     ?C0189?KB_PROCESS
+00268A         ?C0202?KB_PROCESS:
+  833: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
+00268A 904EDA            MOV      DPTR,#pEvt
+00268D E0                MOVX     A,@DPTR
+00268E FB                MOV      R3,A
+00268F A3                INC      DPTR
+002690 E0                MOVX     A,@DPTR
+002691 FA                MOV      R2,A
+002692 A3                INC      DPTR
+002693 E0                MOVX     A,@DPTR
+002694 2401              ADD      A,#01H
+002696 F9                MOV      R1,A
+002697 E4                CLR      A
+002698 3A                ADDC     A,R2
+002699 FA                MOV      R2,A
+00269A A3                INC      DPTR
+00269B E0                MOVX     A,@DPTR
+00269C 7E00              MOV      R6,#00H
+00269E 29                ADD      A,R1
+00269F F9                MOV      R1,A
+0026A0 EE                MOV      A,R6
+0026A1 3A                ADDC     A,R2
+0026A2 FA                MOV      R2,A
+0026A3 1203B6            LCALL    ?C?CLDPTR
+0026A6 FB                MOV      R3,A
+0026A7 B4F908            CJNE     A,#0F9H,?C0204?KB_PROCESS
+  834: 			{
+  835: 				kb_set_multikey(0x0194);
+0026AA 7F94              MOV      R7,#094H
+0026AC 0E                INC      R6
+0026AD B16E              ACALL    _kb_set_multikey
+  836: 			}	
+0026AF 02286C            LJMP     ?C0189?KB_PROCESS
+0026B2         ?C0204?KB_PROCESS:
+  837: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
+0026B2 EB                MOV      A,R3
+0026B3 B4FA09            CJNE     A,#0FAH,?C0206?KB_PROCESS
+  838: 			{
+  839: 				kb_set_multikey(0x018a);//mail
+0026B6 7F8A              MOV      R7,#08AH
+0026B8 7E01              MOV      R6,#01H
+0026BA B16E              ACALL    _kb_set_multikey
+  840: 			}
+0026BC 02286C            LJMP     ?C0189?KB_PROCESS
+0026BF         ?C0206?KB_PROCESS:
+  841: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
+0026BF 904EDA            MOV      DPTR,#pEvt
+0026C2 E0                MOVX     A,@DPTR
+0026C3 FB                MOV      R3,A
+0026C4 A3                INC      DPTR
+0026C5 E0                MOVX     A,@DPTR
+0026C6 FA                MOV      R2,A
+0026C7 A3                INC      DPTR
+0026C8 E0                MOVX     A,@DPTR
+0026C9 2401              ADD      A,#01H
+0026CB F9                MOV      R1,A
+0026CC E4                CLR      A
+0026CD 3A                ADDC     A,R2
+0026CE FA                MOV      R2,A
+0026CF A3                INC      DPTR
+0026D0 E0                MOVX     A,@DPTR
+0026D1 7E00              MOV      R6,#00H
+0026D3 29                ADD      A,R1
+0026D4 F9                MOV      R1,A
+0026D5 EE                MOV      A,R6
+0026D6 3A                ADDC     A,R2
+0026D7 FA                MOV      R2,A
+0026D8 1203B6            LCALL    ?C?CLDPTR
+0026DB FB                MOV      R3,A
+0026DC B4FB08            CJNE     A,#0FBH,?C0208?KB_PROCESS
+  842: 			{
+  843: 				kb_set_multikey(0x0192);
+0026DF 7F92              MOV      R7,#092H
+0026E1 0E                INC      R6
+0026E2 B16E              ACALL    _kb_set_multikey
+  844: 			}
+0026E4 02286C            LJMP     ?C0189?KB_PROCESS
+0026E7         ?C0208?KB_PROCESS:
+  845: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
+0026E7 EB                MOV      A,R3
+0026E8 B4D009            CJNE     A,#0D0H,?C0210?KB_PROCESS
+  846: 			{
+  847: 				kb_set_multikey(0x022a);//www Favorites
+0026EB 7F2A              MOV      R7,#02AH
+0026ED 7E02              MOV      R6,#02H
+0026EF B16E              ACALL    _kb_set_multikey
+  848: 			}
+0026F1 02286C            LJMP     ?C0189?KB_PROCESS
+0026F4         ?C0210?KB_PROCESS:
+  849: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
+0026F4 904EDA            MOV      DPTR,#pEvt
+0026F7 E0                MOVX     A,@DPTR
+0026F8 FB                MOV      R3,A
+0026F9 A3                INC      DPTR
+0026FA E0                MOVX     A,@DPTR
+0026FB FA                MOV      R2,A
+0026FC A3                INC      DPTR
+0026FD E0                MOVX     A,@DPTR
+0026FE 2401              ADD      A,#01H
+002700 F9                MOV      R1,A
+002701 E4                CLR      A
+002702 3A                ADDC     A,R2
+002703 FA                MOV      R2,A
+002704 A3                INC      DPTR
+002705 E0                MOVX     A,@DPTR
+002706 7E00              MOV      R6,#00H
+002708 29                ADD      A,R1
+002709 F9                MOV      R1,A
+00270A EE                MOV      A,R6
+00270B 3A                ADDC     A,R2
+00270C FA                MOV      R2,A
+00270D 1203B6            LCALL    ?C?CLDPTR
+002710 FB                MOV      R3,A
+002711 B4D109            CJNE     A,#0D1H,?C0212?KB_PROCESS
+  850: 			{
+  851: 				kb_set_multikey(0x0225);
+002714 7F25              MOV      R7,#025H
+002716 7E02              MOV      R6,#02H
+002718 B16E              ACALL    _kb_set_multikey
+  852: 			}
+00271A 02286C            LJMP     ?C0189?KB_PROCESS
+00271D         ?C0212?KB_PROCESS:
+  853: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
+00271D EB                MOV      A,R3
+00271E B4D309            CJNE     A,#0D3H,?C0214?KB_PROCESS
+  854: 			{
+  855: 				kb_set_multikey(0x0226);
+002721 7F26              MOV      R7,#026H
+002723 7E02              MOV      R6,#02H
+002725 B16E              ACALL    _kb_set_multikey
+  856: 			}
+002727 02286C            LJMP     ?C0189?KB_PROCESS
+00272A         ?C0214?KB_PROCESS:
+  857: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
+00272A 904EDA            MOV      DPTR,#pEvt
+00272D E0                MOVX     A,@DPTR
+00272E FB                MOV      R3,A
+00272F A3                INC      DPTR
+002730 E0                MOVX     A,@DPTR
+002731 FA                MOV      R2,A
+002732 A3                INC      DPTR
+002733 E0                MOVX     A,@DPTR
+002734 2401              ADD      A,#01H
+002736 F9                MOV      R1,A
+002737 E4                CLR      A
+002738 3A                ADDC     A,R2
+002739 FA                MOV      R2,A
+00273A A3                INC      DPTR
+00273B E0                MOVX     A,@DPTR
+00273C 7E00              MOV      R6,#00H
+00273E 29                ADD      A,R1
+00273F F9                MOV      R1,A
+002740 EE                MOV      A,R6
+002741 3A                ADDC     A,R2
+002742 FA                MOV      R2,A
+002743 1203B6            LCALL    ?C?CLDPTR
+002746 FB                MOV      R3,A
+002747 B4D209            CJNE     A,#0D2H,?C0216?KB_PROCESS
+  858: 			{
+  859: 				kb_set_multikey(0x0224);
+00274A 7F24              MOV      R7,#024H
+00274C 7E02              MOV      R6,#02H
+00274E B16E              ACALL    _kb_set_multikey
+  860: 			}
+002750 02286C            LJMP     ?C0189?KB_PROCESS
+002753         ?C0216?KB_PROCESS:
+  861: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
+002753 EB                MOV      A,R3
+002754 B4D409            CJNE     A,#0D4H,?C0218?KB_PROCESS
+  862: 			{
+  863: 				kb_set_multikey(0x0227);
+002757 7F27              MOV      R7,#027H
+002759 7E02              MOV      R6,#02H
+00275B B16E              ACALL    _kb_set_multikey
+  864: 			}	
+00275D 02286C            LJMP     ?C0189?KB_PROCESS
+002760         ?C0218?KB_PROCESS:
+  865: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
+002760 904EDA            MOV      DPTR,#pEvt
+002763 E0                MOVX     A,@DPTR
+002764 FB                MOV      R3,A
+002765 A3                INC      DPTR
+002766 E0                MOVX     A,@DPTR
+002767 FA                MOV      R2,A
+002768 A3                INC      DPTR
+002769 E0                MOVX     A,@DPTR
+00276A 2401              ADD      A,#01H
+00276C F9                MOV      R1,A
+00276D E4                CLR      A
+00276E 3A                ADDC     A,R2
+00276F FA                MOV      R2,A
+002770 A3                INC      DPTR
+002771 E0                MOVX     A,@DPTR
+002772 7E00              MOV      R6,#00H
+002774 29                ADD      A,R1
+002775 F9                MOV      R1,A
+002776 EE                MOV      A,R6
+002777 3A                ADDC     A,R2
+002778 FA                MOV      R2,A
+002779 1203B6            LCALL    ?C?CLDPTR
+00277C FB                MOV      R3,A
+00277D B4D509            CJNE     A,#0D5H,?C0220?KB_PROCESS
+  866: 			{
+  867: 				kb_set_multikey(0x0221);
+002780 7F21              MOV      R7,#021H
+002782 7E02              MOV      R6,#02H
+002784 B16E              ACALL    _kb_set_multikey
+  868: 			}
+002786 02286C            LJMP     ?C0189?KB_PROCESS
+002789         ?C0220?KB_PROCESS:
+  869: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
+002789 EB                MOV      A,R3
+00278A B4D609            CJNE     A,#0D6H,?C0222?KB_PROCESS
+  870: 			{
+  871: 				kb_set_multikey(0x0223);
+00278D 7F23              MOV      R7,#023H
+00278F 7E02              MOV      R6,#02H
+002791 B16E              ACALL    _kb_set_multikey
+  872: 			}
+002793 02286C            LJMP     ?C0189?KB_PROCESS
+002796         ?C0222?KB_PROCESS:
+  873: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
+002796 904EDA            MOV      DPTR,#pEvt
+002799 E0                MOVX     A,@DPTR
+00279A FB                MOV      R3,A
+00279B A3                INC      DPTR
+00279C E0                MOVX     A,@DPTR
+00279D FA                MOV      R2,A
+00279E A3                INC      DPTR
+00279F E0                MOVX     A,@DPTR
+0027A0 2401              ADD      A,#01H
+0027A2 F9                MOV      R1,A
+0027A3 E4                CLR      A
+0027A4 3A                ADDC     A,R2
+0027A5 FA                MOV      R2,A
+0027A6 A3                INC      DPTR
+0027A7 E0                MOVX     A,@DPTR
+0027A8 7E00              MOV      R6,#00H
+0027AA 29                ADD      A,R1
+0027AB F9                MOV      R1,A
+0027AC EE                MOV      A,R6
+0027AD 3A                ADDC     A,R2
+0027AE FA                MOV      R2,A
+0027AF 1203B6            LCALL    ?C?CLDPTR
+0027B2 FB                MOV      R3,A
+0027B3 B4D707            CJNE     A,#0D7H,?C0224?KB_PROCESS
+  874: 			{
+  875: 				kb_set_multikey(0x0070);
+0027B6 7F70              MOV      R7,#070H
+0027B8 B16E              ACALL    _kb_set_multikey
+  876: 			}
+0027BA 02286C            LJMP     ?C0189?KB_PROCESS
+0027BD         ?C0224?KB_PROCESS:
+  877: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
+0027BD EB                MOV      A,R3
+0027BE B4D809            CJNE     A,#0D8H,?C0226?KB_PROCESS
+  878: 			{
+  879: 				kb_set_multikey(0x006f);
+0027C1 7F6F              MOV      R7,#06FH
+0027C3 7E00              MOV      R6,#00H
+0027C5 B16E              ACALL    _kb_set_multikey
+  880: 			}	
+0027C7 02286C            LJMP     ?C0189?KB_PROCESS
+0027CA         ?C0226?KB_PROCESS:
+  881: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_IOS_SOFT_KB)  //IOS VIR KB
+0027CA 904EDA            MOV      DPTR,#pEvt
+0027CD E0                MOVX     A,@DPTR
+0027CE FB                MOV      R3,A
+0027CF A3                INC      DPTR
+0027D0 E0                MOVX     A,@DPTR
+0027D1 FA                MOV      R2,A
+0027D2 A3                INC      DPTR
+0027D3 E0                MOVX     A,@DPTR
+0027D4 2401              ADD      A,#01H
+0027D6 F9                MOV      R1,A
+0027D7 E4                CLR      A
+0027D8 3A                ADDC     A,R2
+0027D9 FA                MOV      R2,A
+0027DA A3                INC      DPTR
+0027DB E0                MOVX     A,@DPTR
+0027DC 7E00              MOV      R6,#00H
+0027DE 29                ADD      A,R1
+0027DF F9                MOV      R1,A
+0027E0 EE                MOV      A,R6
+0027E1 3A                ADDC     A,R2
+0027E2 FA                MOV      R2,A
+0027E3 1203B6            LCALL    ?C?CLDPTR
+0027E6 FB                MOV      R3,A
+0027E7 B4D906            CJNE     A,#0D9H,?C0228?KB_PROCESS
+  882: 		      	{
+  883: 		        	kb_set_multikey(0x00b8);
+0027EA 7FB8              MOV      R7,#0B8H
+0027EC B16E              ACALL    _kb_set_multikey
+  884: 		      	}
+0027EE 807C              SJMP     ?C0189?KB_PROCESS
+0027F0         ?C0228?KB_PROCESS:
+  885: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_OS_LOCK)
+0027F0 EB                MOV      A,R3
+0027F1 B4DA08            CJNE     A,#0DAH,?C0230?KB_PROCESS
+  886: 		      	{
+  887: 		        	kb_set_multikey(0x0030);
+0027F4 7F30              MOV      R7,#030H
+0027F6 7E00              MOV      R6,#00H
+0027F8 B16E              ACALL    _kb_set_multikey
+  888: 		      	}	
+0027FA 8070              SJMP     ?C0189?KB_PROCESS
+0027FC         ?C0230?KB_PROCESS:
+  889: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SETUP_SHORTCUTS)
+0027FC 904EDA            MOV      DPTR,#pEvt
+0027FF E0                MOVX     A,@DPTR
+002800 FB                MOV      R3,A
+002801 A3                INC      DPTR
+002802 E0                MOVX     A,@DPTR
+002803 FA                MOV      R2,A
+002804 A3                INC      DPTR
+002805 E0                MOVX     A,@DPTR
+002806 2401              ADD      A,#01H
+002808 F9                MOV      R1,A
+002809 E4                CLR      A
+00280A 3A                ADDC     A,R2
+00280B FA                MOV      R2,A
+00280C A3                INC      DPTR
+00280D E0                MOVX     A,@DPTR
+00280E 7E00              MOV      R6,#00H
+002810 29                ADD      A,R1
+002811 F9                MOV      R1,A
+002812 EE                MOV      A,R6
+002813 3A                ADDC     A,R2
+002814 FA                MOV      R2,A
+002815 1203B6            LCALL    ?C?CLDPTR
+002818 FB                MOV      R3,A
+002819 B4DB09            CJNE     A,#0DBH,?C0232?KB_PROCESS
+  890: 		      	{
+  891: 		        	kb_set_multikey(0x0306);
+00281C 7F06              MOV      R7,#06H
+00281E 7E03              MOV      R6,#03H
+002820 12256E            LCALL    _kb_set_multikey
+  892: 		      	}
+002823 8047              SJMP     ?C0189?KB_PROCESS
+002825         ?C0232?KB_PROCESS:
+  893: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SOFT_KB)
+002825 EB                MOV      A,R3
+002826 B4DC09            CJNE     A,#0DCH,?C0234?KB_PROCESS
+  894: 		      	{
+  895: 		        	kb_set_multikey(0x0307);
+002829 7F07              MOV      R7,#07H
+00282B 7E03              MOV      R6,#03H
+00282D 12256E            LCALL    _kb_set_multikey
+  896: 		      	}
+002830 803A              SJMP     ?C0189?KB_PROCESS
+002832         ?C0234?KB_PROCESS:
+  897: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_POWER_DOWN)
+002832 904EDA            MOV      DPTR,#pEvt
+002835 E0                MOVX     A,@DPTR
+002836 FB                MOV      R3,A
+002837 A3                INC      DPTR
+002838 E0                MOVX     A,@DPTR
+002839 FA                MOV      R2,A
+00283A A3                INC      DPTR
+00283B E0                MOVX     A,@DPTR
+00283C 2401              ADD      A,#01H
+00283E F9                MOV      R1,A
+00283F E4                CLR      A
+002840 3A                ADDC     A,R2
+002841 FA                MOV      R2,A
+002842 A3                INC      DPTR
+002843 E0                MOVX     A,@DPTR
+002844 7E00              MOV      R6,#00H
+002846 29                ADD      A,R1
+002847 F9                MOV      R1,A
+002848 EE                MOV      A,R6
+002849 3A                ADDC     A,R2
+00284A FA                MOV      R2,A
+00284B 1203B6            LCALL    ?C?CLDPTR
+00284E FE                MOV      R6,A
+00284F B4DD06            CJNE     A,#0DDH,?C0236?KB_PROCESS
+  898: 		      	{
+  899: 		        	kb_set_systemkey(0x01);
+002852 7F01              MOV      R7,#01H
+002854 11A1              ACALL    _kb_set_systemkey
+  900: 		      	}
+002856 8014              SJMP     ?C0189?KB_PROCESS
+002858         ?C0236?KB_PROCESS:
+  901: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_SLEEP)
+002858 EE                MOV      A,R6
+002859 B4DE06            CJNE     A,#0DEH,?C0238?KB_PROCESS
+  902: 		      	{
+  903: 		        	kb_set_systemkey(0x02);
+00285C 7F02              MOV      R7,#02H
+00285E 11A1              ACALL    _kb_set_systemkey
+  904: 		      	}
+002860 800A              SJMP     ?C0189?KB_PROCESS
+002862         ?C0238?KB_PROCESS:
+  905: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_WAKE_UP)
+002862 1203B6            LCALL    ?C?CLDPTR
+002865 B4DF04            CJNE     A,#0DFH,?C0189?KB_PROCESS
+  906: 		      	{
+  907: 		        	kb_set_systemkey(0x04);
+002868 7F04              MOV      R7,#04H
+00286A 11A1              ACALL    _kb_set_systemkey
+  908: 		      	}
+00286C         ?C0189?KB_PROCESS:
+  909: 			
+  910: 			if(mult_key_status == KEY_WAIT_RELEASE)
+00286C 904E51            MOV      DPTR,#mult_key_status
+00286F E0                MOVX     A,@DPTR
+002870 B40224            CJNE     A,#02H,?C0185?KB_PROCESS
+  911: 			{
+  912: 				mult_key_value = pEvt->ksPool[i];
+002873 904EDA            MOV      DPTR,#pEvt
+002876 E0                MOVX     A,@DPTR
+002877 FB                MOV      R3,A
+002878 A3                INC      DPTR
+002879 E0                MOVX     A,@DPTR
+00287A FA                MOV      R2,A
+00287B A3                INC      DPTR
+00287C E0                MOVX     A,@DPTR
+00287D 2401              ADD      A,#01H
+00287F F9                MOV      R1,A
+002880 E4                CLR      A
+002881 3A                ADDC     A,R2
+002882 FA                MOV      R2,A
+002883 A3                INC      DPTR
+002884 E0                MOVX     A,@DPTR
+002885 7E00              MOV      R6,#00H
+002887 29                ADD      A,R1
+002888 F9                MOV      R1,A
+002889 EE                MOV      A,R6
+00288A 3A                ADDC     A,R2
+00288B FA                MOV      R2,A
+00288C 1203B6            LCALL    ?C?CLDPTR
+00288F 904DF2            MOV      DPTR,#mult_key_value
+002892 F0                MOVX     @DPTR,A
+  913: 				pEvt->ksPool[i] = 0;
+002893 E4                CLR      A
+002894 1203FC            LCALL    ?C?CSTPTR
+  914: 			}
+  915: 		}
+  916: 	}
+002897         ?C0185?KB_PROCESS:
+002897 904EDD            MOV      DPTR,#i
+00289A E0                MOVX     A,@DPTR
+00289B 04                INC      A
+00289C F0                MOVX     @DPTR,A
+00289D 022598            LJMP     ?C0183?KB_PROCESS
+  917: }
+0028A0         ?C0242?KB_PROCESS:
+0028A0 22                RET      
+----- FUNCTION _kb_multikey_setup (END) -------
+
+
+----- FUNCTION _kb_set_systemkey (BEGIN) -----
+ FILE: 'kb_process.c'
+  188: void kb_set_systemkey(byte systemkey_value)
+  189: {
+;---- Variable 'systemkey_value' assigned to Register 'R7' ----
+  190: 	if(mult_key_status != KEY_WAIT_RELEASE)
+  191: 	{
+0028A1 904E51            MOV      DPTR,#mult_key_status
+0028A4 E0                MOVX     A,@DPTR
+0028A5 6402              XRL      A,#02H
+0028A7 6012              JZ       ?C0049?KB_PROCESS
+  192: 		mult_key_status = KEY_SYSTEM_PRESS;
+  193: 		system_key_press = 1;
+0028A9 7404              MOV      A,#04H
+0028AB F0                MOVX     @DPTR,A
+  194: 		multikey[0] = HID_REPORTID_SYSTEM;
+0028AC 904DEE            MOV      DPTR,#system_key_press
+0028AF 7401              MOV      A,#01H
+0028B1 F0                MOVX     @DPTR,A
+  195: 		multikey[1] = systemkey_value;
+0028B2 904E52            MOV      DPTR,#multikey
+0028B5 7406              MOV      A,#06H
+0028B7 F0                MOVX     @DPTR,A
+  196: 	}
+0028B8 A3                INC      DPTR
+0028B9 EF                MOV      A,R7
+0028BA F0                MOVX     @DPTR,A
+  197: }
+  198: 
+0028BB         ?C0049?KB_PROCESS:
+0028BB 22                RET      
+----- FUNCTION _kb_set_systemkey (END) -------
+
+
+----- FUNCTION kb_24g_get_led_status (BEGIN) -----
+ FILE: 'kb_process.c'
+  270: void kb_24g_get_led_status()		//get RF Ack for get numlock/capslock status
+  271: {
+  272: 	if((m_24g_led_flag)&& (repeat_send_24g == 0))
+  273: 	{
+0028BC 904CF5            MOV      DPTR,#m_24g_led_flag
+0028BF E0                MOVX     A,@DPTR
+0028C0 604C              JZ       ?C0054?KB_PROCESS
+0028C2 904DE1            MOV      DPTR,#repeat_send_24g
+0028C5 E0                MOVX     A,@DPTR
+0028C6 7046              JNZ      ?C0054?KB_PROCESS
+  274: 		if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
+  275: 		{
+0028C8 904C89            MOV      DPTR,#g_variable+06H
+0028CB E0                MOVX     A,@DPTR
+0028CC 6403              XRL      A,#03H
+0028CE 703E              JNZ      ?C0054?KB_PROCESS
+  276: 			if(delayChgInvTimer_last != delayChgInvTimer)
+  277: 			{
+0028D0 904DEB            MOV      DPTR,#delayChgInvTimer
+0028D3 E0                MOVX     A,@DPTR
+0028D4 FF                MOV      R7,A
+0028D5 904DF3            MOV      DPTR,#delayChgInvTimer_last
+0028D8 E0                MOVX     A,@DPTR
+0028D9 6F                XRL      A,R7
+0028DA 602A              JZ       ?C0053?KB_PROCESS
+  278: 				xmemclear(hidBuff,9);
+  279: 				mult_key_status = 0;
+0028DC 7B01              MOV      R3,#01H
+0028DE 7A48              MOV      R2,#HIGH hidBuff
+0028E0 7900              MOV      R1,#LOW hidBuff
+0028E2 7D09              MOV      R5,#09H
+0028E4 7C00              MOV      R4,#00H
+0028E6 120D01            LCALL    _xmemclear
+  280: 				hidBuff[0] = HID_REPORTID_1;		// standard key send
+0028E9 E4                CLR      A
+0028EA 904E51            MOV      DPTR,#mult_key_status
+0028ED F0                MOVX     @DPTR,A
+  281: 				hidBuff[2] = m_24g_led_flag;
+0028EE 904800            MOV      DPTR,#hidBuff
+0028F1 04                INC      A
+0028F2 F0                MOVX     @DPTR,A
+  282: 				IPC_TxHidData(hidBuff, 9);
+0028F3 904CF5            MOV      DPTR,#m_24g_led_flag
+0028F6 E0                MOVX     A,@DPTR
+0028F7 904802            MOV      DPTR,#hidBuff+02H
+0028FA F0                MOVX     @DPTR,A
+  283: 			}
+0028FB 7B01              MOV      R3,#01H
+0028FD 7A48              MOV      R2,#HIGH hidBuff
+0028FF 7900              MOV      R1,#LOW hidBuff
+002901 7D09              MOV      R5,#09H
+002903 120C1D            LCALL    _IPC_TxHidData
+  284: 			delayChgInvTimer_last = delayChgInvTimer;
+002906         ?C0053?KB_PROCESS:
+  285: 		}	
+002906 904DEB            MOV      DPTR,#delayChgInvTimer
+002909 E0                MOVX     A,@DPTR
+00290A 904DF3            MOV      DPTR,#delayChgInvTimer_last
+00290D F0                MOVX     @DPTR,A
+  286: 	}
+  287: }
+  288: 
+00290E         ?C0054?KB_PROCESS:
+00290E 22                RET      
+----- FUNCTION kb_24g_get_led_status (END) -------
+
+
+----- FUNCTION kb_motion (BEGIN) -----
+ FILE: 'kb_process.c'
+  291: static void kb_motion()
+  292: {
+  293: 	tKSEVENT *pEvt = NULL;
+  294: 	
+00290F 904EE6            MOV      DPTR,#pEvt
+002912 E4                CLR      A
+002913 F0                MOVX     @DPTR,A
+002914 A3                INC      DPTR
+002915 F0                MOVX     @DPTR,A
+002916 A3                INC      DPTR
+002917 F0                MOVX     @DPTR,A
+  295: 	if (!IPC_IsTxBuffEmpty())
+002918 719B              ACALL    IPC_IsTxBuffEmpty
+00291A 5025              JNC      ?C0056?KB_PROCESS
+00291C         ?C0055?KB_PROCESS:
+  296: 		return;
+  297: 	pEvt = KS_GetCurrentEvt();
+00291C 3142              ACALL    KS_GetCurrentEvt
+00291E 904EE6            MOV      DPTR,#pEvt
+002921 EB                MOV      A,R3
+002922 F0                MOVX     @DPTR,A
+002923 A3                INC      DPTR
+002924 EA                MOV      A,R2
+002925 F0                MOVX     @DPTR,A
+002926 A3                INC      DPTR
+002927 E9                MOV      A,R1
+002928 F0                MOVX     @DPTR,A
+  298: 
+  299: 	if (pEvt == NULL)
+002929 4A                ORL      A,R2
+00292A 7007              JNZ      ?C0057?KB_PROCESS
+  300: 	{
+  301: 		m_power_on_flag = 1;
+00292C 904C7A            MOV      DPTR,#m_power_on_flag
+00292F 04                INC      A
+002930 F0                MOVX     @DPTR,A
+  302: 		kb_24g_get_led_status();
+002931 8089              SJMP     kb_24g_get_led_status
+  303: 		return;
+  304: 	}
+002933         ?C0057?KB_PROCESS:
+  305: 	kb_motion_keyscan(pEvt);
+002933 904EE6            MOV      DPTR,#pEvt
+002936 E0                MOVX     A,@DPTR
+002937 FB                MOV      R3,A
+002938 A3                INC      DPTR
+002939 E0                MOVX     A,@DPTR
+00293A FA                MOV      R2,A
+00293B A3                INC      DPTR
+00293C E0                MOVX     A,@DPTR
+00293D F9                MOV      R1,A
+00293E 1208C0            LCALL    _kb_motion_keyscan
+  306: }
+002941         ?C0056?KB_PROCESS:
+002941 22                RET      
+----- FUNCTION kb_motion (END) -------
+
+
+----- FUNCTION KS_GetCurrentEvt (BEGIN) -----
+ FILE: 'keyscan.c'
+  301: tKSEVENT *KS_GetCurrentEvt()
+  302: {
+  303: 	//
+  304: 	byte i = 0;
+002942 E4                CLR      A
+002943 904E8E            MOV      DPTR,#i
+002946 F0                MOVX     @DPTR,A
+  305: 	byte j = 0;
+002947 A3                INC      DPTR
+002948 F0                MOVX     @DPTR,A
+  306: 	byte k = 0;
+002949 A3                INC      DPTR
+00294A F0                MOVX     @DPTR,A
+  307: 	byte temp = 0;
+00294B A3                INC      DPTR
+00294C F0                MOVX     @DPTR,A
+  308: 	byte flag = 0;
+00294D A3                INC      DPTR
+00294E F0                MOVX     @DPTR,A
+  309: 	byte offset = 0;
+00294F A3                INC      DPTR
+002950 F0                MOVX     @DPTR,A
+  310: 	byte state = 0;
+002951 A3                INC      DPTR
+002952 F0                MOVX     @DPTR,A
+  311: 	byte keyCounttemp = 0;
+002953 A3                INC      DPTR
+002954 F0                MOVX     @DPTR,A
+  312: 	byte key_value_temp = 0;
+002955 A3                INC      DPTR
+002956 F0                MOVX     @DPTR,A
+  313: 	byte ghost = 0;
+002957 A3                INC      DPTR
+002958 F0                MOVX     @DPTR,A
+  314: 	byte rawCount = 0;
+002959 A3                INC      DPTR
+00295A F0                MOVX     @DPTR,A
+  315: 	
+  316: 	KS_ScanMatrix();
+00295B B12D              ACALL    KS_ScanMatrix
+  317: 
+  318: 	if (compare_str(ksSelMapCurr,ksSelMapCheck,KB_KSCAN_COL_NUM) 
+00295D 7A4D              MOV      R2,#HIGH ksSelMapCheck
+00295F 79A8              MOV      R1,#LOW ksSelMapCheck
+002961 904EB4            MOV      DPTR,#?_compare_str?BYTE+03H
+002964 7401              MOV      A,#01H
+002966 F0                MOVX     @DPTR,A
+002967 A3                INC      DPTR
+002968 744D              MOV      A,#HIGH ksSelMapCheck
+00296A F0                MOVX     @DPTR,A
+00296B A3                INC      DPTR
+00296C 74A8              MOV      A,#LOW ksSelMapCheck
+00296E F0                MOVX     @DPTR,A
+00296F A3                INC      DPTR
+002970 7414              MOV      A,#014H
+002972 F0                MOVX     @DPTR,A
+002973 7B01              MOV      R3,#01H
+002975 7A4D              MOV      R2,#HIGH ksSelMapCurr
+002977 79BC              MOV      R1,#LOW ksSelMapCurr
+002979 71E3              ACALL    _compare_str
+00297B EF                MOV      A,R7
+00297C 6016              JZ       ?C0064?KEYSCAN
+00297E 7B01              MOV      R3,#01H
+002980 7A4D              MOV      R2,#HIGH ksSelMapCurr
+002982 79BC              MOV      R1,#LOW ksSelMapCurr
+002984 7D14              MOV      R5,#014H
+002986 71B3              ACALL    _array_is_empty
+002988 EF                MOV      A,R7
+002989 7009              JNZ      ?C0064?KEYSCAN
+  319: 		&& !array_is_empty(ksSelMapCurr,KB_KSCAN_COL_NUM))
+  320: 	{
+  321: 		g_variable.button_flag |= KEY_FLAG_SAME_KEY_PRESS;
+00298B 904C92            MOV      DPTR,#g_variable+0FH
+00298E E0                MOVX     A,@DPTR
+00298F 4402              ORL      A,#02H
+002991 F0                MOVX     @DPTR,A
+  322: 	}
+002992 800C              SJMP     ?C0065?KEYSCAN
+002994         ?C0064?KEYSCAN:
+  323: 	else
+  324: 	{	
+  325: 		g_variable.button_flag &= 0xFD;
+002994 904C92            MOV      DPTR,#g_variable+0FH
+002997 E0                MOVX     A,@DPTR
+002998 54FD              ANL      A,#0FDH
+00299A F0                MOVX     @DPTR,A
+  326: 		g_variable.button_timer[1] = 0;
+00299B E4                CLR      A
+00299C 904C94            MOV      DPTR,#g_variable+011H
+00299F F0                MOVX     @DPTR,A
+  327: 	}
+0029A0         ?C0065?KEYSCAN:
+  328: 
+  329: 	for (i=0; col[i]!=0; i++) 
+0029A0 E4                CLR      A
+0029A1 904E8E            MOV      DPTR,#i
+0029A4 F0                MOVX     @DPTR,A
+0029A5         ?C0066?KEYSCAN:
+0029A5 904E8E            MOV      DPTR,#i
+0029A8 E0                MOVX     A,@DPTR
+0029A9 FF                MOV      R7,A
+0029AA 900681            MOV      DPTR,#col
+0029AD 93                MOVC     A,@A+DPTR
+0029AE 7002              JNZ      $ + 4H
+0029B0 4172              AJMP     ?C0067?KEYSCAN
+  330: 	{
+  331: 		temp = ksSelMapCurr[i];
+0029B2 74BC              MOV      A,#LOW ksSelMapCurr
+0029B4 2F                ADD      A,R7
+0029B5 F582              MOV      DPL,A
+0029B7 E4                CLR      A
+0029B8 344D              ADDC     A,#HIGH ksSelMapCurr
+0029BA F583              MOV      DPH,A
+0029BC E0                MOVX     A,@DPTR
+0029BD 904E91            MOV      DPTR,#temp
+0029C0 F0                MOVX     @DPTR,A
+  332: 		rawCount = bit_count(temp);
+0029C1 E0                MOVX     A,@DPTR
+0029C2 FF                MOV      R7,A
+0029C3 718D              ACALL    _bit_count
+0029C5 904E98            MOV      DPTR,#rawCount
+0029C8 EF                MOV      A,R7
+0029C9 F0                MOVX     @DPTR,A
+  333: 		if(rawCount >= 2)		// col[i] has more than two key press
+0029CA C3                CLR      C
+0029CB 9402              SUBB     A,#02H
+0029CD 5002              JNC      $ + 4H
+0029CF 415B              AJMP     ?C0069?KEYSCAN
+  334: 		{
+  335: 			for(j=0 ; j<8 ;j++)
+0029D1 E4                CLR      A
+0029D2 904E8F            MOV      DPTR,#j
+0029D5 F0                MOVX     @DPTR,A
+0029D6         ?C0070?KEYSCAN:
+0029D6 904E8F            MOV      DPTR,#j
+0029D9 E0                MOVX     A,@DPTR
+0029DA FF                MOV      R7,A
+0029DB C3                CLR      C
+0029DC 9408              SUBB     A,#08H
+0029DE 507B              JNC      ?C0069?KEYSCAN
+  336: 			{
+  337: 				if(temp & (1<<j))	// Ci_Rj press
+0029E0 7401              MOV      A,#01H
+0029E2 7E00              MOV      R6,#00H
+0029E4 A807              MOV      R0,AR7
+0029E6 08                INC      R0
+0029E7 8005              SJMP     ?C0108?KEYSCAN
+0029E9         ?C0107?KEYSCAN:
+0029E9 C3                CLR      C
+0029EA 33                RLC      A
+0029EB CE                XCH      A,R6
+0029EC 33                RLC      A
+0029ED CE                XCH      A,R6
+0029EE         ?C0108?KEYSCAN:
+0029EE D8F9              DJNZ     R0,?C0107?KEYSCAN
+0029F0 FF                MOV      R7,A
+0029F1 904E91            MOV      DPTR,#temp
+0029F4 E0                MOVX     A,@DPTR
+0029F5 FD                MOV      R5,A
+0029F6 E4                CLR      A
+0029F7 EF                MOV      A,R7
+0029F8 5D                ANL      A,R5
+0029F9 6058              JZ       ?C0072?KEYSCAN
+  338: 				{
+  339: 					for(k=0 ; col[k]!=0; k++)
+0029FB E4                CLR      A
+0029FC 904E90            MOV      DPTR,#k
+0029FF F0                MOVX     @DPTR,A
+002A00         ?C0074?KEYSCAN:
+002A00 904E90            MOV      DPTR,#k
+002A03 E0                MOVX     A,@DPTR
+002A04 FF                MOV      R7,A
+002A05 900681            MOV      DPTR,#col
+002A08 93                MOVC     A,@A+DPTR
+002A09 6048              JZ       ?C0072?KEYSCAN
+  340: 					{
+  341: 						if(k!= i)
+002A0B 904E8E            MOV      DPTR,#i
+002A0E E0                MOVX     A,@DPTR
+002A0F FE                MOV      R6,A
+002A10 EF                MOV      A,R7
+002A11 6E                XRL      A,R6
+002A12 6037              JZ       ?C0076?KEYSCAN
+  342: 						{
+  343: 							if(ksSelMapCurr[k] & (1<<j))	// R line has another key press
+002A14 904E90            MOV      DPTR,#k
+002A17 E0                MOVX     A,@DPTR
+002A18 24BC              ADD      A,#LOW ksSelMapCurr
+002A1A F582              MOV      DPL,A
+002A1C E4                CLR      A
+002A1D 344D              ADDC     A,#HIGH ksSelMapCurr
+002A1F F583              MOV      DPH,A
+002A21 E0                MOVX     A,@DPTR
+002A22 FD                MOV      R5,A
+002A23 7C00              MOV      R4,#00H
+002A25 904E8F            MOV      DPTR,#j
+002A28 E0                MOVX     A,@DPTR
+002A29 FF                MOV      R7,A
+002A2A 7401              MOV      A,#01H
+002A2C 7E00              MOV      R6,#00H
+002A2E A807              MOV      R0,AR7
+002A30 08                INC      R0
+002A31 8005              SJMP     ?C0110?KEYSCAN
+002A33         ?C0109?KEYSCAN:
+002A33 C3                CLR      C
+002A34 33                RLC      A
+002A35 CE                XCH      A,R6
+002A36 33                RLC      A
+002A37 CE                XCH      A,R6
+002A38         ?C0110?KEYSCAN:
+002A38 D8F9              DJNZ     R0,?C0109?KEYSCAN
+002A3A FF                MOV      R7,A
+002A3B EE                MOV      A,R6
+002A3C 5C                ANL      A,R4
+002A3D FE                MOV      R6,A
+002A3E EF                MOV      A,R7
+002A3F 5D                ANL      A,R5
+002A40 4E                ORL      A,R6
+002A41 6008              JZ       ?C0076?KEYSCAN
+  344: 							{
+  345: 								ghost = 1;
+002A43 904E97            MOV      DPTR,#ghost
+002A46 7401              MOV      A,#01H
+002A48 F0                MOVX     @DPTR,A
+  346: 								break;
+002A49 8008              SJMP     ?C0072?KEYSCAN
+  347: 							}	
+  348: 						}
+  349: 					}
+002A4B         ?C0076?KEYSCAN:
+002A4B 904E90            MOV      DPTR,#k
+002A4E E0                MOVX     A,@DPTR
+002A4F 04                INC      A
+002A50 F0                MOVX     @DPTR,A
+002A51 80AD              SJMP     ?C0074?KEYSCAN
+  350: 				}
+  351: 			}
+002A53         ?C0072?KEYSCAN:
+002A53 904E8F            MOV      DPTR,#j
+002A56 E0                MOVX     A,@DPTR
+002A57 04                INC      A
+002A58 F0                MOVX     @DPTR,A
+002A59 21D6              AJMP     ?C0070?KEYSCAN
+  352: 		}
+002A5B         ?C0069?KEYSCAN:
+  353: 		
+  354: 		if (temp!=0)
+002A5B 904E91            MOV      DPTR,#temp
+002A5E E0                MOVX     A,@DPTR
+002A5F FF                MOV      R7,A
+002A60 6008              JZ       ?C0068?KEYSCAN
+  355: 		{
+  356: 			keyCounttemp += bit_count(temp);
+002A62 718D              ACALL    _bit_count
+002A64 904E95            MOV      DPTR,#keyCounttemp
+002A67 E0                MOVX     A,@DPTR
+002A68 2F                ADD      A,R7
+002A69 F0                MOVX     @DPTR,A
+  357: 		}
+  358: 	}
+002A6A         ?C0068?KEYSCAN:
+002A6A 904E8E            MOV      DPTR,#i
+002A6D E0                MOVX     A,@DPTR
+002A6E 04                INC      A
+002A6F F0                MOVX     @DPTR,A
+002A70 21A5              AJMP     ?C0066?KEYSCAN
+002A72         ?C0067?KEYSCAN:
+  359: 	keyCount = keyCounttemp;
+002A72 904E95            MOV      DPTR,#keyCounttemp
+002A75 E0                MOVX     A,@DPTR
+002A76 904DE9            MOV      DPTR,#keyCount
+002A79 F0                MOVX     @DPTR,A
+  360: 	
+  361: 	for (i=0; col[i]!=0; i++)
+002A7A E4                CLR      A
+002A7B 904E8E            MOV      DPTR,#i
+002A7E F0                MOVX     @DPTR,A
+002A7F         ?C0080?KEYSCAN:
+002A7F 904E8E            MOV      DPTR,#i
+002A82 E0                MOVX     A,@DPTR
+002A83 FF                MOV      R7,A
+002A84 900681            MOV      DPTR,#col
+002A87 93                MOVC     A,@A+DPTR
+002A88 7002              JNZ      $ + 4H
+002A8A 6161              AJMP     ?C0081?KEYSCAN
+  362: 	{
+  363: 		temp = ksSelMapCurr[i] ^ ksSelMapOld[i];
+002A8C 7493              MOV      A,#LOW ksSelMapOld
+002A8E 2F                ADD      A,R7
+002A8F F582              MOV      DPL,A
+002A91 E4                CLR      A
+002A92 344D              ADDC     A,#HIGH ksSelMapOld
+002A94 F583              MOV      DPH,A
+002A96 E0                MOVX     A,@DPTR
+002A97 FE                MOV      R6,A
+002A98 74BC              MOV      A,#LOW ksSelMapCurr
+002A9A 2F                ADD      A,R7
+002A9B F582              MOV      DPL,A
+002A9D E4                CLR      A
+002A9E 344D              ADDC     A,#HIGH ksSelMapCurr
+002AA0 F583              MOV      DPH,A
+002AA2 E0                MOVX     A,@DPTR
+002AA3 6E                XRL      A,R6
+002AA4 904E91            MOV      DPTR,#temp
+002AA7 F0                MOVX     @DPTR,A
+  364: 		state = ksSelMapCurr[i];
+002AA8 904E8E            MOV      DPTR,#i
+002AAB E0                MOVX     A,@DPTR
+002AAC FF                MOV      R7,A
+002AAD 24BC              ADD      A,#LOW ksSelMapCurr
+002AAF F582              MOV      DPL,A
+002AB1 E4                CLR      A
+002AB2 344D              ADDC     A,#HIGH ksSelMapCurr
+002AB4 F583              MOV      DPH,A
+002AB6 E0                MOVX     A,@DPTR
+002AB7 904E94            MOV      DPTR,#state
+002ABA F0                MOVX     @DPTR,A
+  365: 		if (temp == 0) 
+002ABB 904E91            MOV      DPTR,#temp
+002ABE E0                MOVX     A,@DPTR
+002ABF 7004              JNZ      ?C0083?KEYSCAN
+  366: 		{
+  367: 			continue;
+002AC1 6159              AJMP     ?C0082?KEYSCAN
+  368: 		}
+002AC3 6159              AJMP     ?C0082?KEYSCAN
+002AC5         ?C0083?KEYSCAN:
+  369: 		else 
+  370: 		{
+  371: 
+  372: 			if (ghost) 
+002AC5 904E97            MOV      DPTR,#ghost
+002AC8 E0                MOVX     A,@DPTR
+002AC9 6007              JZ       ?C0085?KEYSCAN
+  373: 				return NULL;
+002ACB 7B00              MOV      R3,#00H
+002ACD 7A00              MOV      R2,#00H
+002ACF 7900              MOV      R1,#00H
+002AD1 22                RET      
+002AD2         ?C0085?KEYSCAN:
+  374: 			ksSelMapOld[i] = ksSelMapCurr[i];
+002AD2 74BC              MOV      A,#LOW ksSelMapCurr
+002AD4 2F                ADD      A,R7
+002AD5 F582              MOV      DPL,A
+002AD7 E4                CLR      A
+002AD8 344D              ADDC     A,#HIGH ksSelMapCurr
+002ADA F583              MOV      DPH,A
+002ADC E0                MOVX     A,@DPTR
+002ADD FE                MOV      R6,A
+002ADE 7493              MOV      A,#LOW ksSelMapOld
+002AE0 2F                ADD      A,R7
+002AE1 F582              MOV      DPL,A
+002AE3 E4                CLR      A
+002AE4 344D              ADDC     A,#HIGH ksSelMapOld
+002AE6 F583              MOV      DPH,A
+002AE8 EE                MOV      A,R6
+002AE9 F0                MOVX     @DPTR,A
+  375: 			for (j = 0 ; j<8 ; j++) 
+002AEA E4                CLR      A
+002AEB 904E8F            MOV      DPTR,#j
+002AEE F0                MOVX     @DPTR,A
+002AEF         ?C0087?KEYSCAN:
+002AEF 904E8F            MOV      DPTR,#j
+002AF2 E0                MOVX     A,@DPTR
+002AF3 FF                MOV      R7,A
+002AF4 C3                CLR      C
+002AF5 9408              SUBB     A,#08H
+002AF7 505A              JNC      ?C0088?KEYSCAN
+  376: 			{
+  377: 				if (temp&1)
+002AF9 904E91            MOV      DPTR,#temp
+002AFC E0                MOVX     A,@DPTR
+002AFD 30E03B            JNB      ACC.0,?C0090?KEYSCAN
+  378: 				{
+  379: 					offset = i<<3 |j;
+002B00 904E8E            MOV      DPTR,#i
+002B03 E0                MOVX     A,@DPTR
+002B04 FE                MOV      R6,A
+002B05 33                RLC      A
+002B06 33                RLC      A
+002B07 33                RLC      A
+002B08 54F8              ANL      A,#0F8H
+002B0A FE                MOV      R6,A
+002B0B EF                MOV      A,R7
+002B0C 4E                ORL      A,R6
+002B0D 904E93            MOV      DPTR,#offset
+002B10 F0                MOVX     @DPTR,A
+  380: 					key_value_temp = key_fn_function(state,ksMap[offset]);
+002B11 A3                INC      DPTR
+002B12 E0                MOVX     A,@DPTR
+002B13 FF                MOV      R7,A
+002B14 904E93            MOV      DPTR,#offset
+002B17 E0                MOVX     A,@DPTR
+002B18 900696            MOV      DPTR,#ksMap
+002B1B 93                MOVC     A,@A+DPTR
+002B1C FD                MOV      R5,A
+002B1D F179              ACALL    _key_fn_function
+002B1F 904E96            MOV      DPTR,#key_value_temp
+002B22 EF                MOV      A,R7
+002B23 F0                MOVX     @DPTR,A
+  381: 					if (state & 1)
+002B24 904E94            MOV      DPTR,#state
+002B27 E0                MOVX     A,@DPTR
+002B28 30E009            JNB      ACC.0,?C0091?KEYSCAN
+  382: 					{
+  383: 						keyIn(key_value_temp);
+002B2B 904E96            MOV      DPTR,#key_value_temp
+002B2E E0                MOVX     A,@DPTR
+002B2F FF                MOV      R7,A
+002B30 912D              ACALL    _keyIn
+  384: 					}
+002B32 8007              SJMP     ?C0090?KEYSCAN
+002B34         ?C0091?KEYSCAN:
+  385: 					else
+  386: 					{
+  387: 						keyOut(key_value_temp);
+002B34 904E96            MOV      DPTR,#key_value_temp
+002B37 E0                MOVX     A,@DPTR
+002B38 FF                MOV      R7,A
+002B39 9183              ACALL    _keyOut
+  388: 					}
+  389: 				}
+002B3B         ?C0090?KEYSCAN:
+  390: 				temp = temp >>1;
+002B3B 904E91            MOV      DPTR,#temp
+002B3E E0                MOVX     A,@DPTR
+002B3F FF                MOV      R7,A
+002B40 C3                CLR      C
+002B41 13                RRC      A
+002B42 F0                MOVX     @DPTR,A
+  391: 				state = state>>1;
+002B43 904E94            MOV      DPTR,#state
+002B46 E0                MOVX     A,@DPTR
+002B47 FF                MOV      R7,A
+002B48 C3                CLR      C
+002B49 13                RRC      A
+002B4A F0                MOVX     @DPTR,A
+  392: 			}
+002B4B 904E8F            MOV      DPTR,#j
+002B4E E0                MOVX     A,@DPTR
+002B4F 04                INC      A
+002B50 F0                MOVX     @DPTR,A
+002B51 809C              SJMP     ?C0087?KEYSCAN
+002B53         ?C0088?KEYSCAN:
+  393: 			flag = 1;
+002B53 904E92            MOV      DPTR,#flag
+002B56 7401              MOV      A,#01H
+002B58 F0                MOVX     @DPTR,A
+  394: 		}
+  395: 	}
+002B59         ?C0082?KEYSCAN:
+002B59 904E8E            MOV      DPTR,#i
+002B5C E0                MOVX     A,@DPTR
+002B5D 04                INC      A
+002B5E F0                MOVX     @DPTR,A
+002B5F 417F              AJMP     ?C0080?KEYSCAN
+002B61         ?C0081?KEYSCAN:
+  396: 	
+  397: 	if((mult_key_status == KEY_RELEASE) && (standard_key_release_flag == 1))
+002B61 904E51            MOV      DPTR,#mult_key_status
+002B64 E0                MOVX     A,@DPTR
+002B65 B4030A            CJNE     A,#03H,?C0093?KEYSCAN
+002B68 904DE3            MOV      DPTR,#standard_key_release_flag
+002B6B E0                MOVX     A,@DPTR
+002B6C B40103            CJNE     A,#01H,?C0093?KEYSCAN
+  398: 	{
+  399: 		standard_key_release_flag = 2;		//media key and standard key  release the same time
+002B6F 7402              MOV      A,#02H
+002B71 F0                MOVX     @DPTR,A
+  400: 	}
+002B72         ?C0093?KEYSCAN:
+  401: 
+  402: 	
+  403: 	if (flag || standard_key_release_flag == 2) 
+002B72 904E92            MOV      DPTR,#flag
+002B75 E0                MOVX     A,@DPTR
+002B76 7007              JNZ      ?C0095?KEYSCAN
+002B78 904DE3            MOV      DPTR,#standard_key_release_flag
+002B7B E0                MOVX     A,@DPTR
+002B7C B40207            CJNE     A,#02H,?C0094?KEYSCAN
+002B7F         ?C0095?KEYSCAN:
+  404: 	{
+  405: 		return &ksEvtPool;
+002B7F 7B01              MOV      R3,#01H
+002B81 7A4E              MOV      R2,#HIGH ksEvtPool
+002B83 79AA              MOV      R1,#LOW ksEvtPool
+002B85 22                RET      
+  406: 	}
+002B86         ?C0094?KEYSCAN:
+  407: 	else
+  408: 	{
+  409: 		return NULL;
+002B86 7B00              MOV      R3,#00H
+002B88 7A00              MOV      R2,#00H
+002B8A 7900              MOV      R1,#00H
+  410: 	}
+  411: 	
+  412: 
+  413: }
+002B8C 22                RET      
 ----- FUNCTION KS_GetCurrentEvt (END) -------
 
 
@@ -6610,228 +8345,176 @@
    26: 	unsigned char c;
    27: 	for (c = 0; v; c++) {
 ;---- Variable 'c' assigned to Register 'R6' ----
-002391 E4                CLR      A
-002392 FE                MOV      R6,A
-002393         ?C0001?KEYSCAN:
-002393 EF                MOV      A,R7
-002394 6006              JZ       ?C0002?KEYSCAN
+002B8D E4                CLR      A
+002B8E FE                MOV      R6,A
+002B8F         ?C0001?KEYSCAN:
+002B8F EF                MOV      A,R7
+002B90 6006              JZ       ?C0002?KEYSCAN
    28:     	v &= v - 1;
-002396 14                DEC      A
-002397 5F                ANL      A,R7
-002398 FF                MOV      R7,A
+002B92 14                DEC      A
+002B93 5F                ANL      A,R7
+002B94 FF                MOV      R7,A
    29:     }
-002399 0E                INC      R6
-00239A 80F7              SJMP     ?C0001?KEYSCAN
-00239C         ?C0002?KEYSCAN:
+002B95 0E                INC      R6
+002B96 80F7              SJMP     ?C0001?KEYSCAN
+002B98         ?C0002?KEYSCAN:
    30:     return c;
-00239C AF06              MOV      R7,AR6
+002B98 AF06              MOV      R7,AR6
    31: }
-00239E 22                RET      
+002B9A 22                RET      
 ----- FUNCTION _bit_count (END) -------
 
 
------ FUNCTION kb_motion (BEGIN) -----
- FILE: 'kb_process.c'
-  339: static void kb_motion()
-  340: {
-  341: 	tKSEVENT *pEvt = NULL;
-  342: 	
-00239F 904EE7            MOV      DPTR,#pEvt
-0023A2 E4                CLR      A
-0023A3 F0                MOVX     @DPTR,A
-0023A4 A3                INC      DPTR
-0023A5 F0                MOVX     @DPTR,A
-0023A6 A3                INC      DPTR
-0023A7 F0                MOVX     @DPTR,A
-  343: 	if (!IPC_IsTxBuffEmpty())
-0023A8 71D2              ACALL    IPC_IsTxBuffEmpty
-0023AA 5025              JNC      ?C0076?KB_PROCESS
-0023AC         ?C0075?KB_PROCESS:
-  344: 		return;
-  345: 	pEvt = KS_GetCurrentEvt();
-0023AC 3145              ACALL    KS_GetCurrentEvt
-0023AE 904EE7            MOV      DPTR,#pEvt
-0023B1 EB                MOV      A,R3
-0023B2 F0                MOVX     @DPTR,A
-0023B3 A3                INC      DPTR
-0023B4 EA                MOV      A,R2
-0023B5 F0                MOVX     @DPTR,A
-0023B6 A3                INC      DPTR
-0023B7 E9                MOV      A,R1
-0023B8 F0                MOVX     @DPTR,A
-  346: 
-  347: 	if (pEvt == NULL)
-0023B9 4A                ORL      A,R2
-0023BA 7007              JNZ      ?C0077?KB_PROCESS
-  348: 	{
-  349: 		m_power_on_flag = 1;
-0023BC 904CB6            MOV      DPTR,#m_power_on_flag
-0023BF 04                INC      A
-0023C0 F0                MOVX     @DPTR,A
-  350: 		kb_24g_get_led_status();
-0023C1 8057              SJMP     kb_24g_get_led_status
-  351: 		return;
-  352: 	}
-0023C3         ?C0077?KB_PROCESS:
-  353: 	kb_motion_keyscan(pEvt);
-0023C3 904EE7            MOV      DPTR,#pEvt
-0023C6 E0                MOVX     A,@DPTR
-0023C7 FB                MOV      R3,A
-0023C8 A3                INC      DPTR
-0023C9 E0                MOVX     A,@DPTR
-0023CA FA                MOV      R2,A
-0023CB A3                INC      DPTR
-0023CC E0                MOVX     A,@DPTR
-0023CD F9                MOV      R1,A
-0023CE 1208C0            LCALL    _kb_motion_keyscan
-  354: }
-0023D1         ?C0076?KB_PROCESS:
-0023D1 22                RET      
------ FUNCTION kb_motion (END) -------
-
-
 ----- FUNCTION IPC_IsTxBuffEmpty (BEGIN) -----
-0023D2 904B9C            MOV      DPTR,#ipcTxWritePtr
-0023D5 E0                MOVX     A,@DPTR
-0023D6 FE                MOV      R6,A
-0023D7 A3                INC      DPTR
-0023D8 E0                MOVX     A,@DPTR
-0023D9 FF                MOV      R7,A
-0023DA 904B9A            MOV      DPTR,#ipcTxReadPtr
-0023DD E0                MOVX     A,@DPTR
-0023DE B50607            CJNE     A,AR6,?C0025?IPC
-0023E1 A3                INC      DPTR
-0023E2 E0                MOVX     A,@DPTR
-0023E3 B50702            CJNE     A,AR7,?C0025?IPC
-0023E6 D3                SETB     C
-0023E7 22                RET      
-0023E8         ?C0025?IPC:
-0023E8 C3                CLR      C
-0023E9 22                RET      
+ FILE: 'ipc.c'
+  138: bit IPC_IsTxBuffEmpty()
+  139: {
+  140: 	if (ipcTxReadPtr == ipcTxWritePtr)
+  141: 		return 1;
+002B9B 904B9C            MOV      DPTR,#ipcTxWritePtr
+002B9E E0                MOVX     A,@DPTR
+002B9F FE                MOV      R6,A
+002BA0 A3                INC      DPTR
+002BA1 E0                MOVX     A,@DPTR
+002BA2 FF                MOV      R7,A
+002BA3 904B9A            MOV      DPTR,#ipcTxReadPtr
+002BA6 E0                MOVX     A,@DPTR
+002BA7 B50607            CJNE     A,AR6,?C0025?IPC
+002BAA A3                INC      DPTR
+002BAB E0                MOVX     A,@DPTR
+002BAC B50702            CJNE     A,AR7,?C0025?IPC
+  142: 	return 0;
+002BAF D3                SETB     C
+002BB0 22                RET      
+002BB1         ?C0025?IPC:
+  143: }
+002BB1 C3                CLR      C
+  144: 
+002BB2 22                RET      
 ----- FUNCTION IPC_IsTxBuffEmpty (END) -------
 
 
 ----- FUNCTION _array_is_empty (BEGIN) -----
  FILE: 'keyscan.c'
-  290: byte array_is_empty(byte * str1,byte len)
-  291: {
-0023EA 904EF0            MOV      DPTR,#str1
-0023ED EB                MOV      A,R3
-0023EE F0                MOVX     @DPTR,A
-0023EF A3                INC      DPTR
-0023F0 EA                MOV      A,R2
-0023F1 F0                MOVX     @DPTR,A
-0023F2 A3                INC      DPTR
-0023F3 E9                MOV      A,R1
-0023F4 F0                MOVX     @DPTR,A
+  289: byte array_is_empty(byte * str1,byte len)
+  290: {
+002BB3 904EEF            MOV      DPTR,#str1
+002BB6 EB                MOV      A,R3
+002BB7 F0                MOVX     @DPTR,A
+002BB8 A3                INC      DPTR
+002BB9 EA                MOV      A,R2
+002BBA F0                MOVX     @DPTR,A
+002BBB A3                INC      DPTR
+002BBC E9                MOV      A,R1
+002BBD F0                MOVX     @DPTR,A
 ;---- Variable 'len' assigned to Register 'R5' ----
-  292: 	byte i;
-  293: 	for (i=0;i < len;i++)
+  291: 	byte i;
+  292: 	for (i=0;i < len;i++)
 ;---- Variable 'i' assigned to Register 'R7' ----
-0023F5 E4                CLR      A
-0023F6 FF                MOV      R7,A
-0023F7         ?C0059?KEYSCAN:
-0023F7 EF                MOV      A,R7
-0023F8 C3                CLR      C
-0023F9 9D                SUBB     A,R5
-0023FA 501B              JNC      ?C0060?KEYSCAN
-  294: 	{
-  295: 		if (str1[i] != 0)
-0023FC 904EF0            MOV      DPTR,#str1
-0023FF E0                MOVX     A,@DPTR
-002400 FB                MOV      R3,A
-002401 A3                INC      DPTR
-002402 E0                MOVX     A,@DPTR
-002403 FA                MOV      R2,A
-002404 A3                INC      DPTR
-002405 E0                MOVX     A,@DPTR
-002406 F9                MOV      R1,A
-002407 8F82              MOV      DPL,R7
-002409 758300            MOV      DPH,#00H
-00240C 1203CF            LCALL    ?C?CLDOPTR
-00240F 6003              JZ       ?C0061?KEYSCAN
-  296: 			return 0x00;
-002411 7F00              MOV      R7,#00H
-002413 22                RET      
-  297: 	}
-002414         ?C0061?KEYSCAN:
-002414 0F                INC      R7
-002415 80E0              SJMP     ?C0059?KEYSCAN
-002417         ?C0060?KEYSCAN:
-  298: 	return 0x01;
-002417 7F01              MOV      R7,#01H
-  299: }
-002419 22                RET      
+002BBE E4                CLR      A
+002BBF FF                MOV      R7,A
+002BC0         ?C0059?KEYSCAN:
+002BC0 EF                MOV      A,R7
+002BC1 C3                CLR      C
+002BC2 9D                SUBB     A,R5
+002BC3 501B              JNC      ?C0060?KEYSCAN
+  293: 	{
+  294: 		if (str1[i] != 0)
+002BC5 904EEF            MOV      DPTR,#str1
+002BC8 E0                MOVX     A,@DPTR
+002BC9 FB                MOV      R3,A
+002BCA A3                INC      DPTR
+002BCB E0                MOVX     A,@DPTR
+002BCC FA                MOV      R2,A
+002BCD A3                INC      DPTR
+002BCE E0                MOVX     A,@DPTR
+002BCF F9                MOV      R1,A
+002BD0 8F82              MOV      DPL,R7
+002BD2 758300            MOV      DPH,#00H
+002BD5 1203CF            LCALL    ?C?CLDOPTR
+002BD8 6003              JZ       ?C0061?KEYSCAN
+  295: 			return 0x00;
+002BDA 7F00              MOV      R7,#00H
+002BDC 22                RET      
+  296: 	}
+002BDD         ?C0061?KEYSCAN:
+002BDD 0F                INC      R7
+002BDE 80E0              SJMP     ?C0059?KEYSCAN
+002BE0         ?C0060?KEYSCAN:
+  297: 	return 0x01;
+002BE0 7F01              MOV      R7,#01H
+  298: }
+002BE2 22                RET      
 ----- FUNCTION _array_is_empty (END) -------
 
 
------ FUNCTION kb_24g_get_led_status (BEGIN) -----
- FILE: 'kb_process.c'
-  318: void kb_24g_get_led_status()		//get RF Ack for get numlock/capslock status
-  319: {
-  320: 	if((m_24g_led_flag)&& (repeat_send_24g == 0))
-  321: 	{
-00241A 904D46            MOV      DPTR,#m_24g_led_flag
-00241D E0                MOVX     A,@DPTR
-00241E 604C              JZ       ?C0074?KB_PROCESS
-002420 904DE0            MOV      DPTR,#repeat_send_24g
-002423 E0                MOVX     A,@DPTR
-002424 7046              JNZ      ?C0074?KB_PROCESS
-  322: 		if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
-  323: 		{
-002426 904CC5            MOV      DPTR,#g_variable+06H
-002429 E0                MOVX     A,@DPTR
-00242A 6403              XRL      A,#03H
-00242C 703E              JNZ      ?C0074?KB_PROCESS
-  324: 			if(delayChgInvTimer_last != delayChgInvTimer)
-  325: 			{
-00242E 904DE9            MOV      DPTR,#delayChgInvTimer
-002431 E0                MOVX     A,@DPTR
-002432 FF                MOV      R7,A
-002433 904DF1            MOV      DPTR,#delayChgInvTimer_last
-002436 E0                MOVX     A,@DPTR
-002437 6F                XRL      A,R7
-002438 602A              JZ       ?C0073?KB_PROCESS
-  326: 				xmemclear(hidBuff,9);
-  327: 				mult_key_status = 0;
-00243A 7B01              MOV      R3,#01H
-00243C 7A48              MOV      R2,#HIGH hidBuff
-00243E 7900              MOV      R1,#LOW hidBuff
-002440 7D09              MOV      R5,#09H
-002442 7C00              MOV      R4,#00H
-002444 120D01            LCALL    _xmemclear
-  328: 				hidBuff[0] = HID_REPORTID_1;		// standard key send
-002447 E4                CLR      A
-002448 904E4F            MOV      DPTR,#mult_key_status
-00244B F0                MOVX     @DPTR,A
-  329: 				hidBuff[2] = m_24g_led_flag;
-00244C 904800            MOV      DPTR,#hidBuff
-00244F 04                INC      A
-002450 F0                MOVX     @DPTR,A
-  330: 				IPC_TxHidData(hidBuff, 9);
-002451 904D46            MOV      DPTR,#m_24g_led_flag
-002454 E0                MOVX     A,@DPTR
-002455 904802            MOV      DPTR,#hidBuff+02H
-002458 F0                MOVX     @DPTR,A
-  331: 			}
-002459 7B01              MOV      R3,#01H
-00245B 7A48              MOV      R2,#HIGH hidBuff
-00245D 7900              MOV      R1,#LOW hidBuff
-00245F 7D09              MOV      R5,#09H
-002461 120C1E            LCALL    _IPC_TxHidData
-  332: 			delayChgInvTimer_last = delayChgInvTimer;
-002464         ?C0073?KB_PROCESS:
-  333: 		}	
-002464 904DE9            MOV      DPTR,#delayChgInvTimer
-002467 E0                MOVX     A,@DPTR
-002468 904DF1            MOV      DPTR,#delayChgInvTimer_last
-00246B F0                MOVX     @DPTR,A
-  334: 	}
-  335: }
-  336: 
-00246C         ?C0074?KB_PROCESS:
-00246C 22                RET      
------ FUNCTION kb_24g_get_led_status (END) -------
+----- FUNCTION _compare_str (BEGIN) -----
+ FILE: 'utilities.c'
+   54: byte compare_str(byte * str1, byte * str2, byte len)
+   55: {
+002BE3 904EB1            MOV      DPTR,#str1
+002BE6 EB                MOV      A,R3
+002BE7 F0                MOVX     @DPTR,A
+002BE8 A3                INC      DPTR
+002BE9 EA                MOV      A,R2
+002BEA F0                MOVX     @DPTR,A
+002BEB A3                INC      DPTR
+002BEC E9                MOV      A,R1
+002BED F0                MOVX     @DPTR,A
+   56: 	byte i;
+   57: 	for (i = 0; i < len; i++) {
+;---- Variable 'i' assigned to Register 'R7' ----
+002BEE E4                CLR      A
+002BEF FF                MOV      R7,A
+002BF0         ?C0021?UTILITIES:
+002BF0 904EB7            MOV      DPTR,#len
+002BF3 E0                MOVX     A,@DPTR
+002BF4 FE                MOV      R6,A
+002BF5 EF                MOV      A,R7
+002BF6 C3                CLR      C
+002BF7 9E                SUBB     A,R6
+002BF8 5030              JNC      ?C0022?UTILITIES
+   58: 		if (str1[i] != str2[i])
+002BFA 904EB4            MOV      DPTR,#str2
+002BFD E0                MOVX     A,@DPTR
+002BFE FB                MOV      R3,A
+002BFF A3                INC      DPTR
+002C00 E0                MOVX     A,@DPTR
+002C01 FA                MOV      R2,A
+002C02 A3                INC      DPTR
+002C03 E0                MOVX     A,@DPTR
+002C04 F9                MOV      R1,A
+002C05 8F82              MOV      DPL,R7
+002C07 758300            MOV      DPH,#00H
+002C0A 1203CF            LCALL    ?C?CLDOPTR
+002C0D FE                MOV      R6,A
+002C0E 904EB1            MOV      DPTR,#str1
+002C11 E0                MOVX     A,@DPTR
+002C12 FB                MOV      R3,A
+002C13 A3                INC      DPTR
+002C14 E0                MOVX     A,@DPTR
+002C15 FA                MOV      R2,A
+002C16 A3                INC      DPTR
+002C17 E0                MOVX     A,@DPTR
+002C18 F9                MOV      R1,A
+002C19 8F82              MOV      DPL,R7
+002C1B 758300            MOV      DPH,#00H
+002C1E 1203CF            LCALL    ?C?CLDOPTR
+002C21 6E                XRL      A,R6
+002C22 6003              JZ       ?C0023?UTILITIES
+   59: 			return 0x00;
+002C24 7F00              MOV      R7,#00H
+002C26 22                RET      
+   60: 	}
+002C27         ?C0023?UTILITIES:
+002C27 0F                INC      R7
+002C28 80C6              SJMP     ?C0021?UTILITIES
+002C2A         ?C0022?UTILITIES:
+   61: 	return 0x01;
+002C2A 7F01              MOV      R7,#01H
+   62: }
+002C2C 22                RET      
+----- FUNCTION _compare_str (END) -------
 
 
 ----- FUNCTION _keyIn (BEGIN) -----
@@ -6842,41 +8525,41 @@
    37: 	byte i = 0;
    38: 
 ;---- Variable 'i' assigned to Register 'R6' ----
-00246D E4                CLR      A
-00246E FE                MOV      R6,A
+002C2D E4                CLR      A
+002C2E FE                MOV      R6,A
    39: 	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
-00246F EF                MOV      A,R7
-002470 C3                CLR      C
-002471 94E0              SUBB     A,#0E0H
-002473 4020              JC       ?C0005?KEYSCAN
-002475 EF                MOV      A,R7
-002476 D3                SETB     C
-002477 94E7              SUBB     A,#0E7H
-002479 501A              JNC      ?C0005?KEYSCAN
+002C2F EF                MOV      A,R7
+002C30 C3                CLR      C
+002C31 94E0              SUBB     A,#0E0H
+002C33 4020              JC       ?C0005?KEYSCAN
+002C35 EF                MOV      A,R7
+002C36 D3                SETB     C
+002C37 94E7              SUBB     A,#0E7H
+002C39 501A              JNC      ?C0005?KEYSCAN
    40: 	{
    41: 		ksEvtPool.standardSel  |=  0x01 << (key & 0x07);
-00247B 904EA8            MOV      DPTR,#ksEvtPool
-00247E E0                MOVX     A,@DPTR
-00247F FE                MOV      R6,A
-002480 EF                MOV      A,R7
-002481 5407              ANL      A,#07H
-002483 FF                MOV      R7,A
-002484 7401              MOV      A,#01H
-002486 A807              MOV      R0,AR7
-002488 08                INC      R0
-002489 8002              SJMP     ?C0098?KEYSCAN
-00248B         ?C0097?KEYSCAN:
-00248B C3                CLR      C
-00248C 33                RLC      A
-00248D         ?C0098?KEYSCAN:
-00248D D8FC              DJNZ     R0,?C0097?KEYSCAN
-00248F 4E                ORL      A,R6
-002490 904EA8            MOV      DPTR,#ksEvtPool
-002493 F0                MOVX     @DPTR,A
-002494 22                RET      
+002C3B 904EAA            MOV      DPTR,#ksEvtPool
+002C3E E0                MOVX     A,@DPTR
+002C3F FE                MOV      R6,A
+002C40 EF                MOV      A,R7
+002C41 5407              ANL      A,#07H
+002C43 FF                MOV      R7,A
+002C44 7401              MOV      A,#01H
+002C46 A807              MOV      R0,AR7
+002C48 08                INC      R0
+002C49 8002              SJMP     ?C0098?KEYSCAN
+002C4B         ?C0097?KEYSCAN:
+002C4B C3                CLR      C
+002C4C 33                RLC      A
+002C4D         ?C0098?KEYSCAN:
+002C4D D8FC              DJNZ     R0,?C0097?KEYSCAN
+002C4F 4E                ORL      A,R6
+002C50 904EAA            MOV      DPTR,#ksEvtPool
+002C53 F0                MOVX     @DPTR,A
+002C54 22                RET      
    42: 		return;
    43: 	}
-002495         ?C0005?KEYSCAN:
+002C55         ?C0005?KEYSCAN:
    44: /*
    45: 
    46: 	if (key == HID_KEY_RIGHT_GUI)
@@ -6923,52 +8606,52 @@
    87: 	//special key
    88: 
    89: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
-002495 E4                CLR      A
-002496 FE                MOV      R6,A
-002497         ?C0007?KEYSCAN:
+002C55 E4                CLR      A
+002C56 FE                MOV      R6,A
+002C57         ?C0007?KEYSCAN:
    90: 	{
    91: 		if (ksEvtPool.ksPool[i] == key)
-002497 74A9              MOV      A,#LOW ksEvtPool+01H
-002499 2E                ADD      A,R6
-00249A F582              MOV      DPL,A
-00249C E4                CLR      A
-00249D 344E              ADDC     A,#HIGH ksEvtPool+01H
-00249F F583              MOV      DPH,A
-0024A1 E0                MOVX     A,@DPTR
-0024A2 FD                MOV      R5,A
-0024A3 6F                XRL      A,R7
-0024A4 601C              JZ       ?C0006?KEYSCAN
+002C57 74AB              MOV      A,#LOW ksEvtPool+01H
+002C59 2E                ADD      A,R6
+002C5A F582              MOV      DPL,A
+002C5C E4                CLR      A
+002C5D 344E              ADDC     A,#HIGH ksEvtPool+01H
+002C5F F583              MOV      DPH,A
+002C61 E0                MOVX     A,@DPTR
+002C62 FD                MOV      R5,A
+002C63 6F                XRL      A,R7
+002C64 601C              JZ       ?C0006?KEYSCAN
    92: 			break;
-0024A6         ?C0010?KEYSCAN:
+002C66         ?C0010?KEYSCAN:
    93: 		if (ksEvtPool.ksPool[i] == 0) 
-0024A6 ED                MOV      A,R5
-0024A7 7014              JNZ      ?C0009?KEYSCAN
+002C66 ED                MOV      A,R5
+002C67 7014              JNZ      ?C0009?KEYSCAN
    94: 		{
    95: 			if(mult_key_value != key)
-0024A9 904DF0            MOV      DPTR,#mult_key_value
-0024AC E0                MOVX     A,@DPTR
-0024AD 6F                XRL      A,R7
-0024AE 6012              JZ       ?C0006?KEYSCAN
+002C69 904DF2            MOV      DPTR,#mult_key_value
+002C6C E0                MOVX     A,@DPTR
+002C6D 6F                XRL      A,R7
+002C6E 6012              JZ       ?C0006?KEYSCAN
    96: 				ksEvtPool.ksPool[i] = key;
-0024B0 74A9              MOV      A,#LOW ksEvtPool+01H
-0024B2 2E                ADD      A,R6
-0024B3 F582              MOV      DPL,A
-0024B5 E4                CLR      A
-0024B6 344E              ADDC     A,#HIGH ksEvtPool+01H
-0024B8 F583              MOV      DPH,A
-0024BA EF                MOV      A,R7
-0024BB F0                MOVX     @DPTR,A
+002C70 74AB              MOV      A,#LOW ksEvtPool+01H
+002C72 2E                ADD      A,R6
+002C73 F582              MOV      DPL,A
+002C75 E4                CLR      A
+002C76 344E              ADDC     A,#HIGH ksEvtPool+01H
+002C78 F583              MOV      DPH,A
+002C7A EF                MOV      A,R7
+002C7B F0                MOVX     @DPTR,A
    97: 			break;
-0024BC 22                RET      
+002C7C 22                RET      
    98: 		}
    99: 	}
-0024BD         ?C0009?KEYSCAN:
-0024BD 0E                INC      R6
-0024BE EE                MOV      A,R6
-0024BF B406D5            CJNE     A,#06H,?C0007?KEYSCAN
+002C7D         ?C0009?KEYSCAN:
+002C7D 0E                INC      R6
+002C7E EE                MOV      A,R6
+002C7F B406D5            CJNE     A,#06H,?C0007?KEYSCAN
   100: }
-0024C2         ?C0006?KEYSCAN:
-0024C2 22                RET      
+002C82         ?C0006?KEYSCAN:
+002C82 22                RET      
 ----- FUNCTION _keyIn (END) -------
 
 
@@ -6980,75 +8663,75 @@
   104: 	byte i = 0 ;
   105: 	byte found = 0;
 ;---- Variable 'i' assigned to Register 'R6' ----
-0024C3 E4                CLR      A
-0024C4 FE                MOV      R6,A
+002C83 E4                CLR      A
+002C84 FE                MOV      R6,A
   106: 
 ;---- Variable 'found' assigned to Register 'R5' ----
-0024C5 FD                MOV      R5,A
+002C85 FD                MOV      R5,A
   107: 	if ((key &0xF0) == 0xf0 || (key &0xD0) == 0xD0)
-0024C6 EF                MOV      A,R7
-0024C7 54F0              ANL      A,#0F0H
-0024C9 64F0              XRL      A,#0F0H
-0024CB 6007              JZ       ?C0014?KEYSCAN
-0024CD EF                MOV      A,R7
-0024CE 54D0              ANL      A,#0D0H
-0024D0 FC                MOV      R4,A
-0024D1 BCD00C            CJNE     R4,#0D0H,?C0013?KEYSCAN
-0024D4         ?C0014?KEYSCAN:
+002C86 EF                MOV      A,R7
+002C87 54F0              ANL      A,#0F0H
+002C89 64F0              XRL      A,#0F0H
+002C8B 6007              JZ       ?C0014?KEYSCAN
+002C8D EF                MOV      A,R7
+002C8E 54D0              ANL      A,#0D0H
+002C90 FC                MOV      R4,A
+002C91 BCD00C            CJNE     R4,#0D0H,?C0013?KEYSCAN
+002C94         ?C0014?KEYSCAN:
   108: 	{
   109: 		if(mult_key_status == KEY_WAIT_RELEASE)
-0024D4 904E4F            MOV      DPTR,#mult_key_status
-0024D7 E0                MOVX     A,@DPTR
-0024D8 B4020B            CJNE     A,#02H,?C0016?KEYSCAN
+002C94 904E51            MOV      DPTR,#mult_key_status
+002C97 E0                MOVX     A,@DPTR
+002C98 B4020B            CJNE     A,#02H,?C0016?KEYSCAN
   110: 		{
   111: 			mult_key_status = KEY_RELEASE;
-0024DB 7403              MOV      A,#03H
-0024DD F0                MOVX     @DPTR,A
+002C9B 7403              MOV      A,#03H
+002C9D F0                MOVX     @DPTR,A
   112: 		}
   113: 	}
-0024DE 8006              SJMP     ?C0016?KEYSCAN
-0024E0         ?C0013?KEYSCAN:
+002C9E 8006              SJMP     ?C0016?KEYSCAN
+002CA0         ?C0013?KEYSCAN:
   114: 	else
   115: 		standard_key_release_flag = 1;
-0024E0 904DE2            MOV      DPTR,#standard_key_release_flag
-0024E3 7401              MOV      A,#01H
-0024E5 F0                MOVX     @DPTR,A
-0024E6         ?C0016?KEYSCAN:
+002CA0 904DE3            MOV      DPTR,#standard_key_release_flag
+002CA3 7401              MOV      A,#01H
+002CA5 F0                MOVX     @DPTR,A
+002CA6         ?C0016?KEYSCAN:
   116: 
   117: 	if(key >= HID_KEY_LEFT_CTL && key <= HID_KEY_RIGHT_GUI)
-0024E6 EF                MOV      A,R7
-0024E7 C3                CLR      C
-0024E8 94E0              SUBB     A,#0E0H
-0024EA 4021              JC       ?C0017?KEYSCAN
-0024EC EF                MOV      A,R7
-0024ED D3                SETB     C
-0024EE 94E7              SUBB     A,#0E7H
-0024F0 501B              JNC      ?C0017?KEYSCAN
+002CA6 EF                MOV      A,R7
+002CA7 C3                CLR      C
+002CA8 94E0              SUBB     A,#0E0H
+002CAA 4021              JC       ?C0017?KEYSCAN
+002CAC EF                MOV      A,R7
+002CAD D3                SETB     C
+002CAE 94E7              SUBB     A,#0E7H
+002CB0 501B              JNC      ?C0017?KEYSCAN
   118: 	{
   119: 		ksEvtPool.standardSel  &= ~(0x01 << (key & 0x07));
-0024F2 904EA8            MOV      DPTR,#ksEvtPool
-0024F5 E0                MOVX     A,@DPTR
-0024F6 FE                MOV      R6,A
-0024F7 EF                MOV      A,R7
-0024F8 5407              ANL      A,#07H
-0024FA FF                MOV      R7,A
-0024FB 7401              MOV      A,#01H
-0024FD A807              MOV      R0,AR7
-0024FF 08                INC      R0
-002500 8002              SJMP     ?C0100?KEYSCAN
-002502         ?C0099?KEYSCAN:
-002502 C3                CLR      C
-002503 33                RLC      A
-002504         ?C0100?KEYSCAN:
-002504 D8FC              DJNZ     R0,?C0099?KEYSCAN
-002506 F4                CPL      A
-002507 5E                ANL      A,R6
-002508 904EA8            MOV      DPTR,#ksEvtPool
-00250B F0                MOVX     @DPTR,A
-00250C 22                RET      
+002CB2 904EAA            MOV      DPTR,#ksEvtPool
+002CB5 E0                MOVX     A,@DPTR
+002CB6 FE                MOV      R6,A
+002CB7 EF                MOV      A,R7
+002CB8 5407              ANL      A,#07H
+002CBA FF                MOV      R7,A
+002CBB 7401              MOV      A,#01H
+002CBD A807              MOV      R0,AR7
+002CBF 08                INC      R0
+002CC0 8002              SJMP     ?C0100?KEYSCAN
+002CC2         ?C0099?KEYSCAN:
+002CC2 C3                CLR      C
+002CC3 33                RLC      A
+002CC4         ?C0100?KEYSCAN:
+002CC4 D8FC              DJNZ     R0,?C0099?KEYSCAN
+002CC6 F4                CPL      A
+002CC7 5E                ANL      A,R6
+002CC8 904EAA            MOV      DPTR,#ksEvtPool
+002CCB F0                MOVX     @DPTR,A
+002CCC 22                RET      
   120: 		return;
   121: 	}
-00250D         ?C0017?KEYSCAN:
+002CCD         ?C0017?KEYSCAN:
   122: 	
   123: 
   124: /*
@@ -7094,1805 +8777,97 @@
   164: 	}
   165: */	
   166: 	for (i=0 ; i<KS_BUFF_POLL_LEN ; i++) 
-00250D E4                CLR      A
-00250E FE                MOV      R6,A
-00250F         ?C0019?KEYSCAN:
+002CCD E4                CLR      A
+002CCE FE                MOV      R6,A
+002CCF         ?C0019?KEYSCAN:
   167: 	{
   168: 		if (found == 0) 
-00250F ED                MOV      A,R5
-002510 7021              JNZ      ?C0022?KEYSCAN
+002CCF ED                MOV      A,R5
+002CD0 7021              JNZ      ?C0022?KEYSCAN
   169: 		{
   170: 			if (ksEvtPool.ksPool[i] == key) {
-002512 74A9              MOV      A,#LOW ksEvtPool+01H
-002514 2E                ADD      A,R6
-002515 F582              MOV      DPL,A
-002517 E4                CLR      A
-002518 344E              ADDC     A,#HIGH ksEvtPool+01H
-00251A F583              MOV      DPH,A
-00251C E0                MOVX     A,@DPTR
-00251D 6F                XRL      A,R7
-00251E 7047              JNZ      ?C0021?KEYSCAN
+002CD2 74AB              MOV      A,#LOW ksEvtPool+01H
+002CD4 2E                ADD      A,R6
+002CD5 F582              MOV      DPL,A
+002CD7 E4                CLR      A
+002CD8 344E              ADDC     A,#HIGH ksEvtPool+01H
+002CDA F583              MOV      DPH,A
+002CDC E0                MOVX     A,@DPTR
+002CDD 6F                XRL      A,R7
+002CDE 7047              JNZ      ?C0021?KEYSCAN
   171: 				if (i == KS_BUFF_POLL_LEN-1) {
-002520 EE                MOV      A,R6
-002521 B4050B            CJNE     A,#05H,?C0024?KEYSCAN
+002CE0 EE                MOV      A,R6
+002CE1 B4050B            CJNE     A,#05H,?C0024?KEYSCAN
   172: 					ksEvtPool.ksPool[i] = 0;
-002524 24A9              ADD      A,#LOW ksEvtPool+01H
-002526 F582              MOV      DPL,A
-002528 E4                CLR      A
-002529 344E              ADDC     A,#HIGH ksEvtPool+01H
-00252B F583              MOV      DPH,A
-00252D E4                CLR      A
-00252E F0                MOVX     @DPTR,A
+002CE4 24AB              ADD      A,#LOW ksEvtPool+01H
+002CE6 F582              MOV      DPL,A
+002CE8 E4                CLR      A
+002CE9 344E              ADDC     A,#HIGH ksEvtPool+01H
+002CEB F583              MOV      DPH,A
+002CED E4                CLR      A
+002CEE F0                MOVX     @DPTR,A
   173: 				}
-00252F         ?C0024?KEYSCAN:
+002CEF         ?C0024?KEYSCAN:
   174: 				found = 1;
-00252F 7D01              MOV      R5,#01H
+002CEF 7D01              MOV      R5,#01H
   175: 			}
   176: 		}
-002531 8034              SJMP     ?C0021?KEYSCAN
-002533         ?C0022?KEYSCAN:
+002CF1 8034              SJMP     ?C0021?KEYSCAN
+002CF3         ?C0022?KEYSCAN:
   177: 		else 
   178: 		{
   179: 			ksEvtPool.ksPool[i-1] = ksEvtPool.ksPool[i];
-002533 74A9              MOV      A,#LOW ksEvtPool+01H
-002535 2E                ADD      A,R6
-002536 F582              MOV      DPL,A
-002538 E4                CLR      A
-002539 344E              ADDC     A,#HIGH ksEvtPool+01H
-00253B F583              MOV      DPH,A
-00253D E0                MOVX     A,@DPTR
-00253E FC                MOV      R4,A
-00253F 74A8              MOV      A,#LOW ksEvtPool
-002541 2E                ADD      A,R6
-002542 F582              MOV      DPL,A
-002544 E4                CLR      A
-002545 344E              ADDC     A,#HIGH ksEvtPool
-002547 F583              MOV      DPH,A
-002549 EC                MOV      A,R4
-00254A F0                MOVX     @DPTR,A
+002CF3 74AB              MOV      A,#LOW ksEvtPool+01H
+002CF5 2E                ADD      A,R6
+002CF6 F582              MOV      DPL,A
+002CF8 E4                CLR      A
+002CF9 344E              ADDC     A,#HIGH ksEvtPool+01H
+002CFB F583              MOV      DPH,A
+002CFD E0                MOVX     A,@DPTR
+002CFE FC                MOV      R4,A
+002CFF 74AA              MOV      A,#LOW ksEvtPool
+002D01 2E                ADD      A,R6
+002D02 F582              MOV      DPL,A
+002D04 E4                CLR      A
+002D05 344E              ADDC     A,#HIGH ksEvtPool
+002D07 F583              MOV      DPH,A
+002D09 EC                MOV      A,R4
+002D0A F0                MOVX     @DPTR,A
   180: 			if (ksEvtPool.ksPool[i] == 0)
-00254B 74A9              MOV      A,#LOW ksEvtPool+01H
-00254D 2E                ADD      A,R6
-00254E F582              MOV      DPL,A
-002550 E4                CLR      A
-002551 344E              ADDC     A,#HIGH ksEvtPool+01H
-002553 F583              MOV      DPH,A
-002555 E0                MOVX     A,@DPTR
-002556 6014              JZ       ?C0018?KEYSCAN
+002D0B 74AB              MOV      A,#LOW ksEvtPool+01H
+002D0D 2E                ADD      A,R6
+002D0E F582              MOV      DPL,A
+002D10 E4                CLR      A
+002D11 344E              ADDC     A,#HIGH ksEvtPool+01H
+002D13 F583              MOV      DPH,A
+002D15 E0                MOVX     A,@DPTR
+002D16 6014              JZ       ?C0018?KEYSCAN
   181: 				break;
-002558         ?C0026?KEYSCAN:
+002D18         ?C0026?KEYSCAN:
   182: 			if (i == KS_BUFF_POLL_LEN-1) {
-002558 EE                MOV      A,R6
-002559 B4050B            CJNE     A,#05H,?C0021?KEYSCAN
+002D18 EE                MOV      A,R6
+002D19 B4050B            CJNE     A,#05H,?C0021?KEYSCAN
   183: 				ksEvtPool.ksPool[i] = 0;
-00255C 24A9              ADD      A,#LOW ksEvtPool+01H
-00255E F582              MOV      DPL,A
-002560 E4                CLR      A
-002561 344E              ADDC     A,#HIGH ksEvtPool+01H
-002563 F583              MOV      DPH,A
-002565 E4                CLR      A
-002566 F0                MOVX     @DPTR,A
+002D1C 24AB              ADD      A,#LOW ksEvtPool+01H
+002D1E F582              MOV      DPL,A
+002D20 E4                CLR      A
+002D21 344E              ADDC     A,#HIGH ksEvtPool+01H
+002D23 F583              MOV      DPH,A
+002D25 E4                CLR      A
+002D26 F0                MOVX     @DPTR,A
   184: 			}
   185: 		}
   186: 	}
-002567         ?C0021?KEYSCAN:
-002567 0E                INC      R6
-002568 EE                MOV      A,R6
-002569 B406A3            CJNE     A,#06H,?C0019?KEYSCAN
+002D27         ?C0021?KEYSCAN:
+002D27 0E                INC      R6
+002D28 EE                MOV      A,R6
+002D29 B406A3            CJNE     A,#06H,?C0019?KEYSCAN
   187: }
-00256C         ?C0018?KEYSCAN:
-00256C 22                RET      
+002D2C         ?C0018?KEYSCAN:
+002D2C 22                RET      
 ----- FUNCTION _keyOut (END) -------
 
 
------ FUNCTION _key_fn_function (BEGIN) -----
- FILE: 'kb_process.c'
-  800: byte key_fn_function(byte state ,byte key_value)
-  801: {
-;---- Variable 'key_value' assigned to Register 'R5' ----
-;---- Variable 'state' assigned to Register 'R7' ----
-  802: 	byte temp = 0;
-  803: 
-00256D E4                CLR      A
-00256E 904F0A            MOV      DPTR,#temp
-002571 F0                MOVX     @DPTR,A
-  804: 	if(state & 1)
-002572 EF                MOV      A,R7
-002573 30E005            JNB      ACC.0,?C0159?KB_PROCESS
-  805: 		g_variable.one_key_press_wait_release_timer = 0;
-002576 E4                CLR      A
-002577 904CF8            MOV      DPTR,#g_variable+039H
-00257A F0                MOVX     @DPTR,A
-00257B         ?C0159?KB_PROCESS:
-  806: 	temp = key_value;
-00257B 904F0A            MOV      DPTR,#temp
-00257E ED                MOV      A,R5
-00257F F0                MOVX     @DPTR,A
-  807: 	
-  808: 	if(g_variable.system_mode != OSMODE_WINDOWS)
-002580 904CC1            MOV      DPTR,#g_variable+02H
-002583 E0                MOVX     A,@DPTR
-002584 602E              JZ       ?C0160?KB_PROCESS
-  809: 	{
-  810: 		if(key_value == HID_KEY_RIGHT_ALT)
-002586 ED                MOV      A,R5
-002587 B4E608            CJNE     A,#0E6H,?C0161?KB_PROCESS
-  811: 			temp = HID_KEY_RIGHT_GUI;
-00258A 904F0A            MOV      DPTR,#temp
-00258D 74E7              MOV      A,#0E7H
-00258F F0                MOVX     @DPTR,A
-002590 8022              SJMP     ?C0160?KB_PROCESS
-002592         ?C0161?KB_PROCESS:
-  812: 		else if(key_value == HID_KEY_RIGHT_CTL)
-002592 ED                MOV      A,R5
-002593 B4E408            CJNE     A,#0E4H,?C0163?KB_PROCESS
-  813: 			temp = HID_KEY_RIGHT_ALT;	
-002596 904F0A            MOV      DPTR,#temp
-002599 74E6              MOV      A,#0E6H
-00259B F0                MOVX     @DPTR,A
-00259C 8016              SJMP     ?C0160?KB_PROCESS
-00259E         ?C0163?KB_PROCESS:
-  814: 		
-  815: 		else if(key_value == HID_KEY_LEFT_GUI)
-00259E ED                MOV      A,R5
-00259F B4E308            CJNE     A,#0E3H,?C0165?KB_PROCESS
-  816: 			temp = HID_KEY_LEFT_ALT;
-0025A2 904F0A            MOV      DPTR,#temp
-0025A5 74E2              MOV      A,#0E2H
-0025A7 F0                MOVX     @DPTR,A
-0025A8 800A              SJMP     ?C0160?KB_PROCESS
-0025AA         ?C0165?KB_PROCESS:
-  817: 		else if(key_value == HID_KEY_LEFT_ALT)
-0025AA ED                MOV      A,R5
-0025AB B4E206            CJNE     A,#0E2H,?C0160?KB_PROCESS
-  818: 			temp = HID_KEY_LEFT_GUI;
-0025AE 904F0A            MOV      DPTR,#temp
-0025B1 74E3              MOV      A,#0E3H
-0025B3 F0                MOVX     @DPTR,A
-  819: 	}
-0025B4         ?C0160?KB_PROCESS:
-  820: 
-  821: 		if((!fast_connect_flag)  && (fn_flag))
-0025B4 904E59            MOV      DPTR,#fast_connect_flag
-0025B7 E0                MOVX     A,@DPTR
-0025B8 6002              JZ       $ + 4H
-0025BA C15E              AJMP     ?C0168?KB_PROCESS
-0025BC 904DE5            MOV      DPTR,#fn_flag
-0025BF E0                MOVX     A,@DPTR
-0025C0 7002              JNZ      $ + 4H
-0025C2 C15E              AJMP     ?C0168?KB_PROCESS
-  822: 		{
-  823: 			switch (key_value)
-0025C4 ED                MOV      A,R5
-0025C5 24C6              ADD      A,#0C6H
-0025C7 B40C00            CJNE     A,#0CH,?C0246?KB_PROCESS
-0025CA         ?C0246?KB_PROCESS:
-0025CA 4002              JC       $ + 4H
-0025CC C15E              AJMP     ?C0168?KB_PROCESS
-0025CE 9025DC            MOV      DPTR,#025DCH
-0025D1 75F003            MOV      B,#03H
-0025D4 A4                MUL      AB
-0025D5 C583              XCH      A,DPH
-0025D7 25F0              ADD      A,B
-0025D9 C583              XCH      A,DPH
-0025DB 73                JMP      @A+DPTR
-0025DC         ?C0247?KB_PROCESS:
-0025DC 022600            LJMP     ?C0170?KB_PROCESS
-0025DF 022608            LJMP     ?C0171?KB_PROCESS
-0025E2 022610            LJMP     ?C0172?KB_PROCESS
-0025E5 022618            LJMP     ?C0173?KB_PROCESS
-0025E8 022620            LJMP     ?C0174?KB_PROCESS
-0025EB 022628            LJMP     ?C0175?KB_PROCESS
-0025EE 022630            LJMP     ?C0176?KB_PROCESS
-0025F1 022638            LJMP     ?C0177?KB_PROCESS
-0025F4 022640            LJMP     ?C0178?KB_PROCESS
-0025F7 022648            LJMP     ?C0179?KB_PROCESS
-0025FA 022650            LJMP     ?C0180?KB_PROCESS
-0025FD 022658            LJMP     ?C0181?KB_PROCESS
-  824: 			{ 	
-  825: 				case HID_KEY_F1:
-002600         ?C0170?KB_PROCESS:
-  826: 					//temp = HID_MULTIKEY_MEDIA;
-  827: 					temp = HID_MULTIKEY_MY_COMPUTER;
-002600 904F0A            MOV      DPTR,#temp
-002603 74F9              MOV      A,#0F9H
-002605 F0                MOVX     @DPTR,A
-  828: 					break;
-002606 8056              SJMP     ?C0168?KB_PROCESS
-  829: 				case HID_KEY_F2:
-002608         ?C0171?KB_PROCESS:
-  830: 					//temp = HID_MULTIKEY_VOL_DOWN;
-  831: 					temp = HID_MULTIKEY_AC_HOME;
-002608 904F0A            MOV      DPTR,#temp
-00260B 74D6              MOV      A,#0D6H
-00260D F0                MOVX     @DPTR,A
-  832: 					break;
-00260E 804E              SJMP     ?C0168?KB_PROCESS
-  833: 				case HID_KEY_F3:
-002610         ?C0172?KB_PROCESS:
-  834: 					//temp = HID_MULTIKEY_VOL_UP;
-  835: 					temp = HID_MULTIKEY_MAIL;
-002610 904F0A            MOV      DPTR,#temp
-002613 74FA              MOV      A,#0FAH
-002615 F0                MOVX     @DPTR,A
-  836: 					break;
-002616 8046              SJMP     ?C0168?KB_PROCESS
-  837: 				case HID_KEY_F4:
-002618         ?C0173?KB_PROCESS:
-  838: 					//temp = HID_MULTIKEY_MUTE;
-  839: 					temp = HID_MULTIKEY_CALCULATOR;
-002618 904F0A            MOV      DPTR,#temp
-00261B 74FB              MOV      A,#0FBH
-00261D F0                MOVX     @DPTR,A
-  840: 					break;
-00261E 803E              SJMP     ?C0168?KB_PROCESS
-  841: 				case HID_KEY_F5:
-002620         ?C0174?KB_PROCESS:
-  842: 					//temp = HID_MULTIKEY_PRE_TRACK;
-  843: 					temp = HID_MULTIKEY_MEDIA;
-002620 904F0A            MOV      DPTR,#temp
-002623 74F1              MOV      A,#0F1H
-002625 F0                MOVX     @DPTR,A
-  844: 					break;
-002626 8036              SJMP     ?C0168?KB_PROCESS
-  845: 				case HID_KEY_F6:
-002628         ?C0175?KB_PROCESS:
-  846: 					//temp = HID_MULTIKEY_NEXT_TRACK;
-  847: 					temp = HID_MULTIKEY_STOP;
-002628 904F0A            MOV      DPTR,#temp
-00262B 74F3              MOV      A,#0F3H
-00262D F0                MOVX     @DPTR,A
-  848: 					break;
-00262E 802E              SJMP     ?C0168?KB_PROCESS
-  849: 				case HID_KEY_F7:
-002630         ?C0176?KB_PROCESS:
-  850: 					//temp = HID_MULTIKEY_PALY;
-  851: 					temp = HID_MULTIKEY_PRE_TRACK;
-002630 904F0A            MOV      DPTR,#temp
-002633 74F4              MOV      A,#0F4H
-002635 F0                MOVX     @DPTR,A
-  852: 					break;	
-002636 8026              SJMP     ?C0168?KB_PROCESS
-  853: 				case HID_KEY_F8:
-002638         ?C0177?KB_PROCESS:
-  854: 					//temp = HID_MULTIKEY_STOP;
-  855: 					temp = HID_MULTIKEY_PALY;
-002638 904F0A            MOV      DPTR,#temp
-00263B 74F2              MOV      A,#0F2H
-00263D F0                MOVX     @DPTR,A
-  856: 					break;
-00263E 801E              SJMP     ?C0168?KB_PROCESS
-  857: 				case HID_KEY_F9:
-002640         ?C0178?KB_PROCESS:
-  858: 					//temp = HID_MULTIKEY_AC_HOME;
-  859: 					temp = HID_MULTIKEY_NEXT_TRACK;
-002640 904F0A            MOV      DPTR,#temp
-002643 74F5              MOV      A,#0F5H
-002645 F0                MOVX     @DPTR,A
-  860: 					break;
-002646 8016              SJMP     ?C0168?KB_PROCESS
-  861: 				case HID_KEY_F10:
-002648         ?C0179?KB_PROCESS:
-  862: 					//temp = HID_MULTIKEY_MAIL;
-  863: 					temp = HID_MULTIKEY_MUTE;
-002648 904F0A            MOV      DPTR,#temp
-00264B 74F8              MOV      A,#0F8H
-00264D F0                MOVX     @DPTR,A
-  864: 					break;
-00264E 800E              SJMP     ?C0168?KB_PROCESS
-  865: 				case HID_KEY_F11:
-002650         ?C0180?KB_PROCESS:
-  866: 					//temp = HID_MULTIKEY_MY_COMPUTER;
-  867: 					temp = HID_MULTIKEY_VOL_DOWN;
-002650 904F0A            MOV      DPTR,#temp
-002653 74F6              MOV      A,#0F6H
-002655 F0                MOVX     @DPTR,A
-  868: 					break;
-002656 8006              SJMP     ?C0168?KB_PROCESS
-  869: 				case HID_KEY_F12:
-002658         ?C0181?KB_PROCESS:
-  870: 					//temp = HID_MULTIKEY_AC_FAVORITES;
-  871: 					temp = HID_MULTIKEY_VOL_UP;
-002658 904F0A            MOV      DPTR,#temp
-00265B 74F7              MOV      A,#0F7H
-00265D F0                MOVX     @DPTR,A
-  872: 					break;
-  873: //				case HID_KEY_ESC:
-  874: //					if(g_variable.system_mode == OSMODE_IOS)
-  875: //					{
-  876: //						kb_combination_key_press(state, KS_SEL_LGUI, HID_KEY_H);
-  877: //						temp = HID_KEY_NULL;
-  878: //					}
-  879: //					else	//Windows、Android系统直接发送键值
-  880: //					{
-  881: //						temp = HID_MULTIKEY_AC_HOME;
-  882: //					}
-  883: //					break;
-  884: 				default :
-  885: 					break;
-  886: 			}
-  887: //		}
-  888: 	}
-00265E         ?C0168?KB_PROCESS:
-  889: 	return temp;
-00265E 904F0A            MOV      DPTR,#temp
-002661 E0                MOVX     A,@DPTR
-002662 FF                MOV      R7,A
-  890: }
-002663 22                RET      
------ FUNCTION _key_fn_function (END) -------
-
-
------ FUNCTION _kb_set_multikey (BEGIN) -----
- FILE: 'kb_process.c'
-  194: void kb_set_multikey(word multikey_value)
-  195: {
-;---- Variable 'multikey_value' assigned to Register 'R4/R5' ----
-002664 AD07              MOV      R5,AR7
-002666 AC06              MOV      R4,AR6
-  196: 	if(mult_key_status != KEY_WAIT_RELEASE)
-  197: 	{
-002668 904E4F            MOV      DPTR,#mult_key_status
-00266B E0                MOVX     A,@DPTR
-00266C 6402              XRL      A,#02H
-00266E 600E              JZ       ?C0047?KB_PROCESS
-  198: 		mult_key_status = KEY_MULIT_PRESS;
-  199: 		multikey[0] = HID_REPORTID_2;
-002670 7401              MOV      A,#01H
-002672 F0                MOVX     @DPTR,A
-  200: 		multikey[1] = (multikey_value&0xff);
-002673 904E50            MOV      DPTR,#multikey
-002676 04                INC      A
-002677 F0                MOVX     @DPTR,A
-  201: 		multikey[2] = ((multikey_value>>8)&0xff);
-002678 EF                MOV      A,R7
-002679 A3                INC      DPTR
-00267A F0                MOVX     @DPTR,A
-  202: 	}
-00267B EE                MOV      A,R6
-00267C A3                INC      DPTR
-00267D F0                MOVX     @DPTR,A
-  203: }
-  204: 
-00267E         ?C0047?KB_PROCESS:
-00267E 22                RET      
------ FUNCTION _kb_set_multikey (END) -------
-
-
------ FUNCTION _kb_multikey_setup (BEGIN) -----
- FILE: 'kb_process.c'
-  894: void kb_multikey_setup(tKSEVENT *pEvt)
-  895: {
-00267F 904ED8            MOV      DPTR,#pEvt
-002682 EB                MOV      A,R3
-002683 F0                MOVX     @DPTR,A
-002684 A3                INC      DPTR
-002685 EA                MOV      A,R2
-002686 F0                MOVX     @DPTR,A
-002687 A3                INC      DPTR
-002688 E9                MOV      A,R1
-002689 F0                MOVX     @DPTR,A
-  896: 	byte i = 0;
-  897: 	
-00268A E4                CLR      A
-00268B A3                INC      DPTR
-00268C F0                MOVX     @DPTR,A
-  898: 	for (i = 0;i < 6;i++)
-00268D F0                MOVX     @DPTR,A
-00268E         ?C0184?KB_PROCESS:
-00268E 904EDB            MOV      DPTR,#i
-002691 E0                MOVX     A,@DPTR
-002692 FF                MOV      R7,A
-002693 C3                CLR      C
-002694 9406              SUBB     A,#06H
-002696 4003              JC       $ + 5H
-002698 022998            LJMP     ?C0243?KB_PROCESS
-  899: 	{		
-  900: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
-00269B 904ED8            MOV      DPTR,#pEvt
-00269E E0                MOVX     A,@DPTR
-00269F FB                MOV      R3,A
-0026A0 A3                INC      DPTR
-0026A1 E0                MOVX     A,@DPTR
-0026A2 FA                MOV      R2,A
-0026A3 A3                INC      DPTR
-0026A4 E0                MOVX     A,@DPTR
-0026A5 2401              ADD      A,#01H
-0026A7 F9                MOV      R1,A
-0026A8 E4                CLR      A
-0026A9 3A                ADDC     A,R2
-0026AA FA                MOV      R2,A
-0026AB 7E00              MOV      R6,#00H
-0026AD E9                MOV      A,R1
-0026AE 2F                ADD      A,R7
-0026AF F9                MOV      R1,A
-0026B0 EE                MOV      A,R6
-0026B1 3A                ADDC     A,R2
-0026B2 FA                MOV      R2,A
-0026B3 1203B6            LCALL    ?C?CLDPTR
-0026B6 FF                MOV      R7,A
-0026B7 54F0              ANL      A,#0F0H
-0026B9 64F0              XRL      A,#0F0H
-0026BB 600A              JZ       ?C0188?KB_PROCESS
-0026BD EF                MOV      A,R7
-0026BE 54D0              ANL      A,#0D0H
-0026C0 64D0              XRL      A,#0D0H
-0026C2 6003              JZ       $ + 5H
-0026C4 02298F            LJMP     ?C0186?KB_PROCESS
-0026C7         ?C0188?KB_PROCESS:
-  901: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
-  902: 		{
-  903: 			
-  904: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
-0026C7 1203B6            LCALL    ?C?CLDPTR
-0026CA FB                MOV      R3,A
-0026CB B4F109            CJNE     A,#0F1H,?C0189?KB_PROCESS
-  905: 			{
-  906: 				kb_set_multikey(0x0183); 
-0026CE 7F83              MOV      R7,#083H
-0026D0 7E01              MOV      R6,#01H
-0026D2 D164              ACALL    _kb_set_multikey
-  907: 			}
-0026D4 022964            LJMP     ?C0190?KB_PROCESS
-0026D7         ?C0189?KB_PROCESS:
-  908: 			else
-  909: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
-0026D7 EB                MOV      A,R3
-0026D8 B4F209            CJNE     A,#0F2H,?C0191?KB_PROCESS
-  910: 			{ 
-  911: 				kb_set_multikey(0x00cd);
-0026DB 7FCD              MOV      R7,#0CDH
-0026DD 7E00              MOV      R6,#00H
-0026DF D164              ACALL    _kb_set_multikey
-  912: 			}
-0026E1 022964            LJMP     ?C0190?KB_PROCESS
-0026E4         ?C0191?KB_PROCESS:
-  913: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
-0026E4 904ED8            MOV      DPTR,#pEvt
-0026E7 E0                MOVX     A,@DPTR
-0026E8 FB                MOV      R3,A
-0026E9 A3                INC      DPTR
-0026EA E0                MOVX     A,@DPTR
-0026EB FA                MOV      R2,A
-0026EC A3                INC      DPTR
-0026ED E0                MOVX     A,@DPTR
-0026EE 2401              ADD      A,#01H
-0026F0 F9                MOV      R1,A
-0026F1 E4                CLR      A
-0026F2 3A                ADDC     A,R2
-0026F3 FA                MOV      R2,A
-0026F4 A3                INC      DPTR
-0026F5 E0                MOVX     A,@DPTR
-0026F6 7E00              MOV      R6,#00H
-0026F8 29                ADD      A,R1
-0026F9 F9                MOV      R1,A
-0026FA EE                MOV      A,R6
-0026FB 3A                ADDC     A,R2
-0026FC FA                MOV      R2,A
-0026FD 1203B6            LCALL    ?C?CLDPTR
-002700 FB                MOV      R3,A
-002701 B4F307            CJNE     A,#0F3H,?C0193?KB_PROCESS
-  914: 			{
-  915: 				kb_set_multikey(0x00b7);
-002704 7FB7              MOV      R7,#0B7H
-002706 D164              ACALL    _kb_set_multikey
-  916: 			}	
-002708 022964            LJMP     ?C0190?KB_PROCESS
-00270B         ?C0193?KB_PROCESS:
-  917: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
-00270B EB                MOV      A,R3
-00270C B4F409            CJNE     A,#0F4H,?C0195?KB_PROCESS
-  918: 			{
-  919: 				kb_set_multikey(0x00b6);
-00270F 7FB6              MOV      R7,#0B6H
-002711 7E00              MOV      R6,#00H
-002713 D164              ACALL    _kb_set_multikey
-  920: 			}
-002715 022964            LJMP     ?C0190?KB_PROCESS
-002718         ?C0195?KB_PROCESS:
-  921: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
-002718 904ED8            MOV      DPTR,#pEvt
-00271B E0                MOVX     A,@DPTR
-00271C FB                MOV      R3,A
-00271D A3                INC      DPTR
-00271E E0                MOVX     A,@DPTR
-00271F FA                MOV      R2,A
-002720 A3                INC      DPTR
-002721 E0                MOVX     A,@DPTR
-002722 2401              ADD      A,#01H
-002724 F9                MOV      R1,A
-002725 E4                CLR      A
-002726 3A                ADDC     A,R2
-002727 FA                MOV      R2,A
-002728 A3                INC      DPTR
-002729 E0                MOVX     A,@DPTR
-00272A 7E00              MOV      R6,#00H
-00272C 29                ADD      A,R1
-00272D F9                MOV      R1,A
-00272E EE                MOV      A,R6
-00272F 3A                ADDC     A,R2
-002730 FA                MOV      R2,A
-002731 1203B6            LCALL    ?C?CLDPTR
-002734 FB                MOV      R3,A
-002735 B4F507            CJNE     A,#0F5H,?C0197?KB_PROCESS
-  922: 			{
-  923: 				kb_set_multikey(0x00b5);
-002738 7FB5              MOV      R7,#0B5H
-00273A D164              ACALL    _kb_set_multikey
-  924: 			}
-00273C 022964            LJMP     ?C0190?KB_PROCESS
-00273F         ?C0197?KB_PROCESS:
-  925: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
-00273F EB                MOV      A,R3
-002740 B4F609            CJNE     A,#0F6H,?C0199?KB_PROCESS
-  926: 			{
-  927: 				kb_set_multikey(0x00ea);
-002743 7FEA              MOV      R7,#0EAH
-002745 7E00              MOV      R6,#00H
-002747 D164              ACALL    _kb_set_multikey
-  928: 			}
-002749 022964            LJMP     ?C0190?KB_PROCESS
-00274C         ?C0199?KB_PROCESS:
-  929: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
-00274C 904ED8            MOV      DPTR,#pEvt
-00274F E0                MOVX     A,@DPTR
-002750 FB                MOV      R3,A
-002751 A3                INC      DPTR
-002752 E0                MOVX     A,@DPTR
-002753 FA                MOV      R2,A
-002754 A3                INC      DPTR
-002755 E0                MOVX     A,@DPTR
-002756 2401              ADD      A,#01H
-002758 F9                MOV      R1,A
-002759 E4                CLR      A
-00275A 3A                ADDC     A,R2
-00275B FA                MOV      R2,A
-00275C A3                INC      DPTR
-00275D E0                MOVX     A,@DPTR
-00275E 7E00              MOV      R6,#00H
-002760 29                ADD      A,R1
-002761 F9                MOV      R1,A
-002762 EE                MOV      A,R6
-002763 3A                ADDC     A,R2
-002764 FA                MOV      R2,A
-002765 1203B6            LCALL    ?C?CLDPTR
-002768 FB                MOV      R3,A
-002769 B4F707            CJNE     A,#0F7H,?C0201?KB_PROCESS
-  930: 			{
-  931: 				kb_set_multikey(0x00e9);
-00276C 7FE9              MOV      R7,#0E9H
-00276E D164              ACALL    _kb_set_multikey
-  932: 			}
-002770 022964            LJMP     ?C0190?KB_PROCESS
-002773         ?C0201?KB_PROCESS:
-  933: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
-002773 EB                MOV      A,R3
-002774 B4F809            CJNE     A,#0F8H,?C0203?KB_PROCESS
-  934: 			{
-  935: 				kb_set_multikey(0x00e2);
-002777 7FE2              MOV      R7,#0E2H
-002779 7E00              MOV      R6,#00H
-00277B D164              ACALL    _kb_set_multikey
-  936: 			}
-00277D 022964            LJMP     ?C0190?KB_PROCESS
-002780         ?C0203?KB_PROCESS:
-  937: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
-002780 904ED8            MOV      DPTR,#pEvt
-002783 E0                MOVX     A,@DPTR
-002784 FB                MOV      R3,A
-002785 A3                INC      DPTR
-002786 E0                MOVX     A,@DPTR
-002787 FA                MOV      R2,A
-002788 A3                INC      DPTR
-002789 E0                MOVX     A,@DPTR
-00278A 2401              ADD      A,#01H
-00278C F9                MOV      R1,A
-00278D E4                CLR      A
-00278E 3A                ADDC     A,R2
-00278F FA                MOV      R2,A
-002790 A3                INC      DPTR
-002791 E0                MOVX     A,@DPTR
-002792 7E00              MOV      R6,#00H
-002794 29                ADD      A,R1
-002795 F9                MOV      R1,A
-002796 EE                MOV      A,R6
-002797 3A                ADDC     A,R2
-002798 FA                MOV      R2,A
-002799 1203B6            LCALL    ?C?CLDPTR
-00279C FB                MOV      R3,A
-00279D B4F908            CJNE     A,#0F9H,?C0205?KB_PROCESS
-  938: 			{
-  939: 				kb_set_multikey(0x0194);
-0027A0 7F94              MOV      R7,#094H
-0027A2 0E                INC      R6
-0027A3 D164              ACALL    _kb_set_multikey
-  940: 			}	
-0027A5 022964            LJMP     ?C0190?KB_PROCESS
-0027A8         ?C0205?KB_PROCESS:
-  941: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
-0027A8 EB                MOV      A,R3
-0027A9 B4FA09            CJNE     A,#0FAH,?C0207?KB_PROCESS
-  942: 			{
-  943: 				kb_set_multikey(0x018a);//mail
-0027AC 7F8A              MOV      R7,#08AH
-0027AE 7E01              MOV      R6,#01H
-0027B0 D164              ACALL    _kb_set_multikey
-  944: 			}
-0027B2 022964            LJMP     ?C0190?KB_PROCESS
-0027B5         ?C0207?KB_PROCESS:
-  945: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
-0027B5 904ED8            MOV      DPTR,#pEvt
-0027B8 E0                MOVX     A,@DPTR
-0027B9 FB                MOV      R3,A
-0027BA A3                INC      DPTR
-0027BB E0                MOVX     A,@DPTR
-0027BC FA                MOV      R2,A
-0027BD A3                INC      DPTR
-0027BE E0                MOVX     A,@DPTR
-0027BF 2401              ADD      A,#01H
-0027C1 F9                MOV      R1,A
-0027C2 E4                CLR      A
-0027C3 3A                ADDC     A,R2
-0027C4 FA                MOV      R2,A
-0027C5 A3                INC      DPTR
-0027C6 E0                MOVX     A,@DPTR
-0027C7 7E00              MOV      R6,#00H
-0027C9 29                ADD      A,R1
-0027CA F9                MOV      R1,A
-0027CB EE                MOV      A,R6
-0027CC 3A                ADDC     A,R2
-0027CD FA                MOV      R2,A
-0027CE 1203B6            LCALL    ?C?CLDPTR
-0027D1 FB                MOV      R3,A
-0027D2 B4FB08            CJNE     A,#0FBH,?C0209?KB_PROCESS
-  946: 			{
-  947: 				kb_set_multikey(0x0192);
-0027D5 7F92              MOV      R7,#092H
-0027D7 0E                INC      R6
-0027D8 D164              ACALL    _kb_set_multikey
-  948: 			}
-0027DA 022964            LJMP     ?C0190?KB_PROCESS
-0027DD         ?C0209?KB_PROCESS:
-  949: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
-0027DD EB                MOV      A,R3
-0027DE B4D009            CJNE     A,#0D0H,?C0211?KB_PROCESS
-  950: 			{
-  951: 				kb_set_multikey(0x022a);//www Favorites
-0027E1 7F2A              MOV      R7,#02AH
-0027E3 7E02              MOV      R6,#02H
-0027E5 D164              ACALL    _kb_set_multikey
-  952: 			}
-0027E7 022964            LJMP     ?C0190?KB_PROCESS
-0027EA         ?C0211?KB_PROCESS:
-  953: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
-0027EA 904ED8            MOV      DPTR,#pEvt
-0027ED E0                MOVX     A,@DPTR
-0027EE FB                MOV      R3,A
-0027EF A3                INC      DPTR
-0027F0 E0                MOVX     A,@DPTR
-0027F1 FA                MOV      R2,A
-0027F2 A3                INC      DPTR
-0027F3 E0                MOVX     A,@DPTR
-0027F4 2401              ADD      A,#01H
-0027F6 F9                MOV      R1,A
-0027F7 E4                CLR      A
-0027F8 3A                ADDC     A,R2
-0027F9 FA                MOV      R2,A
-0027FA A3                INC      DPTR
-0027FB E0                MOVX     A,@DPTR
-0027FC 7E00              MOV      R6,#00H
-0027FE 29                ADD      A,R1
-0027FF F9                MOV      R1,A
-002800 EE                MOV      A,R6
-002801 3A                ADDC     A,R2
-002802 FA                MOV      R2,A
-002803 1203B6            LCALL    ?C?CLDPTR
-002806 FB                MOV      R3,A
-002807 B4D109            CJNE     A,#0D1H,?C0213?KB_PROCESS
-  954: 			{
-  955: 				kb_set_multikey(0x0225);
-00280A 7F25              MOV      R7,#025H
-00280C 7E02              MOV      R6,#02H
-00280E 122664            LCALL    _kb_set_multikey
-  956: 			}
-002811 2164              AJMP     ?C0190?KB_PROCESS
-002813         ?C0213?KB_PROCESS:
-  957: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
-002813 EB                MOV      A,R3
-002814 B4D309            CJNE     A,#0D3H,?C0215?KB_PROCESS
-  958: 			{
-  959: 				kb_set_multikey(0x0226);
-002817 7F26              MOV      R7,#026H
-002819 7E02              MOV      R6,#02H
-00281B 122664            LCALL    _kb_set_multikey
-  960: 			}
-00281E 2164              AJMP     ?C0190?KB_PROCESS
-002820         ?C0215?KB_PROCESS:
-  961: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
-002820 904ED8            MOV      DPTR,#pEvt
-002823 E0                MOVX     A,@DPTR
-002824 FB                MOV      R3,A
-002825 A3                INC      DPTR
-002826 E0                MOVX     A,@DPTR
-002827 FA                MOV      R2,A
-002828 A3                INC      DPTR
-002829 E0                MOVX     A,@DPTR
-00282A 2401              ADD      A,#01H
-00282C F9                MOV      R1,A
-00282D E4                CLR      A
-00282E 3A                ADDC     A,R2
-00282F FA                MOV      R2,A
-002830 A3                INC      DPTR
-002831 E0                MOVX     A,@DPTR
-002832 7E00              MOV      R6,#00H
-002834 29                ADD      A,R1
-002835 F9                MOV      R1,A
-002836 EE                MOV      A,R6
-002837 3A                ADDC     A,R2
-002838 FA                MOV      R2,A
-002839 1203B6            LCALL    ?C?CLDPTR
-00283C FB                MOV      R3,A
-00283D B4D209            CJNE     A,#0D2H,?C0217?KB_PROCESS
-  962: 			{
-  963: 				kb_set_multikey(0x0224);
-002840 7F24              MOV      R7,#024H
-002842 7E02              MOV      R6,#02H
-002844 122664            LCALL    _kb_set_multikey
-  964: 			}
-002847 2164              AJMP     ?C0190?KB_PROCESS
-002849         ?C0217?KB_PROCESS:
-  965: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
-002849 EB                MOV      A,R3
-00284A B4D409            CJNE     A,#0D4H,?C0219?KB_PROCESS
-  966: 			{
-  967: 				kb_set_multikey(0x0227);
-00284D 7F27              MOV      R7,#027H
-00284F 7E02              MOV      R6,#02H
-002851 122664            LCALL    _kb_set_multikey
-  968: 			}	
-002854 2164              AJMP     ?C0190?KB_PROCESS
-002856         ?C0219?KB_PROCESS:
-  969: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
-002856 904ED8            MOV      DPTR,#pEvt
-002859 E0                MOVX     A,@DPTR
-00285A FB                MOV      R3,A
-00285B A3                INC      DPTR
-00285C E0                MOVX     A,@DPTR
-00285D FA                MOV      R2,A
-00285E A3                INC      DPTR
-00285F E0                MOVX     A,@DPTR
-002860 2401              ADD      A,#01H
-002862 F9                MOV      R1,A
-002863 E4                CLR      A
-002864 3A                ADDC     A,R2
-002865 FA                MOV      R2,A
-002866 A3                INC      DPTR
-002867 E0                MOVX     A,@DPTR
-002868 7E00              MOV      R6,#00H
-00286A 29                ADD      A,R1
-00286B F9                MOV      R1,A
-00286C EE                MOV      A,R6
-00286D 3A                ADDC     A,R2
-00286E FA                MOV      R2,A
-00286F 1203B6            LCALL    ?C?CLDPTR
-002872 FB                MOV      R3,A
-002873 B4D509            CJNE     A,#0D5H,?C0221?KB_PROCESS
-  970: 			{
-  971: 				kb_set_multikey(0x0221);
-002876 7F21              MOV      R7,#021H
-002878 7E02              MOV      R6,#02H
-00287A 122664            LCALL    _kb_set_multikey
-  972: 			}
-00287D 2164              AJMP     ?C0190?KB_PROCESS
-00287F         ?C0221?KB_PROCESS:
-  973: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
-00287F EB                MOV      A,R3
-002880 B4D609            CJNE     A,#0D6H,?C0223?KB_PROCESS
-  974: 			{
-  975: 				kb_set_multikey(0x0223);
-002883 7F23              MOV      R7,#023H
-002885 7E02              MOV      R6,#02H
-002887 122664            LCALL    _kb_set_multikey
-  976: 			}
-00288A 2164              AJMP     ?C0190?KB_PROCESS
-00288C         ?C0223?KB_PROCESS:
-  977: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
-00288C 904ED8            MOV      DPTR,#pEvt
-00288F E0                MOVX     A,@DPTR
-002890 FB                MOV      R3,A
-002891 A3                INC      DPTR
-002892 E0                MOVX     A,@DPTR
-002893 FA                MOV      R2,A
-002894 A3                INC      DPTR
-002895 E0                MOVX     A,@DPTR
-002896 2401              ADD      A,#01H
-002898 F9                MOV      R1,A
-002899 E4                CLR      A
-00289A 3A                ADDC     A,R2
-00289B FA                MOV      R2,A
-00289C A3                INC      DPTR
-00289D E0                MOVX     A,@DPTR
-00289E 7E00              MOV      R6,#00H
-0028A0 29                ADD      A,R1
-0028A1 F9                MOV      R1,A
-0028A2 EE                MOV      A,R6
-0028A3 3A                ADDC     A,R2
-0028A4 FA                MOV      R2,A
-0028A5 1203B6            LCALL    ?C?CLDPTR
-0028A8 FB                MOV      R3,A
-0028A9 B4D707            CJNE     A,#0D7H,?C0225?KB_PROCESS
-  978: 			{
-  979: 				kb_set_multikey(0x0070);
-0028AC 7F70              MOV      R7,#070H
-0028AE 122664            LCALL    _kb_set_multikey
-  980: 			}
-0028B1 2164              AJMP     ?C0190?KB_PROCESS
-0028B3         ?C0225?KB_PROCESS:
-  981: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
-0028B3 EB                MOV      A,R3
-0028B4 B4D809            CJNE     A,#0D8H,?C0227?KB_PROCESS
-  982: 			{
-  983: 				kb_set_multikey(0x006f);
-0028B7 7F6F              MOV      R7,#06FH
-0028B9 7E00              MOV      R6,#00H
-0028BB 122664            LCALL    _kb_set_multikey
-  984: 			}	
-0028BE 2164              AJMP     ?C0190?KB_PROCESS
-0028C0         ?C0227?KB_PROCESS:
-  985: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_IOS_SOFT_KB)  //IOS VIR KB
-0028C0 904ED8            MOV      DPTR,#pEvt
-0028C3 E0                MOVX     A,@DPTR
-0028C4 FB                MOV      R3,A
-0028C5 A3                INC      DPTR
-0028C6 E0                MOVX     A,@DPTR
-0028C7 FA                MOV      R2,A
-0028C8 A3                INC      DPTR
-0028C9 E0                MOVX     A,@DPTR
-0028CA 2401              ADD      A,#01H
-0028CC F9                MOV      R1,A
-0028CD E4                CLR      A
-0028CE 3A                ADDC     A,R2
-0028CF FA                MOV      R2,A
-0028D0 A3                INC      DPTR
-0028D1 E0                MOVX     A,@DPTR
-0028D2 7E00              MOV      R6,#00H
-0028D4 29                ADD      A,R1
-0028D5 F9                MOV      R1,A
-0028D6 EE                MOV      A,R6
-0028D7 3A                ADDC     A,R2
-0028D8 FA                MOV      R2,A
-0028D9 1203B6            LCALL    ?C?CLDPTR
-0028DC FB                MOV      R3,A
-0028DD B4D907            CJNE     A,#0D9H,?C0229?KB_PROCESS
-  986: 		      	{
-  987: 		        	kb_set_multikey(0x00b8);
-0028E0 7FB8              MOV      R7,#0B8H
-0028E2 122664            LCALL    _kb_set_multikey
-  988: 		      	}
-0028E5 807D              SJMP     ?C0190?KB_PROCESS
-0028E7         ?C0229?KB_PROCESS:
-  989: 		      else if (pEvt->ksPool[i] ==  HID_MULTIKEY_OS_LOCK)
-0028E7 EB                MOV      A,R3
-0028E8 B4DA09            CJNE     A,#0DAH,?C0231?KB_PROCESS
-  990: 		      	{
-  991: 		        	kb_set_multikey(0x0030);
-0028EB 7F30              MOV      R7,#030H
-0028ED 7E00              MOV      R6,#00H
-0028EF 122664            LCALL    _kb_set_multikey
-  992: 		      	}	
-0028F2 8070              SJMP     ?C0190?KB_PROCESS
-0028F4         ?C0231?KB_PROCESS:
-  993: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SETUP_SHORTCUTS)
-0028F4 904ED8            MOV      DPTR,#pEvt
-0028F7 E0                MOVX     A,@DPTR
-0028F8 FB                MOV      R3,A
-0028F9 A3                INC      DPTR
-0028FA E0                MOVX     A,@DPTR
-0028FB FA                MOV      R2,A
-0028FC A3                INC      DPTR
-0028FD E0                MOVX     A,@DPTR
-0028FE 2401              ADD      A,#01H
-002900 F9                MOV      R1,A
-002901 E4                CLR      A
-002902 3A                ADDC     A,R2
-002903 FA                MOV      R2,A
-002904 A3                INC      DPTR
-002905 E0                MOVX     A,@DPTR
-002906 7E00              MOV      R6,#00H
-002908 29                ADD      A,R1
-002909 F9                MOV      R1,A
-00290A EE                MOV      A,R6
-00290B 3A                ADDC     A,R2
-00290C FA                MOV      R2,A
-00290D 1203B6            LCALL    ?C?CLDPTR
-002910 FB                MOV      R3,A
-002911 B4DB09            CJNE     A,#0DBH,?C0233?KB_PROCESS
-  994: 		      	{
-  995: 		        	kb_set_multikey(0x0306);
-002914 7F06              MOV      R7,#06H
-002916 7E03              MOV      R6,#03H
-002918 122664            LCALL    _kb_set_multikey
-  996: 		      	}
-00291B 8047              SJMP     ?C0190?KB_PROCESS
-00291D         ?C0233?KB_PROCESS:
-  997: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SOFT_KB)
-00291D EB                MOV      A,R3
-00291E B4DC09            CJNE     A,#0DCH,?C0235?KB_PROCESS
-  998: 		      	{
-  999: 		        	kb_set_multikey(0x0307);
-002921 7F07              MOV      R7,#07H
-002923 7E03              MOV      R6,#03H
-002925 122664            LCALL    _kb_set_multikey
- 1000: 		      	}
-002928 803A              SJMP     ?C0190?KB_PROCESS
-00292A         ?C0235?KB_PROCESS:
- 1001: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_POWER_DOWN)
-00292A 904ED8            MOV      DPTR,#pEvt
-00292D E0                MOVX     A,@DPTR
-00292E FB                MOV      R3,A
-00292F A3                INC      DPTR
-002930 E0                MOVX     A,@DPTR
-002931 FA                MOV      R2,A
-002932 A3                INC      DPTR
-002933 E0                MOVX     A,@DPTR
-002934 2401              ADD      A,#01H
-002936 F9                MOV      R1,A
-002937 E4                CLR      A
-002938 3A                ADDC     A,R2
-002939 FA                MOV      R2,A
-00293A A3                INC      DPTR
-00293B E0                MOVX     A,@DPTR
-00293C 7E00              MOV      R6,#00H
-00293E 29                ADD      A,R1
-00293F F9                MOV      R1,A
-002940 EE                MOV      A,R6
-002941 3A                ADDC     A,R2
-002942 FA                MOV      R2,A
-002943 1203B6            LCALL    ?C?CLDPTR
-002946 FE                MOV      R6,A
-002947 B4DD06            CJNE     A,#0DDH,?C0237?KB_PROCESS
- 1002: 		      	{
- 1003: 		        	kb_set_systemkey(0x01);
-00294A 7F01              MOV      R7,#01H
-00294C 3199              ACALL    _kb_set_systemkey
- 1004: 		      	}
-00294E 8014              SJMP     ?C0190?KB_PROCESS
-002950         ?C0237?KB_PROCESS:
- 1005: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_SLEEP)
-002950 EE                MOV      A,R6
-002951 B4DE06            CJNE     A,#0DEH,?C0239?KB_PROCESS
- 1006: 		      	{
- 1007: 		        	kb_set_systemkey(0x02);
-002954 7F02              MOV      R7,#02H
-002956 3199              ACALL    _kb_set_systemkey
- 1008: 		      	}
-002958 800A              SJMP     ?C0190?KB_PROCESS
-00295A         ?C0239?KB_PROCESS:
- 1009: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_WAKE_UP)
-00295A 1203B6            LCALL    ?C?CLDPTR
-00295D B4DF04            CJNE     A,#0DFH,?C0190?KB_PROCESS
- 1010: 		      	{
- 1011: 		        	kb_set_systemkey(0x04);
-002960 7F04              MOV      R7,#04H
-002962 3199              ACALL    _kb_set_systemkey
- 1012: 		      	}
-002964         ?C0190?KB_PROCESS:
- 1013: 			
- 1014: 			if(mult_key_status == KEY_WAIT_RELEASE)
-002964 904E4F            MOV      DPTR,#mult_key_status
-002967 E0                MOVX     A,@DPTR
-002968 B40224            CJNE     A,#02H,?C0186?KB_PROCESS
- 1015: 			{
- 1016: 				mult_key_value = pEvt->ksPool[i];
-00296B 904ED8            MOV      DPTR,#pEvt
-00296E E0                MOVX     A,@DPTR
-00296F FB                MOV      R3,A
-002970 A3                INC      DPTR
-002971 E0                MOVX     A,@DPTR
-002972 FA                MOV      R2,A
-002973 A3                INC      DPTR
-002974 E0                MOVX     A,@DPTR
-002975 2401              ADD      A,#01H
-002977 F9                MOV      R1,A
-002978 E4                CLR      A
-002979 3A                ADDC     A,R2
-00297A FA                MOV      R2,A
-00297B A3                INC      DPTR
-00297C E0                MOVX     A,@DPTR
-00297D 7E00              MOV      R6,#00H
-00297F 29                ADD      A,R1
-002980 F9                MOV      R1,A
-002981 EE                MOV      A,R6
-002982 3A                ADDC     A,R2
-002983 FA                MOV      R2,A
-002984 1203B6            LCALL    ?C?CLDPTR
-002987 904DF0            MOV      DPTR,#mult_key_value
-00298A F0                MOVX     @DPTR,A
- 1017: 				pEvt->ksPool[i] = 0;
-00298B E4                CLR      A
-00298C 1203FC            LCALL    ?C?CSTPTR
- 1018: 			}
- 1019: 		}
- 1020: 	}
-00298F         ?C0186?KB_PROCESS:
-00298F 904EDB            MOV      DPTR,#i
-002992 E0                MOVX     A,@DPTR
-002993 04                INC      A
-002994 F0                MOVX     @DPTR,A
-002995 02268E            LJMP     ?C0184?KB_PROCESS
- 1021: }
-002998         ?C0243?KB_PROCESS:
-002998 22                RET      
------ FUNCTION _kb_multikey_setup (END) -------
-
-
------ FUNCTION _kb_set_systemkey (BEGIN) -----
- FILE: 'kb_process.c'
-  205: void kb_set_systemkey(byte systemkey_value)
-  206: {
-;---- Variable 'systemkey_value' assigned to Register 'R7' ----
-  207: 	if(mult_key_status != KEY_WAIT_RELEASE)
-  208: 	{
-002999 904E4F            MOV      DPTR,#mult_key_status
-00299C E0                MOVX     A,@DPTR
-00299D 6402              XRL      A,#02H
-00299F 6012              JZ       ?C0049?KB_PROCESS
-  209: 		mult_key_status = KEY_SYSTEM_PRESS;
-  210: 		system_key_press = 1;
-0029A1 7404              MOV      A,#04H
-0029A3 F0                MOVX     @DPTR,A
-  211: 		multikey[0] = HID_REPORTID_SYSTEM;
-0029A4 904DEC            MOV      DPTR,#system_key_press
-0029A7 7401              MOV      A,#01H
-0029A9 F0                MOVX     @DPTR,A
-  212: 		multikey[1] = systemkey_value;
-0029AA 904E50            MOV      DPTR,#multikey
-0029AD 7406              MOV      A,#06H
-0029AF F0                MOVX     @DPTR,A
-  213: 	}
-0029B0 A3                INC      DPTR
-0029B1 EF                MOV      A,R7
-0029B2 F0                MOVX     @DPTR,A
-  214: }
-  215: 
-0029B3         ?C0049?KB_PROCESS:
-0029B3 22                RET      
------ FUNCTION _kb_set_systemkey (END) -------
-
-
------ FUNCTION kb_bt_pincode_enter (BEGIN) -----
- FILE: 'kb_process.c'
-  244: void kb_bt_pincode_enter()
-  245: {
-  246: 	tKSEVENT *pEvt = NULL;
-  247: 	pEvt = KS_GetCurrentEvt();
-0029B4 904EE4            MOV      DPTR,#pEvt
-0029B7 E4                CLR      A
-0029B8 F0                MOVX     @DPTR,A
-0029B9 A3                INC      DPTR
-0029BA F0                MOVX     @DPTR,A
-0029BB A3                INC      DPTR
-0029BC F0                MOVX     @DPTR,A
-  248: 	if (pEvt == NULL)
-0029BD 122145            LCALL    KS_GetCurrentEvt
-0029C0 904EE4            MOV      DPTR,#pEvt
-0029C3 EB                MOV      A,R3
-0029C4 F0                MOVX     @DPTR,A
-0029C5 A3                INC      DPTR
-0029C6 EA                MOV      A,R2
-0029C7 F0                MOVX     @DPTR,A
-0029C8 A3                INC      DPTR
-0029C9 E9                MOV      A,R1
-0029CA F0                MOVX     @DPTR,A
-  249: 		return;
-0029CB 4A                ORL      A,R2
-0029CC 7002              JNZ      $ + 4H
-0029CE 8126              AJMP     ?C0052?KB_PROCESS
-0029D0         ?C0051?KB_PROCESS:
-  250: 	if (pEvt->ksPool[0] != 0) {
-0029D0 904EE4            MOV      DPTR,#pEvt
-0029D3 E0                MOVX     A,@DPTR
-0029D4 FB                MOV      R3,A
-0029D5 A3                INC      DPTR
-0029D6 E0                MOVX     A,@DPTR
-0029D7 FA                MOV      R2,A
-0029D8 A3                INC      DPTR
-0029D9 E0                MOVX     A,@DPTR
-0029DA F9                MOV      R1,A
-0029DB 900001            MOV      DPTR,#01H
-0029DE 1203CF            LCALL    ?C?CLDOPTR
-0029E1 FF                MOV      R7,A
-0029E2 7002              JNZ      $ + 4H
-0029E4 8126              AJMP     ?C0052?KB_PROCESS
-  251: 		if (pEvt->ksPool[0] == HID_KEY_ENTER ||pEvt->ksPool[0] == HID_KEY_KP_ENTER) {
-0029E6 6428              XRL      A,#028H
-0029E8 6005              JZ       ?C0055?KB_PROCESS
-0029EA EF                MOV      A,R7
-0029EB 6458              XRL      A,#058H
-0029ED 7032              JNZ      ?C0054?KB_PROCESS
-0029EF         ?C0055?KB_PROCESS:
-  252: 			if (	g_variable.ble_currentSubState == CHANGE_TO_BLE_SUB_PINCODE)
-0029EF 904CC8            MOV      DPTR,#g_variable+09H
-0029F2 E0                MOVX     A,@DPTR
-0029F3 B40210            CJNE     A,#02H,?C0056?KB_PROCESS
-  253: 			{
-  254: 				IPC_TxControlCmd(IPC_CMD_LE_SET_PINCODE);
-0029F6 7F29              MOV      R7,#029H
-0029F8 1210AD            LCALL    _IPC_TxControlCmd
-  255: 				g_variable.ble_currentSubState = CHANGE_TO_BLE_SUB_PINCODE_OK;
-0029FB 904CC8            MOV      DPTR,#g_variable+09H
-0029FE 7403              MOV      A,#03H
-002A00 F0                MOVX     @DPTR,A
-  256: 				le_pin_code_len = 0;
-002A01 E4                CLR      A
-002A02 904DD8            MOV      DPTR,#le_pin_code_len
-002A05 F0                MOVX     @DPTR,A
-  257: 			}
-002A06         ?C0056?KB_PROCESS:
-  258: 
-  259: 			if (	g_variable.br_currentSubState ==  CHANGE_TO_BR_SUB_PINCODE)
-002A06 904CCA            MOV      DPTR,#g_variable+0BH
-002A09 E0                MOVX     A,@DPTR
-002A0A 6402              XRL      A,#02H
-002A0C 6002              JZ       $ + 4H
-002A0E 8126              AJMP     ?C0052?KB_PROCESS
-  260: 			{	
-  261: 				m_link_key_exists = 1;
-002A10 90425E            MOV      DPTR,#m_link_key_exists
-002A13 04                INC      A
-002A14 F0                MOVX     @DPTR,A
-  262: 				IPC_TxControlCmd(IPC_CMD_SET_PIN_CODE);
-002A15 7F0A              MOV      R7,#0AH
-002A17 1210AD            LCALL    _IPC_TxControlCmd
-  263: 				g_variable.br_currentSubState = CHANGE_TO_BR_SUB_PINCODE_OK;
-002A1A 904CCA            MOV      DPTR,#g_variable+0BH
-002A1D 7403              MOV      A,#03H
-002A1F F0                MOVX     @DPTR,A
-  264: 			}
-  265: 		}
-002A20 22                RET      
-002A21         ?C0054?KB_PROCESS:
-  266: 		else
-  267: 		{
-  268: 			if (pEvt->ksPool[0] <=HID_KEY_KP_0 && pEvt->ksPool[0] >= HID_KEY_KP_1)
-002A21 904EE4            MOV      DPTR,#pEvt
-002A24 E0                MOVX     A,@DPTR
-002A25 FB                MOV      R3,A
-002A26 A3                INC      DPTR
-002A27 E0                MOVX     A,@DPTR
-002A28 FA                MOV      R2,A
-002A29 A3                INC      DPTR
-002A2A E0                MOVX     A,@DPTR
-002A2B F9                MOV      R1,A
-002A2C 900001            MOV      DPTR,#01H
-002A2F 1203CF            LCALL    ?C?CLDOPTR
-002A32 FF                MOV      R7,A
-002A33 D3                SETB     C
-002A34 9462              SUBB     A,#062H
-002A36 4002              JC       $ + 4H
-002A38 41F2              AJMP     ?C0059?KB_PROCESS
-002A3A EF                MOV      A,R7
-002A3B C3                CLR      C
-002A3C 9459              SUBB     A,#059H
-002A3E 5002              JNC      $ + 4H
-002A40 41F2              AJMP     ?C0059?KB_PROCESS
-  269: 			{
-  270: 				if (pEvt->ksPool[0] == HID_KEY_KP_0) 
-002A42 EF                MOV      A,R7
-002A43 B46238            CJNE     A,#062H,?C0060?KB_PROCESS
-  271: 				{
-  272: 					ipcPin[ipcPinlen ++] = 0x30;	//ascii code: 0     x030
-002A46 90054F            MOV      DPTR,#ipcPinlen
-002A49 E0                MOVX     A,@DPTR
-002A4A FF                MOV      R7,A
-002A4B 04                INC      A
-002A4C F0                MOVX     @DPTR,A
-002A4D 7450              MOV      A,#LOW ipcPin
-002A4F 2F                ADD      A,R7
-002A50 F582              MOV      DPL,A
-002A52 E4                CLR      A
-002A53 3405              ADDC     A,#HIGH ipcPin
-002A55 F583              MOV      DPH,A
-002A57 7430              MOV      A,#030H
-002A59 F0                MOVX     @DPTR,A
-  273: 					le_pin_code = le_pin_code*10;
-002A5A 904D39            MOV      DPTR,#le_pin_code
-002A5D E0                MOVX     A,@DPTR
-002A5E FC                MOV      R4,A
-002A5F A3                INC      DPTR
-002A60 E0                MOVX     A,@DPTR
-002A61 FD                MOV      R5,A
-002A62 A3                INC      DPTR
-002A63 E0                MOVX     A,@DPTR
-002A64 FE                MOV      R6,A
-002A65 A3                INC      DPTR
-002A66 E0                MOVX     A,@DPTR
-002A67 FF                MOV      R7,A
-002A68 E4                CLR      A
-002A69 7B0A              MOV      R3,#0AH
-002A6B FA                MOV      R2,A
-002A6C F9                MOV      R1,A
-002A6D F8                MOV      R0,A
-002A6E 12043A            LCALL    ?C?LMUL
-002A71 904D39            MOV      DPTR,#le_pin_code
-002A74 120576            LCALL    ?C?LSTXDATA
-  274: 					le_pin_code_len++;
-002A77 904DD8            MOV      DPTR,#le_pin_code_len
-002A7A E0                MOVX     A,@DPTR
-002A7B 04                INC      A
-002A7C F0                MOVX     @DPTR,A
-  275: 				}
-002A7D 22                RET      
-002A7E         ?C0060?KB_PROCESS:
-  276: 				else 
-  277: 				{
-  278: 					ipcPin[ipcPinlen ++] = pEvt->ksPool[0]  - 0x28;  // ascii :0x31-0x39
-002A7E 904EE4            MOV      DPTR,#pEvt
-002A81 E0                MOVX     A,@DPTR
-002A82 FB                MOV      R3,A
-002A83 A3                INC      DPTR
-002A84 E0                MOVX     A,@DPTR
-002A85 FA                MOV      R2,A
-002A86 A3                INC      DPTR
-002A87 E0                MOVX     A,@DPTR
-002A88 F9                MOV      R1,A
-002A89 900001            MOV      DPTR,#01H
-002A8C 1203CF            LCALL    ?C?CLDOPTR
-002A8F 24D8              ADD      A,#0D8H
-002A91 FF                MOV      R7,A
-002A92 90054F            MOV      DPTR,#ipcPinlen
-002A95 E0                MOVX     A,@DPTR
-002A96 FE                MOV      R6,A
-002A97 04                INC      A
-002A98 F0                MOVX     @DPTR,A
-002A99 7450              MOV      A,#LOW ipcPin
-002A9B 2E                ADD      A,R6
-002A9C F582              MOV      DPL,A
-002A9E E4                CLR      A
-002A9F 3405              ADDC     A,#HIGH ipcPin
-002AA1 F583              MOV      DPH,A
-002AA3 EF                MOV      A,R7
-002AA4 F0                MOVX     @DPTR,A
-  279: 					le_pin_code = (le_pin_code*10)+(pEvt->ksPool[0]  - 0x58);
-002AA5 900001            MOV      DPTR,#01H
-002AA8 1203CF            LCALL    ?C?CLDOPTR
-002AAB 24A8              ADD      A,#0A8H
-002AAD FF                MOV      R7,A
-002AAE E4                CLR      A
-002AAF 34FF              ADDC     A,#0FFH
-002AB1 FE                MOV      R6,A
-002AB2 E4                CLR      A
-002AB3 FC                MOV      R4,A
-002AB4 FD                MOV      R5,A
-002AB5 C004              PUSH     AR4
-002AB7 C005              PUSH     AR5
-002AB9 C006              PUSH     AR6
-002ABB C007              PUSH     AR7
-002ABD 7F0A              MOV      R7,#0AH
-002ABF FE                MOV      R6,A
-002AC0 904D39            MOV      DPTR,#le_pin_code
-002AC3 E0                MOVX     A,@DPTR
-002AC4 F8                MOV      R0,A
-002AC5 A3                INC      DPTR
-002AC6 E0                MOVX     A,@DPTR
-002AC7 F9                MOV      R1,A
-002AC8 A3                INC      DPTR
-002AC9 E0                MOVX     A,@DPTR
-002ACA FA                MOV      R2,A
-002ACB A3                INC      DPTR
-002ACC E0                MOVX     A,@DPTR
-002ACD FB                MOV      R3,A
-002ACE 12043A            LCALL    ?C?LMUL
-002AD1 D003              POP      AR3
-002AD3 D002              POP      AR2
-002AD5 D001              POP      AR1
-002AD7 D000              POP      AR0
-002AD9 EF                MOV      A,R7
-002ADA 2B                ADD      A,R3
-002ADB FF                MOV      R7,A
-002ADC EE                MOV      A,R6
-002ADD 3A                ADDC     A,R2
-002ADE FE                MOV      R6,A
-002ADF ED                MOV      A,R5
-002AE0 39                ADDC     A,R1
-002AE1 FD                MOV      R5,A
-002AE2 EC                MOV      A,R4
-002AE3 38                ADDC     A,R0
-002AE4 FC                MOV      R4,A
-002AE5 904D39            MOV      DPTR,#le_pin_code
-002AE8 120576            LCALL    ?C?LSTXDATA
-  280: 					le_pin_code_len++;
-002AEB 904DD8            MOV      DPTR,#le_pin_code_len
-002AEE E0                MOVX     A,@DPTR
-002AEF 04                INC      A
-002AF0 F0                MOVX     @DPTR,A
-  281: 				}
-  282: 			}
-002AF1 22                RET      
-002AF2         ?C0059?KB_PROCESS:
-  283: 			else if (pEvt->ksPool[0] <=HID_KEY_0 && pEvt->ksPool[0] >= HID_KEY_1)
-002AF2 904EE4            MOV      DPTR,#pEvt
-002AF5 E0                MOVX     A,@DPTR
-002AF6 FB                MOV      R3,A
-002AF7 A3                INC      DPTR
-002AF8 E0                MOVX     A,@DPTR
-002AF9 FA                MOV      R2,A
-002AFA A3                INC      DPTR
-002AFB E0                MOVX     A,@DPTR
-002AFC F9                MOV      R1,A
-002AFD 900001            MOV      DPTR,#01H
-002B00 1203CF            LCALL    ?C?CLDOPTR
-002B03 FF                MOV      R7,A
-002B04 D3                SETB     C
-002B05 9427              SUBB     A,#027H
-002B07 4002              JC       $ + 4H
-002B09 61C3              AJMP     ?C0063?KB_PROCESS
-002B0B EF                MOV      A,R7
-002B0C C3                CLR      C
-002B0D 941E              SUBB     A,#01EH
-002B0F 5002              JNC      $ + 4H
-002B11 61C3              AJMP     ?C0063?KB_PROCESS
-  284: 			{
-  285: 				if (pEvt->ksPool[0] == HID_KEY_0) 
-002B13 EF                MOV      A,R7
-002B14 B42738            CJNE     A,#027H,?C0064?KB_PROCESS
-  286: 				{
-  287: 					ipcPin[ipcPinlen ++] = 0x30;	//0
-002B17 90054F            MOV      DPTR,#ipcPinlen
-002B1A E0                MOVX     A,@DPTR
-002B1B FF                MOV      R7,A
-002B1C 04                INC      A
-002B1D F0                MOVX     @DPTR,A
-002B1E 7450              MOV      A,#LOW ipcPin
-002B20 2F                ADD      A,R7
-002B21 F582              MOV      DPL,A
-002B23 E4                CLR      A
-002B24 3405              ADDC     A,#HIGH ipcPin
-002B26 F583              MOV      DPH,A
-002B28 7430              MOV      A,#030H
-002B2A F0                MOVX     @DPTR,A
-  288: 					le_pin_code = le_pin_code*10;
-002B2B 904D39            MOV      DPTR,#le_pin_code
-002B2E E0                MOVX     A,@DPTR
-002B2F FC                MOV      R4,A
-002B30 A3                INC      DPTR
-002B31 E0                MOVX     A,@DPTR
-002B32 FD                MOV      R5,A
-002B33 A3                INC      DPTR
-002B34 E0                MOVX     A,@DPTR
-002B35 FE                MOV      R6,A
-002B36 A3                INC      DPTR
-002B37 E0                MOVX     A,@DPTR
-002B38 FF                MOV      R7,A
-002B39 E4                CLR      A
-002B3A 7B0A              MOV      R3,#0AH
-002B3C FA                MOV      R2,A
-002B3D F9                MOV      R1,A
-002B3E F8                MOV      R0,A
-002B3F 12043A            LCALL    ?C?LMUL
-002B42 904D39            MOV      DPTR,#le_pin_code
-002B45 120576            LCALL    ?C?LSTXDATA
-  289: 					le_pin_code_len++;
-002B48 904DD8            MOV      DPTR,#le_pin_code_len
-002B4B E0                MOVX     A,@DPTR
-002B4C 04                INC      A
-002B4D F0                MOVX     @DPTR,A
-  290: 				}
-002B4E 22                RET      
-002B4F         ?C0064?KB_PROCESS:
-  291: 				else 
-  292: 				{
-  293: 					ipcPin[ipcPinlen ++] = pEvt->ksPool[0]  - (HID_KEY_1 -1) + 0x30;
-002B4F 904EE4            MOV      DPTR,#pEvt
-002B52 E0                MOVX     A,@DPTR
-002B53 FB                MOV      R3,A
-002B54 A3                INC      DPTR
-002B55 E0                MOVX     A,@DPTR
-002B56 FA                MOV      R2,A
-002B57 A3                INC      DPTR
-002B58 E0                MOVX     A,@DPTR
-002B59 F9                MOV      R1,A
-002B5A 900001            MOV      DPTR,#01H
-002B5D 1203CF            LCALL    ?C?CLDOPTR
-002B60 2413              ADD      A,#013H
-002B62 FF                MOV      R7,A
-002B63 90054F            MOV      DPTR,#ipcPinlen
-002B66 E0                MOVX     A,@DPTR
-002B67 FE                MOV      R6,A
-002B68 04                INC      A
-002B69 F0                MOVX     @DPTR,A
-002B6A 7450              MOV      A,#LOW ipcPin
-002B6C 2E                ADD      A,R6
-002B6D F582              MOV      DPL,A
-002B6F E4                CLR      A
-002B70 3405              ADDC     A,#HIGH ipcPin
-002B72 F583              MOV      DPH,A
-002B74 EF                MOV      A,R7
-002B75 F0                MOVX     @DPTR,A
-  294: 					le_pin_code = (le_pin_code*10)+(pEvt->ksPool[0]  - (HID_KEY_1 -1));
-002B76 900001            MOV      DPTR,#01H
-002B79 1203CF            LCALL    ?C?CLDOPTR
-002B7C 24E3              ADD      A,#0E3H
-002B7E FF                MOV      R7,A
-002B7F E4                CLR      A
-002B80 34FF              ADDC     A,#0FFH
-002B82 FE                MOV      R6,A
-002B83 E4                CLR      A
-002B84 FC                MOV      R4,A
-002B85 FD                MOV      R5,A
-002B86 C004              PUSH     AR4
-002B88 C005              PUSH     AR5
-002B8A C006              PUSH     AR6
-002B8C C007              PUSH     AR7
-002B8E 7F0A              MOV      R7,#0AH
-002B90 FE                MOV      R6,A
-002B91 904D39            MOV      DPTR,#le_pin_code
-002B94 E0                MOVX     A,@DPTR
-002B95 F8                MOV      R0,A
-002B96 A3                INC      DPTR
-002B97 E0                MOVX     A,@DPTR
-002B98 F9                MOV      R1,A
-002B99 A3                INC      DPTR
-002B9A E0                MOVX     A,@DPTR
-002B9B FA                MOV      R2,A
-002B9C A3                INC      DPTR
-002B9D E0                MOVX     A,@DPTR
-002B9E FB                MOV      R3,A
-002B9F 12043A            LCALL    ?C?LMUL
-002BA2 D003              POP      AR3
-002BA4 D002              POP      AR2
-002BA6 D001              POP      AR1
-002BA8 D000              POP      AR0
-002BAA EF                MOV      A,R7
-002BAB 2B                ADD      A,R3
-002BAC FF                MOV      R7,A
-002BAD EE                MOV      A,R6
-002BAE 3A                ADDC     A,R2
-002BAF FE                MOV      R6,A
-002BB0 ED                MOV      A,R5
-002BB1 39                ADDC     A,R1
-002BB2 FD                MOV      R5,A
-002BB3 EC                MOV      A,R4
-002BB4 38                ADDC     A,R0
-002BB5 FC                MOV      R4,A
-002BB6 904D39            MOV      DPTR,#le_pin_code
-002BB9 120576            LCALL    ?C?LSTXDATA
-  295: 					le_pin_code_len++;
-002BBC 904DD8            MOV      DPTR,#le_pin_code_len
-002BBF E0                MOVX     A,@DPTR
-002BC0 04                INC      A
-002BC1 F0                MOVX     @DPTR,A
-  296: 				}
-  297: 			}
-002BC2 22                RET      
-002BC3         ?C0063?KB_PROCESS:
-  298: 			else if(pEvt->ksPool[0] == HID_KEY_BACKSPACE) 
-002BC3 904EE4            MOV      DPTR,#pEvt
-002BC6 E0                MOVX     A,@DPTR
-002BC7 FB                MOV      R3,A
-002BC8 A3                INC      DPTR
-002BC9 E0                MOVX     A,@DPTR
-002BCA FA                MOV      R2,A
-002BCB A3                INC      DPTR
-002BCC E0                MOVX     A,@DPTR
-002BCD F9                MOV      R1,A
-002BCE 900001            MOV      DPTR,#01H
-002BD1 1203CF            LCALL    ?C?CLDOPTR
-002BD4 642A              XRL      A,#02AH
-002BD6 7040              JNZ      ?C0067?KB_PROCESS
-  299: 			{
-  300: 				if(ipcPinlen)
-002BD8 90054F            MOV      DPTR,#ipcPinlen
-002BDB E0                MOVX     A,@DPTR
-002BDC 6010              JZ       ?C0068?KB_PROCESS
-  301: 					ipcPin[ipcPinlen --] = 0;
-002BDE E0                MOVX     A,@DPTR
-002BDF FF                MOV      R7,A
-002BE0 14                DEC      A
-002BE1 F0                MOVX     @DPTR,A
-002BE2 7450              MOV      A,#LOW ipcPin
-002BE4 2F                ADD      A,R7
-002BE5 F582              MOV      DPL,A
-002BE7 E4                CLR      A
-002BE8 3405              ADDC     A,#HIGH ipcPin
-002BEA F583              MOV      DPH,A
-002BEC E4                CLR      A
-002BED F0                MOVX     @DPTR,A
-002BEE         ?C0068?KB_PROCESS:
-  302: 				if(le_pin_code_len)
-002BEE 904DD8            MOV      DPTR,#le_pin_code_len
-002BF1 E0                MOVX     A,@DPTR
-002BF2 6032              JZ       ?C0052?KB_PROCESS
-  303: 				{
-  304: 					le_pin_code = le_pin_code /10;
-002BF4 904D39            MOV      DPTR,#le_pin_code
-002BF7 E0                MOVX     A,@DPTR
-002BF8 FC                MOV      R4,A
-002BF9 A3                INC      DPTR
-002BFA E0                MOVX     A,@DPTR
-002BFB FD                MOV      R5,A
-002BFC A3                INC      DPTR
-002BFD E0                MOVX     A,@DPTR
-002BFE FE                MOV      R6,A
-002BFF A3                INC      DPTR
-002C00 E0                MOVX     A,@DPTR
-002C01 FF                MOV      R7,A
-002C02 E4                CLR      A
-002C03 7B0A              MOV      R3,#0AH
-002C05 FA                MOV      R2,A
-002C06 F9                MOV      R1,A
-002C07 F8                MOV      R0,A
-002C08 1204C5            LCALL    ?C?ULDIV
-002C0B 904D39            MOV      DPTR,#le_pin_code
-002C0E 120576            LCALL    ?C?LSTXDATA
-  305: 					le_pin_code_len--;
-002C11 904DD8            MOV      DPTR,#le_pin_code_len
-002C14 E0                MOVX     A,@DPTR
-002C15 14                DEC      A
-002C16 F0                MOVX     @DPTR,A
-  306: 				}	
-  307: 			}
-002C17 22                RET      
-002C18         ?C0067?KB_PROCESS:
-  308: 			else
-  309: 			{
-  310: 				kb_motion_keyscan(pEvt);
-002C18 904EE4            MOV      DPTR,#pEvt
-002C1B E0                MOVX     A,@DPTR
-002C1C FB                MOV      R3,A
-002C1D A3                INC      DPTR
-002C1E E0                MOVX     A,@DPTR
-002C1F FA                MOV      R2,A
-002C20 A3                INC      DPTR
-002C21 E0                MOVX     A,@DPTR
-002C22 F9                MOV      R1,A
-002C23 1208C0            LCALL    _kb_motion_keyscan
-  311: 			}
-  312: 		}
-  313: 	}
-  314: }
-002C26         ?C0052?KB_PROCESS:
-002C26 22                RET      
------ FUNCTION kb_bt_pincode_enter (END) -------
-
-
------ FUNCTION _kb_device_select (BEGIN) -----
- FILE: 'kb_process.c'
-  721: byte kb_device_select(tKSEVENT *pEvt)
-  722: {
-002C27 904EEA            MOV      DPTR,#pEvt
-002C2A EB                MOV      A,R3
-002C2B F0                MOVX     @DPTR,A
-002C2C A3                INC      DPTR
-002C2D EA                MOV      A,R2
-002C2E F0                MOVX     @DPTR,A
-002C2F A3                INC      DPTR
-002C30 E9                MOV      A,R1
-002C31 F0                MOVX     @DPTR,A
-  723: 	byte temp = 0;
-  724: 	byte i=0;
-;---- Variable 'temp' assigned to Register 'R7' ----
-002C32 E4                CLR      A
-002C33 FF                MOV      R7,A
-  725: 
-;---- Variable 'i' assigned to Register 'R6' ----
-002C34 FE                MOV      R6,A
-  726: 	if (fn_flag == 1 || esc_flag == 1)
-002C35 904DE5            MOV      DPTR,#fn_flag
-002C38 E0                MOVX     A,@DPTR
-002C39 6401              XRL      A,#01H
-002C3B 6008              JZ       ?C0148?KB_PROCESS
-002C3D 904DDD            MOV      DPTR,#esc_flag
-002C40 E0                MOVX     A,@DPTR
-002C41 6401              XRL      A,#01H
-002C43 7068              JNZ      ?C0147?KB_PROCESS
-002C45         ?C0148?KB_PROCESS:
-  727: 	{
-  728: 		i = KS_BUFF_POLL_LEN-1;
-002C45 7E05              MOV      R6,#05H
-002C47         ?C0149?KB_PROCESS:
-  729: 
-  730: 		while (i--) 
-002C47 AD06              MOV      R5,AR6
-002C49 1E                DEC      R6
-002C4A ED                MOV      A,R5
-002C4B 606A              JZ       ?C0153?KB_PROCESS
-  731: 		{
-  732: 			temp = pEvt->ksPool[i];
-002C4D 904EEA            MOV      DPTR,#pEvt
-002C50 E0                MOVX     A,@DPTR
-002C51 FB                MOV      R3,A
-002C52 A3                INC      DPTR
-002C53 E0                MOVX     A,@DPTR
-002C54 FA                MOV      R2,A
-002C55 A3                INC      DPTR
-002C56 E0                MOVX     A,@DPTR
-002C57 2401              ADD      A,#01H
-002C59 F9                MOV      R1,A
-002C5A E4                CLR      A
-002C5B 3A                ADDC     A,R2
-002C5C FA                MOV      R2,A
-002C5D EE                MOV      A,R6
-002C5E 7C00              MOV      R4,#00H
-002C60 29                ADD      A,R1
-002C61 F9                MOV      R1,A
-002C62 EC                MOV      A,R4
-002C63 3A                ADDC     A,R2
-002C64 FA                MOV      R2,A
-002C65 1203B6            LCALL    ?C?CLDPTR
-002C68 FF                MOV      R7,A
-  733: 
-  734: 			if (temp == HID_KEY_1 && fn_flag == 1)	//BT PAIRING
-002C69 B41EDB            CJNE     A,#01EH,?C0149?KB_PROCESS
-002C6C 904DE5            MOV      DPTR,#fn_flag
-002C6F E0                MOVX     A,@DPTR
-002C70 B401D4            CJNE     A,#01H,?C0149?KB_PROCESS
-  735: 			{
-  736: 				YC_disconnect_all_link();
-002C73 1217C6            LCALL    YC_disconnect_all_link
-  737: 				Delay1ms(10);
-002C76 7F0A              MOV      R7,#0AH
-002C78 1216F3            LCALL    _Delay1ms
-  738: 				//do discoverable
-  739: 				g_variable.pairing_timeout = BT_PAIRING_TIME_OUT_2MIN;
-002C7B 904CE9            MOV      DPTR,#g_variable+02AH
-002C7E 74F0              MOV      A,#0F0H
-002C80 F0                MOVX     @DPTR,A
-  740: 				g_variable.pairing_g24_timeout = 0;
-002C81 E4                CLR      A
-002C82 904CEE            MOV      DPTR,#g_variable+02FH
-002C85 F0                MOVX     @DPTR,A
-  741: 				YC_key_action_handle(KEY_DISCOVERY);
-002C86 7F05              MOV      R7,#05H
-002C88 1210D7            LCALL    _YC_key_action_handle
-  742: 				LED_all_shutdown();
-002C8B 121CD7            LCALL    LED_all_shutdown
-  743: 				g_variable.button_reconnect_flag = 0;
-002C8E E4                CLR      A
-002C8F 904CCC            MOV      DPTR,#g_variable+0DH
-002C92 F0                MOVX     @DPTR,A
-  744: 				g_variable.release_data = 1;
-002C93 904CEB            MOV      DPTR,#g_variable+02CH
-002C96 04                INC      A
-002C97 F0                MOVX     @DPTR,A
-  745: 				g_variable.temp_device_num = g_variable.last_device_num;
-002C98 904CC0            MOV      DPTR,#g_variable+01H
-002C9B E0                MOVX     A,@DPTR
-002C9C 904CC4            MOV      DPTR,#g_variable+05H
-002C9F F0                MOVX     @DPTR,A
-  746: 				g_variable.last_device_num = g_variable.current_device_num;
-002CA0 904CC3            MOV      DPTR,#g_variable+04H
-002CA3 E0                MOVX     A,@DPTR
-002CA4 904CC0            MOV      DPTR,#g_variable+01H
-002CA7 F0                MOVX     @DPTR,A
-  747: 
-  748: 				return 1;
-002CA8 7F01              MOV      R7,#01H
-002CAA 22                RET      
-  749: 			}
-  750: 			// else if(temp == HID_KEY_K && esc_flag == 1)
-  751: 			// {
-  752: 			// 	g_variable.p_mode_current = 0;
-  753: 			// 	g_variable.p_mode_last = 0;
-  754: 
-  755: 			// 	g_variable.delay_enter_lpm_timer = 10;
-  756: 			// 	g_variable.button_flag &= ~KEY_FLAG_FN_DEVICE_BUTTON;
-  757: 			// 	g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
-  758: 			// 	if( (g_variable.current_device_num != 0) && (g_variable.current_device_num != 0xfe))
-  759: 			// 	{
-  760: 			// 		g_variable.button_24G_rec_flag = 1;
-  761: 			// 		g_variable.current_device_num = 0;
-  762: 			// 		g_variable.powerOn_timer = 0;
-  763: 			// 	}
-  764: 			// 	return 1;
-  765: 			// }
-  766: 		}
-  767: 	}
-002CAB 800A              SJMP     ?C0153?KB_PROCESS
-002CAD         ?C0147?KB_PROCESS:
-  768: 	else
-  769: 	{
-  770: 
-  771: 		g_variable.button_flag &= ~(KEY_FLAG_FN_DEVICE_BUTTON |KEY_FLAG_FN_24G_DEVICE_BUTTON) ;
-002CAD 904CCE            MOV      DPTR,#g_variable+0FH
-002CB0 E0                MOVX     A,@DPTR
-002CB1 54E7              ANL      A,#0E7H
-002CB3 F0                MOVX     @DPTR,A
-  772: 		g_variable.button_flag &= ~KEY_FLAG_FN_SYSTEM_MODE_BUTTON;
-002CB4 54DF              ANL      A,#0DFH
-002CB6 F0                MOVX     @DPTR,A
-  773: 	}
-002CB7         ?C0153?KB_PROCESS:
-  774: 	return 0;
-002CB7 7F00              MOV      R7,#00H
-  775: }
-002CB9 22                RET      
------ FUNCTION _kb_device_select (END) -------
-
-
------ FUNCTION _kb_combination_key_press (BEGIN) -----
- FILE: 'kb_process.c'
-  780: void kb_combination_key_press(byte press_state,byte special_key,byte standrad_key)
-  781: {
-;---- Variable 'press_state' assigned to Register 'R7' ----
-;---- Variable 'standrad_key' assigned to Register 'R3' ----
-;---- Variable 'special_key' assigned to Register 'R5' ----
-  782: 	g_variable.key_combination_ctrl = special_key;	
-  783: 	g_variable.key_combination_keyvalue = standrad_key;
-002CBA 904CF5            MOV      DPTR,#g_variable+036H
-002CBD ED                MOV      A,R5
-002CBE F0                MOVX     @DPTR,A
-  784: 
-002CBF A3                INC      DPTR
-002CC0 EB                MOV      A,R3
-002CC1 F0                MOVX     @DPTR,A
-  785: 	if(press_state & 1)
-002CC2 EF                MOV      A,R7
-002CC3 30E012            JNB      ACC.0,?C0154?KB_PROCESS
-  786: 	{
-  787: 		if(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE) 
-002CC6 904CF4            MOV      DPTR,#g_variable+035H
-002CC9 E0                MOVX     A,@DPTR
-002CCA B40304            CJNE     A,#03H,?C0155?KB_PROCESS
-  788: 			g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
-002CCD 7402              MOV      A,#02H
-002CCF F0                MOVX     @DPTR,A
-002CD0 22                RET      
-002CD1         ?C0155?KB_PROCESS:
-  789: 		else	
-  790: 			g_variable.key_combination_step = CAMBINATION_KEY_PRESS;
-002CD1 904CF4            MOV      DPTR,#g_variable+035H
-002CD4 7401              MOV      A,#01H
-002CD6 F0                MOVX     @DPTR,A
-  791: 	}
-002CD7 22                RET      
-002CD8         ?C0154?KB_PROCESS:
-  792: 	else
-  793: 	{
-  794: 		g_variable.key_combination_step = CAMBINATION_KEY_WAIT_RELEASE;
-002CD8 904CF4            MOV      DPTR,#g_variable+035H
-002CDB 7404              MOV      A,#04H
-002CDD F0                MOVX     @DPTR,A
-  795: 	}
-  796: 
-  797: }
-002CDE 22                RET      
------ FUNCTION _kb_combination_key_press (END) -------
-
-
------ FUNCTION ksRawInitialize (BEGIN) -----
- FILE: 'keyscan.c'
-  189: static void ksRawInitialize()
-  190: {
-  191: 	byte i = 0;
-  192: 	
-002CDF E4                CLR      A
-002CE0 904F0B            MOV      DPTR,#i
-002CE3 F0                MOVX     @DPTR,A
-  193: 	for (i=0; i<8; i++) {
-002CE4 F0                MOVX     @DPTR,A
-002CE5         ?C0028?KEYSCAN:
-002CE5 904F0B            MOV      DPTR,#i
-002CE8 E0                MOVX     A,@DPTR
-002CE9 FF                MOV      R7,A
-002CEA C3                CLR      C
-002CEB 9408              SUBB     A,#08H
-002CED 500D              JNC      ?C0031?KEYSCAN
-  194: 		GPIO_SetInput(i, 0);
-002CEF C205              CLR      ?_GPIO_SetInput?BIT
-002CF1 121F02            LCALL    _GPIO_SetInput
-  195: 	}
-002CF4 904F0B            MOV      DPTR,#i
-002CF7 E0                MOVX     A,@DPTR
-002CF8 04                INC      A
-002CF9 F0                MOVX     @DPTR,A
-002CFA 80E9              SJMP     ?C0028?KEYSCAN
-  196: }
-002CFC         ?C0031?KEYSCAN:
-002CFC 22                RET      
------ FUNCTION ksRawInitialize (END) -------
-
-
 ----- FUNCTION KS_ScanMatrix (BEGIN) -----
  FILE: 'keyscan.c'
   253: void KS_ScanMatrix()
@@ -8900,870 +8875,1677 @@
   255: 	byte i = 0;
   256: 	byte j = 0;
 ;---- Variable 'i' assigned to Register 'R7' ----
-002CFD E4                CLR      A
-002CFE FF                MOV      R7,A
+002D2D E4                CLR      A
+002D2E FF                MOV      R7,A
   257: 	byte tgroup = 0;
-002CFF 904EED            MOV      DPTR,#j
-002D02 F0                MOVX     @DPTR,A
+002D2F 904EEC            MOV      DPTR,#j
+002D32 F0                MOVX     @DPTR,A
   258: 	byte tgpionum = 0;
 ;---- Variable 'tgroup' assigned to Register 'R6' ----
-002D03 FE                MOV      R6,A
+002D33 FE                MOV      R6,A
   259: 	byte temp = 0;
 ;---- Variable 'tgpionum' assigned to Register 'R5' ----
-002D04 FD                MOV      R5,A
+002D34 FD                MOV      R5,A
   260: 	byte check = 0;
-002D05 A3                INC      DPTR
-002D06 F0                MOVX     @DPTR,A
+002D35 A3                INC      DPTR
+002D36 F0                MOVX     @DPTR,A
   261: 	for (i=0; col[i]!=0; i++) {
-002D07 A3                INC      DPTR
-002D08 F0                MOVX     @DPTR,A
+002D37 A3                INC      DPTR
+002D38 F0                MOVX     @DPTR,A
   262: 		tgroup = col[i]  >> 3;
-002D09         ?C0043?KEYSCAN:
-002D09 EF                MOV      A,R7
-002D0A 900681            MOV      DPTR,#col
-002D0D 93                MOVC     A,@A+DPTR
-002D0E 607C              JZ       ?C0044?KEYSCAN
+002D39         ?C0043?KEYSCAN:
+002D39 EF                MOV      A,R7
+002D3A 900681            MOV      DPTR,#col
+002D3D 93                MOVC     A,@A+DPTR
+002D3E 607C              JZ       ?C0044?KEYSCAN
   263: 		tgpionum = 1 << (col[i] & 7);
-002D10 EF                MOV      A,R7
-002D11 93                MOVC     A,@A+DPTR
-002D12 FD                MOV      R5,A
-002D13 13                RRC      A
-002D14 13                RRC      A
-002D15 13                RRC      A
-002D16 541F              ANL      A,#01FH
-002D18 FE                MOV      R6,A
+002D40 EF                MOV      A,R7
+002D41 93                MOVC     A,@A+DPTR
+002D42 FD                MOV      R5,A
+002D43 13                RRC      A
+002D44 13                RRC      A
+002D45 13                RRC      A
+002D46 541F              ANL      A,#01FH
+002D48 FE                MOV      R6,A
   264: 		GET_RAW_KEY_SEL(ksSelMapCurr[i], tgroup, tgpionum);
-002D19 ED                MOV      A,R5
-002D1A 5407              ANL      A,#07H
-002D1C FD                MOV      R5,A
-002D1D 7401              MOV      A,#01H
-002D1F A805              MOV      R0,AR5
-002D21 08                INC      R0
-002D22 8002              SJMP     ?C0104?KEYSCAN
-002D24         ?C0103?KEYSCAN:
-002D24 C3                CLR      C
-002D25 33                RLC      A
-002D26         ?C0104?KEYSCAN:
-002D26 D8FC              DJNZ     R0,?C0103?KEYSCAN
-002D28 FD                MOV      R5,A
+002D49 ED                MOV      A,R5
+002D4A 5407              ANL      A,#07H
+002D4C FD                MOV      R5,A
+002D4D 7401              MOV      A,#01H
+002D4F A805              MOV      R0,AR5
+002D51 08                INC      R0
+002D52 8002              SJMP     ?C0104?KEYSCAN
+002D54         ?C0103?KEYSCAN:
+002D54 C3                CLR      C
+002D55 33                RLC      A
+002D56         ?C0104?KEYSCAN:
+002D56 D8FC              DJNZ     R0,?C0103?KEYSCAN
+002D58 FD                MOV      R5,A
   265: 	}
-002D29 EE                MOV      A,R6
-002D2A 2478              ADD      A,#078H
-002D2C FB                MOV      R3,A
-002D2D E4                CLR      A
-002D2E 3480              ADDC     A,#080H
-002D30 8B82              MOV      DPL,R3
-002D32 F583              MOV      DPH,A
-002D34 E0                MOVX     A,@DPTR
-002D35 FC                MOV      R4,A
-002D36 ED                MOV      A,R5
-002D37 F4                CPL      A
-002D38 FB                MOV      R3,A
-002D39 EC                MOV      A,R4
-002D3A 5B                ANL      A,R3
-002D3B F0                MOVX     @DPTR,A
-002D3C EE                MOV      A,R6
-002D3D 2470              ADD      A,#070H
-002D3F F582              MOV      DPL,A
-002D41 E4                CLR      A
-002D42 3480              ADDC     A,#080H
-002D44 F583              MOV      DPH,A
-002D46 E0                MOVX     A,@DPTR
-002D47 4D                ORL      A,R5
-002D48 F0                MOVX     @DPTR,A
-002D49 EE                MOV      A,R6
-002D4A 2474              ADD      A,#074H
-002D4C F582              MOV      DPL,A
-002D4E E4                CLR      A
-002D4F 3480              ADDC     A,#080H
-002D51 F583              MOV      DPH,A
-002D53 E0                MOVX     A,@DPTR
-002D54 5B                ANL      A,R3
-002D55 F0                MOVX     @DPTR,A
-002D56 90811C            MOV      DPTR,#0811CH
-002D59 E0                MOVX     A,@DPTR
-002D5A F4                CPL      A
-002D5B FC                MOV      R4,A
-002D5C 74BC              MOV      A,#LOW ksSelMapCurr
-002D5E 2F                ADD      A,R7
-002D5F F582              MOV      DPL,A
-002D61 E4                CLR      A
-002D62 344D              ADDC     A,#HIGH ksSelMapCurr
-002D64 F583              MOV      DPH,A
-002D66 EC                MOV      A,R4
-002D67 F0                MOVX     @DPTR,A
-002D68 EE                MOV      A,R6
-002D69 2478              ADD      A,#078H
-002D6B FB                MOV      R3,A
-002D6C E4                CLR      A
-002D6D 3480              ADDC     A,#080H
-002D6F 8B82              MOV      DPL,R3
-002D71 F583              MOV      DPH,A
-002D73 E0                MOVX     A,@DPTR
-002D74 4D                ORL      A,R5
-002D75 F0                MOVX     @DPTR,A
-002D76 EE                MOV      A,R6
-002D77 2470              ADD      A,#070H
-002D79 FB                MOV      R3,A
-002D7A E4                CLR      A
-002D7B 3480              ADDC     A,#080H
-002D7D 8B82              MOV      DPL,R3
-002D7F F583              MOV      DPH,A
-002D81 E0                MOVX     A,@DPTR
-002D82 FC                MOV      R4,A
-002D83 ED                MOV      A,R5
-002D84 F4                CPL      A
-002D85 FB                MOV      R3,A
-002D86 EC                MOV      A,R4
-002D87 5B                ANL      A,R3
-002D88 F0                MOVX     @DPTR,A
+002D59 EE                MOV      A,R6
+002D5A 2478              ADD      A,#078H
+002D5C FB                MOV      R3,A
+002D5D E4                CLR      A
+002D5E 3480              ADDC     A,#080H
+002D60 8B82              MOV      DPL,R3
+002D62 F583              MOV      DPH,A
+002D64 E0                MOVX     A,@DPTR
+002D65 FC                MOV      R4,A
+002D66 ED                MOV      A,R5
+002D67 F4                CPL      A
+002D68 FB                MOV      R3,A
+002D69 EC                MOV      A,R4
+002D6A 5B                ANL      A,R3
+002D6B F0                MOVX     @DPTR,A
+002D6C EE                MOV      A,R6
+002D6D 2470              ADD      A,#070H
+002D6F F582              MOV      DPL,A
+002D71 E4                CLR      A
+002D72 3480              ADDC     A,#080H
+002D74 F583              MOV      DPH,A
+002D76 E0                MOVX     A,@DPTR
+002D77 4D                ORL      A,R5
+002D78 F0                MOVX     @DPTR,A
+002D79 EE                MOV      A,R6
+002D7A 2474              ADD      A,#074H
+002D7C F582              MOV      DPL,A
+002D7E E4                CLR      A
+002D7F 3480              ADDC     A,#080H
+002D81 F583              MOV      DPH,A
+002D83 E0                MOVX     A,@DPTR
+002D84 5B                ANL      A,R3
+002D85 F0                MOVX     @DPTR,A
+002D86 90811C            MOV      DPTR,#0811CH
+002D89 E0                MOVX     A,@DPTR
+002D8A F4                CPL      A
+002D8B FC                MOV      R4,A
+002D8C 74BC              MOV      A,#LOW ksSelMapCurr
+002D8E 2F                ADD      A,R7
+002D8F F582              MOV      DPL,A
+002D91 E4                CLR      A
+002D92 344D              ADDC     A,#HIGH ksSelMapCurr
+002D94 F583              MOV      DPH,A
+002D96 EC                MOV      A,R4
+002D97 F0                MOVX     @DPTR,A
+002D98 EE                MOV      A,R6
+002D99 2478              ADD      A,#078H
+002D9B FB                MOV      R3,A
+002D9C E4                CLR      A
+002D9D 3480              ADDC     A,#080H
+002D9F 8B82              MOV      DPL,R3
+002DA1 F583              MOV      DPH,A
+002DA3 E0                MOVX     A,@DPTR
+002DA4 4D                ORL      A,R5
+002DA5 F0                MOVX     @DPTR,A
+002DA6 EE                MOV      A,R6
+002DA7 2470              ADD      A,#070H
+002DA9 FB                MOV      R3,A
+002DAA E4                CLR      A
+002DAB 3480              ADDC     A,#080H
+002DAD 8B82              MOV      DPL,R3
+002DAF F583              MOV      DPH,A
+002DB1 E0                MOVX     A,@DPTR
+002DB2 FC                MOV      R4,A
+002DB3 ED                MOV      A,R5
+002DB4 F4                CPL      A
+002DB5 FB                MOV      R3,A
+002DB6 EC                MOV      A,R4
+002DB7 5B                ANL      A,R3
+002DB8 F0                MOVX     @DPTR,A
   266: 
-002D89 0F                INC      R7
-002D8A A109              AJMP     ?C0043?KEYSCAN
-002D8C         ?C0044?KEYSCAN:
+002DB9 0F                INC      R7
+002DBA A139              AJMP     ?C0043?KEYSCAN
+002DBC         ?C0044?KEYSCAN:
   267: 	for (i=0; col[i]!=0; i++) {
-002D8C E4                CLR      A
-002D8D FF                MOV      R7,A
-002D8E         ?C0046?KEYSCAN:
-002D8E EF                MOV      A,R7
-002D8F 900681            MOV      DPTR,#col
-002D92 93                MOVC     A,@A+DPTR
-002D93 607C              JZ       ?C0047?KEYSCAN
+002DBC E4                CLR      A
+002DBD FF                MOV      R7,A
+002DBE         ?C0046?KEYSCAN:
+002DBE EF                MOV      A,R7
+002DBF 900681            MOV      DPTR,#col
+002DC2 93                MOVC     A,@A+DPTR
+002DC3 607C              JZ       ?C0047?KEYSCAN
   268: 		tgroup = col[i]  >> 3;
-002D95 EF                MOV      A,R7
-002D96 93                MOVC     A,@A+DPTR
-002D97 FD                MOV      R5,A
-002D98 13                RRC      A
-002D99 13                RRC      A
-002D9A 13                RRC      A
-002D9B 541F              ANL      A,#01FH
-002D9D FE                MOV      R6,A
+002DC5 EF                MOV      A,R7
+002DC6 93                MOVC     A,@A+DPTR
+002DC7 FD                MOV      R5,A
+002DC8 13                RRC      A
+002DC9 13                RRC      A
+002DCA 13                RRC      A
+002DCB 541F              ANL      A,#01FH
+002DCD FE                MOV      R6,A
   269: 		tgpionum = 1 << (col[i] & 7);
-002D9E ED                MOV      A,R5
-002D9F 5407              ANL      A,#07H
-002DA1 FD                MOV      R5,A
-002DA2 7401              MOV      A,#01H
-002DA4 A805              MOV      R0,AR5
-002DA6 08                INC      R0
-002DA7 8002              SJMP     ?C0106?KEYSCAN
-002DA9         ?C0105?KEYSCAN:
-002DA9 C3                CLR      C
-002DAA 33                RLC      A
-002DAB         ?C0106?KEYSCAN:
-002DAB D8FC              DJNZ     R0,?C0105?KEYSCAN
-002DAD FD                MOV      R5,A
+002DCE ED                MOV      A,R5
+002DCF 5407              ANL      A,#07H
+002DD1 FD                MOV      R5,A
+002DD2 7401              MOV      A,#01H
+002DD4 A805              MOV      R0,AR5
+002DD6 08                INC      R0
+002DD7 8002              SJMP     ?C0106?KEYSCAN
+002DD9         ?C0105?KEYSCAN:
+002DD9 C3                CLR      C
+002DDA 33                RLC      A
+002DDB         ?C0106?KEYSCAN:
+002DDB D8FC              DJNZ     R0,?C0105?KEYSCAN
+002DDD FD                MOV      R5,A
   270: 		GET_RAW_KEY_SEL(ksSelMapCheck[i], tgroup, tgpionum);
-002DAE EE                MOV      A,R6
-002DAF 2478              ADD      A,#078H
-002DB1 FB                MOV      R3,A
-002DB2 E4                CLR      A
-002DB3 3480              ADDC     A,#080H
-002DB5 8B82              MOV      DPL,R3
-002DB7 F583              MOV      DPH,A
-002DB9 E0                MOVX     A,@DPTR
-002DBA FC                MOV      R4,A
-002DBB ED                MOV      A,R5
-002DBC F4                CPL      A
-002DBD FB                MOV      R3,A
-002DBE EC                MOV      A,R4
-002DBF 5B                ANL      A,R3
-002DC0 F0                MOVX     @DPTR,A
-002DC1 EE                MOV      A,R6
-002DC2 2470              ADD      A,#070H
-002DC4 F582              MOV      DPL,A
-002DC6 E4                CLR      A
-002DC7 3480              ADDC     A,#080H
-002DC9 F583              MOV      DPH,A
-002DCB E0                MOVX     A,@DPTR
-002DCC 4D                ORL      A,R5
-002DCD F0                MOVX     @DPTR,A
-002DCE EE                MOV      A,R6
-002DCF 2474              ADD      A,#074H
-002DD1 F582              MOV      DPL,A
-002DD3 E4                CLR      A
-002DD4 3480              ADDC     A,#080H
-002DD6 F583              MOV      DPH,A
-002DD8 E0                MOVX     A,@DPTR
-002DD9 5B                ANL      A,R3
-002DDA F0                MOVX     @DPTR,A
-002DDB 90811C            MOV      DPTR,#0811CH
-002DDE E0                MOVX     A,@DPTR
-002DDF F4                CPL      A
-002DE0 FC                MOV      R4,A
-002DE1 74A8              MOV      A,#LOW ksSelMapCheck
-002DE3 2F                ADD      A,R7
-002DE4 F582              MOV      DPL,A
-002DE6 E4                CLR      A
-002DE7 344D              ADDC     A,#HIGH ksSelMapCheck
-002DE9 F583              MOV      DPH,A
-002DEB EC                MOV      A,R4
-002DEC F0                MOVX     @DPTR,A
-002DED EE                MOV      A,R6
-002DEE 2478              ADD      A,#078H
-002DF0 FB                MOV      R3,A
-002DF1 E4                CLR      A
-002DF2 3480              ADDC     A,#080H
-002DF4 8B82              MOV      DPL,R3
-002DF6 F583              MOV      DPH,A
-002DF8 E0                MOVX     A,@DPTR
-002DF9 4D                ORL      A,R5
-002DFA F0                MOVX     @DPTR,A
-002DFB EE                MOV      A,R6
-002DFC 2470              ADD      A,#070H
-002DFE FB                MOV      R3,A
-002DFF E4                CLR      A
-002E00 3480              ADDC     A,#080H
-002E02 8B82              MOV      DPL,R3
-002E04 F583              MOV      DPH,A
-002E06 E0                MOVX     A,@DPTR
-002E07 FC                MOV      R4,A
-002E08 ED                MOV      A,R5
-002E09 F4                CPL      A
-002E0A FB                MOV      R3,A
-002E0B EC                MOV      A,R4
-002E0C 5B                ANL      A,R3
-002E0D F0                MOVX     @DPTR,A
+002DDE EE                MOV      A,R6
+002DDF 2478              ADD      A,#078H
+002DE1 FB                MOV      R3,A
+002DE2 E4                CLR      A
+002DE3 3480              ADDC     A,#080H
+002DE5 8B82              MOV      DPL,R3
+002DE7 F583              MOV      DPH,A
+002DE9 E0                MOVX     A,@DPTR
+002DEA FC                MOV      R4,A
+002DEB ED                MOV      A,R5
+002DEC F4                CPL      A
+002DED FB                MOV      R3,A
+002DEE EC                MOV      A,R4
+002DEF 5B                ANL      A,R3
+002DF0 F0                MOVX     @DPTR,A
+002DF1 EE                MOV      A,R6
+002DF2 2470              ADD      A,#070H
+002DF4 F582              MOV      DPL,A
+002DF6 E4                CLR      A
+002DF7 3480              ADDC     A,#080H
+002DF9 F583              MOV      DPH,A
+002DFB E0                MOVX     A,@DPTR
+002DFC 4D                ORL      A,R5
+002DFD F0                MOVX     @DPTR,A
+002DFE EE                MOV      A,R6
+002DFF 2474              ADD      A,#074H
+002E01 F582              MOV      DPL,A
+002E03 E4                CLR      A
+002E04 3480              ADDC     A,#080H
+002E06 F583              MOV      DPH,A
+002E08 E0                MOVX     A,@DPTR
+002E09 5B                ANL      A,R3
+002E0A F0                MOVX     @DPTR,A
+002E0B 90811C            MOV      DPTR,#0811CH
+002E0E E0                MOVX     A,@DPTR
+002E0F F4                CPL      A
+002E10 FC                MOV      R4,A
+002E11 74A8              MOV      A,#LOW ksSelMapCheck
+002E13 2F                ADD      A,R7
+002E14 F582              MOV      DPL,A
+002E16 E4                CLR      A
+002E17 344D              ADDC     A,#HIGH ksSelMapCheck
+002E19 F583              MOV      DPH,A
+002E1B EC                MOV      A,R4
+002E1C F0                MOVX     @DPTR,A
+002E1D EE                MOV      A,R6
+002E1E 2478              ADD      A,#078H
+002E20 FB                MOV      R3,A
+002E21 E4                CLR      A
+002E22 3480              ADDC     A,#080H
+002E24 8B82              MOV      DPL,R3
+002E26 F583              MOV      DPH,A
+002E28 E0                MOVX     A,@DPTR
+002E29 4D                ORL      A,R5
+002E2A F0                MOVX     @DPTR,A
+002E2B EE                MOV      A,R6
+002E2C 2470              ADD      A,#070H
+002E2E FB                MOV      R3,A
+002E2F E4                CLR      A
+002E30 3480              ADDC     A,#080H
+002E32 8B82              MOV      DPL,R3
+002E34 F583              MOV      DPH,A
+002E36 E0                MOVX     A,@DPTR
+002E37 FC                MOV      R4,A
+002E38 ED                MOV      A,R5
+002E39 F4                CPL      A
+002E3A FB                MOV      R3,A
+002E3B EC                MOV      A,R4
+002E3C 5B                ANL      A,R3
+002E3D F0                MOVX     @DPTR,A
   271: 	}
-002E0E 0F                INC      R7
-002E0F A18E              AJMP     ?C0046?KEYSCAN
-002E11         ?C0047?KEYSCAN:
+002E3E 0F                INC      R7
+002E3F A1BE              AJMP     ?C0046?KEYSCAN
+002E41         ?C0047?KEYSCAN:
   272: 
   273: 	for (i=0; col[i]!=0; i++) {
-002E11 E4                CLR      A
-002E12 FF                MOV      R7,A
-002E13         ?C0049?KEYSCAN:
-002E13 EF                MOV      A,R7
-002E14 900681            MOV      DPTR,#col
-002E17 93                MOVC     A,@A+DPTR
-002E18 6040              JZ       ?C0050?KEYSCAN
+002E41 E4                CLR      A
+002E42 FF                MOV      R7,A
+002E43         ?C0049?KEYSCAN:
+002E43 EF                MOV      A,R7
+002E44 900681            MOV      DPTR,#col
+002E47 93                MOVC     A,@A+DPTR
+002E48 6040              JZ       ?C0050?KEYSCAN
   274: 		if (ksSelMapCheck[i]!=ksSelMapCurr[i]) {
-002E1A 74BC              MOV      A,#LOW ksSelMapCurr
-002E1C 2F                ADD      A,R7
-002E1D F582              MOV      DPL,A
-002E1F E4                CLR      A
-002E20 344D              ADDC     A,#HIGH ksSelMapCurr
-002E22 F583              MOV      DPH,A
-002E24 E0                MOVX     A,@DPTR
-002E25 FE                MOV      R6,A
-002E26 74A8              MOV      A,#LOW ksSelMapCheck
-002E28 2F                ADD      A,R7
-002E29 F582              MOV      DPL,A
-002E2B E4                CLR      A
-002E2C 344D              ADDC     A,#HIGH ksSelMapCheck
-002E2E F583              MOV      DPH,A
-002E30 E0                MOVX     A,@DPTR
-002E31 6E                XRL      A,R6
-002E32 6023              JZ       ?C0051?KEYSCAN
+002E4A 74BC              MOV      A,#LOW ksSelMapCurr
+002E4C 2F                ADD      A,R7
+002E4D F582              MOV      DPL,A
+002E4F E4                CLR      A
+002E50 344D              ADDC     A,#HIGH ksSelMapCurr
+002E52 F583              MOV      DPH,A
+002E54 E0                MOVX     A,@DPTR
+002E55 FE                MOV      R6,A
+002E56 74A8              MOV      A,#LOW ksSelMapCheck
+002E58 2F                ADD      A,R7
+002E59 F582              MOV      DPL,A
+002E5B E4                CLR      A
+002E5C 344D              ADDC     A,#HIGH ksSelMapCheck
+002E5E F583              MOV      DPH,A
+002E60 E0                MOVX     A,@DPTR
+002E61 6E                XRL      A,R6
+002E62 6023              JZ       ?C0051?KEYSCAN
   275: 			ksSelMapCurr[i] &= ksSelMapCheck[i];
-002E34 74BC              MOV      A,#LOW ksSelMapCurr
-002E36 2F                ADD      A,R7
-002E37 F582              MOV      DPL,A
-002E39 E4                CLR      A
-002E3A 344D              ADDC     A,#HIGH ksSelMapCurr
-002E3C F583              MOV      DPH,A
-002E3E C083              PUSH     DPH
-002E40 C082              PUSH     DPL
-002E42 E0                MOVX     A,@DPTR
-002E43 FE                MOV      R6,A
-002E44 74A8              MOV      A,#LOW ksSelMapCheck
-002E46 2F                ADD      A,R7
-002E47 F582              MOV      DPL,A
-002E49 E4                CLR      A
-002E4A 344D              ADDC     A,#HIGH ksSelMapCheck
-002E4C F583              MOV      DPH,A
-002E4E E0                MOVX     A,@DPTR
-002E4F FD                MOV      R5,A
-002E50 EE                MOV      A,R6
-002E51 5D                ANL      A,R5
-002E52 D082              POP      DPL
-002E54 D083              POP      DPH
-002E56 F0                MOVX     @DPTR,A
+002E64 74BC              MOV      A,#LOW ksSelMapCurr
+002E66 2F                ADD      A,R7
+002E67 F582              MOV      DPL,A
+002E69 E4                CLR      A
+002E6A 344D              ADDC     A,#HIGH ksSelMapCurr
+002E6C F583              MOV      DPH,A
+002E6E C083              PUSH     DPH
+002E70 C082              PUSH     DPL
+002E72 E0                MOVX     A,@DPTR
+002E73 FE                MOV      R6,A
+002E74 74A8              MOV      A,#LOW ksSelMapCheck
+002E76 2F                ADD      A,R7
+002E77 F582              MOV      DPL,A
+002E79 E4                CLR      A
+002E7A 344D              ADDC     A,#HIGH ksSelMapCheck
+002E7C F583              MOV      DPH,A
+002E7E E0                MOVX     A,@DPTR
+002E7F FD                MOV      R5,A
+002E80 EE                MOV      A,R6
+002E81 5D                ANL      A,R5
+002E82 D082              POP      DPL
+002E84 D083              POP      DPH
+002E86 F0                MOVX     @DPTR,A
   276: 		}
   277: 	}
-002E57         ?C0051?KEYSCAN:
-002E57 0F                INC      R7
-002E58 80B9              SJMP     ?C0049?KEYSCAN
-002E5A         ?C0050?KEYSCAN:
-  278: 
-  279: 	g_variable.current_device_num = GPIO_GetInputStatus(USER_MODE_GPIO);
-002E5A 7F1E              MOV      R7,#01EH
-002E5C 1217F1            LCALL    _GPIO_GetInputStatus
-002E5F E4                CLR      A
-002E60 33                RLC      A
-002E61 FF                MOV      R7,A
-002E62 904CC3            MOV      DPTR,#g_variable+04H
-002E65 F0                MOVX     @DPTR,A
-  280: 	if((g_variable.current_device_num == 1) && (g_variable.last_device_num == 0xfe || g_variable.last_device_num == 
+002E87         ?C0051?KEYSCAN:
+002E87 0F                INC      R7
+002E88 80B9              SJMP     ?C0049?KEYSCAN
+002E8A         ?C0050?KEYSCAN:
+  278: 	g_variable.current_device_num = GPIO_GetInputStatus(USER_MODE_GPIO);
+002E8A 7F1E              MOV      R7,#01EH
+002E8C 1217F0            LCALL    _GPIO_GetInputStatus
+002E8F E4                CLR      A
+002E90 33                RLC      A
+002E91 FF                MOV      R7,A
+002E92 904C87            MOV      DPTR,#g_variable+04H
+002E95 F0                MOVX     @DPTR,A
+  279: 	if((g_variable.current_device_num == 1) && (g_variable.last_device_num == 0xfe || g_variable.last_device_num == 
 >> 0))
-002E66 BF010F            CJNE     R7,#01H,?C0053?KEYSCAN
-002E69 904CC0            MOV      DPTR,#g_variable+01H
-002E6C E0                MOVX     A,@DPTR
-002E6D FF                MOV      R7,A
-002E6E 64FE              XRL      A,#0FEH
-002E70 6003              JZ       ?C0054?KEYSCAN
-002E72 EF                MOV      A,R7
-002E73 7003              JNZ      ?C0053?KEYSCAN
-002E75         ?C0054?KEYSCAN:
-  281: 	{
-  282: 		System_Reset_Connect();
-002E75 021EC7            LJMP     System_Reset_Connect
-  283: 	}
-002E78         ?C0053?KEYSCAN:
-  284: 	else if((!g_variable.current_device_num || g_variable.last_device_num == 0xfe) && g_variable.last_device_num == 
+002E96 BF010F            CJNE     R7,#01H,?C0053?KEYSCAN
+002E99 904C84            MOV      DPTR,#g_variable+01H
+002E9C E0                MOVX     A,@DPTR
+002E9D FF                MOV      R7,A
+002E9E 64FE              XRL      A,#0FEH
+002EA0 6003              JZ       ?C0054?KEYSCAN
+002EA2 EF                MOV      A,R7
+002EA3 7003              JNZ      ?C0053?KEYSCAN
+002EA5         ?C0054?KEYSCAN:
+  280: 	{
+  281: 		System_Reset_Connect();
+002EA5 021B37            LJMP     System_Reset_Connect
+  282: 	}
+002EA8         ?C0053?KEYSCAN:
+  283: 	else if((!g_variable.current_device_num || g_variable.last_device_num == 0xfe) && g_variable.last_device_num == 
 >> 1)
-002E78 904CC3            MOV      DPTR,#g_variable+04H
-002E7B E0                MOVX     A,@DPTR
-002E7C 6007              JZ       ?C0057?KEYSCAN
-002E7E 904CC0            MOV      DPTR,#g_variable+01H
-002E81 E0                MOVX     A,@DPTR
-002E82 B4FE0A            CJNE     A,#0FEH,?C0058?KEYSCAN
-002E85         ?C0057?KEYSCAN:
-002E85 904CC0            MOV      DPTR,#g_variable+01H
-002E88 E0                MOVX     A,@DPTR
-002E89 B40103            CJNE     A,#01H,?C0058?KEYSCAN
-  285: 	{
-  286: 		System_Reset_Connect();
-002E8C 121EC7            LCALL    System_Reset_Connect
-  287: 	}
-  288: }
-002E8F         ?C0058?KEYSCAN:
-002E8F 22                RET      
+002EA8 904C87            MOV      DPTR,#g_variable+04H
+002EAB E0                MOVX     A,@DPTR
+002EAC 6007              JZ       ?C0057?KEYSCAN
+002EAE 904C84            MOV      DPTR,#g_variable+01H
+002EB1 E0                MOVX     A,@DPTR
+002EB2 B4FE0A            CJNE     A,#0FEH,?C0058?KEYSCAN
+002EB5         ?C0057?KEYSCAN:
+002EB5 904C84            MOV      DPTR,#g_variable+01H
+002EB8 E0                MOVX     A,@DPTR
+002EB9 B40103            CJNE     A,#01H,?C0058?KEYSCAN
+  284: 	{
+  285: 		System_Reset_Connect();
+002EBC 121B37            LCALL    System_Reset_Connect
+  286: 	}
+  287: }
+002EBF         ?C0058?KEYSCAN:
+002EBF 22                RET      
 ----- FUNCTION KS_ScanMatrix (END) -------
 
 
+----- FUNCTION _kb_device_select (BEGIN) -----
+ FILE: 'kb_process.c'
+  555: byte kb_device_select(tKSEVENT *pEvt)
+  556: {
+002EC0 904EE9            MOV      DPTR,#pEvt
+002EC3 EB                MOV      A,R3
+002EC4 F0                MOVX     @DPTR,A
+002EC5 A3                INC      DPTR
+002EC6 EA                MOV      A,R2
+002EC7 F0                MOVX     @DPTR,A
+002EC8 A3                INC      DPTR
+002EC9 E9                MOV      A,R1
+002ECA F0                MOVX     @DPTR,A
+  557: 	byte temp = 0;
+  558: 	byte i=0;
+;---- Variable 'temp' assigned to Register 'R7' ----
+002ECB E4                CLR      A
+002ECC FF                MOV      R7,A
+  559: 
+;---- Variable 'i' assigned to Register 'R6' ----
+002ECD FE                MOV      R6,A
+  560: 	if (fn_flag == 1 || esc_flag == 1)
+002ECE 904DE6            MOV      DPTR,#fn_flag
+002ED1 E0                MOVX     A,@DPTR
+002ED2 6401              XRL      A,#01H
+002ED4 6008              JZ       ?C0122?KB_PROCESS
+002ED6 904DDE            MOV      DPTR,#esc_flag
+002ED9 E0                MOVX     A,@DPTR
+002EDA 6401              XRL      A,#01H
+002EDC 706C              JNZ      ?C0121?KB_PROCESS
+002EDE         ?C0122?KB_PROCESS:
+  561: 	{
+  562: 		i = KS_BUFF_POLL_LEN-1;
+002EDE 7E05              MOV      R6,#05H
+002EE0         ?C0123?KB_PROCESS:
+  563: 
+  564: 		while (i--) 
+002EE0 AD06              MOV      R5,AR6
+002EE2 1E                DEC      R6
+002EE3 ED                MOV      A,R5
+002EE4 606B              JZ       ?C0127?KB_PROCESS
+  565: 		{
+  566: 			temp = pEvt->ksPool[i];
+002EE6 904EE9            MOV      DPTR,#pEvt
+002EE9 E0                MOVX     A,@DPTR
+002EEA FB                MOV      R3,A
+002EEB A3                INC      DPTR
+002EEC E0                MOVX     A,@DPTR
+002EED FA                MOV      R2,A
+002EEE A3                INC      DPTR
+002EEF E0                MOVX     A,@DPTR
+002EF0 2401              ADD      A,#01H
+002EF2 F9                MOV      R1,A
+002EF3 E4                CLR      A
+002EF4 3A                ADDC     A,R2
+002EF5 FA                MOV      R2,A
+002EF6 EE                MOV      A,R6
+002EF7 7C00              MOV      R4,#00H
+002EF9 29                ADD      A,R1
+002EFA F9                MOV      R1,A
+002EFB EC                MOV      A,R4
+002EFC 3A                ADDC     A,R2
+002EFD FA                MOV      R2,A
+002EFE 1203B6            LCALL    ?C?CLDPTR
+002F01 FF                MOV      R7,A
+  567: 
+  568: 			if (temp == HID_KEY_1 && fn_flag == 1)	//BT PAIRING
+002F02 B41EDB            CJNE     A,#01EH,?C0123?KB_PROCESS
+002F05 904DE6            MOV      DPTR,#fn_flag
+002F08 E0                MOVX     A,@DPTR
+002F09 B401D4            CJNE     A,#01H,?C0123?KB_PROCESS
+  569: 			{
+  570: 				YC_disconnect_all_link();
+002F0C 1218C7            LCALL    YC_disconnect_all_link
+  571: 				Delay1ms(10);
+002F0F 7F0A              MOV      R7,#0AH
+002F11 120F72            LCALL    _Delay1ms
+  572: 				//do discoverable
+  573: 				g_variable.pairing_timeout = STANDBY_TIMER_10MIN;
+002F14 904CB1            MOV      DPTR,#g_variable+02EH
+002F17 7404              MOV      A,#04H
+002F19 F0                MOVX     @DPTR,A
+002F1A A3                INC      DPTR
+002F1B 74B0              MOV      A,#0B0H
+002F1D F0                MOVX     @DPTR,A
+  574: 				g_variable.pairing_g24_timeout = 0;
+002F1E E4                CLR      A
+002F1F 904CB7            MOV      DPTR,#g_variable+034H
+002F22 F0                MOVX     @DPTR,A
+  575: 				YC_key_action_handle(KEY_DISCOVERY);
+002F23 7F05              MOV      R7,#05H
+002F25 1211E2            LCALL    _YC_key_action_handle
+  576: 				LED_all_shutdown();
+002F28 1217BC            LCALL    LED_all_shutdown
+  577: 				g_variable.button_reconnect_flag = 0;
+002F2B E4                CLR      A
+002F2C 904C90            MOV      DPTR,#g_variable+0DH
+002F2F F0                MOVX     @DPTR,A
+  578: 				g_variable.release_data = 1;
+002F30 904CB4            MOV      DPTR,#g_variable+031H
+002F33 04                INC      A
+002F34 F0                MOVX     @DPTR,A
+  579: 				g_variable.temp_device_num = g_variable.last_device_num;
+002F35 904C84            MOV      DPTR,#g_variable+01H
+002F38 E0                MOVX     A,@DPTR
+002F39 904C88            MOV      DPTR,#g_variable+05H
+002F3C F0                MOVX     @DPTR,A
+  580: 				g_variable.last_device_num = g_variable.current_device_num;
+002F3D 904C87            MOV      DPTR,#g_variable+04H
+002F40 E0                MOVX     A,@DPTR
+002F41 904C84            MOV      DPTR,#g_variable+01H
+002F44 F0                MOVX     @DPTR,A
+  581: 
+  582: 				return 1;
+002F45 7F01              MOV      R7,#01H
+002F47 22                RET      
+  583: 			}
+  584: 			// else if(temp == HID_KEY_K && esc_flag == 1)
+  585: 			// {
+  586: 			// 	g_variable.p_mode_current = 0;
+  587: 			// 	g_variable.p_mode_last = 0;
+  588: 
+  589: 			// 	g_variable.delay_enter_lpm_timer = 10;
+  590: 			// 	g_variable.button_flag &= ~KEY_FLAG_FN_DEVICE_BUTTON;
+  591: 			// 	g_variable.button_flag |= KEY_FLAG_FN_24G_DEVICE_BUTTON;
+  592: 			// 	if( (g_variable.current_device_num != 0) && (g_variable.current_device_num != 0xfe))
+  593: 			// 	{
+  594: 			// 		g_variable.button_24G_rec_flag = 1;
+  595: 			// 		g_variable.current_device_num = 0;
+  596: 			// 		g_variable.powerOn_timer = 0;
+  597: 			// 	}
+  598: 			// 	return 1;
+  599: 			// }
+  600: 		}
+  601: 	}
+002F48 8007              SJMP     ?C0127?KB_PROCESS
+002F4A         ?C0121?KB_PROCESS:
+  602: 	else
+  603: 	{
+  604: 
+  605: 		g_variable.button_flag &= ~(KEY_FLAG_FN_DEVICE_BUTTON |KEY_FLAG_FN_24G_DEVICE_BUTTON) ;
+002F4A 904C92            MOV      DPTR,#g_variable+0FH
+002F4D E0                MOVX     A,@DPTR
+002F4E 54E7              ANL      A,#0E7H
+002F50 F0                MOVX     @DPTR,A
+  606: 		//g_variable.button_flag &= ~KEY_FLAG_FN_SYSTEM_MODE_BUTTON;
+  607: 	}
+002F51         ?C0127?KB_PROCESS:
+  608: 	return 0;
+002F51 7F00              MOV      R7,#00H
+  609: }
+002F53 22                RET      
+----- FUNCTION _kb_device_select (END) -------
+
+
+----- FUNCTION _kb_combination_key_press (BEGIN) -----
+ FILE: 'kb_process.c'
+  614: void kb_combination_key_press(byte press_state,byte special_key,byte standrad_key)
+  615: {
+;---- Variable 'press_state' assigned to Register 'R7' ----
+;---- Variable 'standrad_key' assigned to Register 'R3' ----
+;---- Variable 'special_key' assigned to Register 'R5' ----
+  616: 	g_variable.key_combination_ctrl = special_key;	
+  617: 	g_variable.key_combination_keyvalue = standrad_key;
+002F54 904CBE            MOV      DPTR,#g_variable+03BH
+002F57 ED                MOV      A,R5
+002F58 F0                MOVX     @DPTR,A
+  618: 
+002F59 A3                INC      DPTR
+002F5A EB                MOV      A,R3
+002F5B F0                MOVX     @DPTR,A
+  619: 	if(press_state & 1)
+002F5C EF                MOV      A,R7
+002F5D 30E012            JNB      ACC.0,?C0128?KB_PROCESS
+  620: 	{
+  621: 		if(g_variable.key_combination_step == CAMBINATION_KEY_COMPLETE) 
+002F60 904CBD            MOV      DPTR,#g_variable+03AH
+002F63 E0                MOVX     A,@DPTR
+002F64 B40304            CJNE     A,#03H,?C0129?KB_PROCESS
+  622: 			g_variable.key_combination_step = CAMBINATION_KEY_HOLD;
+002F67 7402              MOV      A,#02H
+002F69 F0                MOVX     @DPTR,A
+002F6A 22                RET      
+002F6B         ?C0129?KB_PROCESS:
+  623: 		else	
+  624: 			g_variable.key_combination_step = CAMBINATION_KEY_PRESS;
+002F6B 904CBD            MOV      DPTR,#g_variable+03AH
+002F6E 7401              MOV      A,#01H
+002F70 F0                MOVX     @DPTR,A
+  625: 	}
+002F71 22                RET      
+002F72         ?C0128?KB_PROCESS:
+  626: 	else
+  627: 	{
+  628: 		g_variable.key_combination_step = CAMBINATION_KEY_WAIT_RELEASE;
+002F72 904CBD            MOV      DPTR,#g_variable+03AH
+002F75 7404              MOV      A,#04H
+002F77 F0                MOVX     @DPTR,A
+  629: 	}
+  630: 
+  631: }
+002F78 22                RET      
+----- FUNCTION _kb_combination_key_press (END) -------
+
+
+----- FUNCTION _key_fn_function (BEGIN) -----
+ FILE: 'kb_process.c'
+  634: byte key_fn_function(byte state ,byte key_value)
+  635: {
+002F79 904F00            MOV      DPTR,#key_value
+002F7C ED                MOV      A,R5
+002F7D F0                MOVX     @DPTR,A
+;---- Variable 'state' assigned to Register 'R7' ----
+  636: 	byte temp = 0;
+  637: 
+002F7E E4                CLR      A
+002F7F A3                INC      DPTR
+002F80 F0                MOVX     @DPTR,A
+  638: 	if(state & 1)
+002F81 EF                MOV      A,R7
+002F82 30E005            JNB      ACC.0,?C0133?KB_PROCESS
+  639: 		g_variable.one_key_press_wait_release_timer = 0;
+002F85 E4                CLR      A
+002F86 904CC1            MOV      DPTR,#g_variable+03EH
+002F89 F0                MOVX     @DPTR,A
+002F8A         ?C0133?KB_PROCESS:
+  640: 
+  641: 	temp = key_value;
+002F8A 904F00            MOV      DPTR,#key_value
+002F8D E0                MOVX     A,@DPTR
+002F8E FE                MOV      R6,A
+002F8F A3                INC      DPTR
+002F90 F0                MOVX     @DPTR,A
+  642: 	if(g_variable.system_mode == OSMODE_IOS ||g_variable.system_mode == OSMODE_MAC)
+002F91 904C85            MOV      DPTR,#g_variable+02H
+002F94 E0                MOVX     A,@DPTR
+002F95 FD                MOV      R5,A
+002F96 6404              XRL      A,#04H
+002F98 6005              JZ       ?C0135?KB_PROCESS
+002F9A ED                MOV      A,R5
+002F9B 6403              XRL      A,#03H
+002F9D 7030              JNZ      ?C0134?KB_PROCESS
+002F9F         ?C0135?KB_PROCESS:
+  643: 	{
+  644: 		if(key_value == HID_KEY_RIGHT_ALT)
+002F9F EE                MOV      A,R6
+002FA0 B4E608            CJNE     A,#0E6H,?C0136?KB_PROCESS
+  645: 			temp = HID_KEY_RIGHT_GUI;
+002FA3 904F01            MOV      DPTR,#temp
+002FA6 74E7              MOV      A,#0E7H
+002FA8 F0                MOVX     @DPTR,A
+002FA9 8024              SJMP     ?C0134?KB_PROCESS
+002FAB         ?C0136?KB_PROCESS:
+  646: 		else if(key_value == HID_KEY_RIGHT_CTL)
+002FAB 904F00            MOV      DPTR,#key_value
+002FAE E0                MOVX     A,@DPTR
+002FAF FE                MOV      R6,A
+002FB0 B4E406            CJNE     A,#0E4H,?C0138?KB_PROCESS
+  647: 			temp = HID_KEY_RIGHT_ALT;	
+002FB3 A3                INC      DPTR
+002FB4 74E6              MOV      A,#0E6H
+002FB6 F0                MOVX     @DPTR,A
+002FB7 8016              SJMP     ?C0134?KB_PROCESS
+002FB9         ?C0138?KB_PROCESS:
+  648: 		else if(key_value == HID_KEY_LEFT_GUI)
+002FB9 EE                MOV      A,R6
+002FBA B4E308            CJNE     A,#0E3H,?C0140?KB_PROCESS
+  649: 			temp = HID_KEY_LEFT_ALT;
+002FBD 904F01            MOV      DPTR,#temp
+002FC0 74E2              MOV      A,#0E2H
+002FC2 F0                MOVX     @DPTR,A
+002FC3 800A              SJMP     ?C0134?KB_PROCESS
+002FC5         ?C0140?KB_PROCESS:
+  650: 		else if(key_value == HID_KEY_LEFT_ALT)
+002FC5 EE                MOV      A,R6
+002FC6 B4E206            CJNE     A,#0E2H,?C0134?KB_PROCESS
+  651: 			temp = HID_KEY_LEFT_GUI;	
+002FC9 904F01            MOV      DPTR,#temp
+002FCC 74E3              MOV      A,#0E3H
+002FCE F0                MOVX     @DPTR,A
+  652: 	}
+002FCF         ?C0134?KB_PROCESS:
+  653: 	if(fn_flag == 1){
+002FCF 904DE6            MOV      DPTR,#fn_flag
+002FD2 E0                MOVX     A,@DPTR
+002FD3 6401              XRL      A,#01H
+002FD5 7040              JNZ      ?C0143?KB_PROCESS
+  654: 		if(key_value == HID_KEY_W)	
+002FD7 904F00            MOV      DPTR,#key_value
+002FDA E0                MOVX     A,@DPTR
+002FDB FE                MOV      R6,A
+002FDC B41A1B            CJNE     A,#01AH,?C0144?KB_PROCESS
+  655: 		{
+  656: 			if(state & 1){
+002FDF EF                MOV      A,R7
+002FE0 30E010            JNB      ACC.0,?C0145?KB_PROCESS
+  657: 				if(fn_w_flag)
+002FE3 904DDA            MOV      DPTR,#fn_w_flag
+002FE6 E0                MOVX     A,@DPTR
+002FE7 6004              JZ       ?C0146?KB_PROCESS
+  658: 				{
+  659: 					fn_w_flag = 0;
+002FE9 E4                CLR      A
+002FEA F0                MOVX     @DPTR,A
+  660: 				}
+002FEB 8006              SJMP     ?C0145?KB_PROCESS
+002FED         ?C0146?KB_PROCESS:
+  661: 				else
+  662: 				{
+  663: 					fn_w_flag = 1;
+002FED 904DDA            MOV      DPTR,#fn_w_flag
+002FF0 7401              MOV      A,#01H
+002FF2 F0                MOVX     @DPTR,A
+  664: 				}
+  665: 			}
+002FF3         ?C0145?KB_PROCESS:
+  666: 			
+  667: 			temp = HID_KEY_NULL;
+002FF3 E4                CLR      A
+002FF4 904F01            MOV      DPTR,#temp
+002FF7 F0                MOVX     @DPTR,A
+  668: 		}	
+002FF8 801D              SJMP     ?C0143?KB_PROCESS
+002FFA         ?C0144?KB_PROCESS:
+  669: 		else if(key_value == HID_KEY_LEFT_GUI)
+002FFA EE                MOV      A,R6
+002FFB B4E319            CJNE     A,#0E3H,?C0143?KB_PROCESS
+  670: 		{
+  671: 			if(state & 1){
+002FFE EF                MOV      A,R7
+002FFF 30E010            JNB      ACC.0,?C0150?KB_PROCESS
+  672: 				if(gui_lock)
+003002 904DE7            MOV      DPTR,#gui_lock
+003005 E0                MOVX     A,@DPTR
+003006 6004              JZ       ?C0151?KB_PROCESS
+  673: 				{
+  674: 					gui_lock = 0;
+003008 E4                CLR      A
+003009 F0                MOVX     @DPTR,A
+  675: 				}
+00300A 8006              SJMP     ?C0150?KB_PROCESS
+00300C         ?C0151?KB_PROCESS:
+  676: 				else
+  677: 				{
+  678: 					gui_lock = 1;
+00300C 904DE7            MOV      DPTR,#gui_lock
+00300F 7401              MOV      A,#01H
+003011 F0                MOVX     @DPTR,A
+  679: 				}
+  680: 			}
+003012         ?C0150?KB_PROCESS:
+  681: 			temp = HID_KEY_NULL;
+003012 E4                CLR      A
+003013 904F01            MOV      DPTR,#temp
+003016 F0                MOVX     @DPTR,A
+  682: 		}	
+  683: 	}
+003017         ?C0143?KB_PROCESS:
+  684: 		if((!fast_connect_flag)  && (fn_flag))
+003017 904E5B            MOV      DPTR,#fast_connect_flag
+00301A E0                MOVX     A,@DPTR
+00301B 6002              JZ       $ + 4H
+00301D 01C4              AJMP     ?C0153?KB_PROCESS
+00301F 904DE6            MOV      DPTR,#fn_flag
+003022 E0                MOVX     A,@DPTR
+003023 7002              JNZ      $ + 4H
+003025 01C4              AJMP     ?C0153?KB_PROCESS
+  685: 		{
+  686: 			switch (key_value)
+003027 904F00            MOV      DPTR,#key_value
+00302A E0                MOVX     A,@DPTR
+00302B 24C6              ADD      A,#0C6H
+00302D B40C00            CJNE     A,#0CH,?C0245?KB_PROCESS
+003030         ?C0245?KB_PROCESS:
+003030 4002              JC       $ + 4H
+003032 01C4              AJMP     ?C0153?KB_PROCESS
+003034 903042            MOV      DPTR,#03042H
+003037 75F003            MOV      B,#03H
+00303A A4                MUL      AB
+00303B C583              XCH      A,DPH
+00303D 25F0              ADD      A,B
+00303F C583              XCH      A,DPH
+003041 73                JMP      @A+DPTR
+003042         ?C0246?KB_PROCESS:
+003042 023066            LJMP     ?C0155?KB_PROCESS
+003045 02306E            LJMP     ?C0156?KB_PROCESS
+003048 023076            LJMP     ?C0157?KB_PROCESS
+00304B 02307E            LJMP     ?C0158?KB_PROCESS
+00304E 023086            LJMP     ?C0159?KB_PROCESS
+003051 02308E            LJMP     ?C0160?KB_PROCESS
+003054 023096            LJMP     ?C0161?KB_PROCESS
+003057 02309E            LJMP     ?C0162?KB_PROCESS
+00305A 0230A6            LJMP     ?C0163?KB_PROCESS
+00305D 0230AE            LJMP     ?C0164?KB_PROCESS
+003060 0230B6            LJMP     ?C0165?KB_PROCESS
+003063 0230BE            LJMP     ?C0166?KB_PROCESS
+  687: 			{ 	
+  688: 				// case HID_KEY_W:
+  689: 				// 	fn_w_flag = 1;
+  690: 				// 	break;
+  691: 				case HID_KEY_F1:
+003066         ?C0155?KB_PROCESS:
+  692: 					//temp = HID_MULTIKEY_MEDIA;
+  693: 					temp = HID_MULTIKEY_MY_COMPUTER;
+003066 904F01            MOV      DPTR,#temp
+003069 74F9              MOV      A,#0F9H
+00306B F0                MOVX     @DPTR,A
+  694: 					break;
+00306C 8056              SJMP     ?C0153?KB_PROCESS
+  695: 				case HID_KEY_F2:
+00306E         ?C0156?KB_PROCESS:
+  696: 					//temp = HID_MULTIKEY_VOL_DOWN;
+  697: 					temp = HID_MULTIKEY_AC_HOME;
+00306E 904F01            MOV      DPTR,#temp
+003071 74D6              MOV      A,#0D6H
+003073 F0                MOVX     @DPTR,A
+  698: 					break;
+003074 804E              SJMP     ?C0153?KB_PROCESS
+  699: 				case HID_KEY_F3:
+003076         ?C0157?KB_PROCESS:
+  700: 					//temp = HID_MULTIKEY_VOL_UP;
+  701: 					temp = HID_MULTIKEY_MAIL;
+003076 904F01            MOV      DPTR,#temp
+003079 74FA              MOV      A,#0FAH
+00307B F0                MOVX     @DPTR,A
+  702: 					break;
+00307C 8046              SJMP     ?C0153?KB_PROCESS
+  703: 				case HID_KEY_F4:
+00307E         ?C0158?KB_PROCESS:
+  704: 					//temp = HID_MULTIKEY_MUTE;
+  705: 					temp = HID_MULTIKEY_CALCULATOR;
+00307E 904F01            MOV      DPTR,#temp
+003081 74FB              MOV      A,#0FBH
+003083 F0                MOVX     @DPTR,A
+  706: 					break;
+003084 803E              SJMP     ?C0153?KB_PROCESS
+  707: 				case HID_KEY_F5:
+003086         ?C0159?KB_PROCESS:
+  708: 					//temp = HID_MULTIKEY_PRE_TRACK;
+  709: 					temp = HID_MULTIKEY_MEDIA;
+003086 904F01            MOV      DPTR,#temp
+003089 74F1              MOV      A,#0F1H
+00308B F0                MOVX     @DPTR,A
+  710: 					break;
+00308C 8036              SJMP     ?C0153?KB_PROCESS
+  711: 				case HID_KEY_F6:
+00308E         ?C0160?KB_PROCESS:
+  712: 					//temp = HID_MULTIKEY_NEXT_TRACK;
+  713: 					temp = HID_MULTIKEY_STOP;
+00308E 904F01            MOV      DPTR,#temp
+003091 74F3              MOV      A,#0F3H
+003093 F0                MOVX     @DPTR,A
+  714: 					break;
+003094 802E              SJMP     ?C0153?KB_PROCESS
+  715: 				case HID_KEY_F7:
+003096         ?C0161?KB_PROCESS:
+  716: 					//temp = HID_MULTIKEY_PALY;
+  717: 					temp = HID_MULTIKEY_PRE_TRACK;
+003096 904F01            MOV      DPTR,#temp
+003099 74F4              MOV      A,#0F4H
+00309B F0                MOVX     @DPTR,A
+  718: 					break;	
+00309C 8026              SJMP     ?C0153?KB_PROCESS
+  719: 				case HID_KEY_F8:
+00309E         ?C0162?KB_PROCESS:
+  720: 					//temp = HID_MULTIKEY_STOP;
+  721: 					temp = HID_MULTIKEY_PALY;
+00309E 904F01            MOV      DPTR,#temp
+0030A1 74F2              MOV      A,#0F2H
+0030A3 F0                MOVX     @DPTR,A
+  722: 					break;
+0030A4 801E              SJMP     ?C0153?KB_PROCESS
+  723: 				case HID_KEY_F9:
+0030A6         ?C0163?KB_PROCESS:
+  724: 					//temp = HID_MULTIKEY_AC_HOME;
+  725: 					temp = HID_MULTIKEY_NEXT_TRACK;
+0030A6 904F01            MOV      DPTR,#temp
+0030A9 74F5              MOV      A,#0F5H
+0030AB F0                MOVX     @DPTR,A
+  726: 					break;
+0030AC 8016              SJMP     ?C0153?KB_PROCESS
+  727: 				case HID_KEY_F10:
+0030AE         ?C0164?KB_PROCESS:
+  728: 					//temp = HID_MULTIKEY_MAIL;
+  729: 					temp = HID_MULTIKEY_MUTE;
+0030AE 904F01            MOV      DPTR,#temp
+0030B1 74F8              MOV      A,#0F8H
+0030B3 F0                MOVX     @DPTR,A
+  730: 					break;
+0030B4 800E              SJMP     ?C0153?KB_PROCESS
+  731: 				case HID_KEY_F11:
+0030B6         ?C0165?KB_PROCESS:
+  732: 					//temp = HID_MULTIKEY_MY_COMPUTER;
+  733: 					temp = HID_MULTIKEY_VOL_DOWN;
+0030B6 904F01            MOV      DPTR,#temp
+0030B9 74F6              MOV      A,#0F6H
+0030BB F0                MOVX     @DPTR,A
+  734: 					break;
+0030BC 8006              SJMP     ?C0153?KB_PROCESS
+  735: 				case HID_KEY_F12:
+0030BE         ?C0166?KB_PROCESS:
+  736: 					//temp = HID_MULTIKEY_AC_FAVORITES;
+  737: 					temp = HID_MULTIKEY_VOL_UP;
+0030BE 904F01            MOV      DPTR,#temp
+0030C1 74F7              MOV      A,#0F7H
+0030C3 F0                MOVX     @DPTR,A
+  738: 					break;
+  739: 				default :
+  740: 					break;
+  741: 			}
+  742: 	}
+0030C4         ?C0153?KB_PROCESS:
+  743: 	if(fn_w_flag)
+0030C4 904DDA            MOV      DPTR,#fn_w_flag
+0030C7 E0                MOVX     A,@DPTR
+0030C8 605F              JZ       ?C0168?KB_PROCESS
+  744: 	{
+  745: 		switch (key_value)
+0030CA 904F00            MOV      DPTR,#key_value
+0030CD E0                MOVX     A,@DPTR
+0030CE 24FC              ADD      A,#0FCH
+0030D0 6021              JZ       ?C0171?KB_PROCESS
+0030D2 24FD              ADD      A,#0FDH
+0030D4 602D              JZ       ?C0173?KB_PROCESS
+0030D6 24F1              ADD      A,#0F1H
+0030D8 6021              JZ       ?C0172?KB_PROCESS
+0030DA 24C7              ADD      A,#0C7H
+0030DC 6045              JZ       ?C0177?KB_PROCESS
+0030DE 14                DEC      A
+0030DF 6032              JZ       ?C0175?KB_PROCESS
+0030E1 14                DEC      A
+0030E2 6037              JZ       ?C0176?KB_PROCESS
+0030E4 14                DEC      A
+0030E5 6024              JZ       ?C0174?KB_PROCESS
+0030E7 2438              ADD      A,#038H
+0030E9 703E              JNZ      ?C0168?KB_PROCESS
+  746: 		{
+  747: 			case HID_KEY_W:
+0030EB         ?C0170?KB_PROCESS:
+  748: 				temp = HID_KEY_UP_ARROW;
+0030EB 904F01            MOV      DPTR,#temp
+0030EE 7452              MOV      A,#052H
+0030F0 F0                MOVX     @DPTR,A
+  749: 				break;
+0030F1 8036              SJMP     ?C0168?KB_PROCESS
+  750: 			case HID_KEY_A:
+0030F3         ?C0171?KB_PROCESS:
+  751: 				temp = HID_KEY_LEFT_ARROW;
+0030F3 904F01            MOV      DPTR,#temp
+0030F6 7450              MOV      A,#050H
+0030F8 F0                MOVX     @DPTR,A
+  752: 				break;
+0030F9 802E              SJMP     ?C0168?KB_PROCESS
+  753: 			case HID_KEY_S:
+0030FB         ?C0172?KB_PROCESS:
+  754: 				temp = HID_KEY_DOWN_ARROW;
+0030FB 904F01            MOV      DPTR,#temp
+0030FE 7451              MOV      A,#051H
+003100 F0                MOVX     @DPTR,A
+  755: 				break;
+003101 8026              SJMP     ?C0168?KB_PROCESS
+  756: 			case HID_KEY_D:
+003103         ?C0173?KB_PROCESS:
+  757: 				temp = HID_KEY_RIGHT_ARROW;
+003103 904F01            MOV      DPTR,#temp
+003106 744F              MOV      A,#04FH
+003108 F0                MOVX     @DPTR,A
+  758: 				break;
+003109 801E              SJMP     ?C0168?KB_PROCESS
+  759: 			case HID_KEY_UP_ARROW:
+00310B         ?C0174?KB_PROCESS:
+  760: 				temp = HID_KEY_W;
+00310B 904F01            MOV      DPTR,#temp
+00310E 741A              MOV      A,#01AH
+003110 F0                MOVX     @DPTR,A
+  761: 				break;
+003111 8016              SJMP     ?C0168?KB_PROCESS
+  762: 			case HID_KEY_LEFT_ARROW:
+003113         ?C0175?KB_PROCESS:
+  763: 				temp = HID_KEY_A;
+003113 904F01            MOV      DPTR,#temp
+003116 7404              MOV      A,#04H
+003118 F0                MOVX     @DPTR,A
+  764: 				break;
+003119 800E              SJMP     ?C0168?KB_PROCESS
+  765: 			case HID_KEY_DOWN_ARROW:
+00311B         ?C0176?KB_PROCESS:
+  766: 				temp = HID_KEY_S;
+00311B 904F01            MOV      DPTR,#temp
+00311E 7416              MOV      A,#016H
+003120 F0                MOVX     @DPTR,A
+  767: 				break;
+003121 8006              SJMP     ?C0168?KB_PROCESS
+  768: 			case HID_KEY_RIGHT_ARROW:
+003123         ?C0177?KB_PROCESS:
+  769: 				temp = HID_KEY_D;
+003123 904F01            MOV      DPTR,#temp
+003126 7407              MOV      A,#07H
+003128 F0                MOVX     @DPTR,A
+  770: 				break;
+  771: 			default :
+  772: 				break;
+  773: 		}
+  774: 	}
+003129         ?C0168?KB_PROCESS:
+  775: 	if(gui_lock)
+003129 904DE7            MOV      DPTR,#gui_lock
+00312C E0                MOVX     A,@DPTR
+00312D 6014              JZ       ?C0179?KB_PROCESS
+  776: 	{
+  777: 		// kb_combination_key_press(state,KS_SEL_LGUI,key_value);
+  778: 		// temp = HID_KEY_NULL;
+  779: 		if(key_value == HID_KEY_LEFT_GUI)
+00312F 904F00            MOV      DPTR,#key_value
+003132 E0                MOVX     A,@DPTR
+003133 FF                MOV      R7,A
+003134 B4E303            CJNE     A,#0E3H,?C0180?KB_PROCESS
+  780: 			temp = HID_KEY_NULL;
+003137 E4                CLR      A
+003138 A3                INC      DPTR
+003139 F0                MOVX     @DPTR,A
+00313A         ?C0180?KB_PROCESS:
+  781: 		if(key_value == HID_KEY_APP)
+00313A EF                MOV      A,R7
+00313B B46505            CJNE     A,#065H,?C0179?KB_PROCESS
+  782: 			temp = HID_KEY_NULL;
+00313E E4                CLR      A
+00313F 904F01            MOV      DPTR,#temp
+003142 F0                MOVX     @DPTR,A
+  783: 	}
+003143         ?C0179?KB_PROCESS:
+  784: 
+  785: 	return temp;
+003143 904F01            MOV      DPTR,#temp
+003146 E0                MOVX     A,@DPTR
+003147 FF                MOV      R7,A
+  786: }
+003148 22                RET      
+----- FUNCTION _key_fn_function (END) -------
+
+
+----- FUNCTION ksRawInitialize (BEGIN) -----
+ FILE: 'keyscan.c'
+  189: static void ksRawInitialize()
+  190: {
+  191: 	byte i = 0;
+  192: 	
+003149 E4                CLR      A
+00314A 904F0A            MOV      DPTR,#i
+00314D F0                MOVX     @DPTR,A
+  193: 	for (i=0; i<8; i++) {
+00314E F0                MOVX     @DPTR,A
+00314F         ?C0028?KEYSCAN:
+00314F 904F0A            MOV      DPTR,#i
+003152 E0                MOVX     A,@DPTR
+003153 FF                MOV      R7,A
+003154 C3                CLR      C
+003155 9408              SUBB     A,#08H
+003157 500D              JNC      ?C0031?KEYSCAN
+  194: 		GPIO_SetInput(i, 0);
+003159 C205              CLR      ?_GPIO_SetInput?BIT
+00315B 121F61            LCALL    _GPIO_SetInput
+  195: 	}
+00315E 904F0A            MOV      DPTR,#i
+003161 E0                MOVX     A,@DPTR
+003162 04                INC      A
+003163 F0                MOVX     @DPTR,A
+003164 80E9              SJMP     ?C0028?KEYSCAN
+  196: }
+003166         ?C0031?KEYSCAN:
+003166 22                RET      
+----- FUNCTION ksRawInitialize (END) -------
+
+
 ----- FUNCTION LED_device_poweron (BEGIN) -----
  FILE: 'led.c'
-   22: void LED_device_poweron()
-   23: {
-   24: 	if(g_variable.current_device_num == 1)
-   25: 		GPIO_Setout(num1_led,LED_ON);
-002E90 904CC3            MOV      DPTR,#g_variable+04H
-002E93 E0                MOVX     A,@DPTR
-002E94 B40107            CJNE     A,#01H,?C0002?LED
-   26: 	else if(g_variable.current_device_num == 2)
-002E97 D201              SETB     ?_GPIO_Setout?BIT
-002E99 7F1F              MOV      R7,#01FH
-002E9B 0212BB            LJMP     _GPIO_Setout
-002E9E         ?C0002?LED:
-   27: 		GPIO_Setout(num2_led,LED_ON);
-002E9E 904CC3            MOV      DPTR,#g_variable+04H
-002EA1 E0                MOVX     A,@DPTR
-002EA2 B40207            CJNE     A,#02H,?C0004?LED
-   28: 	else if(g_variable.current_device_num == 3)
-002EA5 D201              SETB     ?_GPIO_Setout?BIT
-002EA7 7FFF              MOV      R7,#0FFH
-002EA9 0212BB            LJMP     _GPIO_Setout
-002EAC         ?C0004?LED:
-   29: 	{	
-002EAC 904CC3            MOV      DPTR,#g_variable+04H
-002EAF E0                MOVX     A,@DPTR
-002EB0 B40307            CJNE     A,#03H,?C0006?LED
-   30: 		GPIO_SetOutput(num3_led,LED_ON);
+   16: void LED_device_poweron()
+   17: {
+   18: //	if(g_variable.switch_device_led_timer)
+   19: //		return ;
+   20: 	if(g_variable.current_device_num == 1)
+003167 904C87            MOV      DPTR,#g_variable+04H
+00316A E0                MOVX     A,@DPTR
+00316B B40107            CJNE     A,#01H,?C0002?LED
+   21: 		GPIO_Setout(num1_led,LED_ON);
+00316E D201              SETB     ?_GPIO_Setout?BIT
+003170 7F1F              MOV      R7,#01FH
+003172 0211D0            LJMP     _GPIO_Setout
+003175         ?C0002?LED:
+   22: 	else if(g_variable.current_device_num == 2)
+003175 904C87            MOV      DPTR,#g_variable+04H
+003178 E0                MOVX     A,@DPTR
+003179 B40207            CJNE     A,#02H,?C0004?LED
+   23: 		GPIO_Setout(num2_led,LED_ON);
+00317C D201              SETB     ?_GPIO_Setout?BIT
+00317E 7FFF              MOV      R7,#0FFH
+003180 0211D0            LJMP     _GPIO_Setout
+003183         ?C0004?LED:
+   24: 	else if(g_variable.current_device_num == 3)
+003183 904C87            MOV      DPTR,#g_variable+04H
+003186 E0                MOVX     A,@DPTR
+003187 B40307            CJNE     A,#03H,?C0006?LED
+   25: 	{	
+   26: 		GPIO_SetOutput(num3_led,LED_ON);
+00318A D206              SETB     ?_GPIO_SetOutput?BIT
+00318C 7FFF              MOV      R7,#0FFH
+00318E 02179F            LJMP     _GPIO_SetOutput
+   27: 	}
+003191         ?C0006?LED:
+   28: 	else
+   29: 	{
+   30: 		GPIO_Setout(num0_led,LED_ON);	
+003191 D201              SETB     ?_GPIO_Setout?BIT
+003193 7F1F              MOV      R7,#01FH
+003195 0211D0            LJMP     _GPIO_Setout
    31: 	}
-002EB3 D206              SETB     ?_GPIO_SetOutput?BIT
-002EB5 7FFF              MOV      R7,#0FFH
-002EB7 021CFF            LJMP     _GPIO_SetOutput
-   32: 	else
-002EBA         ?C0006?LED:
-   33: 	{
-   34: 		GPIO_Setout(num0_led,LED_ON);	
-002EBA D201              SETB     ?_GPIO_Setout?BIT
-002EBC 7F1F              MOV      R7,#01FH
-002EBE 0212BB            LJMP     _GPIO_Setout
-   35: 	}
 ----- FUNCTION LED_device_poweron (END) -------
 
 
+----- FUNCTION kb_cb_Timer100ms (BEGIN) -----
+ FILE: 'sys.c'
+  683: static void kb_cb_Timer100ms()
+  684: {
+  685: 	LED_timer100ms();
+  686: //2.4G AUTO JUGE OS
+003198 7125              ACALL    LED_timer100ms
+  687: 	if( (g_variable.current_device_num == 0) || (g_variable.current_device_num == 0xfe))
+00319A 904C87            MOV      DPTR,#g_variable+04H
+00319D E0                MOVX     A,@DPTR
+00319E FF                MOV      R7,A
+00319F 6004              JZ       ?C0119?SYS
+0031A1 64FE              XRL      A,#0FEH
+0031A3 701F              JNZ      ?C0118?SYS
+0031A5         ?C0119?SYS:
+  688: 	{
+  689: 		if(g_variable.os_24g_juge_start_delay_timer)	
+0031A5 904CD3            MOV      DPTR,#g_variable+050H
+0031A8 E0                MOVX     A,@DPTR
+0031A9 6019              JZ       ?C0118?SYS
+  690: 		{
+  691: 			g_variable.os_24g_juge_start_delay_timer --;		
+0031AB 14                DEC      A
+0031AC F0                MOVX     @DPTR,A
+  692: 			if(!g_variable.os_24g_juge_start_delay_timer)	
+0031AD E0                MOVX     A,@DPTR
+0031AE 7014              JNZ      ?C0118?SYS
+  693: 			{
+  694: 				if(m_caps_num_lock & KB_PC_24G_OS_MAC)
+0031B0 904C7B            MOV      DPTR,#m_caps_num_lock
+0031B3 E0                MOVX     A,@DPTR
+0031B4 30E708            JNB      ACC.7,?C0122?SYS
+  695: 					g_variable.system_mode = OSMODE_MAC;	
+0031B7 904C85            MOV      DPTR,#g_variable+02H
+0031BA 7403              MOV      A,#03H
+0031BC F0                MOVX     @DPTR,A
+0031BD 8005              SJMP     ?C0118?SYS
+0031BF         ?C0122?SYS:
+  696: 				else
+  697: 					g_variable.system_mode = OSMODE_WINDOWS;		
+0031BF E4                CLR      A
+0031C0 904C85            MOV      DPTR,#g_variable+02H
+0031C3 F0                MOVX     @DPTR,A
+  698: 			}
+  699: 		}
+  700: 	}
+0031C4         ?C0118?SYS:
+  701: //end
+  702: 	if (g_variable.delay_enter_lpm_timer) 
+0031C4 904CB3            MOV      DPTR,#g_variable+030H
+0031C7 E0                MOVX     A,@DPTR
+0031C8 6002              JZ       ?C0124?SYS
+  703: 	{
+  704: 		g_variable.delay_enter_lpm_timer --;
+0031CA 14                DEC      A
+0031CB F0                MOVX     @DPTR,A
+  705: 	}
+0031CC         ?C0124?SYS:
+  706: 
+  707: 	if(g_variable.recon_delay)
+0031CC 904CB8            MOV      DPTR,#g_variable+035H
+0031CF E0                MOVX     A,@DPTR
+0031D0 6002              JZ       ?C0125?SYS
+  708: 		g_variable.recon_delay--;
+0031D2 14                DEC      A
+0031D3 F0                MOVX     @DPTR,A
+0031D4         ?C0125?SYS:
+  709: 
+  710: 	if(g_variable.one_key_press_wait_release_timer)
+0031D4 904CC1            MOV      DPTR,#g_variable+03EH
+0031D7 E0                MOVX     A,@DPTR
+0031D8 600B              JZ       ?C0126?SYS
+  711: 	{
+  712: 		g_variable.one_key_press_wait_release_timer--;
+0031DA 14                DEC      A
+0031DB F0                MOVX     @DPTR,A
+  713: 		if(!g_variable.one_key_press_wait_release_timer)
+0031DC E0                MOVX     A,@DPTR
+0031DD 7006              JNZ      ?C0126?SYS
+  714: 			g_variable.key_combination_step = CAMBINATION_KEY_NULL;
+0031DF 904CBD            MOV      DPTR,#g_variable+03AH
+0031E2 7406              MOV      A,#06H
+0031E4 F0                MOVX     @DPTR,A
+  715: 	}
+0031E5         ?C0126?SYS:
+  716: 	if (g_variable.powerOn_timer != 0)
+0031E5 904CAD            MOV      DPTR,#g_variable+02AH
+0031E8 E0                MOVX     A,@DPTR
+0031E9 6028              JZ       ?C0128?SYS
+  717: 	{	
+  718: 		if(g_variable.pairing_g24_timeout ||g_variable.pairing_timeout)
+0031EB 904CB7            MOV      DPTR,#g_variable+034H
+0031EE E0                MOVX     A,@DPTR
+0031EF 700A              JNZ      ?C0130?SYS
+0031F1 904CB1            MOV      DPTR,#g_variable+02EH
+0031F4 E0                MOVX     A,@DPTR
+0031F5 7002              JNZ      ?C0180?SYS
+0031F7 A3                INC      DPTR
+0031F8 E0                MOVX     A,@DPTR
+0031F9         ?C0180?SYS:
+0031F9 6006              JZ       ?C0129?SYS
+0031FB         ?C0130?SYS:
+  719: 		{
+  720: 			g_variable.powerOn_timer = 0;
+0031FB E4                CLR      A
+0031FC 904CAD            MOV      DPTR,#g_variable+02AH
+0031FF F0                MOVX     @DPTR,A
+003200 22                RET      
+  721: 			return;
+  722: 		}
+003201         ?C0129?SYS:
+  723: 			g_variable.powerOn_timer--;
+003201 904CAD            MOV      DPTR,#g_variable+02AH
+003204 E0                MOVX     A,@DPTR
+003205 14                DEC      A
+003206 F0                MOVX     @DPTR,A
+  724: 			LED_device_poweron();
+003207 3167              ACALL    LED_device_poweron
+  725: 			if (!g_variable.powerOn_timer)
+003209 904CAD            MOV      DPTR,#g_variable+02AH
+00320C E0                MOVX     A,@DPTR
+00320D 7049              JNZ      ?C0133?SYS
+  726: 			{
+  727: 				LED_device_poweroff();
+00320F 7181              ACALL    LED_device_poweroff
+  728: 			}
+  729: 	}
+003211 8045              SJMP     ?C0133?SYS
+003213         ?C0128?SYS:
+  730: 	else if ((g_variable.pairing_timeout == 0) && (g_variable.pairing_g24_timeout == 0))  //  pairing
+003213 904CB1            MOV      DPTR,#g_variable+02EH
+003216 E0                MOVX     A,@DPTR
+003217 7002              JNZ      ?C0181?SYS
+003219 A3                INC      DPTR
+00321A E0                MOVX     A,@DPTR
+00321B         ?C0181?SYS:
+00321B 703B              JNZ      ?C0133?SYS
+00321D 904CB7            MOV      DPTR,#g_variable+034H
+003220 E0                MOVX     A,@DPTR
+003221 7035              JNZ      ?C0133?SYS
+  731: 	{
+  732: 		if(g_variable.battery_low_led_flash_interval)
+003223 904CAA            MOV      DPTR,#g_variable+027H
+003226 E0                MOVX     A,@DPTR
+003227 602F              JZ       ?C0133?SYS
+  733: 		{
+  734: 			g_variable.battery_low_led_flash_interval--;
+003229 14                DEC      A
+00322A F0                MOVX     @DPTR,A
+  735: 			if(g_variable.battery_low_led_flash_interval < 8)
+00322B E0                MOVX     A,@DPTR
+00322C FF                MOV      R7,A
+00322D C3                CLR      C
+00322E 9408              SUBB     A,#08H
+003230 5016              JNC      ?C0136?SYS
+  736: 			{
+  737: 				//m_lpm_mode = 0;
+  738: 				if(g_variable.battery_low_led_flash_interval & 0x02)
+003232 EF                MOV      A,R7
+003233 30E109            JNB      ACC.1,?C0137?SYS
+  739: 				{
+  740: 					GPIO_Setout(LOWPOWER_LED_GPIO, LED_ON);
+003236 D201              SETB     ?_GPIO_Setout?BIT
+003238 7F1F              MOV      R7,#01FH
+00323A 1211D0            LCALL    _GPIO_Setout
+  741: 				}
+00323D 8010              SJMP     ?C0139?SYS
+00323F         ?C0137?SYS:
+  742: 				else
+  743: 				{
+  744: 					GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);	
+00323F C201              CLR      ?_GPIO_Setout?BIT
+003241 7F1F              MOV      R7,#01FH
+003243 1211D0            LCALL    _GPIO_Setout
+  745: 				}	
+  746: 			}
+003246 8007              SJMP     ?C0139?SYS
+003248         ?C0136?SYS:
+  747: 			else
+  748: 			{
+  749: 				//m_lpm_mode = 1;
+  750: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
+003248 C201              CLR      ?_GPIO_Setout?BIT
+00324A 7F1F              MOV      R7,#01FH
+00324C 1211D0            LCALL    _GPIO_Setout
+  751: 			}	
+00324F         ?C0139?SYS:
+  752: 			if(!g_variable.battery_low_led_flash_interval)
+00324F 904CAA            MOV      DPTR,#g_variable+027H
+003252 E0                MOVX     A,@DPTR
+003253 7003              JNZ      ?C0133?SYS
+  753: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
+003255 740C              MOV      A,#0CH
+003257 F0                MOVX     @DPTR,A
+  754: 		}
+  755: 	}
+003258         ?C0133?SYS:
+  756: 	//ANCS	start time	
+  757: 
+  758: 	if (m_le_start_auto_reco_timer) 
+003258 904D49            MOV      DPTR,#m_le_start_auto_reco_timer
+00325B E0                MOVX     A,@DPTR
+00325C 600B              JZ       ?C0141?SYS
+  759: 	{
+  760: 		m_le_start_auto_reco_timer--;	
+00325E E0                MOVX     A,@DPTR
+00325F 14                DEC      A
+003260 F0                MOVX     @DPTR,A
+  761: 		if (!m_le_start_auto_reco_timer) 
+003261 E0                MOVX     A,@DPTR
+003262 7005              JNZ      ?C0141?SYS
+  762: 			IPC_TxControlCmd(IPC_CMD_ANCS_DELAY_TIMER);
+003264 7F2D              MOV      R7,#02DH
+003266 1213C9            LCALL    _IPC_TxControlCmd
+  763: 	}
+003269         ?C0141?SYS:
+  764: 
+  765: 
+  766: //end
+  767: 
+  768: 	if(g_variable.keyboadr_clear_id_succed)
+003269 904CCF            MOV      DPTR,#g_variable+04CH
+00326C E0                MOVX     A,@DPTR
+00326D 6015              JZ       ?C0143?SYS
+  769: 	{
+  770: 		GPIO_FlipOutBit(LOWPOWER_LED_GPIO);
+00326F 7F1F              MOV      R7,#01FH
+003271 7108              ACALL    _GPIO_FlipOutBit
+  771: 		g_variable.keyboadr_clear_id_succed --;	
+003273 904CCF            MOV      DPTR,#g_variable+04CH
+003276 E0                MOVX     A,@DPTR
+003277 14                DEC      A
+003278 F0                MOVX     @DPTR,A
+  772: 		
+  773: 		if(!g_variable.keyboadr_clear_id_succed )
+003279 E0                MOVX     A,@DPTR
+00327A 7008              JNZ      ?C0143?SYS
+  774: 		{
+  775: 			g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_NORMAL	;
+00327C 904C83            MOV      DPTR,#g_variable
+00327F 04                INC      A
+003280 F0                MOVX     @DPTR,A
+  776: 			YC_update_eeprom_data();
+003281 1219ED            LCALL    YC_update_eeprom_data
+  777: 		}
+  778: 	}
+003284         ?C0143?SYS:
+  779:  	
+  780: 
+  781: 	 
+  782: 
+  783: 	
+  784: // The dongle must receive data within 200ms, otherwise it will be forced to lift
+  785: 	if(!long_press_flag)
+003284 904DE0            MOV      DPTR,#long_press_flag
+003287 E0                MOVX     A,@DPTR
+003288 7036              JNZ      ?C0145?SYS
+  786: 	{
+  787: 		if (repeat_send_24g == 1)
+00328A 904DE1            MOV      DPTR,#repeat_send_24g
+00328D E0                MOVX     A,@DPTR
+00328E 6401              XRL      A,#01H
+003290 702E              JNZ      ?C0145?SYS
+  788: 		{
+  789: 			g_variable.sleepTimer = 0;	
+003292 904CAB            MOV      DPTR,#g_variable+028H
+003295 F0                MOVX     @DPTR,A
+003296 A3                INC      DPTR
+003297 F0                MOVX     @DPTR,A
+  790: 			repeat_send_24g = 0;
+003298 904DE1            MOV      DPTR,#repeat_send_24g
+00329B F0                MOVX     @DPTR,A
+  791: 
+  792: 			 if (multikey[0] != 0)
+00329C 904E52            MOV      DPTR,#multikey
+00329F E0                MOVX     A,@DPTR
+0032A0 600D              JZ       ?C0147?SYS
+  793: 			{
+  794: 				IPC_TxHidData(multikey, 3);
+0032A2 7B01              MOV      R3,#01H
+0032A4 7A4E              MOV      R2,#HIGH multikey
+0032A6 7952              MOV      R1,#LOW multikey
+0032A8 7D03              MOV      R5,#03H
+0032AA 120C1D            LCALL    _IPC_TxHidData
+  795: 			}
+0032AD 8011              SJMP     ?C0145?SYS
+0032AF         ?C0147?SYS:
+  796: 			else if (hidBuff[0] != 0)
+0032AF 904800            MOV      DPTR,#hidBuff
+0032B2 E0                MOVX     A,@DPTR
+0032B3 600B              JZ       ?C0145?SYS
+  797: 			{
+  798: 
+  799: 				IPC_TxHidData(hidBuff,9);
+0032B5 7B01              MOV      R3,#01H
+0032B7 7A48              MOV      R2,#HIGH hidBuff
+0032B9 7900              MOV      R1,#LOW hidBuff
+0032BB 7D09              MOV      R5,#09H
+0032BD 120C1D            LCALL    _IPC_TxHidData
+  800: 			}
+  801: 		}
+  802: 	}
+0032C0         ?C0145?SYS:
+  803: //role switch time out
+  804: 	if (switch_role_timer != 0)
+0032C0 904DDC            MOV      DPTR,#switch_role_timer
+0032C3 E0                MOVX     A,@DPTR
+0032C4 6009              JZ       ?C0150?SYS
+  805: 	{
+  806: 		switch_role_timer--; 
+0032C6 E0                MOVX     A,@DPTR
+0032C7 14                DEC      A
+0032C8 F0                MOVX     @DPTR,A
+  807: 		if (switch_role_timer == 0)
+0032C9 E0                MOVX     A,@DPTR
+0032CA 7003              JNZ      ?C0150?SYS
+  808: 		{
+  809: 			System_Reset_Connect();
+0032CC 121B37            LCALL    System_Reset_Connect
+  810: 		}
+  811: 	}
+0032CF         ?C0150?SYS:
+  812: 
+  813: // ble delay send secutiry request
+  814: 	if(ble_send_secutiry_request_timer)
+0032CF 904DD5            MOV      DPTR,#ble_send_secutiry_request_timer
+0032D2 E0                MOVX     A,@DPTR
+0032D3 6011              JZ       ?C0152?SYS
+  815: 	{
+  816: 		ble_send_secutiry_request_timer--;
+0032D5 E0                MOVX     A,@DPTR
+0032D6 14                DEC      A
+0032D7 F0                MOVX     @DPTR,A
+  817: 		if(!ble_send_secutiry_request_timer)
+0032D8 E0                MOVX     A,@DPTR
+0032D9 700B              JNZ      ?C0152?SYS
+  818: 		{
+  819: 			if(!m_le_send_security_request_flag)
+0032DB 904CEC            MOV      DPTR,#m_le_send_security_request_flag
+0032DE E0                MOVX     A,@DPTR
+0032DF 7005              JNZ      ?C0152?SYS
+  820: 			{
+  821: 				IPC_TxControlCmd(IPC_CMD_LE_SMP_SECURITY_REQUEST);
+0032E1 7F1B              MOV      R7,#01BH
+0032E3 1213C9            LCALL    _IPC_TxControlCmd
+  822: 			}
+  823: 		}
+  824: 	}
+0032E6         ?C0152?SYS:
+  825: 
+  826: 	if (delayChgInvTimer != 0){
+0032E6 904DEB            MOV      DPTR,#delayChgInvTimer
+0032E9 E0                MOVX     A,@DPTR
+0032EA 601B              JZ       ?C0131?SYS
+  827: 		delayChgInvTimer--;
+0032EC E0                MOVX     A,@DPTR
+0032ED 14                DEC      A
+0032EE F0                MOVX     @DPTR,A
+  828: 		if (delayChgInvTimer == 0)
+0032EF E0                MOVX     A,@DPTR
+0032F0 7015              JNZ      ?C0131?SYS
+  829: 		{
+  830: 			if( m_24g_led_flag)
+0032F2 904CF5            MOV      DPTR,#m_24g_led_flag
+0032F5 E0                MOVX     A,@DPTR
+0032F6 6002              JZ       ?C0157?SYS
+  831: 			{
+  832: 				m_24g_led_flag = 0;
+0032F8 E4                CLR      A
+0032F9 F0                MOVX     @DPTR,A
+  833: 			}	
+0032FA         ?C0157?SYS:
+  834: 	
+  835: 			if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
+0032FA 904C8B            MOV      DPTR,#g_variable+08H
+0032FD E0                MOVX     A,@DPTR
+0032FE B40406            CJNE     A,#04H,?C0131?SYS
+  836: 			{
+  837: 				kscurrmult = 0x0c;
+003301 904213            MOV      DPTR,#kscurrmult
+003304 740C              MOV      A,#0CH
+003306 F0                MOVX     @DPTR,A
+  838: 			}
+  839: 		}
+  840: 	}
+  841: }
+003307         ?C0131?SYS:
+003307 22                RET      
+----- FUNCTION kb_cb_Timer100ms (END) -------
+
+
+----- FUNCTION _GPIO_FlipOutBit (BEGIN) -----
+ FILE: 'gpio.c'
+  125: void GPIO_FlipOutBit(byte gpio_num)
+  126: {
+003308 904F12            MOV      DPTR,#gpio_num
+00330B EF                MOV      A,R7
+00330C F0                MOVX     @DPTR,A
+  127: 	bool st = gpioGetBit(gpio_num, &REG_GPIO_OUT(0));
+  128: 	GPIO_Setout(gpio_num, ~st);
+00330D 7B01              MOV      R3,#01H
+00330F 7A80              MOV      R2,#080H
+003311 7974              MOV      R1,#074H
+003313 1217F6            LCALL    _gpioGetBit
+003316 9209              MOV      st,C
+  129: }
+003318 904F12            MOV      DPTR,#gpio_num
+00331B E0                MOVX     A,@DPTR
+00331C FF                MOV      R7,A
+00331D A209              MOV      C,st
+00331F B3                CPL      C
+003320 9201              MOV      ?_GPIO_Setout?BIT,C
+003322 0211D0            LJMP     _GPIO_Setout
+----- FUNCTION _GPIO_FlipOutBit (END) -------
+
+
+----- FUNCTION LED_timer100ms (BEGIN) -----
+ FILE: 'sys.c'
+  370: void LED_timer100ms()
+  371: {
+  372: 	if (power_on_flag != 2)
+  373: 		return;
+003325 904DF0            MOV      DPTR,#power_on_flag
+003328 E0                MOVX     A,@DPTR
+003329 6402              XRL      A,#02H
+00332B 7053              JNZ      ?C0060?SYS
+00332D         ?C0059?SYS:
+  374: 	if (g_variable.pairing_timeout != 0) //bt  pairing
+00332D 904CB1            MOV      DPTR,#g_variable+02EH
+003330 E0                MOVX     A,@DPTR
+003331 7002              JNZ      ?C0175?SYS
+003333 A3                INC      DPTR
+003334 E0                MOVX     A,@DPTR
+003335         ?C0175?SYS:
+003335 603F              JZ       ?C0061?SYS
+  375: 	{
+  376: 		if (g_variable.button_reconnect_flag != 1)
+003337 904C90            MOV      DPTR,#g_variable+0DH
+00333A E0                MOVX     A,@DPTR
+00333B 6401              XRL      A,#01H
+00333D 6022              JZ       ?C0062?SYS
+  377: 		{
+  378: 			if(g_variable.current_device_num == 1)
+00333F 904C87            MOV      DPTR,#g_variable+04H
+003342 E0                MOVX     A,@DPTR
+003343 B40104            CJNE     A,#01H,?C0063?SYS
+  379: 				GPIO_FlipOutBit(num1_led);	
+003346 7F1F              MOV      R7,#01FH
+003348 80BE              SJMP     _GPIO_FlipOutBit
+00334A         ?C0063?SYS:
+  380: 			else if(g_variable.current_device_num == 2)
+00334A 904C87            MOV      DPTR,#g_variable+04H
+00334D E0                MOVX     A,@DPTR
+00334E B40204            CJNE     A,#02H,?C0065?SYS
+  381: 				GPIO_FlipOutBit(num2_led);
+003351 7FFF              MOV      R7,#0FFH
+003353 80B3              SJMP     _GPIO_FlipOutBit
+003355         ?C0065?SYS:
+  382: 			else if(g_variable.current_device_num == 3)
+003355 904C87            MOV      DPTR,#g_variable+04H
+003358 E0                MOVX     A,@DPTR
+003359 6403              XRL      A,#03H
+00335B 7023              JNZ      ?C0060?SYS
+  383: 			{
+  384: 				GPIO_FlipOutBit(num3_led);
+00335D 7FFF              MOV      R7,#0FFH
+00335F 80A7              SJMP     _GPIO_FlipOutBit
+  385: 			}
+  386: 		}
+003361         ?C0062?SYS:
+  387: 		else
+  388: 		{
+  389: 			GPIO_Setout(num1_led,LED_OFF);
+003361 C201              CLR      ?_GPIO_Setout?BIT
+003363 7F1F              MOV      R7,#01FH
+003365 1211D0            LCALL    _GPIO_Setout
+  390: 			GPIO_Setout(num2_led,LED_OFF);
+003368 C201              CLR      ?_GPIO_Setout?BIT
+00336A 7FFF              MOV      R7,#0FFH
+00336C 1211D0            LCALL    _GPIO_Setout
+  391: 			GPIO_Setout(num3_led,LED_OFF);
+00336F C201              CLR      ?_GPIO_Setout?BIT
+003371 7FFF              MOV      R7,#0FFH
+003373 0211D0            LJMP     _GPIO_Setout
+  392: 			//GPIO_Setout(PAIRING_LED_GPIO,LED_OFF);
+  393: 		}
+  394: 	}
+003376         ?C0061?SYS:
+  395: 	else if (g_variable.pairing_g24_timeout != 0)
+003376 904CB7            MOV      DPTR,#g_variable+034H
+003379 E0                MOVX     A,@DPTR
+00337A 6004              JZ       ?C0060?SYS
+  396: 	{
+  397: 		GPIO_FlipOutBit(num0_led);	//num0_led,PAIRING_LED_GPIO
+00337C 7F1F              MOV      R7,#01FH
+00337E 7108              ACALL    _GPIO_FlipOutBit
+  398: 	}
+  399: }
+003380         ?C0060?SYS:
+003380 22                RET      
+----- FUNCTION LED_timer100ms (END) -------
+
+
 ----- FUNCTION LED_device_poweroff (BEGIN) -----
  FILE: 'led.c'
-   38: void LED_device_poweroff()
-   39: {
-   40: 	if(g_variable.current_device_num == 1)
-   41: 		GPIO_Setout(num1_led,LED_OFF);
-002EC1 904CC3            MOV      DPTR,#g_variable+04H
-002EC4 E0                MOVX     A,@DPTR
-002EC5 B40107            CJNE     A,#01H,?C0009?LED
-   42: 	else if(g_variable.current_device_num == 2)
-002EC8 C201              CLR      ?_GPIO_Setout?BIT
-002ECA 7F1F              MOV      R7,#01FH
-002ECC 0212BB            LJMP     _GPIO_Setout
-002ECF         ?C0009?LED:
-   43: 		GPIO_Setout(num2_led,LED_OFF);
-002ECF 904CC3            MOV      DPTR,#g_variable+04H
-002ED2 E0                MOVX     A,@DPTR
-002ED3 B40207            CJNE     A,#02H,?C0011?LED
-   44: 	else if(g_variable.current_device_num == 3)
-002ED6 C201              CLR      ?_GPIO_Setout?BIT
-002ED8 7FFF              MOV      R7,#0FFH
-002EDA 0212BB            LJMP     _GPIO_Setout
-002EDD         ?C0011?LED:
-   45: 	{	
-002EDD 904CC3            MOV      DPTR,#g_variable+04H
-002EE0 E0                MOVX     A,@DPTR
-002EE1 B40307            CJNE     A,#03H,?C0013?LED
-   46: 		GPIO_Setout(num3_led,LED_OFF);
+   34: void LED_device_poweroff()
+   35: {
+   36: 	if(g_variable.current_device_num == 1)
+   37: 		GPIO_Setout(num1_led,LED_OFF);
+003381 904C87            MOV      DPTR,#g_variable+04H
+003384 E0                MOVX     A,@DPTR
+003385 B40107            CJNE     A,#01H,?C0009?LED
+   38: 	else if(g_variable.current_device_num == 2)
+003388 C201              CLR      ?_GPIO_Setout?BIT
+00338A 7F1F              MOV      R7,#01FH
+00338C 0211D0            LJMP     _GPIO_Setout
+00338F         ?C0009?LED:
+   39: 		GPIO_Setout(num2_led,LED_OFF);
+00338F 904C87            MOV      DPTR,#g_variable+04H
+003392 E0                MOVX     A,@DPTR
+003393 B40207            CJNE     A,#02H,?C0011?LED
+   40: 	else if(g_variable.current_device_num == 3)
+003396 C201              CLR      ?_GPIO_Setout?BIT
+003398 7FFF              MOV      R7,#0FFH
+00339A 0211D0            LJMP     _GPIO_Setout
+00339D         ?C0011?LED:
+   41: 	{	
+00339D 904C87            MOV      DPTR,#g_variable+04H
+0033A0 E0                MOVX     A,@DPTR
+0033A1 B40307            CJNE     A,#03H,?C0013?LED
+   42: 		GPIO_Setout(num3_led,LED_OFF);
+   43: 	}
+0033A4 C201              CLR      ?_GPIO_Setout?BIT
+0033A6 7FFF              MOV      R7,#0FFH
+0033A8 0211D0            LJMP     _GPIO_Setout
+   44: 	else
+0033AB         ?C0013?LED:
+   45: 	{
+   46: 		GPIO_Setout(num0_led,LED_OFF);	
+0033AB C201              CLR      ?_GPIO_Setout?BIT
+0033AD 7F1F              MOV      R7,#01FH
+0033AF 0211D0            LJMP     _GPIO_Setout
    47: 	}
-002EE4 C201              CLR      ?_GPIO_Setout?BIT
-002EE6 7FFF              MOV      R7,#0FFH
-002EE8 0212BB            LJMP     _GPIO_Setout
-   48: 	else
-002EEB         ?C0013?LED:
-   49: 	{
-   50: 		GPIO_Setout(num0_led,LED_OFF);	
-002EEB C201              CLR      ?_GPIO_Setout?BIT
-002EED 7F1F              MOV      R7,#01FH
-002EEF 0212BB            LJMP     _GPIO_Setout
-   51: 	}
 ----- FUNCTION LED_device_poweroff (END) -------
 
 
------ FUNCTION kb_cb_Timer100ms (BEGIN) -----
- FILE: 'sys.c'
-  889: static void kb_cb_Timer100ms()
-  890: {
-  891: 
-  892: 	LED_timer100ms();	
-002EF2 12324C            LCALL    LED_timer100ms
-  893: 	if (g_variable.delay_enter_lpm_timer) 
-002EF5 904CEA            MOV      DPTR,#g_variable+02BH
-002EF8 E0                MOVX     A,@DPTR
-002EF9 6002              JZ       ?C0112?SYS
-  894: 	{
-  895: 		g_variable.delay_enter_lpm_timer --;
-002EFB 14                DEC      A
-002EFC F0                MOVX     @DPTR,A
-  896: 	}
-002EFD         ?C0112?SYS:
-  897: 
-  898: 	if(g_variable.recon_delay)
-002EFD 904CEF            MOV      DPTR,#g_variable+030H
-002F00 E0                MOVX     A,@DPTR
-002F01 6002              JZ       ?C0113?SYS
-  899: 		g_variable.recon_delay--;
-002F03 14                DEC      A
-002F04 F0                MOVX     @DPTR,A
-002F05         ?C0113?SYS:
-  900: 
-  901: 	if(g_variable.one_key_press_wait_release_timer)
-002F05 904CF8            MOV      DPTR,#g_variable+039H
-002F08 E0                MOVX     A,@DPTR
-002F09 602A              JZ       ?C0114?SYS
-  902: 	{
-  903: 		g_variable.one_key_press_wait_release_timer--;
-002F0B 14                DEC      A
-002F0C F0                MOVX     @DPTR,A
-  904: 		if(!g_variable.one_key_press_wait_release_timer)
-002F0D E0                MOVX     A,@DPTR
-002F0E 7025              JNZ      ?C0114?SYS
-  905: 		{
-  906: 			if (g_variable.uswitch_language_step == 1)
-002F10 904D0C            MOV      DPTR,#g_variable+04DH
-002F13 E0                MOVX     A,@DPTR
-002F14 FF                MOV      R7,A
-002F15 B4010E            CJNE     A,#01H,?C0116?SYS
-  907: 			{
-  908: 				g_variable.key_combination_step = CAMBINATION_KEY_USER;
-002F18 904CF4            MOV      DPTR,#g_variable+035H
-002F1B 7409              MOV      A,#09H
-002F1D F0                MOVX     @DPTR,A
-  909: 				g_variable.uswitch_language_step = 2;
-002F1E 904D0C            MOV      DPTR,#g_variable+04DH
-002F21 7402              MOV      A,#02H
-002F23 F0                MOVX     @DPTR,A
-  910: 			}
-002F24 800F              SJMP     ?C0114?SYS
-002F26         ?C0116?SYS:
-  911: 			else if (g_variable.uswitch_language_step == 2)
-002F26 EF                MOV      A,R7
-002F27 B4020B            CJNE     A,#02H,?C0114?SYS
-  912: 			{
-  913: 				g_variable.key_combination_step = CAMBINATION_KEY_NULL; //CAMBINATION_KEY_NULL;	//SDK 默认赋�?
-002F2A 904CF4            MOV      DPTR,#g_variable+035H
-002F2D 7406              MOV      A,#06H
-002F2F F0                MOVX     @DPTR,A
-  914: 				g_variable.uswitch_language_step = 0;
-002F30 E4                CLR      A
-002F31 904D0C            MOV      DPTR,#g_variable+04DH
-002F34 F0                MOVX     @DPTR,A
-  915: 			}
-  916: 		}
-  917: 	}
-002F35         ?C0114?SYS:
-  918: 	
-  919: 	if (g_variable.powerOn_timer != 0)
-002F35 904CE5            MOV      DPTR,#g_variable+026H
-002F38 E0                MOVX     A,@DPTR
-002F39 6024              JZ       ?C0119?SYS
-  920: 	{	
-  921: 		if(g_variable.pairing_g24_timeout ||g_variable.pairing_timeout)
-002F3B 904CEE            MOV      DPTR,#g_variable+02FH
-002F3E E0                MOVX     A,@DPTR
-002F3F 7006              JNZ      ?C0121?SYS
-002F41 904CE9            MOV      DPTR,#g_variable+02AH
-002F44 E0                MOVX     A,@DPTR
-002F45 6006              JZ       ?C0120?SYS
-002F47         ?C0121?SYS:
-  922: 		{
-  923: 			g_variable.powerOn_timer = 0;
-002F47 E4                CLR      A
-002F48 904CE5            MOV      DPTR,#g_variable+026H
-002F4B F0                MOVX     @DPTR,A
-002F4C 22                RET      
-  924: 			return;
-  925: 		}
-002F4D         ?C0120?SYS:
-  926: //		if (g_variable.led_mode_flag)	//需要单独显示系统模式切换灯�?
-  927: //		{
-  928: //			g_variable.powerOn_timer--;
-  929: //			switch (g_variable.powerOn_timer)
-  930: //			{
-  931: //				case 9:	//led on
-  932: //					LED_device_poweron();
-  933: //					break;
-  934: //				case 6:	//led off
-  935: //					LED_device_poweroff();
-  936: //					break;
-  937: //				case 3:	//led on
-  938: //					LED_device_poweron();
-  939: //					break;
-  940: //				case 0:	//led off
-  941: //					LED_device_poweroff();
-  942: //					g_variable.led_mode_flag = 0;
-  943: //					break;
-  944: //				default:
-  945: //					break;
-  946: //			}
-  947: //		}
-  948: //		else	//正常显示灯效
-  949: //		{
-  950: 			g_variable.powerOn_timer--;
-002F4D 904CE5            MOV      DPTR,#g_variable+026H
-002F50 E0                MOVX     A,@DPTR
-002F51 14                DEC      A
-002F52 F0                MOVX     @DPTR,A
-  951: 			LED_device_poweron();
-002F53 D190              ACALL    LED_device_poweron
-  952: 			if (!g_variable.powerOn_timer)
-002F55 904CE5            MOV      DPTR,#g_variable+026H
-002F58 E0                MOVX     A,@DPTR
-002F59 7050              JNZ      ?C0124?SYS
-  953: 			{
-  954: 				LED_device_poweroff();
-002F5B D1C1              ACALL    LED_device_poweroff
-  955: 			}
-  956: //		}
-  957: 	}
-002F5D 804C              SJMP     ?C0124?SYS
-002F5F         ?C0119?SYS:
-  958: 	else if ((g_variable.pairing_timeout == 0) && (g_variable.pairing_g24_timeout == 0))  //  pairing
-002F5F 904CE9            MOV      DPTR,#g_variable+02AH
-002F62 E0                MOVX     A,@DPTR
-002F63 7046              JNZ      ?C0124?SYS
-002F65 904CEE            MOV      DPTR,#g_variable+02FH
-002F68 E0                MOVX     A,@DPTR
-002F69 7040              JNZ      ?C0124?SYS
-  959: 	{
-  960: 		if(g_variable.battery_low_led_flash_interval)
-002F6B 904CE2            MOV      DPTR,#g_variable+023H
-002F6E E0                MOVX     A,@DPTR
-002F6F 603A              JZ       ?C0124?SYS
-  961: 		{
-  962: 			g_variable.battery_low_led_flash_interval--;
-002F71 14                DEC      A
-002F72 F0                MOVX     @DPTR,A
-  963: 			if(g_variable.battery_low_led_flash_interval < 8)
-002F73 E0                MOVX     A,@DPTR
-002F74 FF                MOV      R7,A
-002F75 C3                CLR      C
-002F76 9408              SUBB     A,#08H
-002F78 501B              JNC      ?C0127?SYS
-  964: 			{
-  965: 				m_lpm_mode = 0;
-002F7A E4                CLR      A
-002F7B 904131            MOV      DPTR,#m_lpm_mode
-002F7E F0                MOVX     @DPTR,A
-  966: 				if(g_variable.battery_low_led_flash_interval & 0x02)
-002F7F EF                MOV      A,R7
-002F80 30E109            JNB      ACC.1,?C0128?SYS
-  967: 				{
-  968: 					GPIO_Setout(LOWPOWER_LED_GPIO, LED_ON);
-002F83 D201              SETB     ?_GPIO_Setout?BIT
-002F85 7F1F              MOV      R7,#01FH
-002F87 1212BB            LCALL    _GPIO_Setout
-  969: 				}
-002F8A 8016              SJMP     ?C0130?SYS
-002F8C         ?C0128?SYS:
-  970: 				else
-  971: 				{
-  972: 					GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);	
-002F8C C201              CLR      ?_GPIO_Setout?BIT
-002F8E 7F1F              MOV      R7,#01FH
-002F90 1212BB            LCALL    _GPIO_Setout
-  973: 				}	
-  974: 			}
-002F93 800D              SJMP     ?C0130?SYS
-002F95         ?C0127?SYS:
-  975: 			else
-  976: 			{
-  977: 				m_lpm_mode = 1;
-002F95 904131            MOV      DPTR,#m_lpm_mode
-002F98 7401              MOV      A,#01H
-002F9A F0                MOVX     @DPTR,A
-  978: 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
-002F9B C201              CLR      ?_GPIO_Setout?BIT
-002F9D 7F1F              MOV      R7,#01FH
-002F9F 1212BB            LCALL    _GPIO_Setout
-  979: 			}	
-002FA2         ?C0130?SYS:
-  980: 			if(!g_variable.battery_low_led_flash_interval)
-002FA2 904CE2            MOV      DPTR,#g_variable+023H
-002FA5 E0                MOVX     A,@DPTR
-002FA6 7003              JNZ      ?C0124?SYS
-  981: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
-002FA8 740C              MOV      A,#0CH
-002FAA F0                MOVX     @DPTR,A
-  982: 		}
-  983: 	}
-002FAB         ?C0124?SYS:
-  984: 	
-  985: // The dongle must receive data within 200ms, otherwise it will be forced to lift
-  986: 	if(!long_press_flag)
-002FAB 904DDF            MOV      DPTR,#long_press_flag
-002FAE E0                MOVX     A,@DPTR
-002FAF 7036              JNZ      ?C0132?SYS
-  987: 	{
-  988: 		if (repeat_send_24g == 1)
-002FB1 904DE0            MOV      DPTR,#repeat_send_24g
-002FB4 E0                MOVX     A,@DPTR
-002FB5 6401              XRL      A,#01H
-002FB7 702E              JNZ      ?C0132?SYS
-  989: 		{
-  990: 			g_variable.sleepTimer = 0;	
-002FB9 904CE3            MOV      DPTR,#g_variable+024H
-002FBC F0                MOVX     @DPTR,A
-002FBD A3                INC      DPTR
-002FBE F0                MOVX     @DPTR,A
-  991: 			repeat_send_24g = 0;
-002FBF 904DE0            MOV      DPTR,#repeat_send_24g
-002FC2 F0                MOVX     @DPTR,A
-  992: 
-  993: 			 if (multikey[0] != 0)
-002FC3 904E50            MOV      DPTR,#multikey
-002FC6 E0                MOVX     A,@DPTR
-002FC7 600D              JZ       ?C0134?SYS
-  994: 			{
-  995: 				IPC_TxHidData(multikey, 3);
-002FC9 7B01              MOV      R3,#01H
-002FCB 7A4E              MOV      R2,#HIGH multikey
-002FCD 7950              MOV      R1,#LOW multikey
-002FCF 7D03              MOV      R5,#03H
-002FD1 120C1E            LCALL    _IPC_TxHidData
-  996: 			}
-002FD4 8011              SJMP     ?C0132?SYS
-002FD6         ?C0134?SYS:
-  997: 			else if (hidBuff[0] != 0)
-002FD6 904800            MOV      DPTR,#hidBuff
-002FD9 E0                MOVX     A,@DPTR
-002FDA 600B              JZ       ?C0132?SYS
-  998: 			{
-  999: 
- 1000: 				IPC_TxHidData(hidBuff,9);
-002FDC 7B01              MOV      R3,#01H
-002FDE 7A48              MOV      R2,#HIGH hidBuff
-002FE0 7900              MOV      R1,#LOW hidBuff
-002FE2 7D09              MOV      R5,#09H
-002FE4 120C1E            LCALL    _IPC_TxHidData
- 1001: 			}
- 1002: 		}
- 1003: 	}
-002FE7         ?C0132?SYS:
- 1004: 	
- 1005: //	if(g_variable.wheeldelayrelease)	//延时释放音量旋钮按键
- 1006: //	{
- 1007: //		g_variable.wheeldelayrelease--;
- 1008: //		if(!g_variable.wheeldelayrelease)
- 1009: //		{
- 1010: //			multikey[0] = HID_REPORTID_2;
- 1011: //			multikey[1] = 0x00;
- 1012: //			multikey[2] = 0x00;
- 1013: //			IPC_TxHidData(multikey, 3);	
- 1014: //		}
- 1015: //	}
- 1016: 
- 1017: //role switch time out
- 1018: 	if (switch_role_timer != 0)
-002FE7 904DDB            MOV      DPTR,#switch_role_timer
-002FEA E0                MOVX     A,@DPTR
-002FEB 6009              JZ       ?C0137?SYS
- 1019: 	{
- 1020: 		switch_role_timer--; 
-002FED E0                MOVX     A,@DPTR
-002FEE 14                DEC      A
-002FEF F0                MOVX     @DPTR,A
- 1021: 		if (switch_role_timer == 0)
-002FF0 E0                MOVX     A,@DPTR
-002FF1 7003              JNZ      ?C0137?SYS
- 1022: 		{
- 1023: 			System_Reset_Connect();
-002FF3 121EC7            LCALL    System_Reset_Connect
- 1024: 		}
- 1025: 	}
-002FF6         ?C0137?SYS:
- 1026: 
- 1027: // ble delay send secutiry request
- 1028: 	if(ble_send_secutiry_request_timer)
-002FF6 904DD5            MOV      DPTR,#ble_send_secutiry_request_timer
-002FF9 E0                MOVX     A,@DPTR
-002FFA 6011              JZ       ?C0139?SYS
- 1029: 	{
- 1030: 		ble_send_secutiry_request_timer--;
-002FFC E0                MOVX     A,@DPTR
-002FFD 14                DEC      A
-002FFE F0                MOVX     @DPTR,A
- 1031: 		if(!ble_send_secutiry_request_timer)
-002FFF E0                MOVX     A,@DPTR
-003000 700B              JNZ      ?C0139?SYS
- 1032: 		{
- 1033: 			if(!m_le_send_security_request_flag)
-003002 904D3D            MOV      DPTR,#m_le_send_security_request_flag
-003005 E0                MOVX     A,@DPTR
-003006 7005              JNZ      ?C0139?SYS
- 1034: 			{
- 1035: 				IPC_TxControlCmd(IPC_CMD_LE_SMP_SECURITY_REQUEST);
-003008 7F1B              MOV      R7,#01BH
-00300A 1210AD            LCALL    _IPC_TxControlCmd
- 1036: 			}
- 1037: 		}
- 1038: 	}
-00300D         ?C0139?SYS:
- 1039: 
- 1040: 	if (delayChgInvTimer != 0)
-00300D 904DE9            MOV      DPTR,#delayChgInvTimer
-003010 E0                MOVX     A,@DPTR
-003011 6029              JZ       ?C0122?SYS
- 1041: 	{
- 1042: 		delayChgInvTimer--;
-003013 E0                MOVX     A,@DPTR
-003014 14                DEC      A
-003015 F0                MOVX     @DPTR,A
- 1043: 		if (delayChgInvTimer == 0)
-003016 E0                MOVX     A,@DPTR
-003017 7023              JNZ      ?C0122?SYS
- 1044: 		{
- 1045: 			if( m_24g_led_flag)
-003019 904D46            MOV      DPTR,#m_24g_led_flag
-00301C E0                MOVX     A,@DPTR
-00301D 6002              JZ       ?C0144?SYS
- 1046: 			{
- 1047: 				m_24g_led_flag = 0;
-00301F E4                CLR      A
-003020 F0                MOVX     @DPTR,A
- 1048: 			}	
-003021         ?C0144?SYS:
- 1049: 	
- 1050: 			if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
-003021 904CC7            MOV      DPTR,#g_variable+08H
-003024 E0                MOVX     A,@DPTR
-003025 B40407            CJNE     A,#04H,?C0145?SYS
- 1051: 			{
- 1052: 				kscurrmult = 0x0c;
-003028 904213            MOV      DPTR,#kscurrmult
-00302B 740C              MOV      A,#0CH
-00302D F0                MOVX     @DPTR,A
- 1053: 			}
-00302E 22                RET      
-00302F         ?C0145?SYS:
- 1054: 			else if (g_variable.br_currentState == CHANGE_TO_BR_CONNECTED)
-00302F 904CC9            MOV      DPTR,#g_variable+0AH
-003032 E0                MOVX     A,@DPTR
-003033 B40406            CJNE     A,#04H,?C0122?SYS
- 1055: 			{
- 1056: 				kscurrmult = 0x3a;
-003036 904213            MOV      DPTR,#kscurrmult
-003039 743A              MOV      A,#03AH
-00303B F0                MOVX     @DPTR,A
- 1057: 			}
- 1058: 		}
- 1059: 	}
- 1060: }
-00303C         ?C0122?SYS:
-00303C 22                RET      
------ FUNCTION kb_cb_Timer100ms (END) -------
-
-
 ----- FUNCTION System_IIC_clk_setup (BEGIN) -----
  FILE: 'sys.c'
-   53: static void System_IIC_clk_setup()		// 400KHz
-   54: {
-   55: 	REG_IICD_SCL_LOW  =  0x0d;
-   56:    	REG_IICD_SCL_HIGH  =  0x0e;
-00303D 908091            MOV      DPTR,#08091H
-003040 740D              MOV      A,#0DH
-003042 F0                MOVX     @DPTR,A
-   57:    	REG_IICD_START_SETUP  = 0x0e;
-003043 A3                INC      DPTR
-003044 04                INC      A
-003045 F0                MOVX     @DPTR,A
-   58:    	REG_IICD_START_HOLD  = 0x0e;
-003046 A3                INC      DPTR
-003047 F0                MOVX     @DPTR,A
-   59:   	REG_IICD_STOP_SETUP  = 0x0e;
-003048 A3                INC      DPTR
-003049 F0                MOVX     @DPTR,A
-   60:    	REG_IICD_DATA_SETUP  = 0x0d;
-00304A A3                INC      DPTR
-00304B F0                MOVX     @DPTR,A
-   61: }
-00304C A3                INC      DPTR
-00304D 14                DEC      A
-00304E F0                MOVX     @DPTR,A
-   62: 
-00304F 22                RET      
+   46: static void System_IIC_clk_setup()		// 400KHz
+   47: {
+   48: 	REG_IICD_SCL_LOW  =  0x0d;
+   49:    	REG_IICD_SCL_HIGH  =  0x0e;
+0033B2 908091            MOV      DPTR,#08091H
+0033B5 740D              MOV      A,#0DH
+0033B7 F0                MOVX     @DPTR,A
+   50:    	REG_IICD_START_SETUP  = 0x0e;
+0033B8 A3                INC      DPTR
+0033B9 04                INC      A
+0033BA F0                MOVX     @DPTR,A
+   51:    	REG_IICD_START_HOLD  = 0x0e;
+0033BB A3                INC      DPTR
+0033BC F0                MOVX     @DPTR,A
+   52:   	REG_IICD_STOP_SETUP  = 0x0e;
+0033BD A3                INC      DPTR
+0033BE F0                MOVX     @DPTR,A
+   53:    	REG_IICD_DATA_SETUP  = 0x0d;
+0033BF A3                INC      DPTR
+0033C0 F0                MOVX     @DPTR,A
+   54: }
+0033C1 A3                INC      DPTR
+0033C2 14                DEC      A
+0033C3 F0                MOVX     @DPTR,A
+   55: 
+0033C4 22                RET      
 ----- FUNCTION System_IIC_clk_setup (END) -------
 
 
 ----- FUNCTION System_Software_init (BEGIN) -----
  FILE: 'sys.c'
-   74: void System_Software_init()
-   75: {
-   76: 	System_clear_mem();
-   77: 	YC_adc_init();
-003050 120D2D            LCALL    System_clear_mem
-   78: 	g_variable.release_data =1;
-003053 1185              ACALL    YC_adc_init
-   79: 	g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
-003055 904CEB            MOV      DPTR,#g_variable+02CH
-003058 7401              MOV      A,#01H
-00305A F0                MOVX     @DPTR,A
-   80: 	g_variable.recon_count = 0;
-00305B 904CE5            MOV      DPTR,#g_variable+026H
-00305E 741E              MOV      A,#01EH
-003060 F0                MOVX     @DPTR,A
-   81: 	g_variable.test_buff = 0xff;
-003061 E4                CLR      A
-003062 904CF0            MOV      DPTR,#g_variable+031H
-003065 F0                MOVX     @DPTR,A
-   82: 	le_lap_temp[0] = m_le_lap[3];
-003066 904D10            MOV      DPTR,#g_variable+051H
-003069 74FF              MOV      A,#0FFH
-00306B F0                MOVX     @DPTR,A
-   83: 	le_lap_temp[1] = m_le_lap[4];
-00306C 9044FC            MOV      DPTR,#m_le_lap+03H
-00306F E0                MOVX     A,@DPTR
-003070 904DD0            MOV      DPTR,#le_lap_temp
-003073 F0                MOVX     @DPTR,A
-   84: 	le_lap_temp[2] = m_le_lap[5];
-003074 9044FD            MOV      DPTR,#m_le_lap+04H
-003077 E0                MOVX     A,@DPTR
-003078 904DD1            MOV      DPTR,#le_lap_temp+01H
-00307B F0                MOVX     @DPTR,A
-   85: }
-00307C 9044FE            MOV      DPTR,#m_le_lap+05H
-00307F E0                MOVX     A,@DPTR
-003080 904DD2            MOV      DPTR,#le_lap_temp+02H
-003083 F0                MOVX     @DPTR,A
-   86: 
-003084 22                RET      
+   65: void System_Software_init()
+   66: {
+   67: 	System_clear_mem();
+   68: 	YC_adc_init();
+0033C5 120D2D            LCALL    System_clear_mem
+   69: 	g_variable.release_data =1;
+0033C8 71FE              ACALL    YC_adc_init
+   70: 	g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
+0033CA 904CB4            MOV      DPTR,#g_variable+031H
+0033CD 7401              MOV      A,#01H
+0033CF F0                MOVX     @DPTR,A
+   71: 	g_variable.recon_count = 0;
+0033D0 904CAD            MOV      DPTR,#g_variable+02AH
+0033D3 741E              MOV      A,#01EH
+0033D5 F0                MOVX     @DPTR,A
+   72: 	g_variable.test_buff = 0xff;
+0033D6 E4                CLR      A
+0033D7 904CB9            MOV      DPTR,#g_variable+036H
+0033DA F0                MOVX     @DPTR,A
+   73: 	g_variable.text_byte_ff = 0xff;
+0033DB 904CD5            MOV      DPTR,#g_variable+052H
+0033DE 74FF              MOV      A,#0FFH
+0033E0 F0                MOVX     @DPTR,A
+   74: 	le_lap_temp[0] = m_le_lap[3];
+0033E1 904CA9            MOV      DPTR,#g_variable+026H
+0033E4 F0                MOVX     @DPTR,A
+   75: 	le_lap_temp[1] = m_le_lap[4];
+0033E5 9044FC            MOV      DPTR,#m_le_lap+03H
+0033E8 E0                MOVX     A,@DPTR
+0033E9 904DD0            MOV      DPTR,#le_lap_temp
+0033EC F0                MOVX     @DPTR,A
+   76: 	le_lap_temp[2] = m_le_lap[5];
+0033ED 9044FD            MOV      DPTR,#m_le_lap+04H
+0033F0 E0                MOVX     A,@DPTR
+0033F1 904DD1            MOV      DPTR,#le_lap_temp+01H
+0033F4 F0                MOVX     @DPTR,A
+   77: }
+0033F5 9044FE            MOV      DPTR,#m_le_lap+05H
+0033F8 E0                MOVX     A,@DPTR
+0033F9 904DD2            MOV      DPTR,#le_lap_temp+02H
+0033FC F0                MOVX     @DPTR,A
+   78: 
+0033FD 22                RET      
 ----- FUNCTION System_Software_init (END) -------
 
 
@@ -9775,13 +10557,13 @@
     6: 	byte i;
     7: 	
     8: 	g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
-003085 904CD3            MOV      DPTR,#g_variable+014H
-003088 7405              MOV      A,#05H
-00308A F0                MOVX     @DPTR,A
+0033FE 904C9A            MOV      DPTR,#g_variable+017H
+003401 7405              MOV      A,#05H
+003403 F0                MOVX     @DPTR,A
     9: 	g_variable.battery_value_index = 0;
-00308B E4                CLR      A
-00308C A3                INC      DPTR
-00308D F0                MOVX     @DPTR,A
+003404 E4                CLR      A
+003405 A3                INC      DPTR
+003406 F0                MOVX     @DPTR,A
    10: 
    11: #ifdef ADC_TYPE_HVIN 	
    12: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
@@ -9793,1825 +10575,690 @@
    18: 	g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_3V0+m_adc0vBase;
    19: #endif
    20: #ifdef ADC_TYPE_VINLPM
-   21: 		if(g_variable.p_mode_current == 0)
-00308E 904D0B            MOV      DPTR,#g_variable+04CH
-003091 E0                MOVX     A,@DPTR
-003092 6002              JZ       $ + 4H
-003094 2168              AJMP     ?C0001?ADC
+   21: 		if(g_variable.p_mode_current == 1)
+003407 904CCC            MOV      DPTR,#g_variable+049H
+00340A E0                MOVX     A,@DPTR
+00340B 6401              XRL      A,#01H
+00340D 6002              JZ       $ + 4H
+00340F 81E3              AJMP     ?C0001?ADC
    22: 		{
    23: 			for (i = 0; i < BAT_ARRAY_LEN; i++)
-003096 904F0F            MOV      DPTR,#i
-003099 F0                MOVX     @DPTR,A
-00309A         ?C0002?ADC:
-00309A 904F0F            MOV      DPTR,#i
-00309D E0                MOVX     A,@DPTR
-00309E FF                MOV      R7,A
-00309F C3                CLR      C
-0030A0 9404              SUBB     A,#04H
-0030A2 5019              JNC      ?C0003?ADC
+003411 904F0E            MOV      DPTR,#i
+003414 F0                MOVX     @DPTR,A
+003415         ?C0002?ADC:
+003415 904F0E            MOV      DPTR,#i
+003418 E0                MOVX     A,@DPTR
+003419 FF                MOV      R7,A
+00341A C3                CLR      C
+00341B 9404              SUBB     A,#04H
+00341D 5019              JNC      ?C0003?ADC
    24: 			{
    25: 				g_variable.battery_value[i] = INIT_BATTERY_VALUE_VINLPM;
-0030A4 EF                MOV      A,R7
-0030A5 25E0              ADD      A,ACC
-0030A7 24D6              ADD      A,#LOW g_variable+017H
-0030A9 F582              MOV      DPL,A
-0030AB E4                CLR      A
-0030AC 344C              ADDC     A,#HIGH g_variable+017H
-0030AE F583              MOV      DPH,A
-0030B0 7451              MOV      A,#051H
-0030B2 F0                MOVX     @DPTR,A
-0030B3 A3                INC      DPTR
-0030B4 F0                MOVX     @DPTR,A
+00341F EF                MOV      A,R7
+003420 25E0              ADD      A,ACC
+003422 249D              ADD      A,#LOW g_variable+01AH
+003424 F582              MOV      DPL,A
+003426 E4                CLR      A
+003427 344C              ADDC     A,#HIGH g_variable+01AH
+003429 F583              MOV      DPH,A
+00342B 7451              MOV      A,#051H
+00342D F0                MOVX     @DPTR,A
+00342E A3                INC      DPTR
+00342F F0                MOVX     @DPTR,A
    26: 			}
-0030B5 904F0F            MOV      DPTR,#i
-0030B8 E0                MOVX     A,@DPTR
-0030B9 04                INC      A
-0030BA F0                MOVX     @DPTR,A
-0030BB 80DD              SJMP     ?C0002?ADC
-0030BD         ?C0003?ADC:
+003430 904F0E            MOV      DPTR,#i
+003433 E0                MOVX     A,@DPTR
+003434 04                INC      A
+003435 F0                MOVX     @DPTR,A
+003436 80DD              SJMP     ?C0002?ADC
+003438         ?C0003?ADC:
    27: 			g_variable.battery_level_full = m_adc3vValue;
-0030BD 904C93            MOV      DPTR,#m_adc3vValue
-0030C0 E0                MOVX     A,@DPTR
-0030C1 FF                MOV      R7,A
-0030C2 A3                INC      DPTR
-0030C3 E0                MOVX     A,@DPTR
-0030C4 904CFA            MOV      DPTR,#g_variable+03BH
-0030C7 CF                XCH      A,R7
-0030C8 F0                MOVX     @DPTR,A
-0030C9 A3                INC      DPTR
-0030CA EF                MOV      A,R7
-0030CB F0                MOVX     @DPTR,A
+003438 904C73            MOV      DPTR,#m_adc3vValue
+00343B E0                MOVX     A,@DPTR
+00343C FF                MOV      R7,A
+00343D A3                INC      DPTR
+00343E E0                MOVX     A,@DPTR
+00343F 904CC3            MOV      DPTR,#g_variable+040H
+003442 CF                XCH      A,R7
+003443 F0                MOVX     @DPTR,A
+003444 A3                INC      DPTR
+003445 EF                MOV      A,R7
+003446 F0                MOVX     @DPTR,A
    28: 			g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_2V4+m_adc0vBase;
-0030CC 904C91            MOV      DPTR,#m_adc0vBase
-0030CF E0                MOVX     A,@DPTR
-0030D0 FE                MOV      R6,A
-0030D1 A3                INC      DPTR
-0030D2 E0                MOVX     A,@DPTR
-0030D3 FF                MOV      R7,A
-0030D4 C3                CLR      C
-0030D5 904C94            MOV      DPTR,#m_adc3vValue+01H
-0030D8 E0                MOVX     A,@DPTR
-0030D9 9F                SUBB     A,R7
-0030DA FD                MOV      R5,A
-0030DB 904C93            MOV      DPTR,#m_adc3vValue
-0030DE E0                MOVX     A,@DPTR
-0030DF 9E                SUBB     A,R6
-0030E0 FC                MOV      R4,A
-0030E1 E4                CLR      A
-0030E2 120206            LCALL    ?C?FCASTI
-0030E5 7B29              MOV      R3,#029H
-0030E7 7A5C              MOV      R2,#05CH
-0030E9 794F              MOV      R1,#04FH
-0030EB 783F              MOV      R0,#03FH
-0030ED 1200FB            LCALL    ?C?FPMUL
-0030F0 C004              PUSH     AR4
-0030F2 C005              PUSH     AR5
-0030F4 C006              PUSH     AR6
-0030F6 C007              PUSH     AR7
-0030F8 904C91            MOV      DPTR,#m_adc0vBase
-0030FB E0                MOVX     A,@DPTR
-0030FC FC                MOV      R4,A
-0030FD A3                INC      DPTR
-0030FE E0                MOVX     A,@DPTR
-0030FF FD                MOV      R5,A
-003100 E4                CLR      A
-003101 120206            LCALL    ?C?FCASTI
-003104 D003              POP      AR3
-003106 D002              POP      AR2
-003108 D001              POP      AR1
-00310A D000              POP      AR0
-00310C 12000A            LCALL    ?C?FPADD
-00310F 12023F            LCALL    ?C?CASTF
-003112 904CDE            MOV      DPTR,#g_variable+01FH
-003115 EE                MOV      A,R6
-003116 F0                MOVX     @DPTR,A
-003117 A3                INC      DPTR
-003118 EF                MOV      A,R7
-003119 F0                MOVX     @DPTR,A
+003447 904C71            MOV      DPTR,#m_adc0vBase
+00344A E0                MOVX     A,@DPTR
+00344B FE                MOV      R6,A
+00344C A3                INC      DPTR
+00344D E0                MOVX     A,@DPTR
+00344E FF                MOV      R7,A
+00344F C3                CLR      C
+003450 904C74            MOV      DPTR,#m_adc3vValue+01H
+003453 E0                MOVX     A,@DPTR
+003454 9F                SUBB     A,R7
+003455 FD                MOV      R5,A
+003456 904C73            MOV      DPTR,#m_adc3vValue
+003459 E0                MOVX     A,@DPTR
+00345A 9E                SUBB     A,R6
+00345B FC                MOV      R4,A
+00345C E4                CLR      A
+00345D 120206            LCALL    ?C?FCASTI
+003460 7B29              MOV      R3,#029H
+003462 7A5C              MOV      R2,#05CH
+003464 794F              MOV      R1,#04FH
+003466 783F              MOV      R0,#03FH
+003468 1200FB            LCALL    ?C?FPMUL
+00346B C004              PUSH     AR4
+00346D C005              PUSH     AR5
+00346F C006              PUSH     AR6
+003471 C007              PUSH     AR7
+003473 904C71            MOV      DPTR,#m_adc0vBase
+003476 E0                MOVX     A,@DPTR
+003477 FC                MOV      R4,A
+003478 A3                INC      DPTR
+003479 E0                MOVX     A,@DPTR
+00347A FD                MOV      R5,A
+00347B E4                CLR      A
+00347C 120206            LCALL    ?C?FCASTI
+00347F D003              POP      AR3
+003481 D002              POP      AR2
+003483 D001              POP      AR1
+003485 D000              POP      AR0
+003487 12000A            LCALL    ?C?FPADD
+00348A 12023F            LCALL    ?C?CASTF
+00348D 904CA5            MOV      DPTR,#g_variable+022H
+003490 EE                MOV      A,R6
+003491 F0                MOVX     @DPTR,A
+003492 A3                INC      DPTR
+003493 EF                MOV      A,R7
+003494 F0                MOVX     @DPTR,A
    29: 			g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_2V1+m_adc0vBase;
-00311A 904C91            MOV      DPTR,#m_adc0vBase
-00311D E0                MOVX     A,@DPTR
-00311E FE                MOV      R6,A
-00311F A3                INC      DPTR
-003120 E0                MOVX     A,@DPTR
-003121 FF                MOV      R7,A
-003122 C3                CLR      C
-003123 904C94            MOV      DPTR,#m_adc3vValue+01H
-003126 E0                MOVX     A,@DPTR
-003127 9F                SUBB     A,R7
-003128 FD                MOV      R5,A
-003129 904C93            MOV      DPTR,#m_adc3vValue
-00312C E0                MOVX     A,@DPTR
-00312D 9E                SUBB     A,R6
-00312E FC                MOV      R4,A
-00312F E4                CLR      A
-003130 120206            LCALL    ?C?FCASTI
-003133 7433              MOV      A,#033H
-003135 FB                MOV      R3,A
-003136 FA                MOV      R2,A
-003137 F9                MOV      R1,A
-003138 783F              MOV      R0,#03FH
-00313A 1200FB            LCALL    ?C?FPMUL
-00313D C004              PUSH     AR4
-00313F C005              PUSH     AR5
-003141 C006              PUSH     AR6
-003143 C007              PUSH     AR7
-003145 904C91            MOV      DPTR,#m_adc0vBase
-003148 E0                MOVX     A,@DPTR
-003149 FC                MOV      R4,A
-00314A A3                INC      DPTR
-00314B E0                MOVX     A,@DPTR
-00314C FD                MOV      R5,A
-00314D E4                CLR      A
-00314E 120206            LCALL    ?C?FCASTI
-003151 D003              POP      AR3
-003153 D002              POP      AR2
-003155 D001              POP      AR1
-003157 D000              POP      AR0
-003159 12000A            LCALL    ?C?FPADD
-00315C 12023F            LCALL    ?C?CASTF
-00315F 904CE0            MOV      DPTR,#g_variable+021H
-003162 EE                MOV      A,R6
-003163 F0                MOVX     @DPTR,A
-003164 A3                INC      DPTR
-003165 EF                MOV      A,R7
-003166 F0                MOVX     @DPTR,A
+003495 904C71            MOV      DPTR,#m_adc0vBase
+003498 E0                MOVX     A,@DPTR
+003499 FE                MOV      R6,A
+00349A A3                INC      DPTR
+00349B E0                MOVX     A,@DPTR
+00349C FF                MOV      R7,A
+00349D C3                CLR      C
+00349E 904C74            MOV      DPTR,#m_adc3vValue+01H
+0034A1 E0                MOVX     A,@DPTR
+0034A2 9F                SUBB     A,R7
+0034A3 FD                MOV      R5,A
+0034A4 904C73            MOV      DPTR,#m_adc3vValue
+0034A7 E0                MOVX     A,@DPTR
+0034A8 9E                SUBB     A,R6
+0034A9 FC                MOV      R4,A
+0034AA E4                CLR      A
+0034AB 120206            LCALL    ?C?FCASTI
+0034AE 7433              MOV      A,#033H
+0034B0 FB                MOV      R3,A
+0034B1 FA                MOV      R2,A
+0034B2 F9                MOV      R1,A
+0034B3 783F              MOV      R0,#03FH
+0034B5 1200FB            LCALL    ?C?FPMUL
+0034B8 C004              PUSH     AR4
+0034BA C005              PUSH     AR5
+0034BC C006              PUSH     AR6
+0034BE C007              PUSH     AR7
+0034C0 904C71            MOV      DPTR,#m_adc0vBase
+0034C3 E0                MOVX     A,@DPTR
+0034C4 FC                MOV      R4,A
+0034C5 A3                INC      DPTR
+0034C6 E0                MOVX     A,@DPTR
+0034C7 FD                MOV      R5,A
+0034C8 E4                CLR      A
+0034C9 120206            LCALL    ?C?FCASTI
+0034CC D003              POP      AR3
+0034CE D002              POP      AR2
+0034D0 D001              POP      AR1
+0034D2 D000              POP      AR0
+0034D4 12000A            LCALL    ?C?FPADD
+0034D7 12023F            LCALL    ?C?CASTF
+0034DA 904CA7            MOV      DPTR,#g_variable+024H
+0034DD EE                MOV      A,R6
+0034DE F0                MOVX     @DPTR,A
+0034DF A3                INC      DPTR
+0034E0 EF                MOV      A,R7
+0034E1 F0                MOVX     @DPTR,A
    30: 		}
-003167 22                RET      
-003168         ?C0001?ADC:
+0034E2 22                RET      
+0034E3         ?C0001?ADC:
    31: 		else
    32: 		{
    33: 			for (i = 0; i < BAT_ARRAY_LEN; i++)
-003168 E4                CLR      A
-003169 904F0F            MOV      DPTR,#i
-00316C F0                MOVX     @DPTR,A
-00316D         ?C0006?ADC:
-00316D 904F0F            MOV      DPTR,#i
-003170 E0                MOVX     A,@DPTR
-003171 FF                MOV      R7,A
-003172 C3                CLR      C
-003173 9404              SUBB     A,#04H
-003175 5019              JNC      ?C0007?ADC
+0034E3 E4                CLR      A
+0034E4 904F0E            MOV      DPTR,#i
+0034E7 F0                MOVX     @DPTR,A
+0034E8         ?C0006?ADC:
+0034E8 904F0E            MOV      DPTR,#i
+0034EB E0                MOVX     A,@DPTR
+0034EC FF                MOV      R7,A
+0034ED C3                CLR      C
+0034EE 9404              SUBB     A,#04H
+0034F0 5019              JNC      ?C0007?ADC
    34: 			{
    35: 				g_variable.battery_value[i] = INIT_BATTERY_VALUE_VINLPM;
-003177 EF                MOV      A,R7
-003178 25E0              ADD      A,ACC
-00317A 24D6              ADD      A,#LOW g_variable+017H
-00317C F582              MOV      DPL,A
-00317E E4                CLR      A
-00317F 344C              ADDC     A,#HIGH g_variable+017H
-003181 F583              MOV      DPH,A
-003183 7451              MOV      A,#051H
-003185 F0                MOVX     @DPTR,A
-003186 A3                INC      DPTR
-003187 F0                MOVX     @DPTR,A
+0034F2 EF                MOV      A,R7
+0034F3 25E0              ADD      A,ACC
+0034F5 249D              ADD      A,#LOW g_variable+01AH
+0034F7 F582              MOV      DPL,A
+0034F9 E4                CLR      A
+0034FA 344C              ADDC     A,#HIGH g_variable+01AH
+0034FC F583              MOV      DPH,A
+0034FE 7451              MOV      A,#051H
+003500 F0                MOVX     @DPTR,A
+003501 A3                INC      DPTR
+003502 F0                MOVX     @DPTR,A
    36: 			}
-003188 904F0F            MOV      DPTR,#i
-00318B E0                MOVX     A,@DPTR
-00318C 04                INC      A
-00318D F0                MOVX     @DPTR,A
-00318E 80DD              SJMP     ?C0006?ADC
-003190         ?C0007?ADC:
+003503 904F0E            MOV      DPTR,#i
+003506 E0                MOVX     A,@DPTR
+003507 04                INC      A
+003508 F0                MOVX     @DPTR,A
+003509 80DD              SJMP     ?C0006?ADC
+00350B         ?C0007?ADC:
    37: 			g_variable.battery_level_full = m_adc3vValue;
-003190 904C93            MOV      DPTR,#m_adc3vValue
-003193 E0                MOVX     A,@DPTR
-003194 FF                MOV      R7,A
-003195 A3                INC      DPTR
-003196 E0                MOVX     A,@DPTR
-003197 904CFA            MOV      DPTR,#g_variable+03BH
-00319A CF                XCH      A,R7
-00319B F0                MOVX     @DPTR,A
-00319C A3                INC      DPTR
-00319D EF                MOV      A,R7
-00319E F0                MOVX     @DPTR,A
+00350B 904C73            MOV      DPTR,#m_adc3vValue
+00350E E0                MOVX     A,@DPTR
+00350F FF                MOV      R7,A
+003510 A3                INC      DPTR
+003511 E0                MOVX     A,@DPTR
+003512 904CC3            MOV      DPTR,#g_variable+040H
+003515 CF                XCH      A,R7
+003516 F0                MOVX     @DPTR,A
+003517 A3                INC      DPTR
+003518 EF                MOV      A,R7
+003519 F0                MOVX     @DPTR,A
    38: 			g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_3V1+m_adc0vBase;
-00319F 904C91            MOV      DPTR,#m_adc0vBase
-0031A2 E0                MOVX     A,@DPTR
-0031A3 FE                MOV      R6,A
-0031A4 A3                INC      DPTR
-0031A5 E0                MOVX     A,@DPTR
-0031A6 FF                MOV      R7,A
-0031A7 C3                CLR      C
-0031A8 904C94            MOV      DPTR,#m_adc3vValue+01H
-0031AB E0                MOVX     A,@DPTR
-0031AC 9F                SUBB     A,R7
-0031AD FD                MOV      R5,A
-0031AE 904C93            MOV      DPTR,#m_adc3vValue
-0031B1 E0                MOVX     A,@DPTR
-0031B2 9E                SUBB     A,R6
-0031B3 FC                MOV      R4,A
-0031B4 E4                CLR      A
-0031B5 120206            LCALL    ?C?FCASTI
-0031B8 7BB8              MOV      R3,#0B8H
-0031BA 7A1E              MOV      R2,#01EH
-0031BC 7985              MOV      R1,#085H
-0031BE 783F              MOV      R0,#03FH
-0031C0 1200FB            LCALL    ?C?FPMUL
-0031C3 C004              PUSH     AR4
-0031C5 C005              PUSH     AR5
-0031C7 C006              PUSH     AR6
-0031C9 C007              PUSH     AR7
-0031CB 904C91            MOV      DPTR,#m_adc0vBase
-0031CE E0                MOVX     A,@DPTR
-0031CF FC                MOV      R4,A
-0031D0 A3                INC      DPTR
-0031D1 E0                MOVX     A,@DPTR
-0031D2 FD                MOV      R5,A
-0031D3 E4                CLR      A
-0031D4 120206            LCALL    ?C?FCASTI
-0031D7 D003              POP      AR3
-0031D9 D002              POP      AR2
-0031DB D001              POP      AR1
-0031DD D000              POP      AR0
-0031DF 12000A            LCALL    ?C?FPADD
-0031E2 12023F            LCALL    ?C?CASTF
-0031E5 904CDE            MOV      DPTR,#g_variable+01FH
-0031E8 EE                MOV      A,R6
-0031E9 F0                MOVX     @DPTR,A
-0031EA A3                INC      DPTR
-0031EB EF                MOV      A,R7
-0031EC F0                MOVX     @DPTR,A
+00351A 904C71            MOV      DPTR,#m_adc0vBase
+00351D E0                MOVX     A,@DPTR
+00351E FE                MOV      R6,A
+00351F A3                INC      DPTR
+003520 E0                MOVX     A,@DPTR
+003521 FF                MOV      R7,A
+003522 C3                CLR      C
+003523 904C74            MOV      DPTR,#m_adc3vValue+01H
+003526 E0                MOVX     A,@DPTR
+003527 9F                SUBB     A,R7
+003528 FD                MOV      R5,A
+003529 904C73            MOV      DPTR,#m_adc3vValue
+00352C E0                MOVX     A,@DPTR
+00352D 9E                SUBB     A,R6
+00352E FC                MOV      R4,A
+00352F E4                CLR      A
+003530 120206            LCALL    ?C?FCASTI
+003533 7BB8              MOV      R3,#0B8H
+003535 7A1E              MOV      R2,#01EH
+003537 7985              MOV      R1,#085H
+003539 783F              MOV      R0,#03FH
+00353B 1200FB            LCALL    ?C?FPMUL
+00353E C004              PUSH     AR4
+003540 C005              PUSH     AR5
+003542 C006              PUSH     AR6
+003544 C007              PUSH     AR7
+003546 904C71            MOV      DPTR,#m_adc0vBase
+003549 E0                MOVX     A,@DPTR
+00354A FC                MOV      R4,A
+00354B A3                INC      DPTR
+00354C E0                MOVX     A,@DPTR
+00354D FD                MOV      R5,A
+00354E E4                CLR      A
+00354F 120206            LCALL    ?C?FCASTI
+003552 D003              POP      AR3
+003554 D002              POP      AR2
+003556 D001              POP      AR1
+003558 D000              POP      AR0
+00355A 12000A            LCALL    ?C?FPADD
+00355D 12023F            LCALL    ?C?CASTF
+003560 904CA5            MOV      DPTR,#g_variable+022H
+003563 EE                MOV      A,R6
+003564 F0                MOVX     @DPTR,A
+003565 A3                INC      DPTR
+003566 EF                MOV      A,R7
+003567 F0                MOVX     @DPTR,A
    39: 			g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_2V8+m_adc0vBase;
-0031ED 904C91            MOV      DPTR,#m_adc0vBase
-0031F0 E0                MOVX     A,@DPTR
-0031F1 FE                MOV      R6,A
-0031F2 A3                INC      DPTR
-0031F3 E0                MOVX     A,@DPTR
-0031F4 FF                MOV      R7,A
-0031F5 C3                CLR      C
-0031F6 904C94            MOV      DPTR,#m_adc3vValue+01H
-0031F9 E0                MOVX     A,@DPTR
-0031FA 9F                SUBB     A,R7
-0031FB FD                MOV      R5,A
-0031FC 904C93            MOV      DPTR,#m_adc3vValue
-0031FF E0                MOVX     A,@DPTR
-003200 9E                SUBB     A,R6
-003201 FC                MOV      R4,A
-003202 E4                CLR      A
-003203 120206            LCALL    ?C?FCASTI
-003206 7B33              MOV      R3,#033H
-003208 7A33              MOV      R2,#033H
-00320A 7973              MOV      R1,#073H
-00320C 783F              MOV      R0,#03FH
-00320E 1200FB            LCALL    ?C?FPMUL
-003211 C004              PUSH     AR4
-003213 C005              PUSH     AR5
-003215 C006              PUSH     AR6
-003217 C007              PUSH     AR7
-003219 904C91            MOV      DPTR,#m_adc0vBase
-00321C E0                MOVX     A,@DPTR
-00321D FC                MOV      R4,A
-00321E A3                INC      DPTR
-00321F E0                MOVX     A,@DPTR
-003220 FD                MOV      R5,A
-003221 E4                CLR      A
-003222 120206            LCALL    ?C?FCASTI
-003225 D003              POP      AR3
-003227 D002              POP      AR2
-003229 D001              POP      AR1
-00322B D000              POP      AR0
-00322D 12000A            LCALL    ?C?FPADD
-003230 12023F            LCALL    ?C?CASTF
-003233 904CE0            MOV      DPTR,#g_variable+021H
-003236 EE                MOV      A,R6
-003237 F0                MOVX     @DPTR,A
-003238 A3                INC      DPTR
-003239 EF                MOV      A,R7
-00323A F0                MOVX     @DPTR,A
+003568 904C71            MOV      DPTR,#m_adc0vBase
+00356B E0                MOVX     A,@DPTR
+00356C FE                MOV      R6,A
+00356D A3                INC      DPTR
+00356E E0                MOVX     A,@DPTR
+00356F FF                MOV      R7,A
+003570 C3                CLR      C
+003571 904C74            MOV      DPTR,#m_adc3vValue+01H
+003574 E0                MOVX     A,@DPTR
+003575 9F                SUBB     A,R7
+003576 FD                MOV      R5,A
+003577 904C73            MOV      DPTR,#m_adc3vValue
+00357A E0                MOVX     A,@DPTR
+00357B 9E                SUBB     A,R6
+00357C FC                MOV      R4,A
+00357D E4                CLR      A
+00357E 120206            LCALL    ?C?FCASTI
+003581 7B33              MOV      R3,#033H
+003583 7A33              MOV      R2,#033H
+003585 7973              MOV      R1,#073H
+003587 783F              MOV      R0,#03FH
+003589 1200FB            LCALL    ?C?FPMUL
+00358C C004              PUSH     AR4
+00358E C005              PUSH     AR5
+003590 C006              PUSH     AR6
+003592 C007              PUSH     AR7
+003594 904C71            MOV      DPTR,#m_adc0vBase
+003597 E0                MOVX     A,@DPTR
+003598 FC                MOV      R4,A
+003599 A3                INC      DPTR
+00359A E0                MOVX     A,@DPTR
+00359B FD                MOV      R5,A
+00359C E4                CLR      A
+00359D 120206            LCALL    ?C?FCASTI
+0035A0 D003              POP      AR3
+0035A2 D002              POP      AR2
+0035A4 D001              POP      AR1
+0035A6 D000              POP      AR0
+0035A8 12000A            LCALL    ?C?FPADD
+0035AB 12023F            LCALL    ?C?CASTF
+0035AE 904CA7            MOV      DPTR,#g_variable+024H
+0035B1 EE                MOV      A,R6
+0035B2 F0                MOVX     @DPTR,A
+0035B3 A3                INC      DPTR
+0035B4 EF                MOV      A,R7
+0035B5 F0                MOVX     @DPTR,A
    40: 		}
-   41: 		
-   42: #endif
-   43: #ifdef ADC_TYPE_GPIO
-   44: 	m_adc_channel = ADC_CHANNEL;
-   45: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
-   46: 	{
-   47: 		g_variable.battery_value[i] = INIT_BATTERY_VALUE_GPIO;
-   48: 	}
-   49: 	g_variable.battery_level_full = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_1V5+m_adc0vBase;
-   50: 	g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_1V1+m_adc0vBase;
-   51: 	g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_0V9+m_adc0vBase;
-   52: #endif
-   53: #else
-   54: 	m_le_battery_level_display_enable = 0;
-   55: #endif
-   56: }
-00323B 22                RET      
+   41: #endif
+   42: #ifdef ADC_TYPE_GPIO
+   43: 	m_adc_channel = ADC_CHANNEL;
+   44: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
+   45: 	{
+   46: 		g_variable.battery_value[i] = INIT_BATTERY_VALUE_GPIO;
+   47: 	}
+   48: 	g_variable.battery_level_full = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_1V5+m_adc0vBase;
+   49: 	g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_1V1+m_adc0vBase;
+   50: 	g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_0V9+m_adc0vBase;
+   51: #endif
+   52: #else
+   53: 	m_le_battery_level_display_enable = 0;
+   54: #endif
+   55: }
+0035B6 22                RET      
 ----- FUNCTION YC_adc_init (END) -------
 
 
 ----- FUNCTION _kb_cb_Hid (BEGIN) -----
  FILE: 'sys.c'
-  124: static void kb_cb_Hid(byte *p,byte len) {
-  125: 	//p[0] is hid type,always is 1(kb) now
-00323C 904F01            MOV      DPTR,#len
-00323F ED                MOV      A,R5
-003240 F0                MOVX     @DPTR,A
+  116: static void kb_cb_Hid(byte *p,byte len) {
+  117: 	//p[0] is hid type,always is 1(kb) now
+0035B7 904F02            MOV      DPTR,#len
+0035BA ED                MOV      A,R5
+0035BB F0                MOVX     @DPTR,A
 ;---- Variable 'p' assigned to Register 'R1/R2/R3' ----
-  126: 	byte temp = p[1];
-003241 900001            MOV      DPTR,#01H
-003244 1203CF            LCALL    ?C?CLDOPTR
-003247 904F02            MOV      DPTR,#temp
-00324A F0                MOVX     @DPTR,A
-  127: 
-  128: 	if (len<2) {
-  129: 		return;
-  130: 	}
-  131: }
-00324B 22                RET      
------ FUNCTION _kb_cb_Hid (END) -------
-
-
------ FUNCTION LED_timer100ms (BEGIN) -----
- FILE: 'sys.c'
-  514: void LED_timer100ms()
-  515: {
-  516: 	if (power_on_flag != 2)
-  517: 		return;
-00324C 904DEE            MOV      DPTR,#power_on_flag
-00324F E0                MOVX     A,@DPTR
-003250 6402              XRL      A,#02H
-003252 704F              JNZ      ?C0053?SYS
-003254         ?C0052?SYS:
-  518: 	if (g_variable.pairing_timeout != 0) //bt  pairing
-003254 904CE9            MOV      DPTR,#g_variable+02AH
-003257 E0                MOVX     A,@DPTR
-003258 603F              JZ       ?C0054?SYS
-  519: 	{
-  520: 		if (g_variable.button_reconnect_flag != 1)
-00325A 904CCC            MOV      DPTR,#g_variable+0DH
-00325D E0                MOVX     A,@DPTR
-00325E 6401              XRL      A,#01H
-003260 6022              JZ       ?C0055?SYS
-  521: 		{
-  522: 			if(g_variable.current_device_num == 1)
-003262 904CC3            MOV      DPTR,#g_variable+04H
-003265 E0                MOVX     A,@DPTR
-003266 B40104            CJNE     A,#01H,?C0056?SYS
-  523: 				GPIO_FlipOutBit(num1_led);	
-003269 7F1F              MOV      R7,#01FH
-00326B 8037              SJMP     _GPIO_FlipOutBit
-00326D         ?C0056?SYS:
-  524: 			else if(g_variable.current_device_num == 2)
-00326D 904CC3            MOV      DPTR,#g_variable+04H
-003270 E0                MOVX     A,@DPTR
-003271 B40204            CJNE     A,#02H,?C0058?SYS
-  525: 				GPIO_FlipOutBit(num2_led);
-003274 7FFF              MOV      R7,#0FFH
-003276 802C              SJMP     _GPIO_FlipOutBit
-003278         ?C0058?SYS:
-  526: 			else if(g_variable.current_device_num == 3)
-003278 904CC3            MOV      DPTR,#g_variable+04H
-00327B E0                MOVX     A,@DPTR
-00327C 6403              XRL      A,#03H
-00327E 7023              JNZ      ?C0053?SYS
-  527: 			{
-  528: 				GPIO_FlipOutBit(num3_led);
-003280 7FFF              MOV      R7,#0FFH
-003282 8020              SJMP     _GPIO_FlipOutBit
-  529: 			}
-  530: 		}
-003284         ?C0055?SYS:
-  531: 		else
-  532: 		{
-  533: 			GPIO_Setout(num1_led,LED_OFF);
-003284 C201              CLR      ?_GPIO_Setout?BIT
-003286 7F1F              MOV      R7,#01FH
-003288 1212BB            LCALL    _GPIO_Setout
-  534: 			GPIO_Setout(num2_led,LED_OFF);
-00328B C201              CLR      ?_GPIO_Setout?BIT
-00328D 7FFF              MOV      R7,#0FFH
-00328F 1212BB            LCALL    _GPIO_Setout
-  535: 			GPIO_Setout(num3_led,LED_OFF);
-003292 C201              CLR      ?_GPIO_Setout?BIT
-003294 7FFF              MOV      R7,#0FFH
-003296 0212BB            LJMP     _GPIO_Setout
-  536: 			//GPIO_Setout(PAIRING_LED_GPIO,LED_OFF);
-  537: 		}
-  538: 	}
-003299         ?C0054?SYS:
-  539: 	else if (g_variable.pairing_g24_timeout != 0)
-003299 904CEE            MOV      DPTR,#g_variable+02FH
-00329C E0                MOVX     A,@DPTR
-00329D 6004              JZ       ?C0053?SYS
-  540: 	{
-  541: 		GPIO_FlipOutBit(num0_led);	//num0_led,PAIRING_LED_GPIO
-00329F 7F1F              MOV      R7,#01FH
-0032A1 51A4              ACALL    _GPIO_FlipOutBit
-  542: //		GPIO_FlipOutBit(LOWPOWER_LED_GPIO);
-  543: 	}
-  544: //	else
-  545: //	{
-  546: //		GPIO_Setout(num0_led,LED_OFF); //PAIRING_LED_GPIO
-  547: //	}
-  548: //	g_variable.user_time_5s_cnt++;
-  549: //	if (g_variable.user_time_5s_cnt >= 10)	//5秒时间到
-  550: //	{
-  551: //		g_variable.user_time_5s_cnt = 0;
-  552: //		//没有模式切换灯，没有在配对状态，且在连接状�?
-  553: //		if (g_variable.battery_status != BAT_STATUS_LOW && !g_variable.led_mode_flag && !g_variable.pairing_timeout &
->> & !g_variable.pairing_g24_timeout && YC_check_is_connected())
-  554: //		{
-  555: //			g_variable.powerOn_timer = 10;
-  556: //		}
-  557: //	}
-  558: }
-0032A3         ?C0053?SYS:
-0032A3 22                RET      
------ FUNCTION LED_timer100ms (END) -------
-
-
------ FUNCTION _GPIO_FlipOutBit (BEGIN) -----
-0032A4 904F13            MOV      DPTR,#gpio_num
-0032A7 EF                MOV      A,R7
-0032A8 F0                MOVX     @DPTR,A
-0032A9 7B01              MOV      R3,#01H
-0032AB 7A80              MOV      R2,#080H
-0032AD 7974              MOV      R1,#074H
-0032AF 1217F7            LCALL    _gpioGetBit
-0032B2 9209              MOV      st,C
-0032B4 904F13            MOV      DPTR,#gpio_num
-0032B7 E0                MOVX     A,@DPTR
-0032B8 FF                MOV      R7,A
-0032B9 A209              MOV      C,st
-0032BB B3                CPL      C
-0032BC 9201              MOV      ?_GPIO_Setout?BIT,C
-0032BE 0212BB            LJMP     _GPIO_Setout
------ FUNCTION _GPIO_FlipOutBit (END) -------
-
-
------ FUNCTION YC_wait_disconnect_timer500ms (BEGIN) -----
- FILE: 'sys.c'
-  640: void YC_wait_disconnect_timer500ms()
-  641: {
-  642: //before discovery/adv,if current state is connected,wait disconnect done
-  643: 	if (action_timeout!=0)
-0032C1 904DEF            MOV      DPTR,#action_timeout
-0032C4 E0                MOVX     A,@DPTR
-0032C5 6039              JZ       ?C0085?SYS
-  644: 	{
-  645: 		action_timeout--;
-0032C7 E0                MOVX     A,@DPTR
-0032C8 14                DEC      A
-0032C9 F0                MOVX     @DPTR,A
-  646: 		if(action_timeout == 0)
-0032CA E0                MOVX     A,@DPTR
-0032CB 7033              JNZ      ?C0085?SYS
-  647: 		{
-  648: 			if(g_variable.key_action == KEY_DISCOVERY
-0032CD 904CED            MOV      DPTR,#g_variable+02EH
-0032D0 E0                MOVX     A,@DPTR
-0032D1 B4052C            CJNE     A,#05H,?C0085?SYS
-0032D4 9047F5            MOV      DPTR,#m_ui_state_map+01H
-0032D7 E0                MOVX     A,@DPTR
-0032D8 20E325            JB       ACC.3,?C0085?SYS
-  649: 		#if DEVICE_MODE_BT_ONLY
-  650: 			&& (m_ui_state_map & 0x4000) != 0x4000)
-  651: 		#elif DEVICE_MODE_BLE_ONLY	
-  652: 			&& (m_ui_state_map & 0x0008) != 0x0008)
-  653: 		#else	
-  654: 			&& (m_ui_state_map & 0x4008) != 0x4008)
-  655: 		#endif
-  656: 			{
-  657: //				m_lpm_mode = 0;
-  658: 				ble_send_secutiry_request_timer = 0;
-0032DB E4                CLR      A
-0032DC 904DD5            MOV      DPTR,#ble_send_secutiry_request_timer
-0032DF F0                MOVX     @DPTR,A
-  659: 				g_variable.pairing_timeout = BT_PAIRING_TIME_OUT_2MIN;
-0032E0 904CE9            MOV      DPTR,#g_variable+02AH
-0032E3 74F0              MOV      A,#0F0H
-0032E5 F0                MOVX     @DPTR,A
-  660: 				g_variable.pairing_g24_timeout = 0;
-0032E6 E4                CLR      A
-0032E7 904CEE            MOV      DPTR,#g_variable+02FH
-0032EA F0                MOVX     @DPTR,A
-  661: 				fast_connect_flag = 0;
-0032EB 904E59            MOV      DPTR,#fast_connect_flag
-0032EE F0                MOVX     @DPTR,A
-  662: 				ble_fast_connect_flag = 0;
-0032EF 904DD3            MOV      DPTR,#ble_fast_connect_flag
-0032F2 F0                MOVX     @DPTR,A
-  663: 			#if DEVICE_MODE_BT_ONLY
-  664: 				IPC_TxControlCmd(IPC_CMD_START_DISCOVERY);
-  665: 			#elif DEVICE_MODE_BLE_ONLY	
-  666: 				YC_get_ble_ramdon_lap();
-0032F3 1218FE            LCALL    YC_get_ble_ramdon_lap
-  667: 				IPC_TxControlCmd(IPC_CMD_START_ADV);
-0032F6 7F0D              MOV      R7,#0DH
-0032F8 1210AD            LCALL    _IPC_TxControlCmd
-  668: 			#else	
-  669: 				YC_get_ble_ramdon_lap();
-  670: 				IPC_TxControlCmd(IPC_CMD_START_ADV_DISCOVERY);
-  671: 			#endif
-  672: 				g_variable.key_action = KEY_NONE;
-0032FB E4                CLR      A
-0032FC 904CED            MOV      DPTR,#g_variable+02EH
-0032FF F0                MOVX     @DPTR,A
-  673: 			}
-  674: 		}
-  675: 	}
-  676: 
-  677: }
-003300         ?C0085?SYS:
-003300 22                RET      
------ FUNCTION YC_wait_disconnect_timer500ms (END) -------
-
-
------ FUNCTION kb_cb_Timer500ms (BEGIN) -----
- FILE: 'sys.c'
-  868: static void kb_cb_Timer500ms()
-  869: {
-  870: 
-  871: 	g_variable.sleepTimer++;
-003301 904CE4            MOV      DPTR,#g_variable+025H
-003304 E0                MOVX     A,@DPTR
-003305 04                INC      A
-003306 F0                MOVX     @DPTR,A
-003307 7006              JNZ      ?C0164?SYS
-003309 904CE3            MOV      DPTR,#g_variable+024H
-00330C E0                MOVX     A,@DPTR
-00330D 04                INC      A
-00330E F0                MOVX     @DPTR,A
-00330F         ?C0164?SYS:
-  872: 
-  873: 	YC_adc_check_timer500ms();
-00330F 712A              ACALL    YC_adc_check_timer500ms
-  874: 	YC_connect_timeout_500ms();
-003311 120EDB            LCALL    YC_connect_timeout_500ms
-  875: 	kb_button_press_timer500ms();
-003314 121BDD            LCALL    kb_button_press_timer500ms
-  876: 	YC_wait_disconnect_timer500ms();
-003317 51C1              ACALL    YC_wait_disconnect_timer500ms
-  877: 	YC_pairing_timerout_500ms();
-003319 713B              ACALL    YC_pairing_timerout_500ms
-  878: 	
-  879: 	
-  880: 	if(g_variable.ble_currentSubState ==  CHANGE_TO_BLE_SUB_PINCODE)
-00331B 904CC8            MOV      DPTR,#g_variable+09H
-00331E E0                MOVX     A,@DPTR
-00331F B40207            CJNE     A,#02H,?C0111?SYS
-  881: 	{
-  882: 		g_variable.sleepTimer = 0;				//wait macOS enter pincode
-003322 E4                CLR      A
-003323 904CE3            MOV      DPTR,#g_variable+024H
-003326 F0                MOVX     @DPTR,A
-003327 A3                INC      DPTR
-003328 F0                MOVX     @DPTR,A
-  883: 	}
-  884: 	
-  885: 	return;
-  886: }
-003329         ?C0111?SYS:
-003329 22                RET      
------ FUNCTION kb_cb_Timer500ms (END) -------
-
-
------ FUNCTION YC_adc_check_timer500ms (BEGIN) -----
- FILE: 'adc.c'
-  129: void YC_adc_check_timer500ms()
-  130: {
-  131: #ifdef  ADC_ENABLE
-  132: 	// adc check timer	
-  133: 	if (g_variable.battery_check_interval)
-00332A 904CD3            MOV      DPTR,#g_variable+014H
-00332D E0                MOVX     A,@DPTR
-00332E 600A              JZ       ?C0031?ADC
-  134: 	{
-  135: 		g_variable.battery_check_interval--;
-003330 14                DEC      A
-003331 F0                MOVX     @DPTR,A
-  136: 		if (g_variable.battery_check_interval == 0)
-003332 E0                MOVX     A,@DPTR
-003333 7005              JNZ      ?C0031?ADC
-  137: 		{
-  138: 			g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
-003335 7405              MOV      A,#05H
-003337 F0                MOVX     @DPTR,A
-  139: 			YC_adc_check();
-003338 7188              ACALL    YC_adc_check
-  140: 		}
-  141: 	}
-  142: #endif	
-  143: }
-00333A         ?C0031?ADC:
-00333A 22                RET      
------ FUNCTION YC_adc_check_timer500ms (END) -------
-
-
------ FUNCTION YC_pairing_timerout_500ms (BEGIN) -----
- FILE: 'sys.c'
-  680: void YC_pairing_timerout_500ms()
-  681: {
-  682: //pairing timer
-  683: 	if (g_variable.pairing_timeout != 0)
-00333B 904CE9            MOV      DPTR,#g_variable+02AH
-00333E E0                MOVX     A,@DPTR
-00333F 6028              JZ       ?C0086?SYS
-  684: 	{
-  685: 		g_variable.sleepTimer = 0;
-003341 E4                CLR      A
-003342 904CE3            MOV      DPTR,#g_variable+024H
-003345 F0                MOVX     @DPTR,A
-003346 A3                INC      DPTR
-003347 F0                MOVX     @DPTR,A
-  686: 		g_variable.fast_connect_send_name = 0;
-003348 904CFC            MOV      DPTR,#g_variable+03DH
-00334B F0                MOVX     @DPTR,A
-  687: 		g_variable.pairing_timeout--;
-00334C 904CE9            MOV      DPTR,#g_variable+02AH
-00334F E0                MOVX     A,@DPTR
-003350 14                DEC      A
-003351 F0                MOVX     @DPTR,A
-  688: 		if (g_variable.pairing_timeout == 0)
-003352 E0                MOVX     A,@DPTR
-003353 7014              JNZ      ?C0086?SYS
-  689: 		{
-  690: 			g_variable.current_device_num = g_variable.temp_device_num;
-003355 904CC4            MOV      DPTR,#g_variable+05H
-003358 E0                MOVX     A,@DPTR
-003359 904CC3            MOV      DPTR,#g_variable+04H
-00335C F0                MOVX     @DPTR,A
-  691: 			g_variable.last_device_num = g_variable.current_device_num;
-00335D 904CC0            MOV      DPTR,#g_variable+01H
-003360 F0                MOVX     @DPTR,A
-  692: 		
-  693: 			YC_key_action_handle(KEY_STOP_DISCOVERY);
-003361 7F0D              MOV      R7,#0DH
-003363 1210D7            LCALL    _YC_key_action_handle
-  694: 			System_long_sleep();
-003366 1217BD            LCALL    System_long_sleep
-  695: 		}
-  696: 	}
-003369         ?C0086?SYS:
-  697: 
-  698: 	if (g_variable.pairing_g24_timeout != 0)
-003369 904CEE            MOV      DPTR,#g_variable+02FH
-00336C E0                MOVX     A,@DPTR
-00336D 6018              JZ       ?C0090?SYS
-  699: 	{
-  700: 		g_variable.sleepTimer = 0;
-00336F E4                CLR      A
-003370 904CE3            MOV      DPTR,#g_variable+024H
-003373 F0                MOVX     @DPTR,A
-003374 A3                INC      DPTR
-003375 F0                MOVX     @DPTR,A
-  701: 		g_variable.pairing_g24_timeout--;
-003376 904CEE            MOV      DPTR,#g_variable+02FH
-003379 E0                MOVX     A,@DPTR
-00337A 14                DEC      A
-00337B F0                MOVX     @DPTR,A
-  702: 		if (g_variable.pairing_g24_timeout == 0)
-00337C E0                MOVX     A,@DPTR
-00337D 7008              JNZ      ?C0090?SYS
-  703: 		{
-  704: 			//IPC_TxControlCmd(IPC_CMD_STOP_24G);
-  705: 			Delay1ms(10);
-00337F 7F0A              MOV      R7,#0AH
-003381 1216F3            LCALL    _Delay1ms
-  706: 			System_long_sleep();
-003384 1217BD            LCALL    System_long_sleep
-  707: 		}
-  708: 	}
-  709: }
-003387         ?C0090?SYS:
-003387 22                RET      
------ FUNCTION YC_pairing_timerout_500ms (END) -------
-
-
------ FUNCTION YC_adc_check (BEGIN) -----
- FILE: 'adc.c'
-   58: void YC_adc_check() 
-   59: {
-   60: #ifdef  ADC_ENABLE
-   61: 	byte i;
-   62: 	ulong batValue = 0;
-003388 904ECF            MOV      DPTR,#batValue
-00338B 120582            LCALL    ?C?LSTKXDATA
-00338E 00                DB       00H
-00338F 00                DB       00H
-003390 00                DB       00H
-003391 00                DB       00H
-   63: 
-   64: 	if(m_adcCurrentValue < m_adc0vBase)
-003392 904C91            MOV      DPTR,#m_adc0vBase
-003395 E0                MOVX     A,@DPTR
-003396 FE                MOV      R6,A
-003397 A3                INC      DPTR
-003398 E0                MOVX     A,@DPTR
-003399 FF                MOV      R7,A
-00339A C3                CLR      C
-00339B 904C96            MOV      DPTR,#m_adcCurrentValue+01H
-00339E E0                MOVX     A,@DPTR
-00339F 9F                SUBB     A,R7
-0033A0 904C95            MOV      DPTR,#m_adcCurrentValue
-0033A3 E0                MOVX     A,@DPTR
-0033A4 9E                SUBB     A,R6
-0033A5 5002              JNC      $ + 4H
-0033A7 A1A7              AJMP     ?C0011?ADC
-0033A9         ?C0010?ADC:
-   65: 		return;
-   66: 
-   67: 	g_variable.battery_value[g_variable.battery_value_index++] = m_adcCurrentValue;
-0033A9 904C95            MOV      DPTR,#m_adcCurrentValue
-0033AC E0                MOVX     A,@DPTR
-0033AD FE                MOV      R6,A
-0033AE A3                INC      DPTR
-0033AF E0                MOVX     A,@DPTR
-0033B0 FF                MOV      R7,A
-0033B1 904CD4            MOV      DPTR,#g_variable+015H
-0033B4 E0                MOVX     A,@DPTR
-0033B5 FD                MOV      R5,A
-0033B6 04                INC      A
-0033B7 F0                MOVX     @DPTR,A
-0033B8 ED                MOV      A,R5
-0033B9 25E0              ADD      A,ACC
-0033BB 24D6              ADD      A,#LOW g_variable+017H
-0033BD F582              MOV      DPL,A
-0033BF E4                CLR      A
-0033C0 344C              ADDC     A,#HIGH g_variable+017H
-0033C2 F583              MOV      DPH,A
-0033C4 EE                MOV      A,R6
-0033C5 F0                MOVX     @DPTR,A
-0033C6 A3                INC      DPTR
-0033C7 EF                MOV      A,R7
-0033C8 F0                MOVX     @DPTR,A
-   68: 	if (g_variable.battery_value_index >= BAT_ARRAY_LEN)
-0033C9 904CD4            MOV      DPTR,#g_variable+015H
-0033CC E0                MOVX     A,@DPTR
-0033CD C3                CLR      C
-0033CE 9404              SUBB     A,#04H
-0033D0 4002              JC       ?C0012?ADC
-   69: 		g_variable.battery_value_index = 0;
-0033D2 E4                CLR      A
-0033D3 F0                MOVX     @DPTR,A
-0033D4         ?C0012?ADC:
-   70: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
-0033D4 E4                CLR      A
-0033D5 904ECE            MOV      DPTR,#i
-0033D8 F0                MOVX     @DPTR,A
-0033D9         ?C0013?ADC:
-   71: 	{
-   72: 		batValue += g_variable.battery_value[i];
-0033D9 904ECF            MOV      DPTR,#batValue
-0033DC E0                MOVX     A,@DPTR
-0033DD F8                MOV      R0,A
-0033DE A3                INC      DPTR
-0033DF E0                MOVX     A,@DPTR
-0033E0 F9                MOV      R1,A
-0033E1 A3                INC      DPTR
-0033E2 E0                MOVX     A,@DPTR
-0033E3 FA                MOV      R2,A
-0033E4 A3                INC      DPTR
-0033E5 E0                MOVX     A,@DPTR
-0033E6 FB                MOV      R3,A
-0033E7 904ECE            MOV      DPTR,#i
-0033EA E0                MOVX     A,@DPTR
-0033EB 25E0              ADD      A,ACC
-0033ED 24D6              ADD      A,#LOW g_variable+017H
-0033EF F582              MOV      DPL,A
-0033F1 E4                CLR      A
-0033F2 344C              ADDC     A,#HIGH g_variable+017H
-0033F4 F583              MOV      DPH,A
-0033F6 E0                MOVX     A,@DPTR
-0033F7 FE                MOV      R6,A
-0033F8 A3                INC      DPTR
-0033F9 E0                MOVX     A,@DPTR
-0033FA FF                MOV      R7,A
-0033FB E4                CLR      A
-0033FC FC                MOV      R4,A
-0033FD FD                MOV      R5,A
-0033FE EB                MOV      A,R3
-0033FF 2F                ADD      A,R7
-003400 FF                MOV      R7,A
-003401 EA                MOV      A,R2
-003402 3E                ADDC     A,R6
-003403 FE                MOV      R6,A
-003404 ED                MOV      A,R5
-003405 39                ADDC     A,R1
-003406 FD                MOV      R5,A
-003407 EC                MOV      A,R4
-003408 38                ADDC     A,R0
-003409 FC                MOV      R4,A
-00340A 904ECF            MOV      DPTR,#batValue
-00340D 120576            LCALL    ?C?LSTXDATA
-   73: 	}
-003410 904ECE            MOV      DPTR,#i
-003413 E0                MOVX     A,@DPTR
-003414 04                INC      A
-003415 F0                MOVX     @DPTR,A
-003416 E0                MOVX     A,@DPTR
-003417 B404BF            CJNE     A,#04H,?C0013?ADC
-00341A         ?C0014?ADC:
-   74: 	batValue = batValue/BAT_ARRAY_LEN;
-00341A 904ECF            MOV      DPTR,#batValue
-00341D E0                MOVX     A,@DPTR
-00341E FC                MOV      R4,A
-00341F A3                INC      DPTR
-003420 E0                MOVX     A,@DPTR
-003421 FD                MOV      R5,A
-003422 A3                INC      DPTR
-003423 E0                MOVX     A,@DPTR
-003424 FE                MOV      R6,A
-003425 A3                INC      DPTR
-003426 E0                MOVX     A,@DPTR
-003427 FF                MOV      R7,A
-003428 E4                CLR      A
-003429 7B04              MOV      R3,#04H
-00342B FA                MOV      R2,A
-00342C F9                MOV      R1,A
-00342D F8                MOV      R0,A
-00342E 1204C5            LCALL    ?C?ULDIV
-003431 904ECF            MOV      DPTR,#batValue
-003434 120576            LCALL    ?C?LSTXDATA
-   75: 
-   76: 	if(batValue <= g_variable.battery_level_shutdown)
-003437 904CE0            MOV      DPTR,#g_variable+021H
-00343A E0                MOVX     A,@DPTR
-00343B FE                MOV      R6,A
-00343C A3                INC      DPTR
-00343D E0                MOVX     A,@DPTR
-00343E FF                MOV      R7,A
-00343F E4                CLR      A
-003440 FC                MOV      R4,A
-003441 FD                MOV      R5,A
-003442 904ECF            MOV      DPTR,#batValue
-003445 E0                MOVX     A,@DPTR
-003446 F8                MOV      R0,A
-003447 A3                INC      DPTR
-003448 E0                MOVX     A,@DPTR
-003449 F9                MOV      R1,A
-00344A A3                INC      DPTR
-00344B E0                MOVX     A,@DPTR
-00344C FA                MOV      R2,A
-00344D A3                INC      DPTR
-00344E E0                MOVX     A,@DPTR
-00344F FB                MOV      R3,A
-003450 D3                SETB     C
-003451 120565            LCALL    ?C?ULCMP
-003454 5007              JNC      ?C0016?ADC
-   77: 		g_variable.battery_level_percentage = 0;
-003456 E4                CLR      A
-003457 904CF9            MOV      DPTR,#g_variable+03AH
-00345A F0                MOVX     @DPTR,A
-00345B 81DF              AJMP     ?C0017?ADC
-00345D         ?C0016?ADC:
-   78: 	else	if(batValue >= g_variable.battery_level_full)
-00345D 904CFA            MOV      DPTR,#g_variable+03BH
-003460 E0                MOVX     A,@DPTR
-003461 FE                MOV      R6,A
-003462 A3                INC      DPTR
-003463 E0                MOVX     A,@DPTR
-003464 FF                MOV      R7,A
-003465 E4                CLR      A
-003466 FC                MOV      R4,A
-003467 FD                MOV      R5,A
-003468 904ECF            MOV      DPTR,#batValue
-00346B E0                MOVX     A,@DPTR
-00346C F8                MOV      R0,A
-00346D A3                INC      DPTR
-00346E E0                MOVX     A,@DPTR
-00346F F9                MOV      R1,A
-003470 A3                INC      DPTR
-003471 E0                MOVX     A,@DPTR
-003472 FA                MOV      R2,A
-003473 A3                INC      DPTR
-003474 E0                MOVX     A,@DPTR
-003475 FB                MOV      R3,A
-003476 C3                CLR      C
-003477 120565            LCALL    ?C?ULCMP
-00347A 4008              JC       ?C0018?ADC
-   79: 		g_variable.battery_level_percentage = 100;
-00347C 904CF9            MOV      DPTR,#g_variable+03AH
-00347F 7464              MOV      A,#064H
-003481 F0                MOVX     @DPTR,A
-003482 805B              SJMP     ?C0017?ADC
-003484         ?C0018?ADC:
-   80: 	else	
-   81: 		g_variable.battery_level_percentage = (byte)(((batValue - g_variable.battery_level_shutdown)*100)/(g_variable.b
->> attery_level_full -g_variable.battery_level_shutdown) );
-003484 904CE0            MOV      DPTR,#g_variable+021H
-003487 E0                MOVX     A,@DPTR
-003488 FE                MOV      R6,A
-003489 A3                INC      DPTR
-00348A E0                MOVX     A,@DPTR
-00348B FF                MOV      R7,A
-00348C FB                MOV      R3,A
-00348D AA06              MOV      R2,AR6
-00348F E4                CLR      A
-003490 904ECF            MOV      DPTR,#batValue
-003493 E0                MOVX     A,@DPTR
-003494 FC                MOV      R4,A
-003495 A3                INC      DPTR
-003496 E0                MOVX     A,@DPTR
-003497 FD                MOV      R5,A
-003498 A3                INC      DPTR
-003499 E0                MOVX     A,@DPTR
-00349A FE                MOV      R6,A
-00349B A3                INC      DPTR
-00349C E0                MOVX     A,@DPTR
-00349D C3                CLR      C
-00349E 9B                SUBB     A,R3
-00349F FF                MOV      R7,A
-0034A0 EE                MOV      A,R6
-0034A1 9A                SUBB     A,R2
-0034A2 FE                MOV      R6,A
-0034A3 ED                MOV      A,R5
-0034A4 9400              SUBB     A,#00H
-0034A6 FD                MOV      R5,A
-0034A7 EC                MOV      A,R4
-0034A8 9400              SUBB     A,#00H
-0034AA FC                MOV      R4,A
-0034AB E4                CLR      A
-0034AC 7B64              MOV      R3,#064H
-0034AE FA                MOV      R2,A
-0034AF F9                MOV      R1,A
-0034B0 F8                MOV      R0,A
-0034B1 12043A            LCALL    ?C?LMUL
-0034B4 C006              PUSH     AR6
-0034B6 C007              PUSH     AR7
-0034B8 904CE0            MOV      DPTR,#g_variable+021H
-0034BB E0                MOVX     A,@DPTR
-0034BC FE                MOV      R6,A
-0034BD A3                INC      DPTR
-0034BE E0                MOVX     A,@DPTR
-0034BF FF                MOV      R7,A
-0034C0 C3                CLR      C
-0034C1 904CFB            MOV      DPTR,#g_variable+03CH
-0034C4 E0                MOVX     A,@DPTR
-0034C5 9F                SUBB     A,R7
-0034C6 FF                MOV      R7,A
-0034C7 904CFA            MOV      DPTR,#g_variable+03BH
-0034CA E0                MOVX     A,@DPTR
-0034CB 9E                SUBB     A,R6
-0034CC FE                MOV      R6,A
-0034CD AB07              MOV      R3,AR7
-0034CF FA                MOV      R2,A
-0034D0 E4                CLR      A
-0034D1 F9                MOV      R1,A
-0034D2 F8                MOV      R0,A
-0034D3 D007              POP      AR7
-0034D5 D006              POP      AR6
-0034D7 1204C5            LCALL    ?C?ULDIV
-0034DA 904CF9            MOV      DPTR,#g_variable+03AH
-0034DD EF                MOV      A,R7
-0034DE F0                MOVX     @DPTR,A
-0034DF         ?C0017?ADC:
-   82: 	
-   83: 	if(batValue < g_variable.battery_level_shutdown)
-0034DF 904CE0            MOV      DPTR,#g_variable+021H
-0034E2 E0                MOVX     A,@DPTR
-0034E3 FE                MOV      R6,A
-0034E4 A3                INC      DPTR
-0034E5 E0                MOVX     A,@DPTR
-0034E6 FF                MOV      R7,A
-0034E7 E4                CLR      A
-0034E8 FC                MOV      R4,A
-0034E9 FD                MOV      R5,A
-0034EA 904ECF            MOV      DPTR,#batValue
-0034ED E0                MOVX     A,@DPTR
-0034EE F8                MOV      R0,A
-0034EF A3                INC      DPTR
-0034F0 E0                MOVX     A,@DPTR
-0034F1 F9                MOV      R1,A
-0034F2 A3                INC      DPTR
-0034F3 E0                MOVX     A,@DPTR
-0034F4 FA                MOV      R2,A
-0034F5 A3                INC      DPTR
-0034F6 E0                MOVX     A,@DPTR
-0034F7 FB                MOV      R3,A
-0034F8 C3                CLR      C
-0034F9 120565            LCALL    ?C?ULCMP
-0034FC 5027              JNC      ?C0020?ADC
-   84: 	{
-   85: 		g_variable.battery_status = BAT_STATUS_SHUT_DOWN;
-0034FE 904CD5            MOV      DPTR,#g_variable+016H
-003501 7402              MOV      A,#02H
-003503 F0                MOVX     @DPTR,A
-   86: 		if(g_variable.last_battery_status != BAT_STATUS_SHUT_DOWN)
-003504 904D00            MOV      DPTR,#g_variable+041H
-003507 E0                MOVX     A,@DPTR
-003508 6402              XRL      A,#02H
-00350A 7002              JNZ      $ + 4H
-00350C A19F              AJMP     ?C0022?ADC
-   87: 		{
-   88: 			g_variable.battery_shutdown_flag = 1;
-00350E 904CFF            MOV      DPTR,#g_variable+040H
-003511 7401              MOV      A,#01H
-003513 F0                MOVX     @DPTR,A
-   89: 			IIC_WriteBlock(EEPROM_BATTERY_SHUTDOWN_FLAG ,1 ,(byte *)&g_variable.battery_shutdown_flag);
-003514 FB                MOV      R3,A
-003515 7A4C              MOV      R2,#HIGH g_variable+040H
-003517 79FF              MOV      R1,#LOW g_variable+040H
-003519 FD                MOV      R5,A
-00351A 7C00              MOV      R4,#00H
-00351C 7FC0              MOV      R7,#0C0H
-00351E 7E7F              MOV      R6,#07FH
-003520 121A94            LCALL    _IIC_WriteBlock
-   90: 		}
-   91: 	}
-003523 807A              SJMP     ?C0022?ADC
-003525         ?C0020?ADC:
-   92: 	else
-   93: 	{
-   94: 		if((g_variable.last_battery_status == BAT_STATUS_SHUT_DOWN) ||(g_variable.battery_shutdown_flag == 1))
-003525 904D00            MOV      DPTR,#g_variable+041H
-003528 E0                MOVX     A,@DPTR
-003529 6402              XRL      A,#02H
-00352B 6007              JZ       ?C0024?ADC
-00352D 904CFF            MOV      DPTR,#g_variable+040H
-003530 E0                MOVX     A,@DPTR
-003531 B40115            CJNE     A,#01H,?C0023?ADC
-003534         ?C0024?ADC:
-   95: 		{
-   96: 			g_variable.battery_shutdown_flag = 0;
-003534 E4                CLR      A
-003535 904CFF            MOV      DPTR,#g_variable+040H
-003538 F0                MOVX     @DPTR,A
-   97: 			IIC_WriteBlock(EEPROM_BATTERY_SHUTDOWN_FLAG ,1 ,(byte *)&g_variable.battery_shutdown_flag);
-003539 7B01              MOV      R3,#01H
-00353B 7A4C              MOV      R2,#HIGH g_variable+040H
-00353D 79FF              MOV      R1,#LOW g_variable+040H
-00353F 7D01              MOV      R5,#01H
-003541 FC                MOV      R4,A
-003542 7FC0              MOV      R7,#0C0H
-003544 7E7F              MOV      R6,#07FH
-003546 121A94            LCALL    _IIC_WriteBlock
-   98: 		}
-003549         ?C0023?ADC:
-   99: 		
-  100: 		if (batValue < g_variable.battery_level_low)
-003549 904CDE            MOV      DPTR,#g_variable+01FH
-00354C E0                MOVX     A,@DPTR
-00354D FE                MOV      R6,A
-00354E A3                INC      DPTR
-00354F E0                MOVX     A,@DPTR
-003550 FF                MOV      R7,A
-003551 E4                CLR      A
-003552 FC                MOV      R4,A
-003553 FD                MOV      R5,A
-003554 904ECF            MOV      DPTR,#batValue
-003557 E0                MOVX     A,@DPTR
-003558 F8                MOV      R0,A
-003559 A3                INC      DPTR
-00355A E0                MOVX     A,@DPTR
-00355B F9                MOV      R1,A
-00355C A3                INC      DPTR
-00355D E0                MOVX     A,@DPTR
-00355E FA                MOV      R2,A
-00355F A3                INC      DPTR
-003560 E0                MOVX     A,@DPTR
-003561 FB                MOV      R3,A
-003562 C3                CLR      C
-003563 120565            LCALL    ?C?ULCMP
-003566 501D              JNC      ?C0025?ADC
-  101: 		{
-  102: 			g_variable.battery_status = BAT_STATUS_LOW;
-003568 904CD5            MOV      DPTR,#g_variable+016H
-00356B 7401              MOV      A,#01H
-00356D F0                MOVX     @DPTR,A
-  103: 			if(!g_variable.g24_long_sleep_flag)
-00356E 904D01            MOV      DPTR,#g_variable+042H
-003571 E0                MOVX     A,@DPTR
-003572 702B              JNZ      ?C0022?ADC
-  104: 			{
-  105: 			m_24g_enter_hibernate[0]	= 0x00;
-003574 904D40            MOV      DPTR,#m_24g_enter_hibernate
-003577 F0                MOVX     @DPTR,A
-  106: 			m_24g_enter_hibernate[1]	= 0x48;
-003578 A3                INC      DPTR
-003579 7448              MOV      A,#048H
-00357B F0                MOVX     @DPTR,A
-  107: 			m_24g_enter_hibernate[2]	= 0x12;		// 100ms
-00357C A3                INC      DPTR
-00357D 7412              MOV      A,#012H
-00357F F0                MOVX     @DPTR,A
-  108: 			m_24g_enter_hibernate[3]	= 0x00;
-003580 E4                CLR      A
-003581 A3                INC      DPTR
-003582 F0                MOVX     @DPTR,A
-  109: 			}
-  110: 		}
-003583 801A              SJMP     ?C0022?ADC
-003585         ?C0025?ADC:
-  111: 		else
-  112: 		{
-  113: 			g_variable.battery_status = BAT_STATUS_NONE;
-003585 E4                CLR      A
-003586 904CD5            MOV      DPTR,#g_variable+016H
-003589 F0                MOVX     @DPTR,A
-  114: 			if(!g_variable.g24_long_sleep_flag)
-00358A 904D01            MOV      DPTR,#g_variable+042H
-00358D E0                MOVX     A,@DPTR
-00358E 700F              JNZ      ?C0022?ADC
-  115: 			{
-  116: 			m_24g_enter_hibernate[0]	= 0x00;
-003590 904D40            MOV      DPTR,#m_24g_enter_hibernate
-003593 F0                MOVX     @DPTR,A
-  117: 			m_24g_enter_hibernate[1]	= 0x48;
-003594 A3                INC      DPTR
-003595 7448              MOV      A,#048H
-003597 F0                MOVX     @DPTR,A
-  118: 			m_24g_enter_hibernate[2]   = 0x5d;		// 510ms
-003598 A3                INC      DPTR
-003599 745D              MOV      A,#05DH
-00359B F0                MOVX     @DPTR,A
-  119: 			m_24g_enter_hibernate[3]	= 0x00;
-00359C E4                CLR      A
-00359D A3                INC      DPTR
-00359E F0                MOVX     @DPTR,A
-  120: 			}
-  121: 		}
+  118: 	byte temp = p[1];
+0035BC 900001            MOV      DPTR,#01H
+0035BF 1203CF            LCALL    ?C?CLDOPTR
+0035C2 904F03            MOV      DPTR,#temp
+0035C5 F0                MOVX     @DPTR,A
+  119: 
+  120: 	if (len<2) {
+  121: 		return;
   122: 	}
-00359F         ?C0022?ADC:
-  123: 
-  124: 	g_variable.last_battery_status = g_variable.battery_status;
-00359F 904CD5            MOV      DPTR,#g_variable+016H
-0035A2 E0                MOVX     A,@DPTR
-0035A3 904D00            MOV      DPTR,#g_variable+041H
-0035A6 F0                MOVX     @DPTR,A
-  125: #endif	
-  126: }
-0035A7         ?C0011?ADC:
-0035A7 22                RET      
------ FUNCTION YC_adc_check (END) -------
-
-
------ FUNCTION _bufsize (BEGIN) -----
-0035A8 904EDC            MOV      DPTR,#rptr
-0035AB EE                MOV      A,R6
-0035AC F0                MOVX     @DPTR,A
-0035AD A3                INC      DPTR
-0035AE EF                MOV      A,R7
-0035AF F0                MOVX     @DPTR,A
-0035B0 904EDE            MOV      DPTR,#wptr
-0035B3 EC                MOV      A,R4
-0035B4 F0                MOVX     @DPTR,A
-0035B5 A3                INC      DPTR
-0035B6 ED                MOV      A,R5
-0035B7 F0                MOVX     @DPTR,A
-;---- Variable 'buflen' assigned to Register 'R3' ----
-0035B8 904EDE            MOV      DPTR,#wptr
-0035BB E0                MOVX     A,@DPTR
-0035BC FE                MOV      R6,A
-0035BD A3                INC      DPTR
-0035BE E0                MOVX     A,@DPTR
-0035BF FF                MOV      R7,A
-0035C0 D3                SETB     C
-0035C1 904EDD            MOV      DPTR,#rptr+01H
-0035C4 E0                MOVX     A,@DPTR
-0035C5 9F                SUBB     A,R7
-0035C6 904EDC            MOV      DPTR,#rptr
-0035C9 E0                MOVX     A,@DPTR
-0035CA 9E                SUBB     A,R6
-0035CB 4016              JC       ?C0001?IPC
-0035CD 904EDE            MOV      DPTR,#wptr
-0035D0 E0                MOVX     A,@DPTR
-0035D1 FE                MOV      R6,A
-0035D2 A3                INC      DPTR
-0035D3 E0                MOVX     A,@DPTR
-0035D4 FF                MOV      R7,A
-0035D5 904EDD            MOV      DPTR,#rptr+01H
-0035D8 E0                MOVX     A,@DPTR
-0035D9 9F                SUBB     A,R7
-0035DA FF                MOV      R7,A
-0035DB 904EDC            MOV      DPTR,#rptr
-0035DE E0                MOVX     A,@DPTR
-0035DF 9E                SUBB     A,R6
-0035E0 FE                MOV      R6,A
-0035E1 801E              SJMP     ?C0002?IPC
-0035E3         ?C0001?IPC:
-0035E3 904EDC            MOV      DPTR,#rptr
-0035E6 E0                MOVX     A,@DPTR
-0035E7 FE                MOV      R6,A
-0035E8 A3                INC      DPTR
-0035E9 E0                MOVX     A,@DPTR
-0035EA FF                MOV      R7,A
-0035EB C3                CLR      C
-0035EC 904EDF            MOV      DPTR,#wptr+01H
-0035EF E0                MOVX     A,@DPTR
-0035F0 9F                SUBB     A,R7
-0035F1 FF                MOV      R7,A
-0035F2 904EDE            MOV      DPTR,#wptr
-0035F5 E0                MOVX     A,@DPTR
-0035F6 9E                SUBB     A,R6
-0035F7 FE                MOV      R6,A
-0035F8 AD03              MOV      R5,AR3
-0035FA C3                CLR      C
-0035FB EB                MOV      A,R3
-0035FC 9F                SUBB     A,R7
-0035FD FF                MOV      R7,A
-0035FE E4                CLR      A
-0035FF 9E                SUBB     A,R6
-003600 FE                MOV      R6,A
-003601         ?C0002?IPC:
-003601 22                RET      
------ FUNCTION _bufsize (END) -------
-
-
------ FUNCTION _ipcRx (BEGIN) -----
-003602 904F03            MOV      DPTR,#dest
-003605 EE                MOV      A,R6
-003606 F0                MOVX     @DPTR,A
-003607 A3                INC      DPTR
-003608 EF                MOV      A,R7
-003609 F0                MOVX     @DPTR,A
-;---- Variable 'len' assigned to Register 'R1' ----
-00360A A905              MOV      R1,AR5
-00360C 904B9E            MOV      DPTR,#ipcRxReadPtr
-00360F E0                MOVX     A,@DPTR
-003610 FE                MOV      R6,A
-003611 A3                INC      DPTR
-003612 E0                MOVX     A,@DPTR
-003613 FF                MOV      R7,A
-;---- Variable 'src' assigned to Register 'R6/R7' ----
-003614         ?C0004?IPC:
-003614 AD01              MOV      R5,AR1
-003616 19                DEC      R1
-003617 ED                MOV      A,R5
-003618 602F              JZ       ?C0005?IPC
-00361A 0F                INC      R7
-00361B EF                MOV      A,R7
-00361C AC06              MOV      R4,AR6
-00361E 7001              JNZ      ?C0046?IPC
-003620 0E                INC      R6
-003621         ?C0046?IPC:
-003621 14                DEC      A
-003622 F582              MOV      DPL,A
-003624 8C83              MOV      DPH,R4
-003626 E0                MOVX     A,@DPTR
-003627 FD                MOV      R5,A
-003628 904F03            MOV      DPTR,#dest
-00362B E4                CLR      A
-00362C 75F001            MOV      B,#01H
-00362F 120424            LCALL    ?C?ILDIX
-003632 85F082            MOV      DPL,B
-003635 F583              MOV      DPH,A
-003637 ED                MOV      A,R5
-003638 F0                MOVX     @DPTR,A
-003639 AD07              MOV      R5,AR7
-00363B AC06              MOV      R4,AR6
-00363D BC4BD4            CJNE     R4,#04BH,?C0004?IPC
-003640 BD9AD1            CJNE     R5,#09AH,?C0004?IPC
-003643 7E4B              MOV      R6,#04BH
-003645 7F36              MOV      R7,#036H
-003647 80CB              SJMP     ?C0004?IPC
-003649         ?C0005?IPC:
-003649 904B9E            MOV      DPTR,#ipcRxReadPtr
-00364C EE                MOV      A,R6
-00364D F0                MOVX     @DPTR,A
-00364E A3                INC      DPTR
-00364F EF                MOV      A,R7
-003650 F0                MOVX     @DPTR,A
-003651 22                RET      
------ FUNCTION _ipcRx (END) -------
-
-
------ FUNCTION IPC_DealSingleStep (BEGIN) -----
-003652 7A0C              MOV      R2,#HIGH ipcReadBuff
-003654 794B              MOV      R1,#LOW ipcReadBuff
-003656 904EF3            MOV      DPTR,#pbuff
-003659 7401              MOV      A,#01H
-00365B F0                MOVX     @DPTR,A
-00365C A3                INC      DPTR
-00365D 740C              MOV      A,#HIGH ipcReadBuff
-00365F F0                MOVX     @DPTR,A
-003660 A3                INC      DPTR
-003661 744B              MOV      A,#LOW ipcReadBuff
-003663 F0                MOVX     @DPTR,A
-003664 904BA0            MOV      DPTR,#ipcRxWritePtr
-003667 E0                MOVX     A,@DPTR
-003668 FE                MOV      R6,A
-003669 A3                INC      DPTR
-00366A E0                MOVX     A,@DPTR
-00366B FF                MOV      R7,A
-00366C 904B9E            MOV      DPTR,#ipcRxReadPtr
-00366F E0                MOVX     A,@DPTR
-003670 6E                XRL      A,R6
-003671 7003              JNZ      ?C0048?IPC
-003673 A3                INC      DPTR
-003674 E0                MOVX     A,@DPTR
-003675 6F                XRL      A,R7
-003676         ?C0048?IPC:
-003676 7003              JNZ      $ + 5H
-003678 023804            LJMP     ?C0039?IPC
-00367B         ?C0027?IPC:
-00367B 7E0C              MOV      R6,#HIGH ipcReadBuff
-00367D 7F4B              MOV      R7,#LOW ipcReadBuff
-00367F 7D03              MOV      R5,#03H
-003681 D102              ACALL    _ipcRx
-003683 904EF3            MOV      DPTR,#pbuff
-003686 E0                MOVX     A,@DPTR
-003687 FB                MOV      R3,A
-003688 A3                INC      DPTR
-003689 E0                MOVX     A,@DPTR
-00368A FA                MOV      R2,A
-00368B A3                INC      DPTR
-00368C E0                MOVX     A,@DPTR
-00368D F9                MOV      R1,A
-00368E 1203B6            LCALL    ?C?CLDPTR
-003691 B4022C            CJNE     A,#02H,?C0029?IPC
-003694 904EF4            MOV      DPTR,#pbuff+01H
-003697 E4                CLR      A
-003698 75F002            MOV      B,#02H
-00369B 12040E            LCALL    ?C?IILDX
-00369E 904EF3            MOV      DPTR,#pbuff
-0036A1 E0                MOVX     A,@DPTR
-0036A2 FB                MOV      R3,A
-0036A3 A3                INC      DPTR
-0036A4 E0                MOVX     A,@DPTR
-0036A5 FA                MOV      R2,A
-0036A6 A3                INC      DPTR
-0036A7 E0                MOVX     A,@DPTR
-0036A8 F9                MOV      R1,A
-0036A9 1203B6            LCALL    ?C?CLDPTR
-0036AC FF                MOV      R7,A
-0036AD 904E6C            MOV      DPTR,#ipcCb
-0036B0 E0                MOVX     A,@DPTR
-0036B1 A3                INC      DPTR
-0036B2 E0                MOVX     A,@DPTR
-0036B3 FA                MOV      R2,A
-0036B4 A3                INC      DPTR
-0036B5 E0                MOVX     A,@DPTR
-0036B6 F582              MOV      DPL,A
-0036B8 8A83              MOV      DPH,R2
-0036BA 1205DD            LCALL    ?C?ICALL2
-0036BD 023804            LJMP     ?C0039?IPC
-0036C0         ?C0029?IPC:
-0036C0 904EF3            MOV      DPTR,#pbuff
-0036C3 E0                MOVX     A,@DPTR
-0036C4 FB                MOV      R3,A
-0036C5 A3                INC      DPTR
-0036C6 E0                MOVX     A,@DPTR
-0036C7 FA                MOV      R2,A
-0036C8 A3                INC      DPTR
-0036C9 E0                MOVX     A,@DPTR
-0036CA F9                MOV      R1,A
-0036CB 1203B6            LCALL    ?C?CLDPTR
-0036CE 6404              XRL      A,#04H
-0036D0 705A              JNZ      ?C0031?IPC
-0036D2 904EF4            MOV      DPTR,#pbuff+01H
-0036D5 75F001            MOV      B,#01H
-0036D8 12040E            LCALL    ?C?IILDX
-0036DB 7E0C              MOV      R6,#HIGH ipcReadBuff+03H
-0036DD 7F4E              MOV      R7,#LOW ipcReadBuff+03H
-0036DF 904EF3            MOV      DPTR,#pbuff
-0036E2 E0                MOVX     A,@DPTR
-0036E3 FB                MOV      R3,A
-0036E4 A3                INC      DPTR
-0036E5 E0                MOVX     A,@DPTR
-0036E6 FA                MOV      R2,A
-0036E7 A3                INC      DPTR
-0036E8 E0                MOVX     A,@DPTR
-0036E9 F9                MOV      R1,A
-0036EA 1203B6            LCALL    ?C?CLDPTR
-0036ED 14                DEC      A
-0036EE FD                MOV      R5,A
-0036EF D102              ACALL    _ipcRx
-0036F1 904EF3            MOV      DPTR,#pbuff
-0036F4 E0                MOVX     A,@DPTR
-0036F5 FB                MOV      R3,A
-0036F6 A3                INC      DPTR
-0036F7 E0                MOVX     A,@DPTR
-0036F8 FA                MOV      R2,A
-0036F9 A3                INC      DPTR
-0036FA E0                MOVX     A,@DPTR
-0036FB 2401              ADD      A,#01H
-0036FD F9                MOV      R1,A
-0036FE E4                CLR      A
-0036FF 3A                ADDC     A,R2
-003700 FA                MOV      R2,A
-003701 C002              PUSH     AR2
-003703 C001              PUSH     AR1
-003705 904EF3            MOV      DPTR,#pbuff
-003708 E0                MOVX     A,@DPTR
-003709 A3                INC      DPTR
-00370A E0                MOVX     A,@DPTR
-00370B FA                MOV      R2,A
-00370C A3                INC      DPTR
-00370D E0                MOVX     A,@DPTR
-00370E F9                MOV      R1,A
-00370F 1203B6            LCALL    ?C?CLDPTR
-003712 FD                MOV      R5,A
-003713 7C00              MOV      R4,#00H
-003715 904E6F            MOV      DPTR,#ipcCb+03H
-003718 E0                MOVX     A,@DPTR
-003719 A3                INC      DPTR
-00371A E0                MOVX     A,@DPTR
-00371B FA                MOV      R2,A
-00371C A3                INC      DPTR
-00371D E0                MOVX     A,@DPTR
-00371E F582              MOV      DPL,A
-003720 8A83              MOV      DPH,R2
-003722 D001              POP      AR1
-003724 D002              POP      AR2
-003726 1205DD            LCALL    ?C?ICALL2
-003729 023804            LJMP     ?C0039?IPC
-00372C         ?C0031?IPC:
-00372C 904EF3            MOV      DPTR,#pbuff
-00372F E0                MOVX     A,@DPTR
-003730 FB                MOV      R3,A
-003731 A3                INC      DPTR
-003732 E0                MOVX     A,@DPTR
-003733 FA                MOV      R2,A
-003734 A3                INC      DPTR
-003735 E0                MOVX     A,@DPTR
-003736 F9                MOV      R1,A
-003737 1203B6            LCALL    ?C?CLDPTR
-00373A 6405              XRL      A,#05H
-00373C 7059              JNZ      ?C0033?IPC
-00373E 904EF4            MOV      DPTR,#pbuff+01H
-003741 75F001            MOV      B,#01H
-003744 12040E            LCALL    ?C?IILDX
-003747 7E0C              MOV      R6,#HIGH ipcReadBuff+03H
-003749 7F4E              MOV      R7,#LOW ipcReadBuff+03H
-00374B 904EF3            MOV      DPTR,#pbuff
-00374E E0                MOVX     A,@DPTR
-00374F FB                MOV      R3,A
-003750 A3                INC      DPTR
-003751 E0                MOVX     A,@DPTR
-003752 FA                MOV      R2,A
-003753 A3                INC      DPTR
-003754 E0                MOVX     A,@DPTR
-003755 F9                MOV      R1,A
-003756 1203B6            LCALL    ?C?CLDPTR
-003759 14                DEC      A
-00375A FD                MOV      R5,A
-00375B D102              ACALL    _ipcRx
-00375D 904EF3            MOV      DPTR,#pbuff
-003760 E0                MOVX     A,@DPTR
-003761 FB                MOV      R3,A
-003762 A3                INC      DPTR
-003763 E0                MOVX     A,@DPTR
-003764 FA                MOV      R2,A
-003765 A3                INC      DPTR
-003766 E0                MOVX     A,@DPTR
-003767 2401              ADD      A,#01H
-003769 F9                MOV      R1,A
-00376A E4                CLR      A
-00376B 3A                ADDC     A,R2
-00376C FA                MOV      R2,A
-00376D C002              PUSH     AR2
-00376F C001              PUSH     AR1
-003771 904EF3            MOV      DPTR,#pbuff
-003774 E0                MOVX     A,@DPTR
-003775 A3                INC      DPTR
-003776 E0                MOVX     A,@DPTR
-003777 FA                MOV      R2,A
-003778 A3                INC      DPTR
-003779 E0                MOVX     A,@DPTR
-00377A F9                MOV      R1,A
-00377B 1203B6            LCALL    ?C?CLDPTR
-00377E FD                MOV      R5,A
-00377F 7C00              MOV      R4,#00H
-003781 904E78            MOV      DPTR,#ipcCb+0CH
-003784 E0                MOVX     A,@DPTR
-003785 A3                INC      DPTR
-003786 E0                MOVX     A,@DPTR
-003787 FA                MOV      R2,A
-003788 A3                INC      DPTR
-003789 E0                MOVX     A,@DPTR
-00378A F582              MOV      DPL,A
-00378C 8A83              MOV      DPH,R2
-00378E D001              POP      AR1
-003790 D002              POP      AR2
-003792 1205DD            LCALL    ?C?ICALL2
-003795 806D              SJMP     ?C0039?IPC
-003797         ?C0033?IPC:
-003797 904EF3            MOV      DPTR,#pbuff
-00379A E0                MOVX     A,@DPTR
-00379B FB                MOV      R3,A
-00379C A3                INC      DPTR
-00379D E0                MOVX     A,@DPTR
-00379E FA                MOV      R2,A
-00379F A3                INC      DPTR
-0037A0 E0                MOVX     A,@DPTR
-0037A1 F9                MOV      R1,A
-0037A2 1203B6            LCALL    ?C?CLDPTR
-0037A5 6403              XRL      A,#03H
-0037A7 7059              JNZ      ?C0037?IPC
-0037A9 904EF4            MOV      DPTR,#pbuff+01H
-0037AC 75F001            MOV      B,#01H
-0037AF 12040E            LCALL    ?C?IILDX
-0037B2 7E0C              MOV      R6,#HIGH ipcReadBuff+03H
-0037B4 7F4E              MOV      R7,#LOW ipcReadBuff+03H
-0037B6 904EF3            MOV      DPTR,#pbuff
-0037B9 E0                MOVX     A,@DPTR
-0037BA FB                MOV      R3,A
-0037BB A3                INC      DPTR
-0037BC E0                MOVX     A,@DPTR
-0037BD FA                MOV      R2,A
-0037BE A3                INC      DPTR
-0037BF E0                MOVX     A,@DPTR
-0037C0 F9                MOV      R1,A
-0037C1 1203B6            LCALL    ?C?CLDPTR
-0037C4 14                DEC      A
-0037C5 FD                MOV      R5,A
-0037C6 D102              ACALL    _ipcRx
-0037C8 904EF3            MOV      DPTR,#pbuff
-0037CB E0                MOVX     A,@DPTR
-0037CC FB                MOV      R3,A
-0037CD A3                INC      DPTR
-0037CE E0                MOVX     A,@DPTR
-0037CF FA                MOV      R2,A
-0037D0 A3                INC      DPTR
-0037D1 E0                MOVX     A,@DPTR
-0037D2 2401              ADD      A,#01H
-0037D4 F9                MOV      R1,A
-0037D5 E4                CLR      A
-0037D6 3A                ADDC     A,R2
-0037D7 FA                MOV      R2,A
-0037D8 C002              PUSH     AR2
-0037DA C001              PUSH     AR1
-0037DC 904EF3            MOV      DPTR,#pbuff
-0037DF E0                MOVX     A,@DPTR
-0037E0 A3                INC      DPTR
-0037E1 E0                MOVX     A,@DPTR
-0037E2 FA                MOV      R2,A
-0037E3 A3                INC      DPTR
-0037E4 E0                MOVX     A,@DPTR
-0037E5 F9                MOV      R1,A
-0037E6 1203B6            LCALL    ?C?CLDPTR
-0037E9 FD                MOV      R5,A
-0037EA 7C00              MOV      R4,#00H
-0037EC 904E7B            MOV      DPTR,#ipcCb+0FH
-0037EF E0                MOVX     A,@DPTR
-0037F0 A3                INC      DPTR
-0037F1 E0                MOVX     A,@DPTR
-0037F2 FA                MOV      R2,A
-0037F3 A3                INC      DPTR
-0037F4 E0                MOVX     A,@DPTR
-0037F5 F582              MOV      DPL,A
-0037F7 8A83              MOV      DPH,R2
-0037F9 D001              POP      AR1
-0037FB D002              POP      AR2
-0037FD 1205DD            LCALL    ?C?ICALL2
-003800 8002              SJMP     ?C0039?IPC
-003802         ?C0037?IPC:
-003802 80FE              SJMP     ?C0037?IPC
-003804         IPC_TIMER:
-003804         ?C0039?IPC:
-003804 904BA5            MOV      DPTR,#bttimer
-003807 E0                MOVX     A,@DPTR
-003808 FE                MOV      R6,A
-003809 A3                INC      DPTR
-00380A E0                MOVX     A,@DPTR
-00380B FF                MOV      R7,A
-00380C 904C5E            MOV      DPTR,#c51timer
-00380F E0                MOVX     A,@DPTR
-003810 6E                XRL      A,R6
-003811 7003              JNZ      ?C0049?IPC
-003813 A3                INC      DPTR
-003814 E0                MOVX     A,@DPTR
-003815 6F                XRL      A,R7
-003816         ?C0049?IPC:
-003816 6022              JZ       ?C0043?IPC
-003818 904E72            MOV      DPTR,#ipcCb+06H
-00381B E0                MOVX     A,@DPTR
-00381C FB                MOV      R3,A
-00381D A3                INC      DPTR
-00381E E0                MOVX     A,@DPTR
-00381F FA                MOV      R2,A
-003820 A3                INC      DPTR
-003821 E0                MOVX     A,@DPTR
-003822 F9                MOV      R1,A
-003823 4A                ORL      A,R2
-003824 6037              JZ       ?C0042?IPC
-003826         ?C0041?IPC:
-003826 1205D9            LCALL    ?C?ICALL
-003829 904BA5            MOV      DPTR,#bttimer
-00382C E0                MOVX     A,@DPTR
-00382D FF                MOV      R7,A
-00382E A3                INC      DPTR
-00382F E0                MOVX     A,@DPTR
-003830 904C5E            MOV      DPTR,#c51timer
-003833 CF                XCH      A,R7
-003834 F0                MOVX     @DPTR,A
-003835 A3                INC      DPTR
-003836 EF                MOV      A,R7
-003837 F0                MOVX     @DPTR,A
-003838 80CA              SJMP     ?C0039?IPC
-00383A         ?C0043?IPC:
-00383A 904C8D            MOV      DPTR,#btstimer
-00383D E0                MOVX     A,@DPTR
-00383E FF                MOV      R7,A
-00383F A3                INC      DPTR
-003840 E0                MOVX     A,@DPTR
-003841 6F                XRL      A,R7
-003842 6019              JZ       ?C0042?IPC
-003844 904E75            MOV      DPTR,#ipcCb+09H
-003847 E0                MOVX     A,@DPTR
-003848 FB                MOV      R3,A
-003849 A3                INC      DPTR
-00384A E0                MOVX     A,@DPTR
-00384B FA                MOV      R2,A
-00384C A3                INC      DPTR
-00384D E0                MOVX     A,@DPTR
-00384E F9                MOV      R1,A
-00384F 4A                ORL      A,R2
-003850 600B              JZ       ?C0042?IPC
-003852         ?C0045?IPC:
-003852 1205D9            LCALL    ?C?ICALL
-003855 904C8D            MOV      DPTR,#btstimer
-003858 E0                MOVX     A,@DPTR
-003859 A3                INC      DPTR
-00385A F0                MOVX     @DPTR,A
-00385B 80DD              SJMP     ?C0043?IPC
-00385D         ?C0042?IPC:
-00385D 22                RET      
------ FUNCTION IPC_DealSingleStep (END) -------
+  123: }
+0035C6 22                RET      
+----- FUNCTION _kb_cb_Hid (END) -------
 
 
 ----- FUNCTION _IPC_TxBREDRHidData (BEGIN) -----
+ FILE: 'ipc.c'
+   90: void IPC_TxBREDRHidData(byte * dt, byte len)
+   91: {
 ;---- Variable 'len' assigned to Register 'R5' ----
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-00385E 900BE7            MOV      DPTR,#ipcSendBuff
-003861 7403              MOV      A,#03H
-003863 F0                MOVX     @DPTR,A
-003864 ED                MOV      A,R5
-003865 6003              JZ       ?C0017?IPC
-003867         ?C0016?IPC:
-003867 120FF4            LCALL    _IPC_TxData
-00386A         ?C0017?IPC:
-00386A 22                RET      
+   92: 	ipcSendBuff[0] = IPC_HID_DATA;
+   93: 	if (len == 0) return;
+0035C7 900BE7            MOV      DPTR,#ipcSendBuff
+0035CA 7403              MOV      A,#03H
+0035CC F0                MOVX     @DPTR,A
+   94: 	IPC_TxData(dt, len);
+0035CD ED                MOV      A,R5
+0035CE 6003              JZ       ?C0017?IPC
+0035D0         ?C0016?IPC:
+   95: }
+0035D0 120FB3            LCALL    _IPC_TxData
+   96: 
+0035D3         ?C0017?IPC:
+0035D3 22                RET      
 ----- FUNCTION _IPC_TxBREDRHidData (END) -------
 
 
+----- FUNCTION _IPC_Tx24GData (BEGIN) -----
+ FILE: 'ipc.c'
+   97: void IPC_Tx24GData(byte * dt, byte len)
+   98: {
+;---- Variable 'len' assigned to Register 'R5' ----
+;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
+   99: 	ipcSendBuff[0] = IPC_24G_DATA;
+  100: 	IPC_TxData(dt, len);
+0035D4 900BE7            MOV      DPTR,#ipcSendBuff
+0035D7 7406              MOV      A,#06H
+0035D9 F0                MOVX     @DPTR,A
+  101: }
+0035DA 020FB3            LJMP     _IPC_TxData
+----- FUNCTION _IPC_Tx24GData (END) -------
+
+
 ----- FUNCTION _IPC_TxSppData (BEGIN) -----
+ FILE: 'ipc.c'
+  103: void IPC_TxSppData(byte* dt, byte len)
+  104: {
 ;---- Variable 'len' assigned to Register 'R5' ----
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-00386B 900BE7            MOV      DPTR,#ipcSendBuff
-00386E 7404              MOV      A,#04H
-003870 F0                MOVX     @DPTR,A
-003871 020FF4            LJMP     _IPC_TxData
+  105: 	ipcSendBuff[0] = IPC_SPP_DATA;
+  106: 	IPC_TxData(dt, len);
+0035DD 900BE7            MOV      DPTR,#ipcSendBuff
+0035E0 7404              MOV      A,#04H
+0035E2 F0                MOVX     @DPTR,A
+  107: }
+0035E3 020FB3            LJMP     _IPC_TxData
 ----- FUNCTION _IPC_TxSppData (END) -------
 
 
 ----- FUNCTION _IPC_TxBleData (BEGIN) -----
+ FILE: 'ipc.c'
+  109: void IPC_TxBleData(byte* dt, byte len)
+  110: {
 ;---- Variable 'len' assigned to Register 'R5' ----
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-003874 900BE7            MOV      DPTR,#ipcSendBuff
-003877 7405              MOV      A,#05H
-003879 F0                MOVX     @DPTR,A
-00387A 020FF4            LJMP     _IPC_TxData
+  111: 	ipcSendBuff[0] = IPC_BLE_DATA;
+  112: 	IPC_TxData(dt, len);
+0035E6 900BE7            MOV      DPTR,#ipcSendBuff
+0035E9 7405              MOV      A,#05H
+0035EB F0                MOVX     @DPTR,A
+  113: }
+0035EC 020FB3            LJMP     _IPC_TxData
 ----- FUNCTION _IPC_TxBleData (END) -------
 
 
 ----- FUNCTION IPC_GetBBDIsconnectReason (BEGIN) -----
-00387D 900446            MOV      DPTR,#bbDisReason
-003880 E0                MOVX     A,@DPTR
-003881 FF                MOV      R7,A
-003882 22                RET      
+ FILE: 'ipc.c'
+  115: byte IPC_GetBBDIsconnectReason()
+  116: {
+  117: 	return bbDisReason;
+  118: }
+0035EF 900446            MOV      DPTR,#bbDisReason
+0035F2 E0                MOVX     A,@DPTR
+0035F3 FF                MOV      R7,A
+  119: 
+0035F4 22                RET      
 ----- FUNCTION IPC_GetBBDIsconnectReason (END) -------
 
 
 ----- FUNCTION YC_Ice_break (BEGIN) -----
-003883 908280            MOV      DPTR,#08280H
-003886 7401              MOV      A,#01H
-003888 F0                MOVX     @DPTR,A
-003889 22                RET      
+ FILE: 'utilities.c'
+    3: void YC_Ice_break()
+    4: {
+    5: 	CPUA_ICE_CTRL = 1;
+    6: 	return;
+0035F5 908280            MOV      DPTR,#08280H
+0035F8 7401              MOV      A,#01H
+0035FA F0                MOVX     @DPTR,A
+    7: }
+0035FB 22                RET      
 ----- FUNCTION YC_Ice_break (END) -------
 
 
------ FUNCTION _dmemcpy (BEGIN) -----
-00388A 904EA0            MOV      DPTR,#dest
-00388D EB                MOV      A,R3
-00388E F0                MOVX     @DPTR,A
-00388F A3                INC      DPTR
-003890 EA                MOV      A,R2
-003891 F0                MOVX     @DPTR,A
-003892 A3                INC      DPTR
-003893 E9                MOV      A,R1
-003894 F0                MOVX     @DPTR,A
-003895         ?C0005?UTILITIES:
-003895 904EA6            MOV      DPTR,#len
-003898 74FF              MOV      A,#0FFH
-00389A F5F0              MOV      B,A
-00389C 120424            LCALL    ?C?ILDIX
-00389F 45F0              ORL      A,B
-0038A1 602A              JZ       ?C0007?UTILITIES
-0038A3 904EA3            MOV      DPTR,#src
-0038A6 E0                MOVX     A,@DPTR
-0038A7 FB                MOV      R3,A
-0038A8 A3                INC      DPTR
-0038A9 E4                CLR      A
-0038AA 75F001            MOV      B,#01H
-0038AD 120424            LCALL    ?C?ILDIX
-0038B0 A9F0              MOV      R1,B
-0038B2 FA                MOV      R2,A
-0038B3 1203B6            LCALL    ?C?CLDPTR
-0038B6 FF                MOV      R7,A
-0038B7 904EA0            MOV      DPTR,#dest
-0038BA E0                MOVX     A,@DPTR
-0038BB FB                MOV      R3,A
-0038BC A3                INC      DPTR
-0038BD E4                CLR      A
-0038BE 75F001            MOV      B,#01H
-0038C1 120424            LCALL    ?C?ILDIX
-0038C4 A9F0              MOV      R1,B
-0038C6 FA                MOV      R2,A
-0038C7 EF                MOV      A,R7
-0038C8 1203FC            LCALL    ?C?CSTPTR
-0038CB 80C8              SJMP     ?C0005?UTILITIES
-0038CD         ?C0007?UTILITIES:
-0038CD 22                RET      
------ FUNCTION _dmemcpy (END) -------
+----- FUNCTION _xmemclear_ff (BEGIN) -----
+ FILE: 'utilities.c'
+   30: void xmemclear_ff(byte * dest, word len)
+   31: {
+0035FC 904EF8            MOV      DPTR,#dest
+0035FF EB                MOV      A,R3
+003600 F0                MOVX     @DPTR,A
+003601 A3                INC      DPTR
+003602 EA                MOV      A,R2
+003603 F0                MOVX     @DPTR,A
+003604 A3                INC      DPTR
+003605 E9                MOV      A,R1
+003606 F0                MOVX     @DPTR,A
+;---- Variable 'len' assigned to Register 'R4/R5' ----
+   32: 	while (len--)
+003607         ?C0011?UTILITIES:
+   33: 		*dest++ = 0xff;
+003607 ED                MOV      A,R5
+003608 1D                DEC      R5
+003609 AE04              MOV      R6,AR4
+00360B 7001              JNZ      ?C0027?UTILITIES
+00360D 1C                DEC      R4
+00360E         ?C0027?UTILITIES:
+00360E 4E                ORL      A,R6
+00360F 6017              JZ       ?C0013?UTILITIES
+   34: 	return;
+003611 904EF8            MOV      DPTR,#dest
+003614 E0                MOVX     A,@DPTR
+003615 FB                MOV      R3,A
+003616 A3                INC      DPTR
+003617 E4                CLR      A
+003618 75F001            MOV      B,#01H
+00361B 120424            LCALL    ?C?ILDIX
+00361E A9F0              MOV      R1,B
+003620 FA                MOV      R2,A
+003621 74FF              MOV      A,#0FFH
+003623 1203FC            LCALL    ?C?CSTPTR
+003626 80DF              SJMP     ?C0011?UTILITIES
+   35: }
+003628         ?C0013?UTILITIES:
+003628 22                RET      
+----- FUNCTION _xmemclear_ff (END) -------
+
+
+----- FUNCTION _gpioSetBit (BEGIN) -----
+ FILE: 'gpio.c'
+    9: static void gpioSetBit(byte gpio_num, char *reg_base, bool bit_val)
+   10: {
+003629 904EFB            MOV      DPTR,#reg_base
+00362C EB                MOV      A,R3
+00362D F0                MOVX     @DPTR,A
+00362E A3                INC      DPTR
+00362F EA                MOV      A,R2
+003630 F0                MOVX     @DPTR,A
+003631 A3                INC      DPTR
+003632 E9                MOV      A,R1
+003633 F0                MOVX     @DPTR,A
+;---- Variable 'gpio_num' assigned to Register 'R7' ----
+   11: 	byte queue = 0;
+   12: 	byte group = 0;
+;---- Variable 'queue' assigned to Register 'R6' ----
+003634 E4                CLR      A
+003635 FE                MOV      R6,A
+   13: 
+;---- Variable 'group' assigned to Register 'R5' ----
+003636 FD                MOV      R5,A
+   14: 	queue = (gpio_num & 7);
+003637 EF                MOV      A,R7
+003638 5407              ANL      A,#07H
+00363A FE                MOV      R6,A
+   15: 	group = gpio_num >> 3 & 3;
+00363B EF                MOV      A,R7
+00363C 13                RRC      A
+00363D 13                RRC      A
+00363E 13                RRC      A
+00363F 5403              ANL      A,#03H
+003641 FD                MOV      R5,A
+   16: 
+   17: 	if (bit_val) {
+003642 300022            JNB      bit_val,?C0001?GPIO
+   18: 		*(reg_base + group) |= 1 << queue;
+003645 904EFB            MOV      DPTR,#reg_base
+003648 E0                MOVX     A,@DPTR
+003649 FB                MOV      R3,A
+00364A A3                INC      DPTR
+00364B E0                MOVX     A,@DPTR
+00364C FA                MOV      R2,A
+00364D A3                INC      DPTR
+00364E E0                MOVX     A,@DPTR
+00364F 2D                ADD      A,R5
+003650 F9                MOV      R1,A
+003651 E4                CLR      A
+003652 3A                ADDC     A,R2
+003653 FA                MOV      R2,A
+003654 1203B6            LCALL    ?C?CLDPTR
+003657 FF                MOV      R7,A
+003658 7401              MOV      A,#01H
+00365A A806              MOV      R0,AR6
+00365C 08                INC      R0
+00365D 8002              SJMP     ?C0031?GPIO
+00365F         ?C0030?GPIO:
+00365F C3                CLR      C
+003660 33                RLC      A
+003661         ?C0031?GPIO:
+003661 D8FC              DJNZ     R0,?C0030?GPIO
+003663 4F                ORL      A,R7
+003664 0203FC            LJMP     ?C?CSTPTR
+   19: 	}
+003667         ?C0001?GPIO:
+   20: 
+   21: 	else {
+   22: 		*(reg_base + group) &= ~(1 << queue);
+003667 904EFB            MOV      DPTR,#reg_base
+00366A E0                MOVX     A,@DPTR
+00366B FB                MOV      R3,A
+00366C A3                INC      DPTR
+00366D E0                MOVX     A,@DPTR
+00366E FA                MOV      R2,A
+00366F A3                INC      DPTR
+003670 E0                MOVX     A,@DPTR
+003671 2D                ADD      A,R5
+003672 F9                MOV      R1,A
+003673 E4                CLR      A
+003674 3A                ADDC     A,R2
+003675 FA                MOV      R2,A
+003676 1203B6            LCALL    ?C?CLDPTR
+003679 FF                MOV      R7,A
+00367A 7401              MOV      A,#01H
+00367C A806              MOV      R0,AR6
+00367E 08                INC      R0
+00367F 8002              SJMP     ?C0033?GPIO
+003681         ?C0032?GPIO:
+003681 C3                CLR      C
+003682 33                RLC      A
+003683         ?C0033?GPIO:
+003683 D8FC              DJNZ     R0,?C0032?GPIO
+003685 F4                CPL      A
+003686 5F                ANL      A,R7
+003687 0203FC            LJMP     ?C?CSTPTR
+   23: 	}
+----- FUNCTION _gpioSetBit (END) -------
 
 
 ----- FUNCTION _GPIO_ClearWakeup (BEGIN) -----
+ FILE: 'gpio.c'
+  107: void GPIO_ClearWakeup(byte gpio_num)
+  108: {
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-0038CE EF                MOV      A,R7
-0038CF F4                CPL      A
-0038D0 603A              JZ       ?C0023?GPIO
-0038D2         ?C0022?GPIO:
-0038D2 EF                MOV      A,R7
-0038D3 5407              ANL      A,#07H
-0038D5 FE                MOV      R6,A
+  109: 	byte queue, group;
+  110: 	
+  111: 	if(gpio_num == 0xff)
+00368A EF                MOV      A,R7
+00368B F4                CPL      A
+00368C 603A              JZ       ?C0023?GPIO
+00368E         ?C0022?GPIO:
+  112: 		return;
+  113: 	queue = (gpio_num & 7);
+00368E EF                MOV      A,R7
+00368F 5407              ANL      A,#07H
+003691 FE                MOV      R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-0038D6 EF                MOV      A,R7
-0038D7 13                RRC      A
-0038D8 13                RRC      A
-0038D9 13                RRC      A
-0038DA 5403              ANL      A,#03H
-0038DC FF                MOV      R7,A
+  114: 	group = (gpio_num >> 3 & 3);
+003692 EF                MOV      A,R7
+003693 13                RRC      A
+003694 13                RRC      A
+003695 13                RRC      A
+003696 5403              ANL      A,#03H
+003698 FF                MOV      R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-0038DD 24A3              ADD      A,#LOW YC_GPIOWakeupL
-0038DF F582              MOV      DPL,A
-0038E1 E4                CLR      A
-0038E2 3400              ADDC     A,#HIGH YC_GPIOWakeupL
-0038E4 F583              MOV      DPH,A
-0038E6 C083              PUSH     DPH
-0038E8 C082              PUSH     DPL
-0038EA E0                MOVX     A,@DPTR
-0038EB FD                MOV      R5,A
-0038EC 7401              MOV      A,#01H
-0038EE A806              MOV      R0,AR6
-0038F0 08                INC      R0
-0038F1 8002              SJMP     ?C0043?GPIO
-0038F3         ?C0042?GPIO:
-0038F3 C3                CLR      C
-0038F4 33                RLC      A
-0038F5         ?C0043?GPIO:
-0038F5 D8FC              DJNZ     R0,?C0042?GPIO
-0038F7 F4                CPL      A
-0038F8 FC                MOV      R4,A
-0038F9 5D                ANL      A,R5
-0038FA D082              POP      DPL
-0038FC D083              POP      DPH
-0038FE F0                MOVX     @DPTR,A
-0038FF 74A7              MOV      A,#LOW YC_GPIOWakeupH
-003901 2F                ADD      A,R7
-003902 F582              MOV      DPL,A
-003904 E4                CLR      A
-003905 3400              ADDC     A,#HIGH YC_GPIOWakeupH
-003907 F583              MOV      DPH,A
-003909 E0                MOVX     A,@DPTR
-00390A 5C                ANL      A,R4
-00390B F0                MOVX     @DPTR,A
-00390C         ?C0023?GPIO:
-00390C 22                RET      
+  115: 	*(YC_GPIOWakeupL + group) &= ~(1 << queue);
+003699 24A3              ADD      A,#LOW YC_GPIOWakeupL
+00369B F582              MOV      DPL,A
+00369D E4                CLR      A
+00369E 3400              ADDC     A,#HIGH YC_GPIOWakeupL
+0036A0 F583              MOV      DPH,A
+0036A2 C083              PUSH     DPH
+0036A4 C082              PUSH     DPL
+0036A6 E0                MOVX     A,@DPTR
+0036A7 FD                MOV      R5,A
+0036A8 7401              MOV      A,#01H
+0036AA A806              MOV      R0,AR6
+0036AC 08                INC      R0
+0036AD 8002              SJMP     ?C0043?GPIO
+0036AF         ?C0042?GPIO:
+0036AF C3                CLR      C
+0036B0 33                RLC      A
+0036B1         ?C0043?GPIO:
+0036B1 D8FC              DJNZ     R0,?C0042?GPIO
+0036B3 F4                CPL      A
+0036B4 FC                MOV      R4,A
+0036B5 5D                ANL      A,R5
+0036B6 D082              POP      DPL
+0036B8 D083              POP      DPH
+0036BA F0                MOVX     @DPTR,A
+  116: 	*(YC_GPIOWakeupH + group) &= ~(1 << queue);
+0036BB 74A7              MOV      A,#LOW YC_GPIOWakeupH
+0036BD 2F                ADD      A,R7
+0036BE F582              MOV      DPL,A
+0036C0 E4                CLR      A
+0036C1 3400              ADDC     A,#HIGH YC_GPIOWakeupH
+0036C3 F583              MOV      DPH,A
+0036C5 E0                MOVX     A,@DPTR
+0036C6 5C                ANL      A,R4
+0036C7 F0                MOVX     @DPTR,A
+  117: }
+0036C8         ?C0023?GPIO:
+0036C8 22                RET      
 ----- FUNCTION _GPIO_ClearWakeup (END) -------
 
 
 ----- FUNCTION GPIO_fillpd (BEGIN) -----
+ FILE: 'gpio.c'
+  131: void GPIO_fillpd()
+  132: {
+  133: 	byte i;
+  134: 	for(i = 0;i < 4;i++)
 ;---- Variable 'i' assigned to Register 'R7' ----
-00390D E4                CLR      A
-00390E FF                MOV      R7,A
-00390F         ?C0026?GPIO:
-00390F EF                MOV      A,R7
-003910 FD                MOV      R5,A
-003911 7C00              MOV      R4,#00H
-003913 2478              ADD      A,#078H
-003915 FB                MOV      R3,A
-003916 EC                MOV      A,R4
-003917 3480              ADDC     A,#080H
-003919 8B82              MOV      DPL,R3
-00391B F583              MOV      DPH,A
-00391D E0                MOVX     A,@DPTR
-00391E FE                MOV      R6,A
-00391F ED                MOV      A,R5
-003920 2470              ADD      A,#070H
-003922 FD                MOV      R5,A
-003923 EC                MOV      A,R4
-003924 3480              ADDC     A,#080H
-003926 8D82              MOV      DPL,R5
-003928 F583              MOV      DPH,A
-00392A E0                MOVX     A,@DPTR
-00392B 4E                ORL      A,R6
-00392C F4                CPL      A
-00392D FE                MOV      R6,A
-00392E EF                MOV      A,R7
-00392F 247C              ADD      A,#07CH
-003931 FD                MOV      R5,A
-003932 EC                MOV      A,R4
-003933 3480              ADDC     A,#080H
-003935 8D82              MOV      DPL,R5
-003937 F583              MOV      DPH,A
-003939 EE                MOV      A,R6
-00393A F0                MOVX     @DPTR,A
-00393B 0F                INC      R7
-00393C EF                MOV      A,R7
-00393D B404CF            CJNE     A,#04H,?C0026?GPIO
-003940 22                RET      
+0036C9 E4                CLR      A
+0036CA FF                MOV      R7,A
+0036CB         ?C0026?GPIO:
+  135: 		REG_GPIO_PDN(i) = ~(REG_GPIO_OE(i) | REG_GPIO_PUP(i));
+0036CB EF                MOV      A,R7
+0036CC FD                MOV      R5,A
+0036CD 7C00              MOV      R4,#00H
+0036CF 2478              ADD      A,#078H
+0036D1 FB                MOV      R3,A
+0036D2 EC                MOV      A,R4
+0036D3 3480              ADDC     A,#080H
+0036D5 8B82              MOV      DPL,R3
+0036D7 F583              MOV      DPH,A
+0036D9 E0                MOVX     A,@DPTR
+0036DA FE                MOV      R6,A
+0036DB ED                MOV      A,R5
+0036DC 2470              ADD      A,#070H
+0036DE FD                MOV      R5,A
+0036DF EC                MOV      A,R4
+0036E0 3480              ADDC     A,#080H
+0036E2 8D82              MOV      DPL,R5
+0036E4 F583              MOV      DPH,A
+0036E6 E0                MOVX     A,@DPTR
+0036E7 4E                ORL      A,R6
+0036E8 F4                CPL      A
+0036E9 FE                MOV      R6,A
+0036EA EF                MOV      A,R7
+0036EB 247C              ADD      A,#07CH
+0036ED FD                MOV      R5,A
+0036EE EC                MOV      A,R4
+0036EF 3480              ADDC     A,#080H
+0036F1 8D82              MOV      DPL,R5
+0036F3 F583              MOV      DPH,A
+0036F5 EE                MOV      A,R6
+0036F6 F0                MOVX     @DPTR,A
+0036F7 0F                INC      R7
+0036F8 EF                MOV      A,R7
+0036F9 B404CF            CJNE     A,#04H,?C0026?GPIO
+  136: }
+0036FC 22                RET      
 ----- FUNCTION GPIO_fillpd (END) -------
 
 
Index: c51/output/FW.HTM
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/output/FW.HTM	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/output/FW.HTM	(working copy)
@@ -25,7 +25,7 @@
 
 <p class="TinyT">
 Created from: <b>LX51 LINKER/LOCATER V4.66.41.0</b><br>
-Creation time: <b>08/01/2025  19:12:11</b><p>
+Creation time: <b>09/29/2025  13:28:06</b><p>
 
 <hr>
 
@@ -43,13 +43,13 @@
 <li><a href="#S111">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S13"></a>?PR?YC_START_RECONNECT?BLUETOOTH (C:00170BH - C:0017BCH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
+<h2><a name="S13"></a>?PR?YC_START_RECONNECT?BLUETOOTH (C:002012H - C:0020AFH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S177">?PR?_DELAY1MS?UTILITIES</a></li>
 <li><a href="#S211">?PR?_IIC_READ?IIC</a></li>
-<li><a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
+<li><a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -57,30 +57,21 @@
 <li><a href="#S111">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S15"></a>?PR?YC_CLEAR_BT_SAME_ADDRESS_RECORD?BLUETOOTH (C:001FE8H - C:0020CDH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S4">?PR?_YC_STORE_RECORD_LIST?BLUETOOTH</a>)<p>
-<p><br><b>Calls to:</b></p>
-<ul>
-<li><a href="#S178">?PR?_COMPARE_STR?UTILITIES</a></li>
-<li><a href="#S175">?PR?_XMEMCLEAR_FF?UTILITIES</a></li>
-<li><a href="#S4">?PR?_YC_STORE_RECORD_LIST?BLUETOOTH</a></li>
-</ul>
-
-<h2><a name="S85"></a>?PR?KSCOLINITIALIZE?KEYSCAN (C:001F4AH - C:001F67H)</h2>
+<h2><a name="S85"></a>?PR?KSCOLINITIALIZE?KEYSCAN (C:001FDDH - C:001FFAH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S194">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S194">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S109"></a>?PR?_KB_CB_HID?SYS (C:00323CH - C:00324BH)</h2>
+<h2><a name="S109"></a>?PR?_KB_CB_HID?SYS (C:0035B7H - C:0035C6H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S219">?C?LIB_CODE</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S219">?C?LIB_CODE</a></li>
 </ul>
 
-<h2><a name="S111"></a>?PR?_KB_CB_EVENT?SYS (C:0013BCH - C:0016F2H)</h2>
+<h2><a name="S111"></a>?PR?_KB_CB_EVENT?SYS (C:0013F4H - C:001795H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S103">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -93,7 +84,7 @@
 <li><a href="#S215">?PR?_IIC_WRITEBLOCK?IIC</a></li>
 <li><a href="#S136">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
 <li><a href="#S175">?PR?_XMEMCLEAR_FF?UTILITIES</a></li>
-<li><a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
+<li><a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 <li><a href="#S2">?PR?_YC_LOAD_RECORD_LIST?BLUETOOTH</a></li>
 <li><a href="#S4">?PR?_YC_STORE_RECORD_LIST?BLUETOOTH</a></li>
 <li><a href="#S146">?PR?IPC_WAITLPM?IPC</a></li>
@@ -106,34 +97,44 @@
 <li><a href="#S104">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 <li><a href="#S10">?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH</a></li>
 <li><a href="#S13">?PR?YC_START_RECONNECT?BLUETOOTH</a></li>
-<li><a href="#S17">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
+<li><a href="#S15">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
+</ul>
+
+<h2><a name="S116"></a>?PR?YC_PAIRING_TIMEROUT_500MS?SYS (C:0022A0H - C:0022F8H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
+<p><br><b>Calls to:</b></p>
+<ul>
+<li><a href="#S177">?PR?_DELAY1MS?UTILITIES</a></li>
+<li><a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
+<li><a href="#S106">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
 </ul>
 
-<h2><a name="S118"></a>?PR?KB_CB_TIMER500MS?SYS (C:003301H - C:003329H)</h2>
+<h2><a name="S118"></a>?PR?KB_CB_TIMER500MS?SYS (C:002288H - C:00229FH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S114">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S117">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
 <li><a href="#S128">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a></li>
 <li><a href="#S114">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
-<li><a href="#S116">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
 <li><a href="#S115">?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S119"></a>?PR?KB_CB_TIMER100MS?SYS (C:002EF2H - C:00303CH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S59">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
+<h2><a name="S119"></a>?PR?KB_CB_TIMER100MS?SYS (C:003198H - C:003307H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S61">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
+<li><a href="#S204">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
 <li><a href="#S186">?PR?_GPIO_SETOUT?GPIO</a></li>
 <li><a href="#S136">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
-<li><a href="#S59">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
+<li><a href="#S61">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 <li><a href="#S99">?PR?LED_DEVICE_POWEROFF?LED</a></li>
 <li><a href="#S98">?PR?LED_DEVICE_POWERON?LED</a></li>
 <li><a href="#S113">?PR?LED_TIMER100MS?SYS</a></li>
 <li><a href="#S108">?PR?SYSTEM_RESET_CONNECT?SYS</a></li>
+<li><a href="#S15">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S121"></a>?PR?YC_SYSTEM_MAIN?SYS (C:001D1BH - C:001D8DH)</h2>
+<h2><a name="S121"></a>?PR?YC_SYSTEM_MAIN?SYS (C:001B40H - C:001BBBH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=18 Bytes (<a href="#S70">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -149,7 +150,7 @@
 <li><a href="#S97">?PR?LED_ALL_SHUTDOWN?LED</a></li>
 <li><a href="#S100">?PR?LED_HANDLE?LED</a></li>
 <li><a href="#S107">?PR?SYSTEM_G24_LONG_LPM?SYS</a></li>
-<li><a href="#S17">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
+<li><a href="#S15">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -157,35 +158,35 @@
 <li><a href="#S129">?PR?MAIN?RAM</a></li>
 </ul>
 
-<h2><a name="S129"></a>?PR?MAIN?RAM (C:001FDAH - C:001FDBH)</h2>
+<h2><a name="S129"></a>?PR?MAIN?RAM (C:001FB5H - C:001FB6H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=18 Bytes (<a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S140"></a>?PR?_IPC_TXBREDRHIDDATA?IPC (C:00385EH - C:00386AH)</h2>
+<h2><a name="S140"></a>?PR?_IPC_TXBREDRHIDDATA?IPC (C:0035C7H - C:0035D3H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S138">?PR?_IPC_TXDATA?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S138">?PR?_IPC_TXDATA?IPC</a></li>
 </ul>
 
-<h2><a name="S142"></a>?PR?_IPC_TXSPPDATA?IPC (C:00386BH - C:003873H)</h2>
+<h2><a name="S142"></a>?PR?_IPC_TXSPPDATA?IPC (C:0035DDH - C:0035E5H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S138">?PR?_IPC_TXDATA?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S138">?PR?_IPC_TXDATA?IPC</a></li>
 </ul>
 
-<h2><a name="S145"></a>?PR?_IPC_INITIALIZE?IPC (C:001EE4H - C:001EF0H)</h2>
+<h2><a name="S145"></a>?PR?_IPC_INITIALIZE?IPC (C:001F54H - C:001F60H)</h2>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S219">?C?LIB_CODE</a></li>
 </ul>
 
 <h2><a name="S4"></a>?PR?_YC_STORE_RECORD_LIST?BLUETOOTH (C:000803H - C:00087CH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S169">?PR?_XMEMCPY?UTILITIES</a>) Top=2 Bytes (<a href="#S15">?PR?YC_CLEAR_BT_SAME_ADDRESS_RECORD?BLUETOOTH</a>)<p>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S169">?PR?_XMEMCPY?UTILITIES</a>) Top=2 Bytes (<a href="#S111">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S169">?PR?_XMEMCPY?UTILITIES</a></li>
@@ -194,30 +195,29 @@
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S111">?PR?_KB_CB_EVENT?SYS</a></li>
-<li><a href="#S15">?PR?YC_CLEAR_BT_SAME_ADDRESS_RECORD?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S6"></a>?PR?YC_CHECK_IS_CONNECTED?BLUETOOTH (C:001836H - C:00184AH)</h2>
+<h2><a name="S6"></a>?PR?YC_CHECK_IS_CONNECTED?BLUETOOTH (C:0010C5H - C:0010D9H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S100">?PR?LED_HANDLE?LED</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S100">?PR?LED_HANDLE?LED</a></li>
 </ul>
 
-<h2><a name="S7"></a>?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH (C:00184BH - C:0018CAH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>) Top=8 Bytes (<a href="#S59">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
+<h2><a name="S7"></a>?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH (C:001835H - C:0018B4H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>) Top=8 Bytes (<a href="#S61">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
+<li><a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S59">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
+<li><a href="#S61">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S9"></a>?PR?YC_CANCEL_RECONNECT?BLUETOOTH (C:0018CBH - C:0018DCH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S136">?PR?_IPC_TXCONTROLCMD?IPC</a>) Top=12 Bytes (<a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
+<h2><a name="S9"></a>?PR?YC_CANCEL_RECONNECT?BLUETOOTH (C:0018B5H - C:0018C6H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S136">?PR?_IPC_TXCONTROLCMD?IPC</a>) Top=12 Bytes (<a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S136">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
@@ -225,19 +225,19 @@
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
+<li><a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S10"></a>?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH (C:0018DDH - C:0018E6H)</h2>
-<p><br><b>Maximum Stack:</b> Top=12 Bytes (<a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
+<h2><a name="S10"></a>?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH (C:0017E6H - C:0017EFH)</h2>
+<p><br><b>Maximum Stack:</b> Top=12 Bytes (<a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S111">?PR?_KB_CB_EVENT?SYS</a></li>
-<li><a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
+<li><a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S11"></a>?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH (C:0017C6H - C:0017F0H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S136">?PR?_IPC_TXCONTROLCMD?IPC</a>) Top=12 Bytes (<a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
+<h2><a name="S11"></a>?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH (C:0018C7H - C:0018F3H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S136">?PR?_IPC_TXCONTROLCMD?IPC</a>) Top=12 Bytes (<a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S136">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
@@ -247,13 +247,13 @@
 <ul>
 <li><a href="#S73">?PR?_KB_DEVICE_SELECT?KB_PROCESS</a></li>
 <li><a href="#S71">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
-<li><a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
+<li><a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 <li><a href="#S117">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
 <li><a href="#S114">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S12"></a>?PR?YC_G24_MODE_DISCOVERY?BLUETOOTH (C:0018E7H - C:0018FDH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S136">?PR?_IPC_TXCONTROLCMD?IPC</a>) Top=12 Bytes (<a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
+<h2><a name="S12"></a>?PR?YC_G24_MODE_DISCOVERY?BLUETOOTH (C:001FFBH - C:002011H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S136">?PR?_IPC_TXCONTROLCMD?IPC</a>) Top=12 Bytes (<a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S136">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
@@ -261,11 +261,11 @@
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
+<li><a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S14"></a>?PR?YC_GET_BLE_RAMDON_LAP?BLUETOOTH (C:0018FEH - C:001940H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S211">?PR?_IIC_READ?IIC</a>) Top=12 Bytes (<a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
+<h2><a name="S14"></a>?PR?YC_GET_BLE_RAMDON_LAP?BLUETOOTH (C:002202H - C:002244H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S211">?PR?_IIC_READ?IIC</a>) Top=12 Bytes (<a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S211">?PR?_IIC_READ?IIC</a></li>
@@ -273,11 +273,11 @@
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
+<li><a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 <li><a href="#S115">?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S17"></a>?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH (C:001B42H - C:001BDCH)</h2>
+<h2><a name="S15"></a>?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH (C:0019EDH - C:001A87H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S215">?PR?_IIC_WRITEBLOCK?IIC</a>) Top=4 Bytes (<a href="#S117">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -290,10 +290,11 @@
 <ul>
 <li><a href="#S111">?PR?_KB_CB_EVENT?SYS</a></li>
 <li><a href="#S117">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
+<li><a href="#S119">?PR?KB_CB_TIMER100MS?SYS</a></li>
 <li><a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S57"></a>?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS (C:0010D7H - C:0012BAH)</h2>
+<h2><a name="S59"></a>?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS (C:0011E2H - C:0013C8H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S215">?PR?_IIC_WRITEBLOCK?IIC</a>) Top=10 Bytes (<a href="#S7">?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -321,7 +322,7 @@
 <li><a href="#S13">?PR?YC_START_RECONNECT?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S59"></a>?PR?_IPC_TXHIDDATA?KB_PROCESS (C:000C1EH - C:000D00H)</h2>
+<h2><a name="S61"></a>?PR?_IPC_TXHIDDATA?KB_PROCESS (C:000C1DH - C:000D00H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S7">?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH</a>) Top=6 Bytes (<a href="#S71">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -334,31 +335,31 @@
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S71">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
-<li><a href="#S63">?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS</a></li>
+<li><a href="#S65">?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS</a></li>
 <li><a href="#S67">?PR?KB_24G_GET_LED_STATUS?KB_PROCESS</a></li>
 <li><a href="#S119">?PR?KB_CB_TIMER100MS?SYS</a></li>
 <li><a href="#S114">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S61"></a>?PR?_KB_SET_MULTIKEY?KB_PROCESS (C:002664H - C:00267EH)</h2>
+<h2><a name="S63"></a>?PR?_KB_SET_MULTIKEY?KB_PROCESS (C:00256EH - C:002588H)</h2>
 <p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S78">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S78">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S62"></a>?PR?_KB_SET_SYSTEMKEY?KB_PROCESS (C:002999H - C:0029B3H)</h2>
+<h2><a name="S64"></a>?PR?_KB_SET_SYSTEMKEY?KB_PROCESS (C:0028A1H - C:0028BBH)</h2>
 <p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S78">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S78">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S63"></a>?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS (C:000DCAH - C:000E03H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S59">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=4 Bytes (<a href="#S70">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
+<h2><a name="S65"></a>?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS (C:000DC7H - C:000E00H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S61">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=4 Bytes (<a href="#S70">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S59">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
+<li><a href="#S61">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 <li><a href="#S173">?PR?_XMEMCLEAR?UTILITIES</a></li>
 </ul>
 
@@ -367,26 +368,11 @@
 <li><a href="#S70">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S65"></a>?PR?KB_BT_PINCODE_ENTER?KB_PROCESS (C:0029B4H - C:002C26H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S71">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>) Top=2 Bytes (<a href="#S70">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
-<p><br><b>Calls to:</b></p>
-<ul>
-<li><a href="#S219">?C?LIB_CODE</a></li>
-<li><a href="#S136">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
-<li><a href="#S71">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
-<li><a href="#S94">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
-</ul>
-
-<p><br><b>Called from:</b></p>
-<ul>
-<li><a href="#S70">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a></li>
-</ul>
-
-<h2><a name="S67"></a>?PR?KB_24G_GET_LED_STATUS?KB_PROCESS (C:00241AH - C:00246CH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S59">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=2 Bytes (<a href="#S68">?PR?KB_MOTION?KB_PROCESS</a>)<p>
+<h2><a name="S67"></a>?PR?KB_24G_GET_LED_STATUS?KB_PROCESS (C:0028BCH - C:00290EH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S61">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=2 Bytes (<a href="#S68">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S59">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
+<li><a href="#S61">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 <li><a href="#S173">?PR?_XMEMCLEAR?UTILITIES</a></li>
 </ul>
 
@@ -395,7 +381,7 @@
 <li><a href="#S68">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S68"></a>?PR?KB_MOTION?KB_PROCESS (C:00239FH - C:0023D1H)</h2>
+<h2><a name="S68"></a>?PR?KB_MOTION?KB_PROCESS (C:00290FH - C:002941H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S71">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>) Top=2 Bytes (<a href="#S70">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -410,12 +396,11 @@
 <li><a href="#S70">?PR?KB_NEED_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S70"></a>?PR?KB_NEED_KEYSCAN?KB_PROCESS (C:000E04H - C:000EDAH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S65">?PR?KB_BT_PINCODE_ENTER?KB_PROCESS</a>) Top=2 Bytes (<a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
+<h2><a name="S70"></a>?PR?KB_NEED_KEYSCAN?KB_PROCESS (C:000E01H - C:000E84H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=16 Bytes (<a href="#S68">?PR?KB_MOTION?KB_PROCESS</a>) Top=2 Bytes (<a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
-<li><a href="#S63">?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS</a></li>
-<li><a href="#S65">?PR?KB_BT_PINCODE_ENTER?KB_PROCESS</a></li>
+<li><a href="#S65">?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS</a></li>
 <li><a href="#S68">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
@@ -424,34 +409,33 @@
 <li><a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S71"></a>?PR?_KB_MOTION_KEYSCAN?KB_PROCESS (C:0008C0H - C:000C1DH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S59">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=4 Bytes (<a href="#S65">?PR?KB_BT_PINCODE_ENTER?KB_PROCESS</a>)<p>
+<h2><a name="S71"></a>?PR?_KB_MOTION_KEYSCAN?KB_PROCESS (C:0008C0H - C:000C1CH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S61">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=4 Bytes (<a href="#S68">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S219">?C?LIB_CODE</a></li>
 <li><a href="#S177">?PR?_DELAY1MS?UTILITIES</a></li>
-<li><a href="#S59">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
+<li><a href="#S61">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 <li><a href="#S73">?PR?_KB_DEVICE_SELECT?KB_PROCESS</a></li>
 <li><a href="#S78">?PR?_KB_MULTIKEY_SETUP?KB_PROCESS</a></li>
 <li><a href="#S173">?PR?_XMEMCLEAR?UTILITIES</a></li>
 <li><a href="#S169">?PR?_XMEMCPY?UTILITIES</a></li>
-<li><a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
+<li><a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 <li><a href="#S11">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S65">?PR?KB_BT_PINCODE_ENTER?KB_PROCESS</a></li>
 <li><a href="#S68">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S73"></a>?PR?_KB_DEVICE_SELECT?KB_PROCESS (C:002C27H - C:002CB9H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>) Top=6 Bytes (<a href="#S71">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
+<h2><a name="S73"></a>?PR?_KB_DEVICE_SELECT?KB_PROCESS (C:002EC0H - C:002F53H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>) Top=6 Bytes (<a href="#S71">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S219">?C?LIB_CODE</a></li>
 <li><a href="#S177">?PR?_DELAY1MS?UTILITIES</a></li>
-<li><a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
+<li><a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 <li><a href="#S97">?PR?LED_ALL_SHUTDOWN?LED</a></li>
 <li><a href="#S11">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a></li>
 </ul>
@@ -461,20 +445,20 @@
 <li><a href="#S71">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S76"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:00256DH - C:002663H)</h2>
+<h2><a name="S76"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:002F79H - C:003148H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S94">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S94">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S78"></a>?PR?_KB_MULTIKEY_SETUP?KB_PROCESS (C:00267FH - C:002998H)</h2>
+<h2><a name="S78"></a>?PR?_KB_MULTIKEY_SETUP?KB_PROCESS (C:002589H - C:0028A0H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S219">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S71">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S219">?C?LIB_CODE</a></li>
-<li><a href="#S61">?PR?_KB_SET_MULTIKEY?KB_PROCESS</a></li>
-<li><a href="#S62">?PR?_KB_SET_SYSTEMKEY?KB_PROCESS</a></li>
+<li><a href="#S63">?PR?_KB_SET_MULTIKEY?KB_PROCESS</a></li>
+<li><a href="#S64">?PR?_KB_SET_SYSTEMKEY?KB_PROCESS</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -482,28 +466,28 @@
 <li><a href="#S71">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S80"></a>?PR?_BIT_COUNT?KEYSCAN (C:002391H - C:00239EH)</h2>
+<h2><a name="S80"></a>?PR?_BIT_COUNT?KEYSCAN (C:002B8DH - C:002B9AH)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S94">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S94">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S81"></a>?PR?_KEYIN?KEYSCAN (C:00246DH - C:0024C2H)</h2>
+<h2><a name="S81"></a>?PR?_KEYIN?KEYSCAN (C:002C2DH - C:002C82H)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S94">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S94">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S82"></a>?PR?_KEYOUT?KEYSCAN (C:0024C3H - C:00256CH)</h2>
+<h2><a name="S82"></a>?PR?_KEYOUT?KEYSCAN (C:002C83H - C:002D2CH)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S94">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S94">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S83"></a>?PR?KSRAWINITIALIZE?KEYSCAN (C:002CDFH - C:002CFCH)</h2>
+<h2><a name="S83"></a>?PR?KSRAWINITIALIZE?KEYSCAN (C:003149H - C:003166H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S194">?PR?_GPIO_SETINPUT?GPIO</a>) Top=6 Bytes (<a href="#S87">?PR?KS_INITIALIZE?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -515,7 +499,7 @@
 <li><a href="#S87">?PR?KS_INITIALIZE?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S87"></a>?PR?KS_INITIALIZE?KEYSCAN (C:001F3EH - C:001F49H)</h2>
+<h2><a name="S87"></a>?PR?KS_INITIALIZE?KEYSCAN (C:001FD1H - C:001FDCH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S83">?PR?KSRAWINITIALIZE?KEYSCAN</a>) Top=4 Bytes (<a href="#S103">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -528,7 +512,7 @@
 <li><a href="#S103">?PR?SYSTEM_HARDWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S88"></a>?PR?KS_UNISTALL?KEYSCAN (C:001D8EH - C:001E26H)</h2>
+<h2><a name="S88"></a>?PR?KS_UNISTALL?KEYSCAN (C:001BBCH - C:001C54H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S201">?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO</a>) Top=2 Bytes (<a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -541,7 +525,7 @@
 <li><a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S90"></a>?PR?KS_SCANMATRIX?KEYSCAN (C:002CFDH - C:002E8FH)</h2>
+<h2><a name="S90"></a>?PR?KS_SCANMATRIX?KEYSCAN (C:002D2DH - C:002EBFH)</h2>
 <p><br><b>Maximum Stack:</b> Top=6 Bytes (<a href="#S94">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -554,7 +538,7 @@
 <li><a href="#S94">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S92"></a>?PR?_ARRAY_IS_EMPTY?KEYSCAN (C:0023EAH - C:002419H)</h2>
+<h2><a name="S92"></a>?PR?_ARRAY_IS_EMPTY?KEYSCAN (C:002BB3H - C:002BE2H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S219">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S94">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -566,8 +550,8 @@
 <li><a href="#S94">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S94"></a>?PR?KS_GETCURRENTEVT?KEYSCAN (C:002145H - C:002390H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S90">?PR?KS_SCANMATRIX?KEYSCAN</a>) Top=4 Bytes (<a href="#S65">?PR?KB_BT_PINCODE_ENTER?KB_PROCESS</a>)<p>
+<h2><a name="S94"></a>?PR?KS_GETCURRENTEVT?KEYSCAN (C:002942H - C:002B8CH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S90">?PR?KS_SCANMATRIX?KEYSCAN</a>) Top=4 Bytes (<a href="#S68">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S92">?PR?_ARRAY_IS_EMPTY?KEYSCAN</a></li>
@@ -581,11 +565,10 @@
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S65">?PR?KB_BT_PINCODE_ENTER?KB_PROCESS</a></li>
 <li><a href="#S68">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S97"></a>?PR?LED_ALL_SHUTDOWN?LED (C:001CD7H - C:001CFEH)</h2>
+<h2><a name="S97"></a>?PR?LED_ALL_SHUTDOWN?LED (C:0017BCH - C:0017E5H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S196">?PR?_GPIO_SETOUTPUT?GPIO</a>) Top=8 Bytes (<a href="#S73">?PR?_KB_DEVICE_SELECT?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -601,7 +584,7 @@
 <li><a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S98"></a>?PR?LED_DEVICE_POWERON?LED (C:002E90H - C:002EC0H)</h2>
+<h2><a name="S98"></a>?PR?LED_DEVICE_POWERON?LED (C:003167H - C:003197H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S196">?PR?_GPIO_SETOUTPUT?GPIO</a>) Top=2 Bytes (<a href="#S111">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -615,7 +598,7 @@
 <li><a href="#S119">?PR?KB_CB_TIMER100MS?SYS</a></li>
 </ul>
 
-<h2><a name="S99"></a>?PR?LED_DEVICE_POWEROFF?LED (C:002EC1H - C:002EF1H)</h2>
+<h2><a name="S99"></a>?PR?LED_DEVICE_POWEROFF?LED (C:003381H - C:0033B1H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S186">?PR?_GPIO_SETOUT?GPIO</a>) Top=2 Bytes (<a href="#S111">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -628,7 +611,7 @@
 <li><a href="#S119">?PR?KB_CB_TIMER100MS?SYS</a></li>
 </ul>
 
-<h2><a name="S100"></a>?PR?LED_HANDLE?LED (C:0012CDH - C:0013BBH)</h2>
+<h2><a name="S100"></a>?PR?LED_HANDLE?LED (C:0010DAH - C:0011CFH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S186">?PR?_GPIO_SETOUT?GPIO</a>) Top=2 Bytes (<a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -642,7 +625,7 @@
 <li><a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S101"></a>?PR?SYSTEM_CLEAR_MEM?SYS (C:000D2DH - C:000DC9H)</h2>
+<h2><a name="S101"></a>?PR?SYSTEM_CLEAR_MEM?SYS (C:000D2DH - C:000DC6H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S173">?PR?_XMEMCLEAR?UTILITIES</a>) Top=4 Bytes (<a href="#S104">?PR?SYSTEM_SOFTWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -654,7 +637,7 @@
 <li><a href="#S104">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S102"></a>?PR?SYSTEM_IIC_CLK_SETUP?SYS (C:00303DH - C:00304FH)</h2>
+<h2><a name="S102"></a>?PR?SYSTEM_IIC_CLK_SETUP?SYS (C:0033B2H - C:0033C4H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S103">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -662,7 +645,7 @@
 <li><a href="#S103">?PR?SYSTEM_HARDWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S103"></a>?PR?SYSTEM_HARDWARE_INIT?SYS (C:001F31H - C:001F3DH)</h2>
+<h2><a name="S103"></a>?PR?SYSTEM_HARDWARE_INIT?SYS (C:001FC3H - C:001FD0H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S87">?PR?KS_INITIALIZE?KEYSCAN</a>) Top=2 Bytes (<a href="#S111">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -677,7 +660,7 @@
 <li><a href="#S111">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S104"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:003050H - C:003084H)</h2>
+<h2><a name="S104"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:0033C5H - C:0033FDH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S124">?PR?YC_ADC_INIT?ADC</a>) Top=2 Bytes (<a href="#S111">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -690,7 +673,7 @@
 <li><a href="#S111">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S106"></a>?PR?SYSTEM_LONG_SLEEP?SYS (C:0017BDH - C:0017C5H)</h2>
+<h2><a name="S106"></a>?PR?SYSTEM_LONG_SLEEP?SYS (C:001796H - C:00179EH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S136">?PR?_IPC_TXCONTROLCMD?IPC</a>) Top=4 Bytes (<a href="#S114">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -706,7 +689,7 @@
 <li><a href="#S116">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S107"></a>?PR?SYSTEM_G24_LONG_LPM?SYS (C:000FC8H - C:000FEDH)</h2>
+<h2><a name="S107"></a>?PR?SYSTEM_G24_LONG_LPM?SYS (C:000F97H - C:000FB2H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S97">?PR?LED_ALL_SHUTDOWN?LED</a>) Top=2 Bytes (<a href="#S114">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -719,7 +702,7 @@
 <li><a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S108"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:001EC7H - C:001EC6H)</h2>
+<h2><a name="S108"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:001B37H - C:001B36H)</h2>
 <p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S90">?PR?KS_SCANMATRIX?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -728,7 +711,7 @@
 <li><a href="#S90">?PR?KS_SCANMATRIX?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S113"></a>?PR?LED_TIMER100MS?SYS (C:00324CH - C:0032A3H)</h2>
+<h2><a name="S113"></a>?PR?LED_TIMER100MS?SYS (C:003325H - C:003380H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S186">?PR?_GPIO_SETOUT?GPIO</a>) Top=2 Bytes (<a href="#S119">?PR?KB_CB_TIMER100MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -741,12 +724,12 @@
 <li><a href="#S119">?PR?KB_CB_TIMER100MS?SYS</a></li>
 </ul>
 
-<h2><a name="S114"></a>?PR?YC_CONNECT_TIMEOUT_500MS?SYS (C:000EDBH - C:000FC7H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S59">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=2 Bytes (<a href="#S118">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
+<h2><a name="S114"></a>?PR?YC_CONNECT_TIMEOUT_500MS?SYS (C:000E85H - C:000F71H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S61">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>) Top=2 Bytes (<a href="#S118">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S136">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
-<li><a href="#S59">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
+<li><a href="#S61">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 <li><a href="#S173">?PR?_XMEMCLEAR?UTILITIES</a></li>
 <li><a href="#S107">?PR?SYSTEM_G24_LONG_LPM?SYS</a></li>
 <li><a href="#S106">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
@@ -758,7 +741,7 @@
 <li><a href="#S118">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S115"></a>?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS (C:0032C1H - C:003300H)</h2>
+<h2><a name="S115"></a>?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS (C:002245H - C:002287H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S14">?PR?YC_GET_BLE_RAMDON_LAP?BLUETOOTH</a>) Top=2 Bytes (<a href="#S118">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -771,31 +754,17 @@
 <li><a href="#S118">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S116"></a>?PR?YC_PAIRING_TIMEROUT_500MS?SYS (C:00333BH - C:003387H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>) Top=2 Bytes (<a href="#S118">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
-<p><br><b>Calls to:</b></p>
-<ul>
-<li><a href="#S177">?PR?_DELAY1MS?UTILITIES</a></li>
-<li><a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
-<li><a href="#S106">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
-</ul>
-
-<p><br><b>Called from:</b></p>
-<ul>
-<li><a href="#S118">?PR?KB_CB_TIMER500MS?SYS</a></li>
-</ul>
-
-<h2><a name="S117"></a>?PR?KB_BUTTON_PRESS_TIMER500MS?SYS (C:001BDDH - C:001CD6H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>) Top=2 Bytes (<a href="#S118">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
+<h2><a name="S117"></a>?PR?KB_BUTTON_PRESS_TIMER500MS?SYS (C:0018F4H - C:0019ECH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>) Top=2 Bytes (<a href="#S118">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S177">?PR?_DELAY1MS?UTILITIES</a></li>
-<li><a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
+<li><a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 <li><a href="#S97">?PR?LED_ALL_SHUTDOWN?LED</a></li>
 <li><a href="#S106">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
 <li><a href="#S108">?PR?SYSTEM_RESET_CONNECT?SYS</a></li>
 <li><a href="#S11">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a></li>
-<li><a href="#S17">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
+<li><a href="#S15">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
 <p><br><b>Called from:</b></p>
@@ -803,14 +772,14 @@
 <li><a href="#S118">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S120"></a>?PR?KB_CB_INIT?SYS (C:001EDEH - C:001EE3H)</h2>
+<h2><a name="S120"></a>?PR?KB_CB_INIT?SYS (C:001F4EH - C:001F53H)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S124"></a>?PR?YC_ADC_INIT?ADC (C:003085H - C:00323BH)</h2>
+<h2><a name="S124"></a>?PR?YC_ADC_INIT?ADC (C:0033FEH - C:0035B6H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S219">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S104">?PR?SYSTEM_SOFTWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -822,7 +791,7 @@
 <li><a href="#S104">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S126"></a>?PR?YC_ADC_CHECK?ADC (C:003388H - C:0035A7H)</h2>
+<h2><a name="S126"></a>?PR?YC_ADC_CHECK?ADC (C:00234EH - C:00256DH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S215">?PR?_IIC_WRITEBLOCK?IIC</a>) Top=4 Bytes (<a href="#S128">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -835,7 +804,7 @@
 <li><a href="#S128">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a></li>
 </ul>
 
-<h2><a name="S128"></a>?PR?YC_ADC_CHECK_TIMER500MS?ADC (C:00332AH - C:00333AH)</h2>
+<h2><a name="S128"></a>?PR?YC_ADC_CHECK_TIMER500MS?ADC (C:0022F9H - C:002309H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=10 Bytes (<a href="#S126">?PR?YC_ADC_CHECK?ADC</a>) Top=2 Bytes (<a href="#S118">?PR?KB_CB_TIMER500MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -847,14 +816,14 @@
 <li><a href="#S118">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S130"></a>?PR?_BUFSIZE?IPC (C:0035A8H - C:003601H)</h2>
+<h2><a name="S130"></a>?PR?_BUFSIZE?IPC (C:00106BH - C:0010C4H)</h2>
 <p><br><b>Maximum Stack:</b> Top=16 Bytes (<a href="#S134">?PR?_IPCTX?IPC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S134">?PR?_IPCTX?IPC</a></li>
 </ul>
 
-<h2><a name="S132"></a>?PR?_IPCRX?IPC (C:003602H - C:003651H)</h2>
+<h2><a name="S132"></a>?PR?_IPCRX?IPC (C:001EFEH - C:001F4DH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S219">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S149">?PR?IPC_DEALSINGLESTEP?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -866,7 +835,7 @@
 <li><a href="#S149">?PR?IPC_DEALSINGLESTEP?IPC</a></li>
 </ul>
 
-<h2><a name="S134"></a>?PR?_IPCTX?IPC (C:001018H - C:0010ACH)</h2>
+<h2><a name="S134"></a>?PR?_IPCTX?IPC (C:000FD6H - C:00106AH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S130">?PR?_BUFSIZE?IPC</a>) Top=14 Bytes (<a href="#S136">?PR?_IPC_TXCONTROLCMD?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -879,7 +848,7 @@
 <li><a href="#S136">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
 </ul>
 
-<h2><a name="S136"></a>?PR?_IPC_TXCONTROLCMD?IPC (C:0010ADH - C:0010D6H)</h2>
+<h2><a name="S136"></a>?PR?_IPC_TXCONTROLCMD?IPC (C:0013C9H - C:0013F3H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S219">?C?LIB_CODE</a>) Top=14 Bytes (<a href="#S11">?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -890,9 +859,8 @@
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S111">?PR?_KB_CB_EVENT?SYS</a></li>
-<li><a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
+<li><a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 <li><a href="#S2">?PR?_YC_LOAD_RECORD_LIST?BLUETOOTH</a></li>
-<li><a href="#S65">?PR?KB_BT_PINCODE_ENTER?KB_PROCESS</a></li>
 <li><a href="#S119">?PR?KB_CB_TIMER100MS?SYS</a></li>
 <li><a href="#S106">?PR?SYSTEM_LONG_SLEEP?SYS</a></li>
 <li><a href="#S9">?PR?YC_CANCEL_RECONNECT?BLUETOOTH</a></li>
@@ -902,7 +870,7 @@
 <li><a href="#S115">?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S138"></a>?PR?_IPC_TXDATA?IPC (C:000FF4H - C:001017H)</h2>
+<h2><a name="S138"></a>?PR?_IPC_TXDATA?IPC (C:000FB3H - C:000FD5H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S169">?PR?_XMEMCPY?UTILITIES</a>) Top=8 Bytes (<a href="#S143">?PR?_IPC_TXBLEDATA?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -911,20 +879,26 @@
 
 <p><br><b>Called from:</b></p>
 <ul>
+<li><a href="#S141">?PR?_IPC_TX24GDATA?IPC</a></li>
 <li><a href="#S143">?PR?_IPC_TXBLEDATA?IPC</a></li>
 <li><a href="#S140">?PR?_IPC_TXBREDRHIDDATA?IPC</a></li>
 <li><a href="#S142">?PR?_IPC_TXSPPDATA?IPC</a></li>
 </ul>
 
-<h2><a name="S141"></a>?PR?_IPC_TX24GDATA?IPC (C:000FEEH - C:000FF3H)</h2>
-<p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S59">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
+<h2><a name="S141"></a>?PR?_IPC_TX24GDATA?IPC (C:0035D4H - C:0035DCH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S138">?PR?_IPC_TXDATA?IPC</a>) Top=8 Bytes (<a href="#S61">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
+<p><br><b>Calls to:</b></p>
+<ul>
+<li><a href="#S138">?PR?_IPC_TXDATA?IPC</a></li>
+</ul>
+
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S59">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
+<li><a href="#S61">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S143"></a>?PR?_IPC_TXBLEDATA?IPC (C:003874H - C:00387CH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S138">?PR?_IPC_TXDATA?IPC</a>) Top=8 Bytes (<a href="#S59">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
+<h2><a name="S143"></a>?PR?_IPC_TXBLEDATA?IPC (C:0035E6H - C:0035EEH)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S138">?PR?_IPC_TXDATA?IPC</a>) Top=8 Bytes (<a href="#S61">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S138">?PR?_IPC_TXDATA?IPC</a></li>
@@ -932,10 +906,10 @@
 
 <p><br><b>Called from:</b></p>
 <ul>
-<li><a href="#S59">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
+<li><a href="#S61">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S146"></a>?PR?IPC_WAITLPM?IPC (C:001ED0H - C:001EDDH)</h2>
+<h2><a name="S146"></a>?PR?IPC_WAITLPM?IPC (C:000F8AH - C:000F96H)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S111">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -948,21 +922,21 @@
 <li><a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S147"></a>?PR?IPC_ABANDONLPM?IPC (C:001FDCH - C:001FE7H)</h2>
+<h2><a name="S147"></a>?PR?IPC_ABANDONLPM?IPC (C:001FB7H - C:001FC2H)</h2>
 <p><br><b>Maximum Stack:</b> Top=2 Bytes (<a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S148"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:0023D2H - C:0023E9H)</h2>
+<h2><a name="S148"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:002B9BH - C:002BB2H)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S68">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S68">?PR?KB_MOTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S149"></a>?PR?IPC_DEALSINGLESTEP?IPC (C:003652H - C:00385DH)</h2>
+<h2><a name="S149"></a>?PR?IPC_DEALSINGLESTEP?IPC (C:001CF5H - C:001EFDH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S132">?PR?_IPCRX?IPC</a>) Top=2 Bytes (<a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -991,7 +965,7 @@
 <li><a href="#S4">?PR?_YC_STORE_RECORD_LIST?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S171"></a>?PR?_DMEMCPY?UTILITIES (C:00388AH - C:0038CDH)</h2>
+<h2><a name="S171"></a>?PR?_DMEMCPY?UTILITIES (C:00230AH - C:00234DH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S219">?C?LIB_CODE</a>) Top=16 Bytes (<a href="#S213">?PR?_IIC_WRITE?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1013,14 +987,14 @@
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S71">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
-<li><a href="#S63">?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS</a></li>
+<li><a href="#S65">?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS</a></li>
 <li><a href="#S67">?PR?KB_24G_GET_LED_STATUS?KB_PROCESS</a></li>
 <li><a href="#S101">?PR?SYSTEM_CLEAR_MEM?SYS</a></li>
 <li><a href="#S114">?PR?YC_CONNECT_TIMEOUT_500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S175"></a>?PR?_XMEMCLEAR_FF?UTILITIES (C:0020CEH - C:0020FAH)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S219">?C?LIB_CODE</a>) Top=12 Bytes (<a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
+<h2><a name="S175"></a>?PR?_XMEMCLEAR_FF?UTILITIES (C:0035FCH - C:003628H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S219">?C?LIB_CODE</a>) Top=12 Bytes (<a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S219">?C?LIB_CODE</a></li>
@@ -1029,11 +1003,10 @@
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S111">?PR?_KB_CB_EVENT?SYS</a></li>
-<li><a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
-<li><a href="#S15">?PR?YC_CLEAR_BT_SAME_ADDRESS_RECORD?BLUETOOTH</a></li>
+<li><a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S177"></a>?PR?_DELAY1MS?UTILITIES (C:0016F3H - C:00170AH)</h2>
+<h2><a name="S177"></a>?PR?_DELAY1MS?UTILITIES (C:000F72H - C:000F89H)</h2>
 <p><br><b>Maximum Stack:</b> Top=14 Bytes (<a href="#S215">?PR?_IIC_WRITEBLOCK?IIC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -1041,15 +1014,15 @@
 <li><a href="#S111">?PR?_KB_CB_EVENT?SYS</a></li>
 <li><a href="#S73">?PR?_KB_DEVICE_SELECT?KB_PROCESS</a></li>
 <li><a href="#S71">?PR?_KB_MOTION_KEYSCAN?KB_PROCESS</a></li>
-<li><a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
+<li><a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 <li><a href="#S146">?PR?IPC_WAITLPM?IPC</a></li>
 <li><a href="#S117">?PR?KB_BUTTON_PRESS_TIMER500MS?SYS</a></li>
 <li><a href="#S116">?PR?YC_PAIRING_TIMEROUT_500MS?SYS</a></li>
 <li><a href="#S13">?PR?YC_START_RECONNECT?BLUETOOTH</a></li>
-<li><a href="#S17">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
+<li><a href="#S15">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S178"></a>?PR?_COMPARE_STR?UTILITIES (C:0020FBH - C:002144H)</h2>
+<h2><a name="S178"></a>?PR?_COMPARE_STR?UTILITIES (C:002BE3H - C:002C2CH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S219">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S94">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1059,10 +1032,9 @@
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S94">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
-<li><a href="#S15">?PR?YC_CLEAR_BT_SAME_ADDRESS_RECORD?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S180"></a>?PR?_GPIOSETBIT?GPIO (C:001F79H - C:001FD9H)</h2>
+<h2><a name="S180"></a>?PR?_GPIOSETBIT?GPIO (C:003629H - C:003689H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S219">?C?LIB_CODE</a>) Top=14 Bytes (<a href="#S192">?PR?_GPIO_SETOE?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1077,7 +1049,7 @@
 <li><a href="#S188">?PR?_GPIO_SETPU?GPIO</a></li>
 </ul>
 
-<h2><a name="S183"></a>?PR?_GPIOGETBIT?GPIO (C:0017F7H - C:001835H)</h2>
+<h2><a name="S183"></a>?PR?_GPIOGETBIT?GPIO (C:0017F6H - C:001834H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S219">?C?LIB_CODE</a>) Top=6 Bytes (<a href="#S204">?PR?_GPIO_FLIPOUTBIT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1089,7 +1061,7 @@
 <li><a href="#S204">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
 </ul>
 
-<h2><a name="S185"></a>?PR?_GPIO_GETINPUTSTATUS?GPIO (C:0017F1H - C:0017F6H)</h2>
+<h2><a name="S185"></a>?PR?_GPIO_GETINPUTSTATUS?GPIO (C:0017F0H - C:0017F5H)</h2>
 <p><br><b>Maximum Stack:</b> Top=8 Bytes (<a href="#S90">?PR?KS_SCANMATRIX?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -1099,7 +1071,7 @@
 <li><a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S186"></a>?PR?_GPIO_SETOUT?GPIO (C:0012BBH - C:0012CCH)</h2>
+<h2><a name="S186"></a>?PR?_GPIO_SETOUT?GPIO (C:0011D0H - C:0011E1H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S180">?PR?_GPIOSETBIT?GPIO</a>) Top=12 Bytes (<a href="#S196">?PR?_GPIO_SETOUTPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1111,16 +1083,16 @@
 <li><a href="#S204">?PR?_GPIO_FLIPOUTBIT?GPIO</a></li>
 <li><a href="#S196">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 <li><a href="#S111">?PR?_KB_CB_EVENT?SYS</a></li>
-<li><a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
+<li><a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 <li><a href="#S119">?PR?KB_CB_TIMER100MS?SYS</a></li>
 <li><a href="#S99">?PR?LED_DEVICE_POWEROFF?LED</a></li>
 <li><a href="#S98">?PR?LED_DEVICE_POWERON?LED</a></li>
 <li><a href="#S100">?PR?LED_HANDLE?LED</a></li>
 <li><a href="#S113">?PR?LED_TIMER100MS?SYS</a></li>
-<li><a href="#S17">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
+<li><a href="#S15">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S188"></a>?PR?_GPIO_SETPU?GPIO (C:001EF1H - C:001F01H)</h2>
+<h2><a name="S188"></a>?PR?_GPIO_SETPU?GPIO (C:001F7FH - C:001F90H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S180">?PR?_GPIOSETBIT?GPIO</a>) Top=12 Bytes (<a href="#S196">?PR?_GPIO_SETOUTPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1133,7 +1105,7 @@
 <li><a href="#S196">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S190"></a>?PR?_GPIO_SETPD?GPIO (C:001F68H - C:001F78H)</h2>
+<h2><a name="S190"></a>?PR?_GPIO_SETPD?GPIO (C:001F91H - C:001FA2H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S180">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S194">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1145,7 +1117,7 @@
 <li><a href="#S194">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S192"></a>?PR?_GPIO_SETOE?GPIO (C:001F20H - C:001F30H)</h2>
+<h2><a name="S192"></a>?PR?_GPIO_SETOE?GPIO (C:001FA3H - C:001FB4H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S180">?PR?_GPIOSETBIT?GPIO</a>) Top=12 Bytes (<a href="#S196">?PR?_GPIO_SETOUTPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1158,7 +1130,7 @@
 <li><a href="#S196">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S194"></a>?PR?_GPIO_SETINPUT?GPIO (C:001F02H - C:001F1FH)</h2>
+<h2><a name="S194"></a>?PR?_GPIO_SETINPUT?GPIO (C:001F61H - C:001F7EH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S190">?PR?_GPIO_SETPD?GPIO</a>) Top=8 Bytes (<a href="#S83">?PR?KSRAWINITIALIZE?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1176,7 +1148,7 @@
 <li><a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S196"></a>?PR?_GPIO_SETOUTPUT?GPIO (C:001CFFH - C:001D1AH)</h2>
+<h2><a name="S196"></a>?PR?_GPIO_SETOUTPUT?GPIO (C:00179FH - C:0017BBH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S192">?PR?_GPIO_SETOE?GPIO</a>) Top=10 Bytes (<a href="#S97">?PR?LED_ALL_SHUTDOWN?LED</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1191,7 +1163,7 @@
 <li><a href="#S98">?PR?LED_DEVICE_POWERON?LED</a></li>
 </ul>
 
-<h2><a name="S201"></a>?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO (C:001E27H - C:001E3AH)</h2>
+<h2><a name="S201"></a>?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO (C:001C55H - C:001C68H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S185">?PR?_GPIO_GETINPUTSTATUS?GPIO</a>) Top=4 Bytes (<a href="#S88">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1204,7 +1176,7 @@
 <li><a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S204"></a>?PR?_GPIO_FLIPOUTBIT?GPIO (C:0032A4H - C:0032C0H)</h2>
+<h2><a name="S204"></a>?PR?_GPIO_FLIPOUTBIT?GPIO (C:003308H - C:003324H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S183">?PR?_GPIOGETBIT?GPIO</a>) Top=4 Bytes (<a href="#S113">?PR?LED_TIMER100MS?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1214,17 +1186,18 @@
 
 <p><br><b>Called from:</b></p>
 <ul>
+<li><a href="#S119">?PR?KB_CB_TIMER100MS?SYS</a></li>
 <li><a href="#S113">?PR?LED_TIMER100MS?SYS</a></li>
 </ul>
 
-<h2><a name="S207"></a>?PR?GPIO_FILLPD?GPIO (C:00390DH - C:003940H)</h2>
+<h2><a name="S207"></a>?PR?GPIO_FILLPD?GPIO (C:0036C9H - C:0036FCH)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S88">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S88">?PR?KS_UNISTALL?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S210"></a>?PR?IICWAITDONE?IIC (C:0019F1H - C:0019F8H)</h2>
+<h2><a name="S210"></a>?PR?IICWAITDONE?IIC (C:002160H - C:002167H)</h2>
 <p><br><b>Maximum Stack:</b> Top=16 Bytes (<a href="#S211">?PR?_IIC_READ?IIC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -1232,7 +1205,7 @@
 <li><a href="#S213">?PR?_IIC_WRITE?IIC</a></li>
 </ul>
 
-<h2><a name="S211"></a>?PR?_IIC_READ?IIC (C:001941H - C:0019F0H)</h2>
+<h2><a name="S211"></a>?PR?_IIC_READ?IIC (C:0020B0H - C:00215FH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S210">?PR?IICWAITDONE?IIC</a>) Top=14 Bytes (<a href="#S14">?PR?YC_GET_BLE_RAMDON_LAP?BLUETOOTH</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1243,12 +1216,12 @@
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S111">?PR?_KB_CB_EVENT?SYS</a></li>
-<li><a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
+<li><a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 <li><a href="#S14">?PR?YC_GET_BLE_RAMDON_LAP?BLUETOOTH</a></li>
 <li><a href="#S13">?PR?YC_START_RECONNECT?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S213"></a>?PR?_IIC_WRITE?IIC (C:0019F9H - C:001A93H)</h2>
+<h2><a name="S213"></a>?PR?_IIC_WRITE?IIC (C:002168H - C:002201H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S171">?PR?_DMEMCPY?UTILITIES</a>) Top=14 Bytes (<a href="#S215">?PR?_IIC_WRITEBLOCK?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1261,8 +1234,8 @@
 <li><a href="#S215">?PR?_IIC_WRITEBLOCK?IIC</a></li>
 </ul>
 
-<h2><a name="S215"></a>?PR?_IIC_WRITEBLOCK?IIC (C:001A94H - C:001B41H)</h2>
-<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S213">?PR?_IIC_WRITE?IIC</a>) Top=12 Bytes (<a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
+<h2><a name="S215"></a>?PR?_IIC_WRITEBLOCK?IIC (C:001A88H - C:001B36H)</h2>
+<p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S213">?PR?_IIC_WRITE?IIC</a>) Top=12 Bytes (<a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S219">?C?LIB_CODE</a></li>
@@ -1273,9 +1246,9 @@
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S111">?PR?_KB_CB_EVENT?SYS</a></li>
-<li><a href="#S57">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
+<li><a href="#S59">?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS</a></li>
 <li><a href="#S126">?PR?YC_ADC_CHECK?ADC</a></li>
-<li><a href="#S17">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
+<li><a href="#S15">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
 <h2><a name="S219"></a>?C?LIB_CODE (C:000003H - C:0005DEH)</h2>
@@ -1290,7 +1263,7 @@
 <li><a href="#S215">?PR?_IIC_WRITEBLOCK?IIC</a></li>
 <li><a href="#S145">?PR?_IPC_INITIALIZE?IPC</a></li>
 <li><a href="#S136">?PR?_IPC_TXCONTROLCMD?IPC</a></li>
-<li><a href="#S59">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
+<li><a href="#S61">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 <li><a href="#S132">?PR?_IPCRX?IPC</a></li>
 <li><a href="#S134">?PR?_IPCTX?IPC</a></li>
 <li><a href="#S111">?PR?_KB_CB_EVENT?SYS</a></li>
@@ -1302,7 +1275,6 @@
 <li><a href="#S175">?PR?_XMEMCLEAR_FF?UTILITIES</a></li>
 <li><a href="#S169">?PR?_XMEMCPY?UTILITIES</a></li>
 <li><a href="#S149">?PR?IPC_DEALSINGLESTEP?IPC</a></li>
-<li><a href="#S65">?PR?KB_BT_PINCODE_ENTER?KB_PROCESS</a></li>
 <li><a href="#S126">?PR?YC_ADC_CHECK?ADC</a></li>
 <li><a href="#S124">?PR?YC_ADC_INIT?ADC</a></li>
 </ul>
Index: c51/output/FW.MAP
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/output/FW.MAP	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/output/FW.MAP	(working copy)
@@ -1,11 +1,11 @@
-LX51 LINKER/LOCATER V4.66.41.0                                                          08/01/2025  19:12:11  PAGE 1
+LX51 LINKER/LOCATER V4.66.41.0                                                          09/29/2025  13:28:06  PAGE 1
 
 
 LX51 LINKER/LOCATER V4.66.41.0, INVOKED BY:
 C:\KEIL\C51\BIN\LX51.EXE OUTPUT/BLUETOOTH.OBJ, OUTPUT/GLOBAL_VARIABLE.OBJ, OUTPUT/KB_PROCESS.OBJ, OUTPUT/KEYSCAN.OBJ, OU
->> TPUT/LED.OBJ, OUTPUT/SYS.OBJ, OUTPUT/ADC.OBJ, OUTPUT/RAM.OBJ, OUTPUT/..\PATCH\IPC.OBJ, OUTPUT/..\PATCH\UTILITIES.OBJ,
->>  OUTPUT/..\PATCH\GPIO.OBJ, OUTPUT/..\PATCH\IIC.OBJ TO OUTPUT\FW CLASSES (XDATA (X:0X4DD0-X:0X4F40), CODE (C:0-C:0XFFF
->> F), DATA (D:0X10-0X7F), IDATA (I:0X80-0XCF)) SEGMENTS (?STACK (D:0XD0)) NOOVERLAY PAGELENGTH (60000) CODE
+>> TPUT/LED.OBJ, OUTPUT/SYS.OBJ, OUTPUT/ADC.OBJ, OUTPUT/RAM.OBJ, OUTPUT/IPC.OBJ, OUTPUT/UTILITIES.OBJ, OUTPUT/GPIO.OBJ, 
+>> OUTPUT/IIC.OBJ TO OUTPUT\FW CLASSES (XDATA (X:0X4DD0-X:0X4F40), CODE (C:0-C:0XFFFF), DATA (D:0X10-0X7F), IDATA (I:0X8
+>> 0-0XCF)) SEGMENTS (?STACK (D:0XD0)) NOOVERLAY PAGELENGTH (60000) CODE
 
 
 CPU MODE:     8051 MODE
@@ -29,14 +29,14 @@
          COMMENT TYPE 0: C51 V9.54
   OUTPUT/RAM.OBJ (RAM)
          COMMENT TYPE 0: C51 V9.54
-  OUTPUT/..\PATCH\IPC.OBJ (IPC)
-         COMMENT TYPE 0: C51 V9.00
-  OUTPUT/..\PATCH\UTILITIES.OBJ (UTILITIES)
-         COMMENT TYPE 0: C51 V9.00
-  OUTPUT/..\PATCH\GPIO.OBJ (GPIO)
-         COMMENT TYPE 0: C51 V9.00
-  OUTPUT/..\PATCH\IIC.OBJ (IIC)
-         COMMENT TYPE 0: C51 V9.00
+  OUTPUT/IPC.OBJ (IPC)
+         COMMENT TYPE 0: C51 V9.54
+  OUTPUT/UTILITIES.OBJ (UTILITIES)
+         COMMENT TYPE 0: C51 V9.54
+  OUTPUT/GPIO.OBJ (GPIO)
+         COMMENT TYPE 0: C51 V9.54
+  OUTPUT/IIC.OBJ (IIC)
+         COMMENT TYPE 0: C51 V9.54
   C:\KEIL\C51\LIB\C51FPL.LIB (?C?FPADD)
          COMMENT TYPE 1: A51 / ASM51 Assembler
   C:\KEIL\C51\LIB\C51FPL.LIB (?C?FPMUL)
@@ -85,8 +85,8 @@
 
 BASE        START       END         USED      MEMORY CLASS
 ==========================================================
-X:000000H   X:004DD0H   X:004F40H   000398H   XDATA
-C:000000H   C:000000H   C:00FFFFH   00388BH   CODE
+X:000000H   X:004DD0H   X:004F40H   00039CH   XDATA
+C:000000H   C:000000H   C:00FFFFH   003647H   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
@@ -125,114 +125,112 @@
 000737H   000802H   0000CCH   BYTE   UNIT     CODE           ?PR?_YC_LOAD_RECORD_LIST?BLUETOOTH
 000803H   00087CH   00007AH   BYTE   UNIT     CODE           ?PR?_YC_STORE_RECORD_LIST?BLUETOOTH
 00087DH   0008BFH   000043H   BYTE   UNIT     CODE           ?PR?_XMEMCPY?UTILITIES
-0008C0H   000C1DH   00035EH   BYTE   UNIT     CODE           ?PR?_KB_MOTION_KEYSCAN?KB_PROCESS
-000C1EH   000D00H   0000E3H   BYTE   UNIT     CODE           ?PR?_IPC_TXHIDDATA?KB_PROCESS
+0008C0H   000C1CH   00035DH   BYTE   UNIT     CODE           ?PR?_KB_MOTION_KEYSCAN?KB_PROCESS
+000C1DH   000D00H   0000E4H   BYTE   UNIT     CODE           ?PR?_IPC_TXHIDDATA?KB_PROCESS
 000D01H   000D2CH   00002CH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR?UTILITIES
-000D2DH   000DC9H   00009DH   BYTE   UNIT     CODE           ?PR?SYSTEM_CLEAR_MEM?SYS
-000DCAH   000E03H   00003AH   BYTE   UNIT     CODE           ?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS
-000E04H   000EDAH   0000D7H   BYTE   UNIT     CODE           ?PR?KB_NEED_KEYSCAN?KB_PROCESS
-000EDBH   000FC7H   0000EDH   BYTE   UNIT     CODE           ?PR?YC_CONNECT_TIMEOUT_500MS?SYS
-000FC8H   000FEDH   000026H   BYTE   UNIT     CODE           ?PR?SYSTEM_G24_LONG_LPM?SYS
-000FEEH   000FF3H   000006H   BYTE   UNIT     CODE           ?PR?_IPC_TX24GDATA?IPC
-000FF4H   001017H   000024H   BYTE   UNIT     CODE           ?PR?_IPC_TXDATA?IPC
-001018H   0010ACH   000095H   BYTE   UNIT     CODE           ?PR?_IPCTX?IPC
-0010ADH   0010D6H   00002AH   BYTE   UNIT     CODE           ?PR?_IPC_TXCONTROLCMD?IPC
-0010D7H   0012BAH   0001E4H   BYTE   UNIT     CODE           ?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS
-0012BBH   0012CCH   000012H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUT?GPIO
-0012CDH   0013BBH   0000EFH   BYTE   UNIT     CODE           ?PR?LED_HANDLE?LED
-0013BCH   0016F2H   000337H   BYTE   UNIT     CODE           ?PR?_KB_CB_EVENT?SYS
-0016F3H   00170AH   000018H   BYTE   UNIT     CODE           ?PR?_DELAY1MS?UTILITIES
-00170BH   0017BCH   0000B2H   BYTE   UNIT     CODE           ?PR?YC_START_RECONNECT?BLUETOOTH
-0017BDH   0017C5H   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_LONG_SLEEP?SYS
-0017C6H   0017F0H   00002BH   BYTE   UNIT     CODE           ?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH
-0017F1H   0017F6H   000006H   BYTE   UNIT     CODE           ?PR?_GPIO_GETINPUTSTATUS?GPIO
-0017F7H   001835H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIOGETBIT?GPIO
-001836H   00184AH   000015H   BYTE   UNIT     CODE           ?PR?YC_CHECK_IS_CONNECTED?BLUETOOTH
-00184BH   0018CAH   000080H   BYTE   UNIT     CODE           ?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH
-0018CBH   0018DCH   000012H   BYTE   UNIT     CODE           ?PR?YC_CANCEL_RECONNECT?BLUETOOTH
-0018DDH   0018E6H   00000AH   BYTE   UNIT     CODE           ?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH
-0018E7H   0018FDH   000017H   BYTE   UNIT     CODE           ?PR?YC_G24_MODE_DISCOVERY?BLUETOOTH
-0018FEH   001940H   000043H   BYTE   UNIT     CODE           ?PR?YC_GET_BLE_RAMDON_LAP?BLUETOOTH
-001941H   0019F0H   0000B0H   BYTE   UNIT     CODE           ?PR?_IIC_READ?IIC
-0019F1H   0019F8H   000008H   BYTE   UNIT     CODE           ?PR?IICWAITDONE?IIC
-0019F9H   001A93H   00009BH   BYTE   UNIT     CODE           ?PR?_IIC_WRITE?IIC
-001A94H   001B41H   0000AEH   BYTE   UNIT     CODE           ?PR?_IIC_WRITEBLOCK?IIC
-001B42H   001BDCH   00009BH   BYTE   UNIT     CODE           ?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH
-001BDDH   001CD6H   0000FAH   BYTE   UNIT     CODE           ?PR?KB_BUTTON_PRESS_TIMER500MS?SYS
-001CD7H   001CFEH   000028H   BYTE   UNIT     CODE           ?PR?LED_ALL_SHUTDOWN?LED
-001CFFH   001D1AH   00001CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUTPUT?GPIO
-001D1BH   001D8DH   000073H   BYTE   UNIT     CODE           ?PR?YC_SYSTEM_MAIN?SYS
-001D8EH   001E26H   000099H   BYTE   UNIT     CODE           ?PR?KS_UNISTALL?KEYSCAN
-001E27H   001E3AH   000014H   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO
-001E3BH   001EC6H   00008CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUP?GPIO
-001EC7H   ---       000000H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
-001EC7H   001ECFH   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
-001ED0H   001EDDH   00000EH   BYTE   UNIT     CODE           ?PR?IPC_WAITLPM?IPC
-001EDEH   001EE3H   000006H   BYTE   UNIT     CODE           ?PR?KB_CB_INIT?SYS
-001EE4H   001EF0H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_INITIALIZE?IPC
-001EF1H   001F01H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPU?GPIO
-001F02H   001F1FH   00001EH   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT?GPIO
-001F20H   001F30H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOE?GPIO
-001F31H   001F3DH   00000DH   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_INIT?SYS
-001F3EH   001F49H   00000CH   BYTE   UNIT     CODE           ?PR?KS_INITIALIZE?KEYSCAN
-001F4AH   001F67H   00001EH   BYTE   UNIT     CODE           ?PR?KSCOLINITIALIZE?KEYSCAN
-001F68H   001F78H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPD?GPIO
-001F79H   001FD9H   000061H   BYTE   UNIT     CODE           ?PR?_GPIOSETBIT?GPIO
-001FDAH   001FDBH   000002H   BYTE   UNIT     CODE           ?PR?MAIN?RAM
-001FDCH   001FE7H   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
-001FE8H   0020CDH   0000E6H   BYTE   UNIT     CODE           ?PR?YC_CLEAR_BT_SAME_ADDRESS_RECORD?BLUETOOTH
-0020CEH   0020FAH   00002DH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR_FF?UTILITIES
-0020FBH   002144H   00004AH   BYTE   UNIT     CODE           ?PR?_COMPARE_STR?UTILITIES
-002145H   002390H   00024CH   BYTE   UNIT     CODE           ?PR?KS_GETCURRENTEVT?KEYSCAN
-002391H   00239EH   00000EH   BYTE   UNIT     CODE           ?PR?_BIT_COUNT?KEYSCAN
-00239FH   0023D1H   000033H   BYTE   UNIT     CODE           ?PR?KB_MOTION?KB_PROCESS
-0023D2H   0023E9H   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
-0023EAH   002419H   000030H   BYTE   UNIT     CODE           ?PR?_ARRAY_IS_EMPTY?KEYSCAN
-00241AH   00246CH   000053H   BYTE   UNIT     CODE           ?PR?KB_24G_GET_LED_STATUS?KB_PROCESS
-00246DH   0024C2H   000056H   BYTE   UNIT     CODE           ?PR?_KEYIN?KEYSCAN
-0024C3H   00256CH   0000AAH   BYTE   UNIT     CODE           ?PR?_KEYOUT?KEYSCAN
-00256DH   002663H   0000F7H   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
-002664H   00267EH   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_MULTIKEY?KB_PROCESS
-00267FH   002998H   00031AH   BYTE   UNIT     CODE           ?PR?_KB_MULTIKEY_SETUP?KB_PROCESS
-002999H   0029B3H   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_SYSTEMKEY?KB_PROCESS
-0029B4H   002C26H   000273H   BYTE   UNIT     CODE           ?PR?KB_BT_PINCODE_ENTER?KB_PROCESS
-002C27H   002CB9H   000093H   BYTE   UNIT     CODE           ?PR?_KB_DEVICE_SELECT?KB_PROCESS
-002CBAH   002CDEH   000025H   BYTE   UNIT     CODE           ?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS
-002CDFH   002CFCH   00001EH   BYTE   UNIT     CODE           ?PR?KSRAWINITIALIZE?KEYSCAN
-002CFDH   002E8FH   000193H   BYTE   UNIT     CODE           ?PR?KS_SCANMATRIX?KEYSCAN
-002E90H   002EC0H   000031H   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWERON?LED
-002EC1H   002EF1H   000031H   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWEROFF?LED
-002EF2H   00303CH   00014BH   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
-00303DH   00304FH   000013H   BYTE   UNIT     CODE           ?PR?SYSTEM_IIC_CLK_SETUP?SYS
-003050H   003084H   000035H   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
-003085H   00323BH   0001B7H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
-00323CH   00324BH   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
-00324CH   0032A3H   000058H   BYTE   UNIT     CODE           ?PR?LED_TIMER100MS?SYS
-0032A4H   0032C0H   00001DH   BYTE   UNIT     CODE           ?PR?_GPIO_FLIPOUTBIT?GPIO
-0032C1H   003300H   000040H   BYTE   UNIT     CODE           ?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS
-003301H   003329H   000029H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER500MS?SYS
-00332AH   00333AH   000011H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK_TIMER500MS?ADC
-00333BH   003387H   00004DH   BYTE   UNIT     CODE           ?PR?YC_PAIRING_TIMEROUT_500MS?SYS
-003388H   0035A7H   000220H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
-0035A8H   003601H   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
-003602H   003651H   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
-003652H   00385DH   00020CH   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
-00385EH   00386AH   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_TXBREDRHIDDATA?IPC
-00386BH   003873H   000009H   BYTE   UNIT     CODE           ?PR?_IPC_TXSPPDATA?IPC
-003874H   00387CH   000009H   BYTE   UNIT     CODE           ?PR?_IPC_TXBLEDATA?IPC
-00387DH   003882H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
-003883H   003889H   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
-00388AH   0038CDH   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
-0038CEH   00390CH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
-00390DH   003940H   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPD?GPIO
+000D2DH   000DC6H   00009AH   BYTE   UNIT     CODE           ?PR?SYSTEM_CLEAR_MEM?SYS
+000DC7H   000E00H   00003AH   BYTE   UNIT     CODE           ?PR?_KB_SEND_COMBINATION_KEY?KB_PROCESS
+000E01H   000E84H   000084H   BYTE   UNIT     CODE           ?PR?KB_NEED_KEYSCAN?KB_PROCESS
+000E85H   000F71H   0000EDH   BYTE   UNIT     CODE           ?PR?YC_CONNECT_TIMEOUT_500MS?SYS
+000F72H   000F89H   000018H   BYTE   UNIT     CODE           ?PR?_DELAY1MS?UTILITIES
+000F8AH   000F96H   00000DH   BYTE   UNIT     CODE           ?PR?IPC_WAITLPM?IPC
+000F97H   000FB2H   00001CH   BYTE   UNIT     CODE           ?PR?SYSTEM_G24_LONG_LPM?SYS
+000FB3H   000FD5H   000023H   BYTE   UNIT     CODE           ?PR?_IPC_TXDATA?IPC
+000FD6H   00106AH   000095H   BYTE   UNIT     CODE           ?PR?_IPCTX?IPC
+00106BH   0010C4H   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
+0010C5H   0010D9H   000015H   BYTE   UNIT     CODE           ?PR?YC_CHECK_IS_CONNECTED?BLUETOOTH
+0010DAH   0011CFH   0000F6H   BYTE   UNIT     CODE           ?PR?LED_HANDLE?LED
+0011D0H   0011E1H   000012H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUT?GPIO
+0011E2H   0013C8H   0001E7H   BYTE   UNIT     CODE           ?PR?_YC_KEY_ACTION_HANDLE?KB_PROCESS
+0013C9H   0013F3H   00002BH   BYTE   UNIT     CODE           ?PR?_IPC_TXCONTROLCMD?IPC
+0013F4H   001795H   0003A2H   BYTE   UNIT     CODE           ?PR?_KB_CB_EVENT?SYS
+001796H   00179EH   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_LONG_SLEEP?SYS
+00179FH   0017BBH   00001DH   BYTE   UNIT     CODE           ?PR?_GPIO_SETOUTPUT?GPIO
+0017BCH   0017E5H   00002AH   BYTE   UNIT     CODE           ?PR?LED_ALL_SHUTDOWN?LED
+0017E6H   0017EFH   00000AH   BYTE   UNIT     CODE           ?PR?YC_CLEAR_RECONNECT_FLAG?BLUETOOTH
+0017F0H   0017F5H   000006H   BYTE   UNIT     CODE           ?PR?_GPIO_GETINPUTSTATUS?GPIO
+0017F6H   001834H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIOGETBIT?GPIO
+001835H   0018B4H   000080H   BYTE   UNIT     CODE           ?PR?YC_CHECK_NEED_RECONNECTED?BLUETOOTH
+0018B5H   0018C6H   000012H   BYTE   UNIT     CODE           ?PR?YC_CANCEL_RECONNECT?BLUETOOTH
+0018C7H   0018F3H   00002DH   BYTE   UNIT     CODE           ?PR?YC_DISCONNECT_ALL_LINK?BLUETOOTH
+0018F4H   0019ECH   0000F9H   BYTE   UNIT     CODE           ?PR?KB_BUTTON_PRESS_TIMER500MS?SYS
+0019EDH   001A87H   00009BH   BYTE   UNIT     CODE           ?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH
+001A88H   001B36H   0000AFH   BYTE   UNIT     CODE           ?PR?_IIC_WRITEBLOCK?IIC
+001B37H   ---       000000H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
+001B37H   001B3FH   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
+001B40H   001BBBH   00007CH   BYTE   UNIT     CODE           ?PR?YC_SYSTEM_MAIN?SYS
+001BBCH   001C54H   000099H   BYTE   UNIT     CODE           ?PR?KS_UNISTALL?KEYSCAN
+001C55H   001C68H   000014H   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO
+001C69H   001CF4H   00008CH   BYTE   UNIT     CODE           ?PR?_GPIO_SETWAKEUP?GPIO
+001CF5H   001EFDH   000209H   BYTE   UNIT     CODE           ?PR?IPC_DEALSINGLESTEP?IPC
+001EFEH   001F4DH   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
+001F4EH   001F53H   000006H   BYTE   UNIT     CODE           ?PR?KB_CB_INIT?SYS
+001F54H   001F60H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_INITIALIZE?IPC
+001F61H   001F7EH   00001EH   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT?GPIO
+001F7FH   001F90H   000012H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPU?GPIO
+001F91H   001FA2H   000012H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPD?GPIO
+001FA3H   001FB4H   000012H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOE?GPIO
+001FB5H   001FB6H   000002H   BYTE   UNIT     CODE           ?PR?MAIN?RAM
+001FB7H   001FC2H   00000CH   BYTE   UNIT     CODE           ?PR?IPC_ABANDONLPM?IPC
+001FC3H   001FD0H   00000EH   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_INIT?SYS
+001FD1H   001FDCH   00000CH   BYTE   UNIT     CODE           ?PR?KS_INITIALIZE?KEYSCAN
+001FDDH   001FFAH   00001EH   BYTE   UNIT     CODE           ?PR?KSCOLINITIALIZE?KEYSCAN
+001FFBH   002011H   000017H   BYTE   UNIT     CODE           ?PR?YC_G24_MODE_DISCOVERY?BLUETOOTH
+002012H   0020AFH   00009EH   BYTE   UNIT     CODE           ?PR?YC_START_RECONNECT?BLUETOOTH
+0020B0H   00215FH   0000B0H   BYTE   UNIT     CODE           ?PR?_IIC_READ?IIC
+002160H   002167H   000008H   BYTE   UNIT     CODE           ?PR?IICWAITDONE?IIC
+002168H   002201H   00009AH   BYTE   UNIT     CODE           ?PR?_IIC_WRITE?IIC
+002202H   002244H   000043H   BYTE   UNIT     CODE           ?PR?YC_GET_BLE_RAMDON_LAP?BLUETOOTH
+002245H   002287H   000043H   BYTE   UNIT     CODE           ?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS
+002288H   00229FH   000018H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER500MS?SYS
+0022A0H   0022F8H   000059H   BYTE   UNIT     CODE           ?PR?YC_PAIRING_TIMEROUT_500MS?SYS
+0022F9H   002309H   000011H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK_TIMER500MS?ADC
+00230AH   00234DH   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
+00234EH   00256DH   000220H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
+00256EH   002588H   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_MULTIKEY?KB_PROCESS
+002589H   0028A0H   000318H   BYTE   UNIT     CODE           ?PR?_KB_MULTIKEY_SETUP?KB_PROCESS
+0028A1H   0028BBH   00001BH   BYTE   UNIT     CODE           ?PR?_KB_SET_SYSTEMKEY?KB_PROCESS
+0028BCH   00290EH   000053H   BYTE   UNIT     CODE           ?PR?KB_24G_GET_LED_STATUS?KB_PROCESS
+00290FH   002941H   000033H   BYTE   UNIT     CODE           ?PR?KB_MOTION?KB_PROCESS
+002942H   002B8CH   00024BH   BYTE   UNIT     CODE           ?PR?KS_GETCURRENTEVT?KEYSCAN
+002B8DH   002B9AH   00000EH   BYTE   UNIT     CODE           ?PR?_BIT_COUNT?KEYSCAN
+002B9BH   002BB2H   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
+002BB3H   002BE2H   000030H   BYTE   UNIT     CODE           ?PR?_ARRAY_IS_EMPTY?KEYSCAN
+002BE3H   002C2CH   00004AH   BYTE   UNIT     CODE           ?PR?_COMPARE_STR?UTILITIES
+002C2DH   002C82H   000056H   BYTE   UNIT     CODE           ?PR?_KEYIN?KEYSCAN
+002C83H   002D2CH   0000AAH   BYTE   UNIT     CODE           ?PR?_KEYOUT?KEYSCAN
+002D2DH   002EBFH   000193H   BYTE   UNIT     CODE           ?PR?KS_SCANMATRIX?KEYSCAN
+002EC0H   002F53H   000094H   BYTE   UNIT     CODE           ?PR?_KB_DEVICE_SELECT?KB_PROCESS
+002F54H   002F78H   000025H   BYTE   UNIT     CODE           ?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS
+002F79H   003148H   0001D0H   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
+003149H   003166H   00001EH   BYTE   UNIT     CODE           ?PR?KSRAWINITIALIZE?KEYSCAN
+003167H   003197H   000031H   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWERON?LED
+003198H   003307H   000170H   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
+003308H   003324H   00001DH   BYTE   UNIT     CODE           ?PR?_GPIO_FLIPOUTBIT?GPIO
+003325H   003380H   00005CH   BYTE   UNIT     CODE           ?PR?LED_TIMER100MS?SYS
+003381H   0033B1H   000031H   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWEROFF?LED
+0033B2H   0033C4H   000013H   BYTE   UNIT     CODE           ?PR?SYSTEM_IIC_CLK_SETUP?SYS
+0033C5H   0033FDH   000039H   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
+0033FEH   0035B6H   0001B9H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
+0035B7H   0035C6H   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
+0035C7H   0035D3H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_TXBREDRHIDDATA?IPC
+0035D4H   0035DCH   000009H   BYTE   UNIT     CODE           ?PR?_IPC_TX24GDATA?IPC
+0035DDH   0035E5H   000009H   BYTE   UNIT     CODE           ?PR?_IPC_TXSPPDATA?IPC
+0035E6H   0035EEH   000009H   BYTE   UNIT     CODE           ?PR?_IPC_TXBLEDATA?IPC
+0035EFH   0035F4H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
+0035F5H   0035FBH   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
+0035FCH   003628H   00002DH   BYTE   UNIT     CODE           ?PR?_XMEMCLEAR_FF?UTILITIES
+003629H   003689H   000061H   BYTE   UNIT     CODE           ?PR?_GPIOSETBIT?GPIO
+00368AH   0036C8H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
+0036C9H   0036FCH   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?31
+000040H   000045H   000006H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?33
 000046H   0000A2H   00005DH   ---    ---      **GAP**
 0000A3H   0000A6H   000004H   BYTE   OFFS..   XDATA          ?XD?GPIO?1
 0000A7H   0000AAH   000004H   BYTE   OFFS..   XDATA          ?XD?GPIO?0
 0000ABH   0003CFH   000325H   ---    ---      **GAP**
-0003D0H   0003D5H   000006H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?2
+0003D0H   0003D5H   000006H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?3
 0003D6H   000445H   000070H   ---    ---      **GAP**
 000446H   000446H   000001H   BYTE   OFFS..   XDATA          ?XD?IPC?9
 000447H   00054EH   000108H   ---    ---      **GAP**
@@ -242,33 +240,31 @@
 000B7EH   000B7EH   000001H   BYTE   OFFS..   XDATA          ?XD?IPC?0
 000B7FH   000B7FH   000001H   BYTE   OFFS..   XDATA          ?XD?IPC?5
 000B80H   000B80H   000001H   ---    ---      **GAP**
-000B81H   000B81H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?8
+000B81H   000B81H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?10
 000B82H   000B82H   000001H   ---    ---      **GAP**
 000B83H   000BE6H   000064H   BYTE   OFFS..   XDATA          ?XD?IIC?1
 000BE7H   000C4AH   000064H   BYTE   OFFS..   XDATA          ?XD?IPC?6
 000C4BH   000CAEH   000064H   BYTE   OFFS..   XDATA          ?XD?IPC?3
 000CAFH   000CB2H   000004H   BYTE   OFFS..   XDATA          ?XD?IIC?0
 000CB3H   004130H   00347EH   ---    ---      **GAP**
-004131H   004131H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?10
+004131H   004131H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?12
 004132H   004212H   0000E1H   ---    ---      **GAP**
-004213H   004213H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?34
+004213H   004213H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?37
 004214H   00425DH   00004AH   ---    ---      **GAP**
-00425EH   00425EH   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?14
+00425EH   00425EH   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?16
 00425FH   004261H   000003H   ---    ---      **GAP**
-004262H   004271H   000010H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?26
+004262H   004271H   000010H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?27
 004272H   004273H   000002H   ---    ---      **GAP**
-004274H   004279H   000006H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?30
+004274H   004279H   000006H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?32
 00427AH   00447AH   000201H   ---    ---      **GAP**
-00447BH   00448AH   000010H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?27
-00448BH   00448BH   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?9
+00447BH   00448AH   000010H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?28
+00448BH   00448BH   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?11
 00448CH   0044F8H   00006DH   ---    ---      **GAP**
-0044F9H   0044FEH   000006H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?22
-0044FFH   004701H   000203H   ---    ---      **GAP**
-004702H   004702H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?24
-004703H   0047F3H   0000F1H   ---    ---      **GAP**
-0047F4H   0047F5H   000002H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?29
+0044F9H   0044FEH   000006H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?24
+0044FFH   0047F3H   0002F5H   ---    ---      **GAP**
+0047F4H   0047F5H   000002H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?31
 0047F6H   0047FFH   00000AH   ---    ---      **GAP**
-004800H   004809H   00000AH   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?21
+004800H   004809H   00000AH   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?23
 00480AH   004B99H   000390H   ---    ---      **GAP**
 004B9AH   004B9BH   000002H   BYTE   OFFS..   XDATA          ?XD?IPC?4
 004B9CH   004B9DH   000002H   BYTE   OFFS..   XDATA          ?XD?IPC?8
@@ -278,89 +274,97 @@
 004BA5H   004BA6H   000002H   BYTE   OFFS..   XDATA          ?XD?IPC?14
 004BA7H   004BEAH   000044H   ---    ---      **GAP**
 004BEBH   004BEEH   000004H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?0
-004BEFH   004BEFH   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?13
+004BEFH   004BEFH   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?15
 004BF0H   004BFFH   000010H   ---    ---      **GAP**
-004C00H   004C03H   000004H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?5
-004C04H   004C5DH   00005AH   ---    ---      **GAP**
-004C5EH   004C5FH   000002H   BYTE   OFFS..   XDATA          ?XD?IPC?12
-004C60H   004C8CH   00002DH   ---    ---      **GAP**
-004C8DH   004C8DH   000001H   BYTE   OFFS..   XDATA          ?XD?IPC?13
-004C8EH   004C8EH   000001H   BYTE   OFFS..   XDATA          ?XD?IPC?10
-004C8FH   004C8FH   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?28
-004C90H   004C90H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?16
-004C91H   004C92H   000002H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?7
-004C93H   004C94H   000002H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?11
-004C95H   004C96H   000002H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?33
-004C97H   004CB5H   00001FH   ---    ---      **GAP**
-004CB6H   004CB6H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?19
-004CB7H   004CB7H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?17
-004CB8H   004CBEH   000007H   ---    ---      **GAP**
-004CBFH   004D10H   000052H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?3
-004D11H   004D37H   000027H   ---    ---      **GAP**
-004D38H   004D38H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?32
-004D39H   004D3CH   000004H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?36
-004D3DH   004D3DH   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?35
-004D3EH   004D3FH   000002H   ---    ---      **GAP**
-004D40H   004D43H   000004H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?18
-004D44H   004D45H   000002H   ---    ---      **GAP**
-004D46H   004D46H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?15
-004D47H   004D50H   00000AH   ---    ---      **GAP**
-004D51H   004D51H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?20
-004D52H   004D7CH   00002BH   ---    ---      **GAP**
-004D7DH   004D7DH   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?6
-004D7EH   004D7EH   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?12
-004D7FH   004D92H   000014H   ---    ---      **GAP**
-004D93H   004DA6H   000014H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?25
+004C00H   004C03H   000004H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?7
+004C04H   004C3DH   00003AH   ---    ---      **GAP**
+004C3EH   004C3FH   000002H   BYTE   OFFS..   XDATA          ?XD?IPC?12
+004C40H   004C6CH   00002DH   ---    ---      **GAP**
+004C6DH   004C6DH   000001H   BYTE   OFFS..   XDATA          ?XD?IPC?13
+004C6EH   004C6EH   000001H   BYTE   OFFS..   XDATA          ?XD?IPC?10
+004C6FH   004C6FH   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?29
+004C70H   004C70H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?18
+004C71H   004C72H   000002H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?9
+004C73H   004C74H   000002H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?13
+004C75H   004C76H   000002H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?36
+004C77H   004C79H   000003H   ---    ---      **GAP**
+004C7AH   004C7AH   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?21
+004C7BH   004C7BH   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?19
+004C7CH   004C82H   000007H   ---    ---      **GAP**
+004C83H   004CD5H   000053H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?5
+004CD6H   004CE6H   000011H   ---    ---      **GAP**
+004CE7H   004CE7H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?35
+004CE8H   004CEBH   000004H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?39
+004CECH   004CECH   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?38
+004CEDH   004CEEH   000002H   ---    ---      **GAP**
+004CEFH   004CF2H   000004H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?20
+004CF3H   004CF3H   000001H   ---    ---      **GAP**
+004CF4H   004CF4H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?4
+004CF5H   004CF5H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?17
+004CF6H   004CFFH   00000AH   ---    ---      **GAP**
+004D00H   004D00H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?22
+004D01H   004D26H   000026H   ---    ---      **GAP**
+004D27H   004D27H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?8
+004D28H   004D28H   000001H   ---    ---      **GAP**
+004D29H   004D29H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?14
+004D2AH   004D3CH   000013H   ---    ---      **GAP**
+004D3DH   004D3DH   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?1
+004D3EH   004D48H   00000BH   ---    ---      **GAP**
+004D49H   004D49H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?34
+004D4AH   004D5DH   000014H   ---    ---      **GAP**
+004D5EH   004D5EH   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?30
+004D5FH   004D7AH   00001CH   ---    ---      **GAP**
+004D7BH   004D7BH   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?40
+004D7CH   004D92H   000017H   ---    ---      **GAP**
+004D93H   004DA6H   000014H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?26
 004DA7H   004DA7H   000001H   ---    ---      **GAP**
-004DA8H   004DBBH   000014H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?1
-004DBCH   004DCFH   000014H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?23
-004DD0H   004E59H   00008AH   BYTE   UNIT     XDATA          ?XD?GLOBAL_VARIABLE
-004E5AH   004E6BH   000012H   BYTE   UNIT     XDATA          ?XD?SYS
-004E6CH   004E7DH   000012H   BYTE   UNIT     XDATA          ?XD?IPC
-004E7EH   004E8BH   00000EH   BYTE   UNIT     XDATA          ?XD?_IPC_TXHIDDATA?KB_PROCESS
-004E8CH   004E96H   00000BH   BYTE   UNIT     XDATA          ?XD?KS_GETCURRENTEVT?KEYSCAN
-004E97H   004E9FH   000009H   BYTE   UNIT     XDATA          ?XD?_IIC_WRITEBLOCK?IIC
-004EA0H   004EA7H   000008H   BYTE   UNIT     XDATA          ?XD?_DMEMCPY?UTILITIES
-004EA8H   004EAEH   000007H   BYTE   UNIT     XDATA          ?XD?KEYSCAN
-004EAFH   004EB5H   000007H   BYTE   UNIT     XDATA          ?XD?_COMPARE_STR?UTILITIES
-004EB6H   004EBCH   000007H   BYTE   UNIT     XDATA          ?XD?_IIC_WRITE?IIC
-004EBDH   004EC2H   000006H   BYTE   UNIT     XDATA          ?XD?_IPCTX?IPC
-004EC3H   004EC8H   000006H   BYTE   UNIT     XDATA          ?XD?_XMEMCPY?UTILITIES
-004EC9H   004ECDH   000005H   BYTE   UNIT     XDATA          ?XD?_KB_MOTION_KEYSCAN?KB_PROCESS
-004ECEH   004ED2H   000005H   BYTE   UNIT     XDATA          ?XD?YC_ADC_CHECK?ADC
-004ED3H   004ED7H   000005H   BYTE   UNIT     XDATA          ?XD?_IIC_READ?IIC
-004ED8H   004EDBH   000004H   BYTE   UNIT     XDATA          ?XD?_KB_MULTIKEY_SETUP?KB_PROCESS
-004EDCH   004EDFH   000004H   BYTE   UNIT     XDATA          ?XD?_BUFSIZE?IPC
-004EE0H   004EE3H   000004H   BYTE   UNIT     XDATA          ?XD?_IPC_TXCONTROLCMD?IPC
-004EE4H   004EE6H   000003H   BYTE   UNIT     XDATA          ?XD?KB_BT_PINCODE_ENTER?KB_PROCESS
-004EE7H   004EE9H   000003H   BYTE   UNIT     XDATA          ?XD?KB_MOTION?KB_PROCESS
-004EEAH   004EECH   000003H   BYTE   UNIT     XDATA          ?XD?_KB_DEVICE_SELECT?KB_PROCESS
-004EEDH   004EEFH   000003H   BYTE   UNIT     XDATA          ?XD?KS_SCANMATRIX?KEYSCAN
-004EF0H   004EF2H   000003H   BYTE   UNIT     XDATA          ?XD?_ARRAY_IS_EMPTY?KEYSCAN
-004EF3H   004EF5H   000003H   BYTE   UNIT     XDATA          ?XD?IPC_DEALSINGLESTEP?IPC
-004EF6H   004EF8H   000003H   BYTE   UNIT     XDATA          ?XD?_XMEMCLEAR?UTILITIES
-004EF9H   004EFBH   000003H   BYTE   UNIT     XDATA          ?XD?_XMEMCLEAR_FF?UTILITIES
-004EFCH   004EFEH   000003H   BYTE   UNIT     XDATA          ?XD?_GPIOSETBIT?GPIO
-004EFFH   004F00H   000002H   BYTE   UNIT     XDATA          ?XD?_KB_SEND_COMBINATION_KEY?KB_PROCESS
-004F01H   004F02H   000002H   BYTE   UNIT     XDATA          ?XD?_KB_CB_HID?SYS
-004F03H   004F04H   000002H   BYTE   UNIT     XDATA          ?XD?_IPCRX?IPC
-004F05H   004F05H   000001H   BYTE   UNIT     XDATA          ?XD?_YC_LOAD_RECORD_LIST?BLUETOOTH
-004F06H   004F06H   000001H   BYTE   UNIT     XDATA          ?XD?_YC_STORE_RECORD_LIST?BLUETOOTH
-004F07H   004F07H   000001H   BYTE   UNIT     XDATA          ?XD?YC_CHECK_NEED_RECONNECTED?BLUETOOTH
-004F08H   004F08H   000001H   BYTE   UNIT     XDATA          ?XD?YC_CLEAR_BT_SAME_ADDRESS_RECORD?BLUETOOTH
+004DA8H   004DBBH   000014H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?2
+004DBCH   004DCFH   000014H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?25
+004DD0H   004E5BH   00008CH   BYTE   UNIT     XDATA          ?XD?GLOBAL_VARIABLE
+004E5CH   004E6DH   000012H   BYTE   UNIT     XDATA          ?XD?SYS
+004E6EH   004E7FH   000012H   BYTE   UNIT     XDATA          ?XD?IPC
+004E80H   004E8DH   00000EH   BYTE   UNIT     XDATA          ?XD?_IPC_TXHIDDATA?KB_PROCESS
+004E8EH   004E98H   00000BH   BYTE   UNIT     XDATA          ?XD?KS_GETCURRENTEVT?KEYSCAN
+004E99H   004EA1H   000009H   BYTE   UNIT     XDATA          ?XD?_IIC_WRITEBLOCK?IIC
+004EA2H   004EA9H   000008H   BYTE   UNIT     XDATA          ?XD?_DMEMCPY?UTILITIES
+004EAAH   004EB0H   000007H   BYTE   UNIT     XDATA          ?XD?KEYSCAN
+004EB1H   004EB7H   000007H   BYTE   UNIT     XDATA          ?XD?_COMPARE_STR?UTILITIES
+004EB8H   004EBEH   000007H   BYTE   UNIT     XDATA          ?XD?_IIC_WRITE?IIC
+004EBFH   004EC4H   000006H   BYTE   UNIT     XDATA          ?XD?_IPCTX?IPC
+004EC5H   004ECAH   000006H   BYTE   UNIT     XDATA          ?XD?_XMEMCPY?UTILITIES
+004ECBH   004ECFH   000005H   BYTE   UNIT     XDATA          ?XD?_KB_MOTION_KEYSCAN?KB_PROCESS
+004ED0H   004ED4H   000005H   BYTE   UNIT     XDATA          ?XD?YC_ADC_CHECK?ADC
+004ED5H   004ED9H   000005H   BYTE   UNIT     XDATA          ?XD?_IIC_READ?IIC
+004EDAH   004EDDH   000004H   BYTE   UNIT     XDATA          ?XD?_KB_MULTIKEY_SETUP?KB_PROCESS
+004EDEH   004EE1H   000004H   BYTE   UNIT     XDATA          ?XD?_BUFSIZE?IPC
+004EE2H   004EE5H   000004H   BYTE   UNIT     XDATA          ?XD?_IPC_TXCONTROLCMD?IPC
+004EE6H   004EE8H   000003H   BYTE   UNIT     XDATA          ?XD?KB_MOTION?KB_PROCESS
+004EE9H   004EEBH   000003H   BYTE   UNIT     XDATA          ?XD?_KB_DEVICE_SELECT?KB_PROCESS
+004EECH   004EEEH   000003H   BYTE   UNIT     XDATA          ?XD?KS_SCANMATRIX?KEYSCAN
+004EEFH   004EF1H   000003H   BYTE   UNIT     XDATA          ?XD?_ARRAY_IS_EMPTY?KEYSCAN
+004EF2H   004EF4H   000003H   BYTE   UNIT     XDATA          ?XD?IPC_DEALSINGLESTEP?IPC
+004EF5H   004EF7H   000003H   BYTE   UNIT     XDATA          ?XD?_XMEMCLEAR?UTILITIES
+004EF8H   004EFAH   000003H   BYTE   UNIT     XDATA          ?XD?_XMEMCLEAR_FF?UTILITIES
+004EFBH   004EFDH   000003H   BYTE   UNIT     XDATA          ?XD?_GPIOSETBIT?GPIO
+004EFEH   004EFFH   000002H   BYTE   UNIT     XDATA          ?XD?_KB_SEND_COMBINATION_KEY?KB_PROCESS
+004F00H   004F01H   000002H   BYTE   UNIT     XDATA          ?XD?_KEY_FN_FUNCTION?KB_PROCESS
+004F02H   004F03H   000002H   BYTE   UNIT     XDATA          ?XD?_KB_CB_HID?SYS
+004F04H   004F05H   000002H   BYTE   UNIT     XDATA          ?XD?_IPCRX?IPC
+004F06H   004F06H   000001H   BYTE   UNIT     XDATA          ?XD?_YC_LOAD_RECORD_LIST?BLUETOOTH
+004F07H   004F07H   000001H   BYTE   UNIT     XDATA          ?XD?_YC_STORE_RECORD_LIST?BLUETOOTH
+004F08H   004F08H   000001H   BYTE   UNIT     XDATA          ?XD?YC_CHECK_NEED_RECONNECTED?BLUETOOTH
 004F09H   004F09H   000001H   BYTE   UNIT     XDATA          ?XD?_YC_KEY_ACTION_HANDLE?KB_PROCESS
-004F0AH   004F0AH   000001H   BYTE   UNIT     XDATA          ?XD?_KEY_FN_FUNCTION?KB_PROCESS
-004F0BH   004F0BH   000001H   BYTE   UNIT     XDATA          ?XD?KSRAWINITIALIZE?KEYSCAN
-004F0CH   004F0CH   000001H   BYTE   UNIT     XDATA          ?XD?KSCOLINITIALIZE?KEYSCAN
-004F0DH   004F0DH   000001H   BYTE   UNIT     XDATA          ?XD?KS_UNISTALL?KEYSCAN
-004F0EH   004F0EH   000001H   BYTE   UNIT     XDATA          ?XD?_KB_CB_EVENT?SYS
-004F0FH   004F0FH   000001H   BYTE   UNIT     XDATA          ?XD?YC_ADC_INIT?ADC
-004F10H   004F10H   000001H   BYTE   UNIT     XDATA          ?XD?_IPC_TXDATA?IPC
-004F11H   004F11H   000001H   BYTE   UNIT     XDATA          ?XD?_GPIOGETBIT?GPIO
-004F12H   004F12H   000001H   BYTE   UNIT     XDATA          ?XD?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO
-004F13H   004F13H   000001H   BYTE   UNIT     XDATA          ?XD?_GPIO_FLIPOUTBIT?GPIO
-004F14H   00800FH   0030FCH   ---    ---      **GAP**
-008010H   008010H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?4
+004F0AH   004F0AH   000001H   BYTE   UNIT     XDATA          ?XD?KSRAWINITIALIZE?KEYSCAN
+004F0BH   004F0BH   000001H   BYTE   UNIT     XDATA          ?XD?KSCOLINITIALIZE?KEYSCAN
+004F0CH   004F0CH   000001H   BYTE   UNIT     XDATA          ?XD?KS_UNISTALL?KEYSCAN
+004F0DH   004F0DH   000001H   BYTE   UNIT     XDATA          ?XD?_KB_CB_EVENT?SYS
+004F0EH   004F0EH   000001H   BYTE   UNIT     XDATA          ?XD?YC_ADC_INIT?ADC
+004F0FH   004F0FH   000001H   BYTE   UNIT     XDATA          ?XD?_IPC_TXDATA?IPC
+004F10H   004F10H   000001H   BYTE   UNIT     XDATA          ?XD?_GPIOGETBIT?GPIO
+004F11H   004F11H   000001H   BYTE   UNIT     XDATA          ?XD?_GPIO_SETWAKEUPBYCURRENTSTATE?GPIO
+004F12H   004F12H   000001H   BYTE   UNIT     XDATA          ?XD?_GPIO_FLIPOUTBIT?GPIO
+004F13H   00800FH   0030FDH   ---    ---      **GAP**
+008010H   008010H   000001H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?6
 
 
 
@@ -369,8 +373,8 @@
 
       VALUE       CLASS    TYPE      PUBLIC SYMBOL NAME
       =================================================
-      02004EAFH   XDATA    BYTE      ?_compare_str?BYTE
-      02004EA0H   XDATA    BYTE      ?_dmemcpy?BYTE
+      02004EB1H   XDATA    BYTE      ?_compare_str?BYTE
+      02004EA2H   XDATA    BYTE      ?_dmemcpy?BYTE
       00000020H.5 BIT      BIT       ?_GPIO_SetInput?BIT
       00000020H.4 BIT      BIT       ?_GPIO_Setoe?BIT
       00000020H.1 BIT      BIT       ?_GPIO_Setout?BIT
@@ -378,7 +382,7 @@
       00000020H.3 BIT      BIT       ?_GPIO_SetPd?BIT
       00000020H.2 BIT      BIT       ?_GPIO_SetPu?BIT
       00000020H.7 BIT      BIT       ?_GPIO_SetWakeup?BIT
-      02004EC3H   XDATA    BYTE      ?_xmemcpy?BYTE
+      02004EC5H   XDATA    BYTE      ?_xmemcpy?BYTE
       0100023FH   CODE     ---       ?C?CASTF
       010005B3H   CODE     ---       ?C?CCASE
       010003CFH   CODE     ---       ?C?CLDOPTR
@@ -411,176 +415,180 @@
       00000000H   NUMBER   ---       ?C?XDATASEG
       01000626H   CODE     ---       ?C_START
       01000000H   CODE     ---       ?C_STARTUP
-      010023EAH   CODE     ---       _array_is_empty
-      010020FBH   CODE     ---       _compare_str
-      010016F3H   CODE     ---       _Delay1ms
-      0100388AH   CODE     ---       _dmemcpy
-      010038CEH   CODE     ---       _GPIO_ClearWakeup
-      010032A4H   CODE     ---       _GPIO_FlipOutBit
-      010017F1H   CODE     ---       _GPIO_GetInputStatus
-      01001F02H   CODE     ---       _GPIO_SetInput
-      01001F20H   CODE     ---       _GPIO_Setoe
-      010012BBH   CODE     ---       _GPIO_Setout
-      01001CFFH   CODE     ---       _GPIO_SetOutput
-      01001F68H   CODE     ---       _GPIO_SetPd
-      01001EF1H   CODE     ---       _GPIO_SetPu
-      01001E3BH   CODE     ---       _GPIO_SetWakeup
-      01001E27H   CODE     ---       _GPIO_SetWakeupByCurrentState
-      01001941H   CODE     ---       _IIC_Read
-      010019F9H   CODE     ---       _IIC_write
-      01001A94H   CODE     ---       _IIC_WriteBlock
-      01001EE4H   CODE     ---       _IPC_Initialize
-      01000FEEH   CODE     ---       _IPC_Tx24GData
-      01003874H   CODE     ---       _IPC_TxBleData
-      0100385EH   CODE     ---       _IPC_TxBREDRHidData
-      010010ADH   CODE     ---       _IPC_TxControlCmd
-      01000FF4H   CODE     ---       _IPC_TxData
-      01000C1EH   CODE     ---       _IPC_TxHidData
-      0100386BH   CODE     ---       _IPC_TxSppData
-      01002CBAH   CODE     ---       _kb_combination_key_press
-      01002C27H   CODE     ---       _kb_device_select
+      01002BB3H   CODE     ---       _array_is_empty
+      01002BE3H   CODE     ---       _compare_str
+      01000F72H   CODE     ---       _Delay1ms
+      0100230AH   CODE     ---       _dmemcpy
+      0100368AH   CODE     ---       _GPIO_ClearWakeup
+      01003308H   CODE     ---       _GPIO_FlipOutBit
+      010017F0H   CODE     ---       _GPIO_GetInputStatus
+      01001F61H   CODE     ---       _GPIO_SetInput
+      01001FA3H   CODE     ---       _GPIO_Setoe
+      010011D0H   CODE     ---       _GPIO_Setout
+      0100179FH   CODE     ---       _GPIO_SetOutput
+      01001F91H   CODE     ---       _GPIO_SetPd
+      01001F7FH   CODE     ---       _GPIO_SetPu
+      01001C69H   CODE     ---       _GPIO_SetWakeup
+      01001C55H   CODE     ---       _GPIO_SetWakeupByCurrentState
+      010020B0H   CODE     ---       _IIC_Read
+      01002168H   CODE     ---       _IIC_write
+      01001A88H   CODE     ---       _IIC_WriteBlock
+      01001F54H   CODE     ---       _IPC_Initialize
+      010035D4H   CODE     ---       _IPC_Tx24GData
+      010035E6H   CODE     ---       _IPC_TxBleData
+      010035C7H   CODE     ---       _IPC_TxBREDRHidData
+      010013C9H   CODE     ---       _IPC_TxControlCmd
+      01000FB3H   CODE     ---       _IPC_TxData
+      01000C1DH   CODE     ---       _IPC_TxHidData
+      010035DDH   CODE     ---       _IPC_TxSppData
+      01002F54H   CODE     ---       _kb_combination_key_press
+      01002EC0H   CODE     ---       _kb_device_select
       010008C0H   CODE     ---       _kb_motion_keyscan
-      0100267FH   CODE     ---       _kb_multikey_setup
-      01000DCAH   CODE     ---       _kb_send_combination_key
-      01002664H   CODE     ---       _kb_set_multikey
-      01002999H   CODE     ---       _kb_set_systemkey
-      0100256DH   CODE     ---       _key_fn_function
+      01002589H   CODE     ---       _kb_multikey_setup
+      01000DC7H   CODE     ---       _kb_send_combination_key
+      0100256EH   CODE     ---       _kb_set_multikey
+      010028A1H   CODE     ---       _kb_set_systemkey
+      01002F79H   CODE     ---       _key_fn_function
       01000D01H   CODE     ---       _xmemclear
-      010020CEH   CODE     ---       _xmemclear_ff
+      010035FCH   CODE     ---       _xmemclear_ff
       0100087DH   CODE     ---       _xmemcpy
-      010010D7H   CODE     ---       _YC_key_action_handle
+      010011E2H   CODE     ---       _YC_key_action_handle
       01000737H   CODE     ---       _YC_load_record_list
       01000803H   CODE     ---       _YC_store_record_list
-      02004DEFH   XDATA    BYTE      action_timeout
-      02004DF2H   XDATA    ---       bd_key_record_list
+      02004DF1H   XDATA    BYTE      action_timeout
+      02004DF4H   XDATA    ---       bd_key_record_list
       02004DD3H   XDATA    BYTE      ble_fast_connect_flag
-      02004DE8H   XDATA    BYTE      ble_reconnect_flag
+      02004DEAH   XDATA    BYTE      ble_reconnect_flag
       02004DD5H   XDATA    BYTE      ble_send_secutiry_request_timer
-      02004C8DH   XDATA    BYTE      btstimer
+      02004C6DH   XDATA    BYTE      btstimer
       02004BA5H   XDATA    WORD      bttimer
-      02004C8EH   XDATA    BYTE      c51stimer
-      02004C5EH   XDATA    WORD      c51timer
+      02004C6EH   XDATA    BYTE      c51stimer
+      02004C3EH   XDATA    WORD      c51timer
       01000681H   CONST    ---       col
-      02004DDAH   XDATA    BYTE      control_key_flag
+      02004DDBH   XDATA    BYTE      control_key_flag
       02000B7EH   XDATA    BYTE      current_task
-      02004DE9H   XDATA    BYTE      delayChgInvTimer
-      02004DF1H   XDATA    BYTE      delayChgInvTimer_last
-      02004DDDH   XDATA    BYTE      esc_flag
-      02004E59H   XDATA    BYTE      fast_connect_flag
-      02004DE5H   XDATA    BYTE      fn_flag
-      02004DEDH   XDATA    BYTE      fn_flag_last
-      02004DEAH   XDATA    BYTE      fn_lock_flag
+      02004DEBH   XDATA    BYTE      delayChgInvTimer
+      02004DF3H   XDATA    BYTE      delayChgInvTimer_last
+      02004DDEH   XDATA    BYTE      esc_flag
+      02004E5BH   XDATA    BYTE      fast_connect_flag
+      02004DE6H   XDATA    BYTE      fn_flag
+      02004DEFH   XDATA    BYTE      fn_flag_last
+      02004DECH   XDATA    BYTE      fn_lock_flag
       02004DD9H   XDATA    BYTE      fn_tx_flag
-      02004CBFH   XDATA    ---       g_variable
+      02004DDAH   XDATA    BYTE      fn_w_flag
+      02004C83H   XDATA    ---       g_variable
       02004DD6H   XDATA    BYTE      get_24g_led_send
-      0100390DH   CODE     ---       GPIO_fillpd
+      010036C9H   CODE     ---       GPIO_fillpd
+      02004DE7H   XDATA    BYTE      gui_lock
       02004800H   XDATA    ---       hidBuff
-      02004DE4H   XDATA    BYTE      iOS_rec_pinCode
-      01001FDCH   CODE     ---       IPC_AbandonLpm
-      01003652H   CODE     ---       IPC_DealSingleStep
-      0100387DH   CODE     ---       IPC_GetBBDIsconnectReason
-      010023D2H   CODE     ---       IPC_IsTxBuffEmpty
-      01001ED0H   CODE     ---       IPC_WaitLpm
+      02004DE5H   XDATA    BYTE      iOS_rec_pinCode
+      01001FB7H   CODE     ---       IPC_AbandonLpm
+      01001CF5H   CODE     ---       IPC_DealSingleStep
+      010035EFH   CODE     ---       IPC_GetBBDIsconnectReason
+      01002B9BH   CODE     ---       IPC_IsTxBuffEmpty
+      01000F8AH   CODE     ---       IPC_WaitLpm
       02000550H   XDATA    ---       ipcPin
       0200054FH   XDATA    BYTE      ipcPinlen
       02000C4BH   XDATA    ---       ipcReadBuff
       02000BE7H   XDATA    ---       ipcSendBuff
-      0100241AH   CODE     ---       kb_24g_get_led_status
-      010029B4H   CODE     ---       kb_bt_pincode_enter
-      01001BDDH   CODE     ---       kb_button_press_timer500ms
-      01000E04H   CODE     ---       kb_need_keyscan
-      02004DEBH   XDATA    BYTE      key_value_temp
-      02004DE7H   XDATA    BYTE      keyCount
-      01002145H   CODE     ---       KS_GetCurrentEvt
-      01001F3EH   CODE     ---       KS_Initialize
-      01002CFDH   CODE     ---       KS_ScanMatrix
-      01001D8EH   CODE     ---       KS_Unistall
+      010028BCH   CODE     ---       kb_24g_get_led_status
+      010018F4H   CODE     ---       kb_button_press_timer500ms
+      01000E01H   CODE     ---       kb_need_keyscan
+      02004DEDH   XDATA    BYTE      key_value_temp
+      02004DE9H   XDATA    BYTE      keyCount
+      01002942H   CODE     ---       KS_GetCurrentEvt
+      01001FD1H   CODE     ---       KS_Initialize
+      01002D2DH   CODE     ---       KS_ScanMatrix
+      01001BBCH   CODE     ---       KS_Unistall
       02004213H   XDATA    BYTE      kscurrmult
-      02004EA8H   XDATA    ---       ksEvtPool
+      02004EAAH   XDATA    ---       ksEvtPool
       01000696H   CONST    ---       ksMap
       02004DA8H   XDATA    ---       ksSelMapCheck
       02004DBCH   XDATA    ---       ksSelMapCurr
       02004D93H   XDATA    ---       ksSelMapOld
       02004DD0H   XDATA    ---       le_lap_temp
-      02004D39H   XDATA    DWORD     le_pin_code
+      02004CE8H   XDATA    DWORD     le_pin_code
       02004DD8H   XDATA    BYTE      le_pin_code_len
-      02004DDEH   XDATA    BYTE      le_send_battery_level_delay_count
-      02004DDCH   XDATA    BYTE      le_send_battery_level_flag
-      01001CD7H   CODE     ---       LED_all_shutdown
-      01002EC1H   CODE     ---       LED_device_poweroff
-      01002E90H   CODE     ---       LED_device_poweron
-      010012CDH   CODE     ---       LED_handle
-      0100324CH   CODE     ---       LED_timer100ms
-      02004DDFH   XDATA    BYTE      long_press_flag
+      02004DDFH   XDATA    BYTE      le_send_battery_level_delay_count
+      02004DDDH   XDATA    BYTE      le_send_battery_level_flag
+      010017BCH   CODE     ---       LED_all_shutdown
+      01003381H   CODE     ---       LED_device_poweroff
+      01003167H   CODE     ---       LED_device_poweron
+      010010DAH   CODE     ---       LED_handle
+      01003325H   CODE     ---       LED_timer100ms
+      02004DE0H   XDATA    BYTE      long_press_flag
       02000B7FH   XDATA    BYTE      lpm_flag
       02004C00H   XDATA    ---       m_24g_addr
-      02004D40H   XDATA    ---       m_24g_enter_hibernate
-      02004D46H   XDATA    BYTE      m_24g_led_flag
+      02004CEFH   XDATA    ---       m_24g_enter_hibernate
+      02004CF5H   XDATA    BYTE      m_24g_led_flag
       02004BEFH   XDATA    BYTE      m_24g_pairing_sm
       02004BEBH   XDATA    ---       m_24g_paring_addr
-      02004C91H   XDATA    WORD      m_adc0vBase
-      02004C93H   XDATA    WORD      m_adc3vValue
-      02004C90H   XDATA    BYTE      m_adc_channel
-      02004C8FH   XDATA    BYTE      m_adc_config_flag
-      02004C95H   XDATA    WORD      m_adcCurrentValue
-      02004CB7H   XDATA    BYTE      m_caps_num_lock
-      02004DE3H   XDATA    BYTE      m_caps_num_lock_last
-      02004D51H   XDATA    BYTE      m_customize_timer
-      02004D7EH   XDATA    BYTE      m_le_battery_level_display_enable
+      02004C71H   XDATA    WORD      m_adc0vBase
+      02004C73H   XDATA    WORD      m_adc3vValue
+      02004C70H   XDATA    BYTE      m_adc_channel
+      02004C6FH   XDATA    BYTE      m_adc_config_flag
+      02004C75H   XDATA    WORD      m_adcCurrentValue
+      02004C7BH   XDATA    BYTE      m_caps_num_lock
+      02004DE4H   XDATA    BYTE      m_caps_num_lock_last
+      02004D00H   XDATA    BYTE      m_customize_timer
+      02004D7BH   XDATA    BYTE      m_enter_fcc_flag
+      02004D5EH   XDATA    BYTE      m_le_ancs_req
+      02004D29H   XDATA    BYTE      m_le_battery_level_display_enable
       020044F9H   XDATA    ---       m_le_lap
       0200447BH   XDATA    ---       m_le_ltk
-      02004D3DH   XDATA    BYTE      m_le_send_security_request_flag
+      02004CECH   XDATA    BYTE      m_le_send_security_request_flag
+      02004D49H   XDATA    BYTE      m_le_start_auto_reco_timer
+      02004D3DH   XDATA    BYTE      m_le_system_4type
       0200425EH   XDATA    BYTE      m_link_key_exists
       02004262H   XDATA    ---       m_linkkey
-      02004702H   XDATA    BYTE      m_local_name_length
       02004131H   XDATA    BYTE      m_lpm_mode
       0200448BH   XDATA    BYTE      m_ltk_exists
-      02004D7DH   XDATA    BYTE      m_pc_sleep_flag
-      02004CB6H   XDATA    BYTE      m_power_on_flag
+      02004CF4H   XDATA    BYTE      m_mouse_retry_flag
+      02004D27H   XDATA    BYTE      m_pc_sleep_flag
+      02004C7AH   XDATA    BYTE      m_power_on_flag
       02004274H   XDATA    ---       m_reconn_addr
-      02004D38H   XDATA    BYTE      m_reconnect_continue
+      02004CE7H   XDATA    BYTE      m_reconnect_continue
       02000040H   XDATA    ---       m_remote_addr
       020003D0H   XDATA    ---       m_remote_le_addr
       02008010H   XDATA    BYTE      m_reset_reg
       020047F4H   XDATA    WORD      m_ui_state_map
       02000B81H   XDATA    BYTE      m_wakup_from_power_flag
-      01001FDAH   CODE     ---       main
-      02004E4FH   XDATA    BYTE      mult_key_status
-      02004DF0H   XDATA    BYTE      mult_key_value
-      02004E50H   XDATA    ---       multikey
-      02004DE1H   XDATA    BYTE      pinCode_flag
-      02004DEEH   XDATA    BYTE      power_on_flag
+      01001FB5H   CODE     ---       main
+      02004E51H   XDATA    BYTE      mult_key_status
+      02004DF2H   XDATA    BYTE      mult_key_value
+      02004E52H   XDATA    ---       multikey
+      02004DE2H   XDATA    BYTE      pinCode_flag
+      02004DF0H   XDATA    BYTE      power_on_flag
       02004DD4H   XDATA    BYTE      power_on_reconnect_flag
-      02004DE6H   XDATA    BYTE      press_long_time_flag
+      02004DE8H   XDATA    BYTE      press_long_time_flag
       02004DD7H   XDATA    BYTE      recon_index
-      02004DE0H   XDATA    BYTE      repeat_send_24g
-      02004DE2H   XDATA    BYTE      standard_key_release_flag
-      02004DDBH   XDATA    BYTE      switch_role_timer
-      01000FC8H   CODE     ---       System_G24_long_lpm
-      02004DECH   XDATA    BYTE      system_key_press
-      010017BDH   CODE     ---       System_long_sleep
-      01001EC7H   CODE     ---       System_Reset_Connect
-      01003050H   CODE     ---       System_Software_init
-      01003388H   CODE     ---       YC_adc_check
-      0100332AH   CODE     ---       YC_adc_check_timer500ms
-      01003085H   CODE     ---       YC_adc_init
-      010018CBH   CODE     ---       YC_cancel_reconnect
-      01001836H   CODE     ---       YC_check_is_connected
-      0100184BH   CODE     ---       YC_check_need_reconnected
-      01001FE8H   CODE     ---       YC_clear_BT_same_address_record
-      010018DDH   CODE     ---       YC_clear_reconnect_flag
-      01000EDBH   CODE     ---       YC_connect_timeout_500ms
-      010017C6H   CODE     ---       YC_disconnect_all_link
-      010018E7H   CODE     ---       YC_g24_mode_discovery
-      010018FEH   CODE     ---       YC_get_ble_ramdon_lap
+      02004DE1H   XDATA    BYTE      repeat_send_24g
+      02004DE3H   XDATA    BYTE      standard_key_release_flag
+      02004DDCH   XDATA    BYTE      switch_role_timer
+      01000F97H   CODE     ---       System_G24_long_lpm
+      02004DEEH   XDATA    BYTE      system_key_press
+      01001796H   CODE     ---       System_long_sleep
+      01001B37H   CODE     ---       System_Reset_Connect
+      010033C5H   CODE     ---       System_Software_init
+      0100234EH   CODE     ---       YC_adc_check
+      010022F9H   CODE     ---       YC_adc_check_timer500ms
+      010033FEH   CODE     ---       YC_adc_init
+      010018B5H   CODE     ---       YC_cancel_reconnect
+      010010C5H   CODE     ---       YC_check_is_connected
+      01001835H   CODE     ---       YC_check_need_reconnected
+      010017E6H   CODE     ---       YC_clear_reconnect_flag
+      01000E85H   CODE     ---       YC_connect_timeout_500ms
+      010018C7H   CODE     ---       YC_disconnect_all_link
+      01001FFBH   CODE     ---       YC_g24_mode_discovery
+      01002202H   CODE     ---       YC_get_ble_ramdon_lap
       020000A7H   XDATA    ---       YC_GPIOWakeupH
       020000A3H   XDATA    ---       YC_GPIOWakeupL
-      01003883H   CODE     ---       YC_Ice_break
-      0100333BH   CODE     ---       YC_pairing_timerout_500ms
-      0100170BH   CODE     ---       YC_start_reconnect
-      01001D1BH   CODE     ---       YC_System_Main
-      01001B42H   CODE     ---       YC_update_eeprom_data
-      010032C1H   CODE     ---       YC_wait_disconnect_timer500ms
+      010035F5H   CODE     ---       YC_Ice_break
+      010022A0H   CODE     ---       YC_pairing_timerout_500ms
+      01002012H   CODE     ---       YC_start_reconnect
+      01001B40H   CODE     ---       YC_System_Main
+      010019EDH   CODE     ---       YC_update_eeprom_data
+      01002245H   CODE     ---       YC_wait_disconnect_timer500ms
 
 
 
@@ -589,16 +597,15 @@
       VALUE       REP       CLASS    TYPE      SYMBOL NAME
       ====================================================
       ---         MODULE    ---      ---       BLUETOOTH
-      01001B42H   PUBLIC    CODE     ---       YC_update_eeprom_data
-      01001FE8H   PUBLIC    CODE     ---       YC_clear_BT_same_address_record
-      010018FEH   PUBLIC    CODE     ---       YC_get_ble_ramdon_lap
-      0100170BH   PUBLIC    CODE     ---       YC_start_reconnect
-      010018E7H   PUBLIC    CODE     ---       YC_g24_mode_discovery
-      010017C6H   PUBLIC    CODE     ---       YC_disconnect_all_link
-      010018DDH   PUBLIC    CODE     ---       YC_clear_reconnect_flag
-      010018CBH   PUBLIC    CODE     ---       YC_cancel_reconnect
-      0100184BH   PUBLIC    CODE     ---       YC_check_need_reconnected
-      01001836H   PUBLIC    CODE     ---       YC_check_is_connected
+      010019EDH   PUBLIC    CODE     ---       YC_update_eeprom_data
+      01002202H   PUBLIC    CODE     ---       YC_get_ble_ramdon_lap
+      01002012H   PUBLIC    CODE     ---       YC_start_reconnect
+      01001FFBH   PUBLIC    CODE     ---       YC_g24_mode_discovery
+      010018C7H   PUBLIC    CODE     ---       YC_disconnect_all_link
+      010017E6H   PUBLIC    CODE     ---       YC_clear_reconnect_flag
+      010018B5H   PUBLIC    CODE     ---       YC_cancel_reconnect
+      01001835H   PUBLIC    CODE     ---       YC_check_need_reconnected
+      010010C5H   PUBLIC    CODE     ---       YC_check_is_connected
       01000803H   PUBLIC    CODE     ---       _YC_store_record_list
       01000737H   PUBLIC    CODE     ---       _YC_load_record_list
 
@@ -630,290 +637,255 @@
       010007F1H   LINE      ---      ---       #31
       010007F7H   LINE      ---      ---       #32
       010007FCH   LINE      ---      ---       #33
-      01000802H   LINE      ---      ---       #47
-      01000802H   LINE      ---      ---       #48
+      01000802H   LINE      ---      ---       #36
+      01000802H   LINE      ---      ---       #37
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000803H   BLOCK     CODE     ---       LVL=0
-      01000803H   LINE      ---      ---       #52
-      01000808H   LINE      ---      ---       #53
-      01000808H   LINE      ---      ---       #54
-      0100080DH   LINE      ---      ---       #55
-      0100080DH   LINE      ---      ---       #56
-      0100081FH   LINE      ---      ---       #57
-      0100083CH   LINE      ---      ---       #58
-      0100085CH   LINE      ---      ---       #59
-      0100087CH   LINE      ---      ---       #60
-      0100087CH   LINE      ---      ---       #67
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001836H   BLOCK     CODE     ---       LVL=0
-      01001836H   LINE      ---      ---       #70
-      01001836H   LINE      ---      ---       #71
-      01001836H   LINE      ---      ---       #72
-      01001845H   LINE      ---      ---       #74
-      01001845H   LINE      ---      ---       #75
-      01001848H   LINE      ---      ---       #76
-      01001848H   LINE      ---      ---       #77
-      0100184AH   LINE      ---      ---       #78
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100184BH   BLOCK     CODE     ---       LVL=0
-      0100184BH   LINE      ---      ---       #80
-      0100184BH   LINE      ---      ---       #81
-      0100184BH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100184BH   LINE      ---      ---       #82
-      01001850H   LINE      ---      ---       #83
-      01001857H   LINE      ---      ---       #84
-      0100185DH   LINE      ---      ---       #88
-      01001864H   LINE      ---      ---       #92
-      0100186AH   LINE      ---      ---       #94
-      01001870H   LINE      ---      ---       #95
-      01001876H   LINE      ---      ---       #97
-      01001884H   LINE      ---      ---       #100
-      01001884H   LINE      ---      ---       #101
-      0100188AH   LINE      ---      ---       #102
-      0100188AH   LINE      ---      ---       #103
-      0100188DH   LINE      ---      ---       #104
-      01001899H   LINE      ---      ---       #106
-      01001899H   LINE      ---      ---       #107
-      010018A9H   LINE      ---      ---       #108
-      010018A9H   LINE      ---      ---       #109
-      010018ACH   LINE      ---      ---       #110
-      010018AEH   LINE      ---      ---       #112
-      010018AEH   LINE      ---      ---       #113
-      010018B3H   LINE      ---      ---       #114
-      010018B9H   LINE      ---      ---       #115
-      010018B9H   LINE      ---      ---       #116
-      010018B9H   LINE      ---      ---       #117
-      010018B9H   LINE      ---      ---       #118
-      010018BBH   LINE      ---      ---       #120
-      010018BBH   LINE      ---      ---       #121
-      010018C0H   LINE      ---      ---       #122
-      010018C5H   LINE      ---      ---       #123
-      010018C5H   LINE      ---      ---       #124
-      010018CAH   LINE      ---      ---       #125
-      02004F07H   SYMBOL    XDATA    VOID      return_val
-      ---         BLOCKEND  CODE     ---       LVL=1
-      ---         BLOCKEND  CODE     ---       LVL=0
-
-      010018CBH   BLOCK     CODE     ---       LVL=0
-      010018CBH   LINE      ---      ---       #128
-      010018CBH   LINE      ---      ---       #129
-      010018CBH   LINE      ---      ---       #136
-      010018D2H   LINE      ---      ---       #137
-      010018D2H   LINE      ---      ---       #139
-      010018D7H   LINE      ---      ---       #140
-      010018DAH   LINE      ---      ---       #141
-      010018DAH   LINE      ---      ---       #142
-      010018DCH   LINE      ---      ---       #143
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010018DDH   BLOCK     CODE     ---       LVL=0
-      010018DDH   LINE      ---      ---       #146
-      010018DDH   LINE      ---      ---       #147
-      010018DDH   LINE      ---      ---       #148
-      010018E2H   LINE      ---      ---       #149
-      010018E6H   LINE      ---      ---       #150
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010017C6H   BLOCK     CODE     ---       LVL=0
-      010017C6H   LINE      ---      ---       #153
-      010017C6H   LINE      ---      ---       #154
-      010017C6H   LINE      ---      ---       #161
-      010017D3H   LINE      ---      ---       #163
-      010017D3H   LINE      ---      ---       #164
-      010017D7H   LINE      ---      ---       #165
-      010017DAH   LINE      ---      ---       #166
-      010017DAH   LINE      ---      ---       #167
-      010017E7H   LINE      ---      ---       #169
-      010017E7H   LINE      ---      ---       #170
-      010017EBH   LINE      ---      ---       #171
-      010017EEH   LINE      ---      ---       #172
-      010017EEH   LINE      ---      ---       #173
-      010017F0H   LINE      ---      ---       #174
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010018E7H   BLOCK     CODE     ---       LVL=0
-      010018E7H   LINE      ---      ---       #176
-      010018E7H   LINE      ---      ---       #177
-      010018E7H   LINE      ---      ---       #178
-      010018F3H   LINE      ---      ---       #179
-      010018F3H   LINE      ---      ---       #180
-      010018F8H   LINE      ---      ---       #181
-      010018FBH   LINE      ---      ---       #182
-      010018FBH   LINE      ---      ---       #183
-      010018FDH   LINE      ---      ---       #184
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100170BH   BLOCK     CODE     ---       LVL=0
-      0100170BH   LINE      ---      ---       #188
-      0100170BH   LINE      ---      ---       #189
-      0100170BH   LINE      ---      ---       #190
-      01001711H   LINE      ---      ---       #192
-      01001722H   LINE      ---      ---       #193
-      01001726H   LINE      ---      ---       #194
-      01001737H   LINE      ---      ---       #195
-      0100173BH   LINE      ---      ---       #196
-      0100174CH   LINE      ---      ---       #197
-      01001750H   LINE      ---      ---       #198
-      01001761H   LINE      ---      ---       #199
-      01001765H   LINE      ---      ---       #201
-      01001775H   LINE      ---      ---       #202
-      01001775H   LINE      ---      ---       #203
-      01001788H   LINE      ---      ---       #204
-      0100179EH   LINE      ---      ---       #205
-      010017A0H   LINE      ---      ---       #206
-      010017A2H   LINE      ---      ---       #208
-      010017A2H   LINE      ---      ---       #209
-      010017A6H   LINE      ---      ---       #210
-      010017A6H   LINE      ---      ---       #211
-      010017AFH   LINE      ---      ---       #212
-      010017B1H   LINE      ---      ---       #213
-      010017BAH   LINE      ---      ---       #214
-      010017BAH   LINE      ---      ---       #215
-      010017BCH   LINE      ---      ---       #216
-      010017BCH   LINE      ---      ---       #217
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010018FEH   BLOCK     CODE     ---       LVL=0
-      010018FEH   LINE      ---      ---       #221
-      010018FEH   LINE      ---      ---       #222
-      010018FEH   LINE      ---      ---       #223
-      0100190EH   LINE      ---      ---       #224
-      01001914H   LINE      ---      ---       #225
-      01001918H   LINE      ---      ---       #226
-      01001920H   LINE      ---      ---       #227
-      01001928H   LINE      ---      ---       #228
-      01001930H   LINE      ---      ---       #229
-      01001938H   LINE      ---      ---       #230
-      01001940H   LINE      ---      ---       #231
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001FE8H   BLOCK     CODE     ---       LVL=0
-      01001FE8H   LINE      ---      ---       #234
-      01001FE8H   LINE      ---      ---       #235
-      01001FE8H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001FE8H   LINE      ---      ---       #236
-      01001FE8H   LINE      ---      ---       #239
-      01001FF1H   LINE      ---      ---       #240
-      01001FF6H   LINE      ---      ---       #241
-      01002000H   LINE      ---      ---       #243
-      01002007H   LINE      ---      ---       #244
-      01002007H   LINE      ---      ---       #245
-      0100200FH   LINE      ---      ---       #246
-      0100200FH   LINE      ---      ---       #247
-      01002037H   LINE      ---      ---       #248
-      01002043H   LINE      ---      ---       #249
-      01002043H   LINE      ---      ---       #250
-      01002043H   LINE      ---      ---       #252
-      0100204CH   LINE      ---      ---       #253
-      0100204CH   LINE      ---      ---       #254
-      01002054H   LINE      ---      ---       #255
-      01002054H   LINE      ---      ---       #256
-      0100207CH   LINE      ---      ---       #257
-      01002088H   LINE      ---      ---       #258
-      01002088H   LINE      ---      ---       #259
-      01002088H   LINE      ---      ---       #261
-      01002091H   LINE      ---      ---       #262
-      01002091H   LINE      ---      ---       #263
-      01002099H   LINE      ---      ---       #264
-      01002099H   LINE      ---      ---       #265
-      010020C1H   LINE      ---      ---       #266
-      010020CDH   LINE      ---      ---       #267
-      010020CDH   LINE      ---      ---       #268
-      010020CDH   LINE      ---      ---       #269
-      010020CDH   LINE      ---      ---       #270
-      02004F08H   SYMBOL    XDATA    VOID      record_index
-      ---         BLOCKEND  CODE     ---       LVL=1
-      ---         BLOCKEND  CODE     ---       LVL=0
-
-      01001B42H   BLOCK     CODE     ---       LVL=0
-      01001B42H   LINE      ---      ---       #274
-      01001B42H   LINE      ---      ---       #275
-      01001B42H   LINE      ---      ---       #276
-      01001B4BH   LINE      ---      ---       #277
-      01001B4BH   LINE      ---      ---       #278
-      01001B4FH   LINE      ---      ---       #279
-      01001B54H   LINE      ---      ---       #280
-      01001B5BH   LINE      ---      ---       #281
-      01001B63H   LINE      ---      ---       #282
-      01001B63H   LINE      ---      ---       #283
-      01001B72H   LINE      ---      ---       #284
-      01001B82H   LINE      ---      ---       #285
-      01001B92H   LINE      ---      ---       #286
-      01001B94H   LINE      ---      ---       #287
-      01001B9BH   LINE      ---      ---       #288
-      01001BABH   LINE      ---      ---       #290
-      01001BBBH   LINE      ---      ---       #291
-      01001BCBH   LINE      ---      ---       #293
-      01001BD2H   LINE      ---      ---       #294
-      01001BD7H   LINE      ---      ---       #295
-      01001BDCH   LINE      ---      ---       #296
-      01001BDCH   LINE      ---      ---       #297
+      01000803H   LINE      ---      ---       #41
+      01000808H   LINE      ---      ---       #42
+      01000808H   LINE      ---      ---       #43
+      0100080DH   LINE      ---      ---       #44
+      0100080DH   LINE      ---      ---       #45
+      0100081FH   LINE      ---      ---       #46
+      0100083CH   LINE      ---      ---       #47
+      0100085CH   LINE      ---      ---       #48
+      0100087CH   LINE      ---      ---       #49
+      0100087CH   LINE      ---      ---       #50
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010010C5H   BLOCK     CODE     ---       LVL=0
+      010010C5H   LINE      ---      ---       #53
+      010010C5H   LINE      ---      ---       #54
+      010010C5H   LINE      ---      ---       #55
+      010010D4H   LINE      ---      ---       #57
+      010010D4H   LINE      ---      ---       #58
+      010010D7H   LINE      ---      ---       #59
+      010010D7H   LINE      ---      ---       #60
+      010010D9H   LINE      ---      ---       #61
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001835H   BLOCK     CODE     ---       LVL=0
+      01001835H   LINE      ---      ---       #63
+      01001835H   LINE      ---      ---       #64
+      01001835H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001835H   LINE      ---      ---       #65
+      0100183AH   LINE      ---      ---       #66
+      01001841H   LINE      ---      ---       #67
+      01001847H   LINE      ---      ---       #68
+      0100184EH   LINE      ---      ---       #69
+      01001854H   LINE      ---      ---       #71
+      0100185AH   LINE      ---      ---       #72
+      01001860H   LINE      ---      ---       #74
+      0100186EH   LINE      ---      ---       #77
+      0100186EH   LINE      ---      ---       #78
+      01001874H   LINE      ---      ---       #79
+      01001874H   LINE      ---      ---       #80
+      01001877H   LINE      ---      ---       #81
+      01001883H   LINE      ---      ---       #83
+      01001883H   LINE      ---      ---       #84
+      01001893H   LINE      ---      ---       #85
+      01001893H   LINE      ---      ---       #86
+      01001896H   LINE      ---      ---       #87
+      01001898H   LINE      ---      ---       #89
+      01001898H   LINE      ---      ---       #90
+      0100189DH   LINE      ---      ---       #91
+      010018A3H   LINE      ---      ---       #92
+      010018A3H   LINE      ---      ---       #93
+      010018A3H   LINE      ---      ---       #94
+      010018A3H   LINE      ---      ---       #95
+      010018A5H   LINE      ---      ---       #97
+      010018A5H   LINE      ---      ---       #98
+      010018AAH   LINE      ---      ---       #99
+      010018AFH   LINE      ---      ---       #100
+      010018AFH   LINE      ---      ---       #101
+      010018B4H   LINE      ---      ---       #102
+      02004F08H   SYMBOL    XDATA    VOID      return_val
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      010018B5H   BLOCK     CODE     ---       LVL=0
+      010018B5H   LINE      ---      ---       #105
+      010018B5H   LINE      ---      ---       #106
+      010018B5H   LINE      ---      ---       #107
+      010018BCH   LINE      ---      ---       #108
+      010018BCH   LINE      ---      ---       #110
+      010018C1H   LINE      ---      ---       #111
+      010018C4H   LINE      ---      ---       #112
+      010018C4H   LINE      ---      ---       #113
+      010018C6H   LINE      ---      ---       #114
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010017E6H   BLOCK     CODE     ---       LVL=0
+      010017E6H   LINE      ---      ---       #117
+      010017E6H   LINE      ---      ---       #118
+      010017E6H   LINE      ---      ---       #119
+      010017EBH   LINE      ---      ---       #120
+      010017EFH   LINE      ---      ---       #121
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010018C7H   BLOCK     CODE     ---       LVL=0
+      010018C7H   LINE      ---      ---       #124
+      010018C7H   LINE      ---      ---       #125
+      010018C7H   LINE      ---      ---       #126
+      010018D4H   LINE      ---      ---       #128
+      010018D4H   LINE      ---      ---       #129
+      010018D9H   LINE      ---      ---       #130
+      010018DCH   LINE      ---      ---       #131
+      010018DCH   LINE      ---      ---       #132
+      010018E9H   LINE      ---      ---       #134
+      010018E9H   LINE      ---      ---       #135
+      010018EEH   LINE      ---      ---       #136
+      010018F1H   LINE      ---      ---       #137
+      010018F1H   LINE      ---      ---       #138
+      010018F3H   LINE      ---      ---       #139
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001FFBH   BLOCK     CODE     ---       LVL=0
+      01001FFBH   LINE      ---      ---       #141
+      01001FFBH   LINE      ---      ---       #142
+      01001FFBH   LINE      ---      ---       #143
+      01002007H   LINE      ---      ---       #144
+      01002007H   LINE      ---      ---       #145
+      0100200CH   LINE      ---      ---       #146
+      0100200FH   LINE      ---      ---       #147
+      0100200FH   LINE      ---      ---       #148
+      01002011H   LINE      ---      ---       #149
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002012H   BLOCK     CODE     ---       LVL=0
+      01002012H   LINE      ---      ---       #153
+      01002012H   LINE      ---      ---       #154
+      01002012H   LINE      ---      ---       #155
+      01002018H   LINE      ---      ---       #156
+      01002028H   LINE      ---      ---       #157
+      0100202DH   LINE      ---      ---       #158
+      0100203DH   LINE      ---      ---       #159
+      01002042H   LINE      ---      ---       #160
+      01002052H   LINE      ---      ---       #161
+      01002057H   LINE      ---      ---       #162
+      01002067H   LINE      ---      ---       #163
+      0100206CH   LINE      ---      ---       #164
+      0100207CH   LINE      ---      ---       #165
+      0100207CH   LINE      ---      ---       #167
+      0100208FH   LINE      ---      ---       #168
+      01002092H   LINE      ---      ---       #169
+      01002094H   LINE      ---      ---       #171
+      01002094H   LINE      ---      ---       #172
+      01002099H   LINE      ---      ---       #173
+      01002099H   LINE      ---      ---       #174
+      010020A2H   LINE      ---      ---       #175
+      010020A4H   LINE      ---      ---       #176
+      010020ADH   LINE      ---      ---       #177
+      010020ADH   LINE      ---      ---       #178
+      010020AFH   LINE      ---      ---       #179
+      010020AFH   LINE      ---      ---       #180
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002202H   BLOCK     CODE     ---       LVL=0
+      01002202H   LINE      ---      ---       #184
+      01002202H   LINE      ---      ---       #185
+      01002202H   LINE      ---      ---       #186
+      01002212H   LINE      ---      ---       #187
+      01002218H   LINE      ---      ---       #188
+      0100221CH   LINE      ---      ---       #189
+      01002224H   LINE      ---      ---       #190
+      0100222CH   LINE      ---      ---       #191
+      01002234H   LINE      ---      ---       #192
+      0100223CH   LINE      ---      ---       #193
+      01002244H   LINE      ---      ---       #194
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010019EDH   BLOCK     CODE     ---       LVL=0
+      010019EDH   LINE      ---      ---       #198
+      010019EDH   LINE      ---      ---       #199
+      010019EDH   LINE      ---      ---       #200
+      010019F6H   LINE      ---      ---       #201
+      010019F6H   LINE      ---      ---       #202
+      010019FAH   LINE      ---      ---       #203
+      010019FFH   LINE      ---      ---       #204
+      01001A06H   LINE      ---      ---       #205
+      01001A0EH   LINE      ---      ---       #206
+      01001A0EH   LINE      ---      ---       #207
+      01001A1DH   LINE      ---      ---       #208
+      01001A2DH   LINE      ---      ---       #209
+      01001A3DH   LINE      ---      ---       #210
+      01001A3FH   LINE      ---      ---       #211
+      01001A46H   LINE      ---      ---       #212
+      01001A56H   LINE      ---      ---       #214
+      01001A66H   LINE      ---      ---       #215
+      01001A76H   LINE      ---      ---       #218
+      01001A7DH   LINE      ---      ---       #219
+      01001A82H   LINE      ---      ---       #220
+      01001A87H   LINE      ---      ---       #221
+      01001A87H   LINE      ---      ---       #222
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       GLOBAL_VARIABLE
-      02004E59H   PUBLIC    XDATA    BYTE      fast_connect_flag
-      02004E50H   PUBLIC    XDATA    ---       multikey
-      02004E4FH   PUBLIC    XDATA    BYTE      mult_key_status
-      02004D39H   PUBLIC    XDATA    DWORD     le_pin_code
-      02004D3DH   PUBLIC    XDATA    BYTE      m_le_send_security_request_flag
-      02004DF2H   PUBLIC    XDATA    ---       bd_key_record_list
-      02004DF1H   PUBLIC    XDATA    BYTE      delayChgInvTimer_last
-      02004DF0H   PUBLIC    XDATA    BYTE      mult_key_value
-      02004DEFH   PUBLIC    XDATA    BYTE      action_timeout
-      02004DEEH   PUBLIC    XDATA    BYTE      power_on_flag
-      02004DEDH   PUBLIC    XDATA    BYTE      fn_flag_last
-      02004DECH   PUBLIC    XDATA    BYTE      system_key_press
-      02004DEBH   PUBLIC    XDATA    BYTE      key_value_temp
+      02004E5BH   PUBLIC    XDATA    BYTE      fast_connect_flag
+      02004E52H   PUBLIC    XDATA    ---       multikey
+      02004D7BH   PUBLIC    XDATA    BYTE      m_enter_fcc_flag
+      02004E51H   PUBLIC    XDATA    BYTE      mult_key_status
+      02004CE8H   PUBLIC    XDATA    DWORD     le_pin_code
+      02004CECH   PUBLIC    XDATA    BYTE      m_le_send_security_request_flag
+      02004DF4H   PUBLIC    XDATA    ---       bd_key_record_list
+      02004DF3H   PUBLIC    XDATA    BYTE      delayChgInvTimer_last
+      02004DF2H   PUBLIC    XDATA    BYTE      mult_key_value
+      02004DF1H   PUBLIC    XDATA    BYTE      action_timeout
+      02004DF0H   PUBLIC    XDATA    BYTE      power_on_flag
+      02004DEFH   PUBLIC    XDATA    BYTE      fn_flag_last
+      02004DEEH   PUBLIC    XDATA    BYTE      system_key_press
+      02004DEDH   PUBLIC    XDATA    BYTE      key_value_temp
       02004213H   PUBLIC    XDATA    BYTE      kscurrmult
-      02004C95H   PUBLIC    XDATA    WORD      m_adcCurrentValue
-      02004D38H   PUBLIC    XDATA    BYTE      m_reconnect_continue
-      02004DEAH   PUBLIC    XDATA    BYTE      fn_lock_flag
+      02004C75H   PUBLIC    XDATA    WORD      m_adcCurrentValue
+      02004CE7H   PUBLIC    XDATA    BYTE      m_reconnect_continue
+      02004D49H   PUBLIC    XDATA    BYTE      m_le_start_auto_reco_timer
+      02004DECH   PUBLIC    XDATA    BYTE      fn_lock_flag
       02000040H   PUBLIC    XDATA    ---       m_remote_addr
-      02004DE9H   PUBLIC    XDATA    BYTE      delayChgInvTimer
-      02004DE8H   PUBLIC    XDATA    BYTE      ble_reconnect_flag
-      02004DE7H   PUBLIC    XDATA    BYTE      keyCount
+      02004DEBH   PUBLIC    XDATA    BYTE      delayChgInvTimer
+      02004DEAH   PUBLIC    XDATA    BYTE      ble_reconnect_flag
+      02004DE9H   PUBLIC    XDATA    BYTE      keyCount
       02004274H   PUBLIC    XDATA    ---       m_reconn_addr
-      02004DE6H   PUBLIC    XDATA    BYTE      press_long_time_flag
-      02004DE5H   PUBLIC    XDATA    BYTE      fn_flag
+      02004DE8H   PUBLIC    XDATA    BYTE      press_long_time_flag
+      02004DE7H   PUBLIC    XDATA    BYTE      gui_lock
+      02004DE6H   PUBLIC    XDATA    BYTE      fn_flag
       020047F4H   PUBLIC    XDATA    WORD      m_ui_state_map
-      02004DE4H   PUBLIC    XDATA    BYTE      iOS_rec_pinCode
-      02004C8FH   PUBLIC    XDATA    BYTE      m_adc_config_flag
-      02004DE3H   PUBLIC    XDATA    BYTE      m_caps_num_lock_last
+      02004D5EH   PUBLIC    XDATA    BYTE      m_le_ancs_req
+      02004DE5H   PUBLIC    XDATA    BYTE      iOS_rec_pinCode
+      02004C6FH   PUBLIC    XDATA    BYTE      m_adc_config_flag
+      02004DE4H   PUBLIC    XDATA    BYTE      m_caps_num_lock_last
       0200447BH   PUBLIC    XDATA    ---       m_le_ltk
       02004262H   PUBLIC    XDATA    ---       m_linkkey
       02004D93H   PUBLIC    XDATA    ---       ksSelMapOld
-      02004702H   PUBLIC    XDATA    BYTE      m_local_name_length
-      02004DE2H   PUBLIC    XDATA    BYTE      standard_key_release_flag
+      02004DE3H   PUBLIC    XDATA    BYTE      standard_key_release_flag
       02004DBCH   PUBLIC    XDATA    ---       ksSelMapCurr
-      02004DE1H   PUBLIC    XDATA    BYTE      pinCode_flag
-      02004DE0H   PUBLIC    XDATA    BYTE      repeat_send_24g
-      02004DDFH   PUBLIC    XDATA    BYTE      long_press_flag
+      02004DE2H   PUBLIC    XDATA    BYTE      pinCode_flag
+      02004DE1H   PUBLIC    XDATA    BYTE      repeat_send_24g
+      02004DE0H   PUBLIC    XDATA    BYTE      long_press_flag
       020044F9H   PUBLIC    XDATA    ---       m_le_lap
       02004800H   PUBLIC    XDATA    ---       hidBuff
-      02004D51H   PUBLIC    XDATA    BYTE      m_customize_timer
-      02004DDEH   PUBLIC    XDATA    BYTE      le_send_battery_level_delay_count
-      02004DDDH   PUBLIC    XDATA    BYTE      esc_flag
-      02004CB6H   PUBLIC    XDATA    BYTE      m_power_on_flag
-      02004DDCH   PUBLIC    XDATA    BYTE      le_send_battery_level_flag
-      02004D40H   PUBLIC    XDATA    ---       m_24g_enter_hibernate
-      02004CB7H   PUBLIC    XDATA    BYTE      m_caps_num_lock
-      02004C90H   PUBLIC    XDATA    BYTE      m_adc_channel
-      02004DDBH   PUBLIC    XDATA    BYTE      switch_role_timer
-      02004D46H   PUBLIC    XDATA    BYTE      m_24g_led_flag
-      02004DDAH   PUBLIC    XDATA    BYTE      control_key_flag
+      02004D00H   PUBLIC    XDATA    BYTE      m_customize_timer
+      02004DDFH   PUBLIC    XDATA    BYTE      le_send_battery_level_delay_count
+      02004DDEH   PUBLIC    XDATA    BYTE      esc_flag
+      02004C7AH   PUBLIC    XDATA    BYTE      m_power_on_flag
+      02004DDDH   PUBLIC    XDATA    BYTE      le_send_battery_level_flag
+      02004CEFH   PUBLIC    XDATA    ---       m_24g_enter_hibernate
+      02004C7BH   PUBLIC    XDATA    BYTE      m_caps_num_lock
+      02004C70H   PUBLIC    XDATA    BYTE      m_adc_channel
+      02004DDCH   PUBLIC    XDATA    BYTE      switch_role_timer
+      02004CF5H   PUBLIC    XDATA    BYTE      m_24g_led_flag
+      02004DDBH   PUBLIC    XDATA    BYTE      control_key_flag
       0200425EH   PUBLIC    XDATA    BYTE      m_link_key_exists
       02004BEFH   PUBLIC    XDATA    BYTE      m_24g_pairing_sm
-      02004D7EH   PUBLIC    XDATA    BYTE      m_le_battery_level_display_enable
-      02004C93H   PUBLIC    XDATA    WORD      m_adc3vValue
+      02004DDAH   PUBLIC    XDATA    BYTE      fn_w_flag
+      02004D29H   PUBLIC    XDATA    BYTE      m_le_battery_level_display_enable
+      02004C73H   PUBLIC    XDATA    WORD      m_adc3vValue
       02004131H   PUBLIC    XDATA    BYTE      m_lpm_mode
       02004DD9H   PUBLIC    XDATA    BYTE      fn_tx_flag
       0200448BH   PUBLIC    XDATA    BYTE      m_ltk_exists
       02000B81H   PUBLIC    XDATA    BYTE      m_wakup_from_power_flag
-      02004C91H   PUBLIC    XDATA    WORD      m_adc0vBase
-      02004D7DH   PUBLIC    XDATA    BYTE      m_pc_sleep_flag
+      02004C71H   PUBLIC    XDATA    WORD      m_adc0vBase
+      02004D27H   PUBLIC    XDATA    BYTE      m_pc_sleep_flag
       02004DD8H   PUBLIC    XDATA    BYTE      le_pin_code_len
       02004C00H   PUBLIC    XDATA    ---       m_24g_addr
       02004DD7H   PUBLIC    XDATA    BYTE      recon_index
@@ -921,2314 +893,2316 @@
       02004DD5H   PUBLIC    XDATA    BYTE      ble_send_secutiry_request_timer
       02004DD4H   PUBLIC    XDATA    BYTE      power_on_reconnect_flag
       02008010H   PUBLIC    XDATA    BYTE      m_reset_reg
-      02004CBFH   PUBLIC    XDATA    ---       g_variable
+      02004C83H   PUBLIC    XDATA    ---       g_variable
       02004DD3H   PUBLIC    XDATA    BYTE      ble_fast_connect_flag
+      02004CF4H   PUBLIC    XDATA    BYTE      m_mouse_retry_flag
       020003D0H   PUBLIC    XDATA    ---       m_remote_le_addr
       02004DD0H   PUBLIC    XDATA    ---       le_lap_temp
       02004DA8H   PUBLIC    XDATA    ---       ksSelMapCheck
+      02004D3DH   PUBLIC    XDATA    BYTE      m_le_system_4type
       02004BEBH   PUBLIC    XDATA    ---       m_24g_paring_addr
       01000696H   PUBLIC    CONST    ---       ksMap
       01000681H   PUBLIC    CONST    ---       col
 
       ---         MODULE    ---      ---       KB_PROCESS
-      0100267FH   PUBLIC    CODE     ---       _kb_multikey_setup
-      0100256DH   PUBLIC    CODE     ---       _key_fn_function
-      01002CBAH   PUBLIC    CODE     ---       _kb_combination_key_press
-      01002C27H   PUBLIC    CODE     ---       _kb_device_select
+      01002589H   PUBLIC    CODE     ---       _kb_multikey_setup
+      01002F79H   PUBLIC    CODE     ---       _key_fn_function
+      01002F54H   PUBLIC    CODE     ---       _kb_combination_key_press
+      01002EC0H   PUBLIC    CODE     ---       _kb_device_select
       010008C0H   PUBLIC    CODE     ---       _kb_motion_keyscan
-      01000E04H   PUBLIC    CODE     ---       kb_need_keyscan
-      0100241AH   PUBLIC    CODE     ---       kb_24g_get_led_status
-      010029B4H   PUBLIC    CODE     ---       kb_bt_pincode_enter
-      01000DCAH   PUBLIC    CODE     ---       _kb_send_combination_key
-      01002999H   PUBLIC    CODE     ---       _kb_set_systemkey
-      01002664H   PUBLIC    CODE     ---       _kb_set_multikey
-      01000C1EH   PUBLIC    CODE     ---       _IPC_TxHidData
-      010010D7H   PUBLIC    CODE     ---       _YC_key_action_handle
-
-      010010D7H   BLOCK     CODE     ---       LVL=0
-      010010D7H   LINE      ---      ---       #3
-      010010DCH   LINE      ---      ---       #4
-      010010DCH   LINE      ---      ---       #5
-      01001119H   LINE      ---      ---       #6
-      01001119H   LINE      ---      ---       #7
-      01001119H   LINE      ---      ---       #8
-      01001119H   LINE      ---      ---       #9
-      01001119H   LINE      ---      ---       #10
-      01001126H   LINE      ---      ---       #12
-      01001126H   LINE      ---      ---       #13
-      0100112AH   LINE      ---      ---       #14
-      01001132H   LINE      ---      ---       #15
-      01001133H   LINE      ---      ---       #17
-      01001133H   LINE      ---      ---       #18
-      0100113CH   LINE      ---      ---       #19
-      01001142H   LINE      ---      ---       #20
-      01001146H   LINE      ---      ---       #21
-      0100114AH   LINE      ---      ---       #22
-      0100114EH   LINE      ---      ---       #23
-      01001152H   LINE      ---      ---       #24
-      01001157H   LINE      ---      ---       #25
-      01001157H   LINE      ---      ---       #26
-      01001158H   LINE      ---      ---       #27
-      01001158H   LINE      ---      ---       #28
-      0100115CH   LINE      ---      ---       #30
-      0100115CH   LINE      ---      ---       #31
-      0100115CH   LINE      ---      ---       #32
-      01001161H   LINE      ---      ---       #33
-      01001172H   LINE      ---      ---       #34
-      01001172H   LINE      ---      ---       #35
-      0100117AH   LINE      ---      ---       #36
-      01001180H   LINE      ---      ---       #37
-      01001181H   LINE      ---      ---       #39
-      01001181H   LINE      ---      ---       #40
-      01001184H   LINE      ---      ---       #41
-      01001189H   LINE      ---      ---       #42
-      0100118DH   LINE      ---      ---       #43
-      01001191H   LINE      ---      ---       #48
-      01001194H   LINE      ---      ---       #49
-      01001198H   LINE      ---      ---       #54
-      0100119EH   LINE      ---      ---       #55
-      010011A3H   LINE      ---      ---       #56
-      010011A7H   LINE      ---      ---       #57
-      010011A7H   LINE      ---      ---       #58
-      010011A8H   LINE      ---      ---       #59
-      010011A8H   LINE      ---      ---       #60
-      010011AAH   LINE      ---      ---       #61
-      010011AFH   LINE      ---      ---       #62
-      010011B0H   LINE      ---      ---       #63
-      010011B0H   LINE      ---      ---       #64
-      010011BDH   LINE      ---      ---       #65
-      010011C3H   LINE      ---      ---       #66
-      010011C5H   LINE      ---      ---       #67
-      010011C9H   LINE      ---      ---       #68
-      010011CFH   LINE      ---      ---       #69
-      010011E0H   LINE      ---      ---       #70
-      010011F1H   LINE      ---      ---       #71
-      010011F7H   LINE      ---      ---       #72
-      010011FCH   LINE      ---      ---       #73
-      010011FDH   LINE      ---      ---       #74
-      010011FDH   LINE      ---      ---       #75
-      010011FDH   LINE      ---      ---       #76
-      01001202H   LINE      ---      ---       #77
-      01001208H   LINE      ---      ---       #78
-      01001208H   LINE      ---      ---       #79
-      01001210H   LINE      ---      ---       #80
-      01001211H   LINE      ---      ---       #82
-      01001211H   LINE      ---      ---       #83
-      01001222H   LINE      ---      ---       #84
-      01001226H   LINE      ---      ---       #85
-      0100122BH   LINE      ---      ---       #86
-      01001241H   LINE      ---      ---       #87
-      01001241H   LINE      ---      ---       #88
-      01001247H   LINE      ---      ---       #89
-      01001249H   LINE      ---      ---       #90
-      0100124BH   LINE      ---      ---       #91
-      0100124DH   LINE      ---      ---       #92
-      01001253H   LINE      ---      ---       #93
-      01001253H   LINE      ---      ---       #95
-      01001257H   LINE      ---      ---       #97
-      0100125DH   LINE      ---      ---       #98
-      01001260H   LINE      ---      ---       #99
-      01001264H   LINE      ---      ---       #100
-      01001264H   LINE      ---      ---       #101
-      01001265H   LINE      ---      ---       #102
-      01001265H   LINE      ---      ---       #103
-      0100126AH   LINE      ---      ---       #104
-      01001275H   LINE      ---      ---       #105
-      01001275H   LINE      ---      ---       #106
-      0100127DH   LINE      ---      ---       #107
-      0100127EH   LINE      ---      ---       #109
-      0100127EH   LINE      ---      ---       #110
-      01001286H   LINE      ---      ---       #111
-      01001286H   LINE      ---      ---       #112
-      0100128BH   LINE      ---      ---       #113
-      0100128FH   LINE      ---      ---       #114
-      01001295H   LINE      ---      ---       #115
-      01001298H   LINE      ---      ---       #116
-      0100129EH   LINE      ---      ---       #117
-      010012A4H   LINE      ---      ---       #118
-      010012AAH   LINE      ---      ---       #119
-      010012AFH   LINE      ---      ---       #120
-      010012AFH   LINE      ---      ---       #121
-      010012B4H   LINE      ---      ---       #122
-      010012B4H   LINE      ---      ---       #123
-      010012B5H   LINE      ---      ---       #124
-      010012B5H   LINE      ---      ---       #125
-      010012BAH   LINE      ---      ---       #126
-      010012BAH   LINE      ---      ---       #127
-      010012BAH   LINE      ---      ---       #128
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000C1EH   BLOCK     CODE     ---       LVL=0
-      01000C1EH   LINE      ---      ---       #132
-      01000C2CH   LINE      ---      ---       #133
-      01000C2CH   BLOCK     CODE     NEAR LAB  LVL=1
-      01000C2CH   LINE      ---      ---       #135
-      01000C2EH   LINE      ---      ---       #137
-      01000C38H   LINE      ---      ---       #138
-      01000C38H   LINE      ---      ---       #139
-      01000C58H   LINE      ---      ---       #140
-      01000C5BH   LINE      ---      ---       #142
-      01000C63H   LINE      ---      ---       #144
-      01000C6BH   LINE      ---      ---       #155
-      01000C7EH   LINE      ---      ---       #157
-      01000C7EH   LINE      ---      ---       #158
-      01000C85H   LINE      ---      ---       #159
-      01000C88H   LINE      ---      ---       #160
-      01000C96H   LINE      ---      ---       #162
-      01000C96H   LINE      ---      ---       #163
-      01000C9EH   LINE      ---      ---       #164
-      01000C9EH   LINE      ---      ---       #165
-      01000CA6H   LINE      ---      ---       #166
-      01000CA6H   LINE      ---      ---       #167
-      01000CA9H   LINE      ---      ---       #168
-      01000CBBH   LINE      ---      ---       #169
-      01000CC1H   LINE      ---      ---       #171
-      01000CC7H   LINE      ---      ---       #172
-      01000CC9H   LINE      ---      ---       #173
-      01000CD0H   LINE      ---      ---       #174
-      01000CD0H   LINE      ---      ---       #175
-      01000CD3H   LINE      ---      ---       #176
-      01000CDBH   LINE      ---      ---       #177
-      01000CDBH   LINE      ---      ---       #178
-      01000CDFH   LINE      ---      ---       #179
-      01000CE1H   LINE      ---      ---       #181
-      01000CE1H   LINE      ---      ---       #182
-      01000CE7H   LINE      ---      ---       #183
-      01000CE7H   LINE      ---      ---       #184
-      01000CE9H   LINE      ---      ---       #185
-      01000CF0H   LINE      ---      ---       #186
-      01000CF0H   LINE      ---      ---       #187
-      01000CF3H   LINE      ---      ---       #188
-      01000CF3H   LINE      ---      ---       #189
-      01000D00H   LINE      ---      ---       #190
-      01000D00H   LINE      ---      ---       #191
-      02004E82H   SYMBOL    XDATA    VOID      tx_hid_buff
+      01000E01H   PUBLIC    CODE     ---       kb_need_keyscan
+      010028BCH   PUBLIC    CODE     ---       kb_24g_get_led_status
+      01000DC7H   PUBLIC    CODE     ---       _kb_send_combination_key
+      010028A1H   PUBLIC    CODE     ---       _kb_set_systemkey
+      0100256EH   PUBLIC    CODE     ---       _kb_set_multikey
+      01000C1DH   PUBLIC    CODE     ---       _IPC_TxHidData
+      010011E2H   PUBLIC    CODE     ---       _YC_key_action_handle
+
+      010011E2H   BLOCK     CODE     ---       LVL=0
+      010011E2H   LINE      ---      ---       #3
+      010011E7H   LINE      ---      ---       #4
+      010011E7H   LINE      ---      ---       #5
+      01001224H   LINE      ---      ---       #6
+      01001224H   LINE      ---      ---       #7
+      01001224H   LINE      ---      ---       #8
+      01001224H   LINE      ---      ---       #9
+      01001224H   LINE      ---      ---       #10
+      01001231H   LINE      ---      ---       #12
+      01001231H   LINE      ---      ---       #13
+      01001235H   LINE      ---      ---       #14
+      0100123DH   LINE      ---      ---       #15
+      0100123EH   LINE      ---      ---       #17
+      0100123EH   LINE      ---      ---       #18
+      01001247H   LINE      ---      ---       #19
+      0100124DH   LINE      ---      ---       #20
+      01001251H   LINE      ---      ---       #21
+      01001257H   LINE      ---      ---       #22
+      0100125BH   LINE      ---      ---       #23
+      01001260H   LINE      ---      ---       #24
+      01001264H   LINE      ---      ---       #25
+      01001269H   LINE      ---      ---       #26
+      01001269H   LINE      ---      ---       #27
+      0100126AH   LINE      ---      ---       #28
+      0100126AH   LINE      ---      ---       #29
+      0100126EH   LINE      ---      ---       #30
+      0100126EH   LINE      ---      ---       #31
+      0100126EH   LINE      ---      ---       #32
+      01001273H   LINE      ---      ---       #33
+      01001285H   LINE      ---      ---       #34
+      01001285H   LINE      ---      ---       #35
+      0100128DH   LINE      ---      ---       #36
+      01001293H   LINE      ---      ---       #37
+      01001294H   LINE      ---      ---       #39
+      01001294H   LINE      ---      ---       #40
+      01001296H   LINE      ---      ---       #41
+      0100129BH   LINE      ---      ---       #42
+      0100129FH   LINE      ---      ---       #43
+      010012A3H   LINE      ---      ---       #45
+      010012A6H   LINE      ---      ---       #46
+      010012AAH   LINE      ---      ---       #47
+      010012AFH   LINE      ---      ---       #48
+      010012AFH   LINE      ---      ---       #49
+      010012B0H   LINE      ---      ---       #50
+      010012B0H   LINE      ---      ---       #51
+      010012B3H   LINE      ---      ---       #52
+      010012B8H   LINE      ---      ---       #53
+      010012B9H   LINE      ---      ---       #54
+      010012B9H   LINE      ---      ---       #55
+      010012C6H   LINE      ---      ---       #56
+      010012CCH   LINE      ---      ---       #57
+      010012CEH   LINE      ---      ---       #58
+      010012D3H   LINE      ---      ---       #59
+      010012D9H   LINE      ---      ---       #60
+      010012EAH   LINE      ---      ---       #61
+      010012FBH   LINE      ---      ---       #62
+      01001301H   LINE      ---      ---       #63
+      01001306H   LINE      ---      ---       #64
+      01001307H   LINE      ---      ---       #65
+      01001307H   LINE      ---      ---       #66
+      01001307H   LINE      ---      ---       #67
+      0100130CH   LINE      ---      ---       #68
+      01001312H   LINE      ---      ---       #69
+      01001312H   LINE      ---      ---       #70
+      0100131AH   LINE      ---      ---       #71
+      0100131BH   LINE      ---      ---       #73
+      0100131BH   LINE      ---      ---       #74
+      0100132CH   LINE      ---      ---       #75
+      01001331H   LINE      ---      ---       #76
+      01001336H   LINE      ---      ---       #77
+      0100134CH   LINE      ---      ---       #78
+      0100134CH   LINE      ---      ---       #79
+      01001352H   LINE      ---      ---       #80
+      01001354H   LINE      ---      ---       #81
+      01001356H   LINE      ---      ---       #82
+      01001358H   LINE      ---      ---       #83
+      0100135EH   LINE      ---      ---       #84
+      0100135EH   LINE      ---      ---       #86
+      01001362H   LINE      ---      ---       #88
+      01001368H   LINE      ---      ---       #89
+      0100136BH   LINE      ---      ---       #90
+      0100136FH   LINE      ---      ---       #91
+      0100136FH   LINE      ---      ---       #92
+      01001370H   LINE      ---      ---       #93
+      01001370H   LINE      ---      ---       #94
+      01001375H   LINE      ---      ---       #95
+      01001381H   LINE      ---      ---       #96
+      01001381H   LINE      ---      ---       #97
+      01001389H   LINE      ---      ---       #98
+      0100138AH   LINE      ---      ---       #100
+      0100138AH   LINE      ---      ---       #101
+      01001392H   LINE      ---      ---       #102
+      01001392H   LINE      ---      ---       #103
+      01001397H   LINE      ---      ---       #104
+      0100139BH   LINE      ---      ---       #105
+      010013A1H   LINE      ---      ---       #106
+      010013A4H   LINE      ---      ---       #107
+      010013AAH   LINE      ---      ---       #108
+      010013B0H   LINE      ---      ---       #109
+      010013B6H   LINE      ---      ---       #110
+      010013BDH   LINE      ---      ---       #111
+      010013BDH   LINE      ---      ---       #112
+      010013C2H   LINE      ---      ---       #113
+      010013C2H   LINE      ---      ---       #114
+      010013C3H   LINE      ---      ---       #115
+      010013C3H   LINE      ---      ---       #116
+      010013C8H   LINE      ---      ---       #117
+      010013C8H   LINE      ---      ---       #118
+      010013C8H   LINE      ---      ---       #119
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000C1DH   BLOCK     CODE     ---       LVL=0
+      01000C1DH   LINE      ---      ---       #123
+      01000C2BH   LINE      ---      ---       #124
+      01000C2BH   BLOCK     CODE     NEAR LAB  LVL=1
+      01000C2BH   LINE      ---      ---       #126
+      01000C2DH   LINE      ---      ---       #128
+      01000C37H   LINE      ---      ---       #129
+      01000C37H   LINE      ---      ---       #130
+      01000C57H   LINE      ---      ---       #131
+      01000C5AH   LINE      ---      ---       #133
+      01000C62H   LINE      ---      ---       #135
+      01000C6AH   LINE      ---      ---       #138
+      01000C7DH   LINE      ---      ---       #140
+      01000C7DH   LINE      ---      ---       #141
+      01000C84H   LINE      ---      ---       #142
+      01000C87H   LINE      ---      ---       #143
+      01000C95H   LINE      ---      ---       #145
+      01000C95H   LINE      ---      ---       #146
+      01000C9DH   LINE      ---      ---       #147
+      01000C9DH   LINE      ---      ---       #148
+      01000CA5H   LINE      ---      ---       #149
+      01000CA5H   LINE      ---      ---       #150
+      01000CA8H   LINE      ---      ---       #151
+      01000CBAH   LINE      ---      ---       #152
+      01000CC0H   LINE      ---      ---       #154
+      01000CC6H   LINE      ---      ---       #155
+      01000CC8H   LINE      ---      ---       #156
+      01000CCFH   LINE      ---      ---       #157
+      01000CCFH   LINE      ---      ---       #158
+      01000CD2H   LINE      ---      ---       #159
+      01000CDAH   LINE      ---      ---       #160
+      01000CDAH   LINE      ---      ---       #161
+      01000CDEH   LINE      ---      ---       #162
+      01000CE0H   LINE      ---      ---       #164
+      01000CE0H   LINE      ---      ---       #165
+      01000CE6H   LINE      ---      ---       #166
+      01000CE6H   LINE      ---      ---       #167
+      01000CE8H   LINE      ---      ---       #168
+      01000CEFH   LINE      ---      ---       #169
+      01000CEFH   LINE      ---      ---       #170
+      01000CF2H   LINE      ---      ---       #171
+      01000CF2H   LINE      ---      ---       #172
+      01000D00H   LINE      ---      ---       #173
+      01000D00H   LINE      ---      ---       #174
+      02004E84H   SYMBOL    XDATA    VOID      tx_hid_buff
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002664H   BLOCK     CODE     ---       LVL=0
-      01002664H   LINE      ---      ---       #194
-      01002668H   LINE      ---      ---       #195
-      01002668H   LINE      ---      ---       #196
-      01002670H   LINE      ---      ---       #197
-      01002670H   LINE      ---      ---       #198
-      01002673H   LINE      ---      ---       #199
-      01002678H   LINE      ---      ---       #200
-      0100267BH   LINE      ---      ---       #201
-      0100267EH   LINE      ---      ---       #202
-      0100267EH   LINE      ---      ---       #203
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002999H   BLOCK     CODE     ---       LVL=0
-      01002999H   LINE      ---      ---       #205
-      01002999H   LINE      ---      ---       #206
-      01002999H   LINE      ---      ---       #207
-      010029A1H   LINE      ---      ---       #208
-      010029A1H   LINE      ---      ---       #209
-      010029A4H   LINE      ---      ---       #210
-      010029AAH   LINE      ---      ---       #211
-      010029B0H   LINE      ---      ---       #212
-      010029B3H   LINE      ---      ---       #213
-      010029B3H   LINE      ---      ---       #214
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000DCAH   BLOCK     CODE     ---       LVL=0
-      01000DCAH   LINE      ---      ---       #217
-      01000DD2H   LINE      ---      ---       #218
-      01000DD2H   LINE      ---      ---       #219
-      01000DDEH   LINE      ---      ---       #220
-      01000DE4H   LINE      ---      ---       #221
-      01000DF2H   LINE      ---      ---       #222
-      01000DFAH   LINE      ---      ---       #223
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010029B4H   BLOCK     CODE     ---       LVL=0
-      010029B4H   LINE      ---      ---       #244
-      010029B4H   LINE      ---      ---       #245
-      010029B4H   BLOCK     CODE     NEAR LAB  LVL=1
-      010029B4H   LINE      ---      ---       #246
-      010029BDH   LINE      ---      ---       #247
-      010029CBH   LINE      ---      ---       #248
-      010029D0H   LINE      ---      ---       #250
-      010029E6H   LINE      ---      ---       #251
-      010029EFH   LINE      ---      ---       #252
-      010029F6H   LINE      ---      ---       #253
-      010029F6H   LINE      ---      ---       #254
-      010029FBH   LINE      ---      ---       #255
-      01002A01H   LINE      ---      ---       #256
-      01002A06H   LINE      ---      ---       #257
-      01002A06H   LINE      ---      ---       #259
-      01002A10H   LINE      ---      ---       #260
-      01002A10H   LINE      ---      ---       #261
-      01002A15H   LINE      ---      ---       #262
-      01002A1AH   LINE      ---      ---       #263
-      01002A20H   LINE      ---      ---       #264
-      01002A20H   LINE      ---      ---       #265
-      01002A21H   LINE      ---      ---       #267
-      01002A21H   LINE      ---      ---       #268
-      01002A42H   LINE      ---      ---       #269
-      01002A42H   LINE      ---      ---       #270
-      01002A46H   LINE      ---      ---       #271
-      01002A46H   LINE      ---      ---       #272
-      01002A5AH   LINE      ---      ---       #273
-      01002A77H   LINE      ---      ---       #274
-      01002A7DH   LINE      ---      ---       #275
-      01002A7EH   LINE      ---      ---       #277
-      01002A7EH   LINE      ---      ---       #278
-      01002AA5H   LINE      ---      ---       #279
-      01002AEBH   LINE      ---      ---       #280
-      01002AF1H   LINE      ---      ---       #281
-      01002AF1H   LINE      ---      ---       #282
-      01002AF2H   LINE      ---      ---       #283
-      01002B13H   LINE      ---      ---       #284
-      01002B13H   LINE      ---      ---       #285
-      01002B17H   LINE      ---      ---       #286
-      01002B17H   LINE      ---      ---       #287
-      01002B2BH   LINE      ---      ---       #288
-      01002B48H   LINE      ---      ---       #289
-      01002B4EH   LINE      ---      ---       #290
-      01002B4FH   LINE      ---      ---       #292
-      01002B4FH   LINE      ---      ---       #293
-      01002B76H   LINE      ---      ---       #294
-      01002BBCH   LINE      ---      ---       #295
-      01002BC2H   LINE      ---      ---       #296
-      01002BC2H   LINE      ---      ---       #297
-      01002BC3H   LINE      ---      ---       #298
-      01002BD8H   LINE      ---      ---       #299
-      01002BD8H   LINE      ---      ---       #300
-      01002BDEH   LINE      ---      ---       #301
-      01002BEEH   LINE      ---      ---       #302
-      01002BF4H   LINE      ---      ---       #303
-      01002BF4H   LINE      ---      ---       #304
-      01002C11H   LINE      ---      ---       #305
-      01002C17H   LINE      ---      ---       #306
-      01002C17H   LINE      ---      ---       #307
-      01002C18H   LINE      ---      ---       #309
-      01002C18H   LINE      ---      ---       #310
-      01002C26H   LINE      ---      ---       #311
-      01002C26H   LINE      ---      ---       #312
-      01002C26H   LINE      ---      ---       #313
-      01002C26H   LINE      ---      ---       #314
-      02004EE4H   SYMBOL    XDATA    VOID      pEvt
-      ---         BLOCKEND  CODE     ---       LVL=1
-      ---         BLOCKEND  CODE     ---       LVL=0
-
-      0100241AH   BLOCK     CODE     ---       LVL=0
-      0100241AH   LINE      ---      ---       #318
-      0100241AH   LINE      ---      ---       #319
-      0100241AH   LINE      ---      ---       #320
-      01002426H   LINE      ---      ---       #321
-      01002426H   LINE      ---      ---       #322
-      0100242EH   LINE      ---      ---       #323
-      0100242EH   LINE      ---      ---       #324
-      0100243AH   LINE      ---      ---       #325
-      0100243AH   LINE      ---      ---       #326
-      01002447H   LINE      ---      ---       #327
-      0100244CH   LINE      ---      ---       #328
-      01002451H   LINE      ---      ---       #329
-      01002459H   LINE      ---      ---       #330
-      01002464H   LINE      ---      ---       #331
-      01002464H   LINE      ---      ---       #332
-      0100246CH   LINE      ---      ---       #333
-      0100246CH   LINE      ---      ---       #334
-      0100246CH   LINE      ---      ---       #335
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100239FH   BLOCK     CODE     ---       LVL=0
-      0100239FH   LINE      ---      ---       #339
-      0100239FH   LINE      ---      ---       #340
-      0100239FH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100239FH   LINE      ---      ---       #341
-      010023A8H   LINE      ---      ---       #343
-      010023ACH   LINE      ---      ---       #345
-      010023B9H   LINE      ---      ---       #347
-      010023BCH   LINE      ---      ---       #348
-      010023BCH   LINE      ---      ---       #349
-      010023C1H   LINE      ---      ---       #350
-      010023C3H   LINE      ---      ---       #352
-      010023C3H   LINE      ---      ---       #353
-      010023D1H   LINE      ---      ---       #354
-      02004EE7H   SYMBOL    XDATA    VOID      pEvt
-      ---         BLOCKEND  CODE     ---       LVL=1
-      ---         BLOCKEND  CODE     ---       LVL=0
-
-      01000E04H   BLOCK     CODE     ---       LVL=0
-      01000E04H   LINE      ---      ---       #429
-      01000E04H   LINE      ---      ---       #430
-      01000E04H   LINE      ---      ---       #431
-      01000E0BH   LINE      ---      ---       #432
-      01000E0BH   LINE      ---      ---       #433
-      01000E0EH   LINE      ---      ---       #434
-      01000E0EH   LINE      ---      ---       #436
-      01000E0EH   LINE      ---      ---       #457
-      01000E0EH   LINE      ---      ---       #465
-      01000E22H   LINE      ---      ---       #470
-      01000E22H   LINE      ---      ---       #472
-      01000E25H   LINE      ---      ---       #473
-      01000E25H   LINE      ---      ---       #475
-      01000E25H   LINE      ---      ---       #476
-      01000E2CH   LINE      ---      ---       #477
-      01000E2CH   LINE      ---      ---       #478
-      01000E33H   LINE      ---      ---       #479
-      01000E39H   LINE      ---      ---       #480
-      01000E3AH   LINE      ---      ---       #481
-      01000E42H   LINE      ---      ---       #482
-      01000E42H   LINE      ---      ---       #483
-      01000E48H   LINE      ---      ---       #484
-      01000E48H   LINE      ---      ---       #485
-      01000E4AH   LINE      ---      ---       #486
-      01000E50H   LINE      ---      ---       #487
-      01000E56H   LINE      ---      ---       #488
-      01000E5CH   LINE      ---      ---       #489
-      01000E5EH   LINE      ---      ---       #491
-      01000E5EH   LINE      ---      ---       #492
-      01000E64H   LINE      ---      ---       #493
-      01000E64H   LINE      ---      ---       #494
-      01000E6EH   LINE      ---      ---       #495
-      01000E6EH   LINE      ---      ---       #496
-      01000E75H   LINE      ---      ---       #497
-      01000E75H   LINE      ---      ---       #498
-      01000E7AH   LINE      ---      ---       #499
-      01000E83H   LINE      ---      ---       #500
-      01000E88H   LINE      ---      ---       #501
-      01000E8EH   LINE      ---      ---       #502
-      01000E95H   LINE      ---      ---       #504
-      01000E9BH   LINE      ---      ---       #505
-      01000E9CH   LINE      ---      ---       #506
-      01000EA3H   LINE      ---      ---       #507
-      01000EA3H   LINE      ---      ---       #508
-      01000EA8H   LINE      ---      ---       #509
-      01000EACH   LINE      ---      ---       #510
-      01000EB3H   LINE      ---      ---       #511
-      01000EB8H   LINE      ---      ---       #512
-      01000EB9H   LINE      ---      ---       #514
-      01000EC0H   LINE      ---      ---       #515
-      01000EC0H   LINE      ---      ---       #516
-      01000EC5H   LINE      ---      ---       #517
-      01000ECEH   LINE      ---      ---       #518
-      01000ED4H   LINE      ---      ---       #519
-      01000EDAH   LINE      ---      ---       #520
-      01000EDAH   LINE      ---      ---       #521
-      01000EDAH   LINE      ---      ---       #522
-      01000EDAH   LINE      ---      ---       #523
-      01000EDAH   LINE      ---      ---       #524
+      0100256EH   BLOCK     CODE     ---       LVL=0
+      0100256EH   LINE      ---      ---       #177
+      01002572H   LINE      ---      ---       #178
+      01002572H   LINE      ---      ---       #179
+      0100257AH   LINE      ---      ---       #180
+      0100257AH   LINE      ---      ---       #181
+      0100257DH   LINE      ---      ---       #182
+      01002582H   LINE      ---      ---       #183
+      01002585H   LINE      ---      ---       #184
+      01002588H   LINE      ---      ---       #185
+      01002588H   LINE      ---      ---       #186
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010028A1H   BLOCK     CODE     ---       LVL=0
+      010028A1H   LINE      ---      ---       #188
+      010028A1H   LINE      ---      ---       #189
+      010028A1H   LINE      ---      ---       #190
+      010028A9H   LINE      ---      ---       #191
+      010028A9H   LINE      ---      ---       #192
+      010028ACH   LINE      ---      ---       #193
+      010028B2H   LINE      ---      ---       #194
+      010028B8H   LINE      ---      ---       #195
+      010028BBH   LINE      ---      ---       #196
+      010028BBH   LINE      ---      ---       #197
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000DC7H   BLOCK     CODE     ---       LVL=0
+      01000DC7H   LINE      ---      ---       #200
+      01000DCFH   LINE      ---      ---       #201
+      01000DCFH   LINE      ---      ---       #202
+      01000DDBH   LINE      ---      ---       #203
+      01000DE1H   LINE      ---      ---       #204
+      01000DEFH   LINE      ---      ---       #205
+      01000DF7H   LINE      ---      ---       #206
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010028BCH   BLOCK     CODE     ---       LVL=0
+      010028BCH   LINE      ---      ---       #270
+      010028BCH   LINE      ---      ---       #271
+      010028BCH   LINE      ---      ---       #272
+      010028C8H   LINE      ---      ---       #273
+      010028C8H   LINE      ---      ---       #274
+      010028D0H   LINE      ---      ---       #275
+      010028D0H   LINE      ---      ---       #276
+      010028DCH   LINE      ---      ---       #277
+      010028DCH   LINE      ---      ---       #278
+      010028E9H   LINE      ---      ---       #279
+      010028EEH   LINE      ---      ---       #280
+      010028F3H   LINE      ---      ---       #281
+      010028FBH   LINE      ---      ---       #282
+      01002906H   LINE      ---      ---       #283
+      01002906H   LINE      ---      ---       #284
+      0100290EH   LINE      ---      ---       #285
+      0100290EH   LINE      ---      ---       #286
+      0100290EH   LINE      ---      ---       #287
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100290FH   BLOCK     CODE     ---       LVL=0
+      0100290FH   LINE      ---      ---       #291
+      0100290FH   LINE      ---      ---       #292
+      0100290FH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100290FH   LINE      ---      ---       #293
+      01002918H   LINE      ---      ---       #295
+      0100291CH   LINE      ---      ---       #297
+      01002929H   LINE      ---      ---       #299
+      0100292CH   LINE      ---      ---       #300
+      0100292CH   LINE      ---      ---       #301
+      01002931H   LINE      ---      ---       #302
+      01002933H   LINE      ---      ---       #304
+      01002933H   LINE      ---      ---       #305
+      01002941H   LINE      ---      ---       #306
+      02004EE6H   SYMBOL    XDATA    VOID      pEvt
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      01000E01H   BLOCK     CODE     ---       LVL=0
+      01000E01H   LINE      ---      ---       #310
+      01000E01H   LINE      ---      ---       #311
+      01000E01H   LINE      ---      ---       #321
+      01000E01H   LINE      ---      ---       #322
+      01000E10H   LINE      ---      ---       #326
+      01000E13H   LINE      ---      ---       #328
+      01000E13H   LINE      ---      ---       #329
+      01000E1AH   LINE      ---      ---       #330
+      01000E1AH   LINE      ---      ---       #331
+      01000E21H   LINE      ---      ---       #332
+      01000E27H   LINE      ---      ---       #333
+      01000E28H   LINE      ---      ---       #334
+      01000E2FH   LINE      ---      ---       #335
+      01000E2FH   LINE      ---      ---       #336
+      01000E32H   LINE      ---      ---       #337
+      01000E3AH   LINE      ---      ---       #338
+      01000E3AH   LINE      ---      ---       #339
+      01000E41H   LINE      ---      ---       #340
+      01000E41H   LINE      ---      ---       #341
+      01000E46H   LINE      ---      ---       #342
+      01000E4FH   LINE      ---      ---       #343
+      01000E54H   LINE      ---      ---       #344
+      01000E5AH   LINE      ---      ---       #345
+      01000E61H   LINE      ---      ---       #347
+      01000E67H   LINE      ---      ---       #348
+      01000E68H   LINE      ---      ---       #349
+      01000E6FH   LINE      ---      ---       #350
+      01000E6FH   LINE      ---      ---       #351
+      01000E74H   LINE      ---      ---       #352
+      01000E78H   LINE      ---      ---       #353
+      01000E7FH   LINE      ---      ---       #354
+      01000E84H   LINE      ---      ---       #355
+      01000E84H   LINE      ---      ---       #356
+      01000E84H   LINE      ---      ---       #357
+      01000E84H   LINE      ---      ---       #358
       ---         BLOCKEND  ---      ---       LVL=0
 
       010008C0H   BLOCK     CODE     ---       LVL=0
-      010008C0H   LINE      ---      ---       #528
-      010008CBH   LINE      ---      ---       #529
+      010008C0H   LINE      ---      ---       #362
+      010008CBH   LINE      ---      ---       #363
       010008CBH   BLOCK     CODE     NEAR LAB  LVL=1
-      010008CBH   LINE      ---      ---       #530
-      010008CEH   LINE      ---      ---       #531
-      010008D0H   LINE      ---      ---       #533
-      010008D4H   LINE      ---      ---       #534
-      010008D8H   LINE      ---      ---       #535
-      010008DCH   LINE      ---      ---       #536
-      010008EAH   LINE      ---      ---       #537
-      010008EAH   LINE      ---      ---       #538
-      01000909H   LINE      ---      ---       #539
-      01000909H   LINE      ---      ---       #540
-      0100090FH   LINE      ---      ---       #541
-      0100090FH   LINE      ---      ---       #542
-      01000913H   LINE      ---      ---       #543
-      01000913H   LINE      ---      ---       #544
-      01000919H   LINE      ---      ---       #545
-      01000919H   LINE      ---      ---       #546
-      01000929H   LINE      ---      ---       #547
-      0100092FH   LINE      ---      ---       #548
-      01000937H   LINE      ---      ---       #551
-      0100094AH   LINE      ---      ---       #553
-      01000956H   LINE      ---      ---       #554
-      01000956H   LINE      ---      ---       #555
-      01000968H   LINE      ---      ---       #556
-      01000968H   LINE      ---      ---       #557
-      0100096CH   LINE      ---      ---       #558
-      01000970H   LINE      ---      ---       #559
-      01000976H   LINE      ---      ---       #560
-      01000976H   LINE      ---      ---       #561
-      01000978H   LINE      ---      ---       #562
-      0100097EH   LINE      ---      ---       #563
-      01000980H   LINE      ---      ---       #565
-      01000986H   LINE      ---      ---       #566
-      01000990H   LINE      ---      ---       #567
-      01000990H   LINE      ---      ---       #569
-      01000990H   LINE      ---      ---       #570
-      01000996H   LINE      ---      ---       #571
-      01000996H   LINE      ---      ---       #572
-      01000998H   LINE      ---      ---       #573
-      0100099EH   LINE      ---      ---       #574
-      0100099EH   LINE      ---      ---       #576
-      010009A4H   LINE      ---      ---       #577
-      010009A4H   LINE      ---      ---       #578
-      010009A6H   LINE      ---      ---       #579
-      010009ACH   LINE      ---      ---       #580
-      010009ACH   LINE      ---      ---       #583
-      010009B3H   LINE      ---      ---       #584
-      010009B3H   LINE      ---      ---       #585
-      010009B9H   LINE      ---      ---       #586
-      010009B9H   LINE      ---      ---       #587
-      010009BFH   LINE      ---      ---       #588
-      010009C6H   LINE      ---      ---       #589
-      010009CDH   LINE      ---      ---       #590
-      010009CDH   LINE      ---      ---       #591
-      010009D2H   LINE      ---      ---       #592
-      010009D6H   LINE      ---      ---       #593
-      010009DAH   LINE      ---      ---       #594
-      010009DDH   LINE      ---      ---       #595
-      010009DFH   LINE      ---      ---       #597
-      010009DFH   LINE      ---      ---       #598
-      010009E4H   LINE      ---      ---       #599
-      010009E8H   LINE      ---      ---       #600
-      010009ECH   LINE      ---      ---       #601
-      010009EFH   LINE      ---      ---       #602
-      010009EFH   LINE      ---      ---       #603
-      010009FBH   LINE      ---      ---       #604
-      01000A07H   LINE      ---      ---       #607
-      01000A34H   LINE      ---      ---       #610
-      01000A34H   LINE      ---      ---       #611
-      01000A3EH   LINE      ---      ---       #612
-      01000A3EH   LINE      ---      ---       #613
-      01000A41H   LINE      ---      ---       #614
-      01000A46H   LINE      ---      ---       #615
-      01000A4BH   LINE      ---      ---       #616
-      01000A4BH   LINE      ---      ---       #617
-      01000A4BH   LINE      ---      ---       #637
-      01000A51H   LINE      ---      ---       #638
-      01000A6AH   LINE      ---      ---       #641
-      01000A6AH   LINE      ---      ---       #643
-      01000A6AH   LINE      ---      ---       #646
-      01000A72H   LINE      ---      ---       #647
-      01000A72H   LINE      ---      ---       #648
-      01000A80H   LINE      ---      ---       #649
-      01000A80H   LINE      ---      ---       #650
-      01000AA9H   LINE      ---      ---       #652
-      01000AA9H   LINE      ---      ---       #653
-      01000AAFH   LINE      ---      ---       #655
-      01000AAFH   LINE      ---      ---       #656
-      01000AB7H   LINE      ---      ---       #657
-      01000AB7H   LINE      ---      ---       #659
-      01000AC5H   LINE      ---      ---       #661
-      01000ACCH   LINE      ---      ---       #662
-      01000ACCH   LINE      ---      ---       #663
-      01000ACFH   LINE      ---      ---       #664
-      01000AD3H   LINE      ---      ---       #665
-      01000ADDH   LINE      ---      ---       #666
-      01000ADDH   LINE      ---      ---       #667
-      01000AE4H   LINE      ---      ---       #668
-      01000AE4H   LINE      ---      ---       #669
-      01000AE7H   LINE      ---      ---       #670
-      01000AEDH   LINE      ---      ---       #671
-      01000AF7H   LINE      ---      ---       #672
-      01000AF7H   LINE      ---      ---       #673
-      01000B0AH   LINE      ---      ---       #674
-      01000B0AH   LINE      ---      ---       #675
-      01000B0FH   LINE      ---      ---       #676
-      01000B13H   LINE      ---      ---       #677
-      01000B19H   LINE      ---      ---       #678
-      01000B19H   LINE      ---      ---       #679
-      01000B1BH   LINE      ---      ---       #680
-      01000B21H   LINE      ---      ---       #681
-      01000B23H   LINE      ---      ---       #683
-      01000B29H   LINE      ---      ---       #684
-      01000B33H   LINE      ---      ---       #685
-      01000B33H   LINE      ---      ---       #687
-      01000B33H   LINE      ---      ---       #688
-      01000B39H   LINE      ---      ---       #689
-      01000B4FH   LINE      ---      ---       #691
-      01000B55H   LINE      ---      ---       #692
-      01000B67H   LINE      ---      ---       #693
-      01000B6EH   LINE      ---      ---       #694
-      01000B78H   LINE      ---      ---       #696
-      01000B7DH   LINE      ---      ---       #698
-      01000B82H   LINE      ---      ---       #699
-      01000B88H   LINE      ---      ---       #700
-      01000B88H   LINE      ---      ---       #701
-      01000B91H   LINE      ---      ---       #702
-      01000BA6H   LINE      ---      ---       #704
-      01000BC2H   LINE      ---      ---       #706
-      01000BD2H   LINE      ---      ---       #707
-      01000BD2H   LINE      ---      ---       #708
-      01000BE0H   LINE      ---      ---       #709
-      01000BEFH   LINE      ---      ---       #710
-      01000BF7H   LINE      ---      ---       #711
-      01000BF7H   LINE      ---      ---       #713
-      01000C13H   LINE      ---      ---       #714
-      01000C1DH   LINE      ---      ---       #715
-      01000C1DH   LINE      ---      ---       #717
-      02004ECCH   SYMBOL    XDATA    VOID      temp
-      02004ECDH   SYMBOL    XDATA    VOID      i
-      ---         BLOCKEND  CODE     ---       LVL=1
-      ---         BLOCKEND  CODE     ---       LVL=0
-
-      01002C27H   BLOCK     CODE     ---       LVL=0
-      01002C27H   LINE      ---      ---       #721
-      01002C32H   LINE      ---      ---       #722
-      01002C32H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002C32H   LINE      ---      ---       #723
-      01002C34H   LINE      ---      ---       #724
-      01002C35H   LINE      ---      ---       #726
-      01002C45H   LINE      ---      ---       #727
-      01002C45H   LINE      ---      ---       #728
-      01002C47H   LINE      ---      ---       #730
-      01002C4DH   LINE      ---      ---       #731
-      01002C4DH   LINE      ---      ---       #732
-      01002C69H   LINE      ---      ---       #734
-      01002C73H   LINE      ---      ---       #735
-      01002C73H   LINE      ---      ---       #736
-      01002C76H   LINE      ---      ---       #737
-      01002C7BH   LINE      ---      ---       #739
-      01002C81H   LINE      ---      ---       #740
-      01002C86H   LINE      ---      ---       #741
-      01002C8BH   LINE      ---      ---       #742
-      01002C8EH   LINE      ---      ---       #743
-      01002C93H   LINE      ---      ---       #744
-      01002C98H   LINE      ---      ---       #745
-      01002CA0H   LINE      ---      ---       #746
-      01002CA8H   LINE      ---      ---       #748
-      01002CABH   LINE      ---      ---       #749
-      01002CABH   LINE      ---      ---       #766
-      01002CABH   LINE      ---      ---       #767
-      01002CADH   LINE      ---      ---       #769
-      01002CADH   LINE      ---      ---       #771
-      01002CB4H   LINE      ---      ---       #772
-      01002CB7H   LINE      ---      ---       #773
-      01002CB7H   LINE      ---      ---       #774
-      01002CB9H   LINE      ---      ---       #775
+      010008CBH   LINE      ---      ---       #364
+      010008CEH   LINE      ---      ---       #365
+      010008D0H   LINE      ---      ---       #367
+      010008D4H   LINE      ---      ---       #368
+      010008D8H   LINE      ---      ---       #369
+      010008DCH   LINE      ---      ---       #370
+      010008EAH   LINE      ---      ---       #371
+      010008EAH   LINE      ---      ---       #372
+      01000909H   LINE      ---      ---       #373
+      01000909H   LINE      ---      ---       #374
+      0100090FH   LINE      ---      ---       #375
+      0100090FH   LINE      ---      ---       #376
+      01000913H   LINE      ---      ---       #377
+      01000913H   LINE      ---      ---       #378
+      01000919H   LINE      ---      ---       #379
+      01000919H   LINE      ---      ---       #380
+      01000929H   LINE      ---      ---       #381
+      0100092FH   LINE      ---      ---       #382
+      01000937H   LINE      ---      ---       #385
+      0100094AH   LINE      ---      ---       #387
+      01000956H   LINE      ---      ---       #388
+      01000956H   LINE      ---      ---       #389
+      01000968H   LINE      ---      ---       #390
+      01000968H   LINE      ---      ---       #391
+      0100096CH   LINE      ---      ---       #392
+      01000970H   LINE      ---      ---       #393
+      01000976H   LINE      ---      ---       #394
+      01000976H   LINE      ---      ---       #395
+      01000978H   LINE      ---      ---       #396
+      0100097EH   LINE      ---      ---       #397
+      01000980H   LINE      ---      ---       #399
+      01000986H   LINE      ---      ---       #400
+      01000990H   LINE      ---      ---       #401
+      01000990H   LINE      ---      ---       #403
+      01000990H   LINE      ---      ---       #404
+      01000996H   LINE      ---      ---       #405
+      01000996H   LINE      ---      ---       #406
+      01000998H   LINE      ---      ---       #407
+      0100099EH   LINE      ---      ---       #408
+      0100099EH   LINE      ---      ---       #410
+      010009A4H   LINE      ---      ---       #411
+      010009A4H   LINE      ---      ---       #412
+      010009A6H   LINE      ---      ---       #413
+      010009ACH   LINE      ---      ---       #414
+      010009ACH   LINE      ---      ---       #417
+      010009B3H   LINE      ---      ---       #418
+      010009B3H   LINE      ---      ---       #419
+      010009B9H   LINE      ---      ---       #420
+      010009B9H   LINE      ---      ---       #421
+      010009BFH   LINE      ---      ---       #422
+      010009C6H   LINE      ---      ---       #423
+      010009CDH   LINE      ---      ---       #424
+      010009CDH   LINE      ---      ---       #425
+      010009D2H   LINE      ---      ---       #426
+      010009D6H   LINE      ---      ---       #427
+      010009DAH   LINE      ---      ---       #428
+      010009DDH   LINE      ---      ---       #429
+      010009DFH   LINE      ---      ---       #431
+      010009DFH   LINE      ---      ---       #432
+      010009E4H   LINE      ---      ---       #433
+      010009E8H   LINE      ---      ---       #434
+      010009ECH   LINE      ---      ---       #435
+      010009EFH   LINE      ---      ---       #436
+      010009EFH   LINE      ---      ---       #437
+      010009FBH   LINE      ---      ---       #438
+      01000A07H   LINE      ---      ---       #441
+      01000A34H   LINE      ---      ---       #444
+      01000A34H   LINE      ---      ---       #445
+      01000A3EH   LINE      ---      ---       #446
+      01000A3EH   LINE      ---      ---       #447
+      01000A41H   LINE      ---      ---       #448
+      01000A45H   LINE      ---      ---       #449
+      01000A4AH   LINE      ---      ---       #450
+      01000A4AH   LINE      ---      ---       #451
+      01000A4AH   LINE      ---      ---       #471
+      01000A50H   LINE      ---      ---       #472
+      01000A69H   LINE      ---      ---       #475
+      01000A69H   LINE      ---      ---       #477
+      01000A69H   LINE      ---      ---       #480
+      01000A71H   LINE      ---      ---       #481
+      01000A71H   LINE      ---      ---       #482
+      01000A7FH   LINE      ---      ---       #483
+      01000A7FH   LINE      ---      ---       #484
+      01000AA8H   LINE      ---      ---       #486
+      01000AA8H   LINE      ---      ---       #487
+      01000AAEH   LINE      ---      ---       #489
+      01000AAEH   LINE      ---      ---       #490
+      01000AB6H   LINE      ---      ---       #491
+      01000AB6H   LINE      ---      ---       #493
+      01000AC4H   LINE      ---      ---       #495
+      01000ACBH   LINE      ---      ---       #496
+      01000ACBH   LINE      ---      ---       #497
+      01000ACEH   LINE      ---      ---       #498
+      01000AD2H   LINE      ---      ---       #499
+      01000ADCH   LINE      ---      ---       #500
+      01000ADCH   LINE      ---      ---       #501
+      01000AE3H   LINE      ---      ---       #502
+      01000AE3H   LINE      ---      ---       #503
+      01000AE6H   LINE      ---      ---       #504
+      01000AECH   LINE      ---      ---       #505
+      01000AF6H   LINE      ---      ---       #506
+      01000AF6H   LINE      ---      ---       #507
+      01000B09H   LINE      ---      ---       #508
+      01000B09H   LINE      ---      ---       #509
+      01000B0EH   LINE      ---      ---       #510
+      01000B12H   LINE      ---      ---       #511
+      01000B18H   LINE      ---      ---       #512
+      01000B18H   LINE      ---      ---       #513
+      01000B1AH   LINE      ---      ---       #514
+      01000B20H   LINE      ---      ---       #515
+      01000B22H   LINE      ---      ---       #517
+      01000B28H   LINE      ---      ---       #518
+      01000B32H   LINE      ---      ---       #519
+      01000B32H   LINE      ---      ---       #521
+      01000B32H   LINE      ---      ---       #522
+      01000B38H   LINE      ---      ---       #523
+      01000B4EH   LINE      ---      ---       #525
+      01000B54H   LINE      ---      ---       #526
+      01000B66H   LINE      ---      ---       #527
+      01000B6DH   LINE      ---      ---       #528
+      01000B77H   LINE      ---      ---       #530
+      01000B7CH   LINE      ---      ---       #532
+      01000B81H   LINE      ---      ---       #533
+      01000B87H   LINE      ---      ---       #534
+      01000B87H   LINE      ---      ---       #535
+      01000B90H   LINE      ---      ---       #536
+      01000BA5H   LINE      ---      ---       #538
+      01000BC1H   LINE      ---      ---       #540
+      01000BD1H   LINE      ---      ---       #541
+      01000BD1H   LINE      ---      ---       #542
+      01000BDFH   LINE      ---      ---       #543
+      01000BEEH   LINE      ---      ---       #544
+      01000BF6H   LINE      ---      ---       #545
+      01000BF6H   LINE      ---      ---       #547
+      01000C12H   LINE      ---      ---       #548
+      01000C1CH   LINE      ---      ---       #549
+      01000C1CH   LINE      ---      ---       #551
+      02004ECEH   SYMBOL    XDATA    VOID      temp
+      02004ECFH   SYMBOL    XDATA    VOID      i
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      01002EC0H   BLOCK     CODE     ---       LVL=0
+      01002EC0H   LINE      ---      ---       #555
+      01002ECBH   LINE      ---      ---       #556
+      01002ECBH   BLOCK     CODE     NEAR LAB  LVL=1
+      01002ECBH   LINE      ---      ---       #557
+      01002ECDH   LINE      ---      ---       #558
+      01002ECEH   LINE      ---      ---       #560
+      01002EDEH   LINE      ---      ---       #561
+      01002EDEH   LINE      ---      ---       #562
+      01002EE0H   LINE      ---      ---       #564
+      01002EE6H   LINE      ---      ---       #565
+      01002EE6H   LINE      ---      ---       #566
+      01002F02H   LINE      ---      ---       #568
+      01002F0CH   LINE      ---      ---       #569
+      01002F0CH   LINE      ---      ---       #570
+      01002F0FH   LINE      ---      ---       #571
+      01002F14H   LINE      ---      ---       #573
+      01002F1EH   LINE      ---      ---       #574
+      01002F23H   LINE      ---      ---       #575
+      01002F28H   LINE      ---      ---       #576
+      01002F2BH   LINE      ---      ---       #577
+      01002F30H   LINE      ---      ---       #578
+      01002F35H   LINE      ---      ---       #579
+      01002F3DH   LINE      ---      ---       #580
+      01002F45H   LINE      ---      ---       #582
+      01002F48H   LINE      ---      ---       #583
+      01002F48H   LINE      ---      ---       #600
+      01002F48H   LINE      ---      ---       #601
+      01002F4AH   LINE      ---      ---       #603
+      01002F4AH   LINE      ---      ---       #605
+      01002F51H   LINE      ---      ---       #607
+      01002F51H   LINE      ---      ---       #608
+      01002F53H   LINE      ---      ---       #609
       00000007H   SYMBOL    DATA     VOID      temp
       00000006H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002CBAH   BLOCK     CODE     ---       LVL=0
-      01002CBAH   LINE      ---      ---       #780
-      01002CBAH   LINE      ---      ---       #781
-      01002CBAH   LINE      ---      ---       #782
-      01002CBFH   LINE      ---      ---       #783
-      01002CC2H   LINE      ---      ---       #785
-      01002CC6H   LINE      ---      ---       #786
-      01002CC6H   LINE      ---      ---       #787
-      01002CCDH   LINE      ---      ---       #788
-      01002CD1H   LINE      ---      ---       #790
-      01002CD7H   LINE      ---      ---       #791
-      01002CD8H   LINE      ---      ---       #793
-      01002CD8H   LINE      ---      ---       #794
-      01002CDEH   LINE      ---      ---       #795
-      01002CDEH   LINE      ---      ---       #797
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100256DH   BLOCK     CODE     ---       LVL=0
-      0100256DH   LINE      ---      ---       #800
-      0100256DH   LINE      ---      ---       #801
-      0100256DH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100256DH   LINE      ---      ---       #802
-      01002572H   LINE      ---      ---       #804
-      01002576H   LINE      ---      ---       #805
-      0100257BH   LINE      ---      ---       #806
-      01002580H   LINE      ---      ---       #808
-      01002586H   LINE      ---      ---       #809
-      01002586H   LINE      ---      ---       #810
-      0100258AH   LINE      ---      ---       #811
-      01002592H   LINE      ---      ---       #812
-      01002596H   LINE      ---      ---       #813
-      0100259EH   LINE      ---      ---       #815
-      010025A2H   LINE      ---      ---       #816
-      010025AAH   LINE      ---      ---       #817
-      010025AEH   LINE      ---      ---       #818
-      010025B4H   LINE      ---      ---       #819
-      010025B4H   LINE      ---      ---       #821
-      010025C4H   LINE      ---      ---       #822
-      010025C4H   LINE      ---      ---       #823
-      01002600H   LINE      ---      ---       #824
-      01002600H   LINE      ---      ---       #825
-      01002600H   LINE      ---      ---       #827
-      01002606H   LINE      ---      ---       #828
-      01002608H   LINE      ---      ---       #829
-      01002608H   LINE      ---      ---       #831
-      0100260EH   LINE      ---      ---       #832
-      01002610H   LINE      ---      ---       #833
-      01002610H   LINE      ---      ---       #835
-      01002616H   LINE      ---      ---       #836
-      01002618H   LINE      ---      ---       #837
-      01002618H   LINE      ---      ---       #839
-      0100261EH   LINE      ---      ---       #840
-      01002620H   LINE      ---      ---       #841
-      01002620H   LINE      ---      ---       #843
-      01002626H   LINE      ---      ---       #844
-      01002628H   LINE      ---      ---       #845
-      01002628H   LINE      ---      ---       #847
-      0100262EH   LINE      ---      ---       #848
-      01002630H   LINE      ---      ---       #849
-      01002630H   LINE      ---      ---       #851
-      01002636H   LINE      ---      ---       #852
-      01002638H   LINE      ---      ---       #853
-      01002638H   LINE      ---      ---       #855
-      0100263EH   LINE      ---      ---       #856
-      01002640H   LINE      ---      ---       #857
-      01002640H   LINE      ---      ---       #859
-      01002646H   LINE      ---      ---       #860
-      01002648H   LINE      ---      ---       #861
-      01002648H   LINE      ---      ---       #863
-      0100264EH   LINE      ---      ---       #864
-      01002650H   LINE      ---      ---       #865
-      01002650H   LINE      ---      ---       #867
-      01002656H   LINE      ---      ---       #868
-      01002658H   LINE      ---      ---       #869
-      01002658H   LINE      ---      ---       #871
-      0100265EH   LINE      ---      ---       #872
-      0100265EH   LINE      ---      ---       #884
-      0100265EH   LINE      ---      ---       #885
-      0100265EH   LINE      ---      ---       #886
-      0100265EH   LINE      ---      ---       #888
-      0100265EH   LINE      ---      ---       #889
-      01002663H   LINE      ---      ---       #890
-      02004F0AH   SYMBOL    XDATA    VOID      temp
-      ---         BLOCKEND  CODE     ---       LVL=1
-      ---         BLOCKEND  CODE     ---       LVL=0
-
-      0100267FH   BLOCK     CODE     ---       LVL=0
-      0100267FH   LINE      ---      ---       #894
-      0100268AH   LINE      ---      ---       #895
-      0100268AH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100268AH   LINE      ---      ---       #896
-      0100268DH   LINE      ---      ---       #898
-      0100269BH   LINE      ---      ---       #899
-      0100269BH   LINE      ---      ---       #900
-      010026C7H   LINE      ---      ---       #902
-      010026C7H   LINE      ---      ---       #904
-      010026CEH   LINE      ---      ---       #905
-      010026CEH   LINE      ---      ---       #906
-      010026D4H   LINE      ---      ---       #907
-      010026D7H   LINE      ---      ---       #909
-      010026DBH   LINE      ---      ---       #910
-      010026DBH   LINE      ---      ---       #911
-      010026E1H   LINE      ---      ---       #912
-      010026E4H   LINE      ---      ---       #913
-      01002704H   LINE      ---      ---       #914
-      01002704H   LINE      ---      ---       #915
-      01002708H   LINE      ---      ---       #916
-      0100270BH   LINE      ---      ---       #917
-      0100270FH   LINE      ---      ---       #918
-      0100270FH   LINE      ---      ---       #919
-      01002715H   LINE      ---      ---       #920
-      01002718H   LINE      ---      ---       #921
-      01002738H   LINE      ---      ---       #922
-      01002738H   LINE      ---      ---       #923
-      0100273CH   LINE      ---      ---       #924
-      0100273FH   LINE      ---      ---       #925
-      01002743H   LINE      ---      ---       #926
-      01002743H   LINE      ---      ---       #927
-      01002749H   LINE      ---      ---       #928
-      0100274CH   LINE      ---      ---       #929
-      0100276CH   LINE      ---      ---       #930
-      0100276CH   LINE      ---      ---       #931
-      01002770H   LINE      ---      ---       #932
-      01002773H   LINE      ---      ---       #933
-      01002777H   LINE      ---      ---       #934
-      01002777H   LINE      ---      ---       #935
-      0100277DH   LINE      ---      ---       #936
-      01002780H   LINE      ---      ---       #937
-      010027A0H   LINE      ---      ---       #938
-      010027A0H   LINE      ---      ---       #939
-      010027A5H   LINE      ---      ---       #940
-      010027A8H   LINE      ---      ---       #941
-      010027ACH   LINE      ---      ---       #942
-      010027ACH   LINE      ---      ---       #943
-      010027B2H   LINE      ---      ---       #944
-      010027B5H   LINE      ---      ---       #945
-      010027D5H   LINE      ---      ---       #946
-      010027D5H   LINE      ---      ---       #947
-      010027DAH   LINE      ---      ---       #948
-      010027DDH   LINE      ---      ---       #949
-      010027E1H   LINE      ---      ---       #950
-      010027E1H   LINE      ---      ---       #951
-      010027E7H   LINE      ---      ---       #952
-      010027EAH   LINE      ---      ---       #953
-      0100280AH   LINE      ---      ---       #954
-      0100280AH   LINE      ---      ---       #955
-      01002811H   LINE      ---      ---       #956
-      01002813H   LINE      ---      ---       #957
-      01002817H   LINE      ---      ---       #958
-      01002817H   LINE      ---      ---       #959
-      0100281EH   LINE      ---      ---       #960
-      01002820H   LINE      ---      ---       #961
-      01002840H   LINE      ---      ---       #962
-      01002840H   LINE      ---      ---       #963
-      01002847H   LINE      ---      ---       #964
-      01002849H   LINE      ---      ---       #965
-      0100284DH   LINE      ---      ---       #966
-      0100284DH   LINE      ---      ---       #967
-      01002854H   LINE      ---      ---       #968
-      01002856H   LINE      ---      ---       #969
-      01002876H   LINE      ---      ---       #970
-      01002876H   LINE      ---      ---       #971
-      0100287DH   LINE      ---      ---       #972
-      0100287FH   LINE      ---      ---       #973
-      01002883H   LINE      ---      ---       #974
-      01002883H   LINE      ---      ---       #975
-      0100288AH   LINE      ---      ---       #976
-      0100288CH   LINE      ---      ---       #977
-      010028ACH   LINE      ---      ---       #978
-      010028ACH   LINE      ---      ---       #979
-      010028B1H   LINE      ---      ---       #980
-      010028B3H   LINE      ---      ---       #981
-      010028B7H   LINE      ---      ---       #982
-      010028B7H   LINE      ---      ---       #983
-      010028BEH   LINE      ---      ---       #984
-      010028C0H   LINE      ---      ---       #985
-      010028E0H   LINE      ---      ---       #986
-      010028E0H   LINE      ---      ---       #987
-      010028E5H   LINE      ---      ---       #988
-      010028E7H   LINE      ---      ---       #989
-      010028EBH   LINE      ---      ---       #990
-      010028EBH   LINE      ---      ---       #991
-      010028F2H   LINE      ---      ---       #992
-      010028F4H   LINE      ---      ---       #993
-      01002914H   LINE      ---      ---       #994
-      01002914H   LINE      ---      ---       #995
-      0100291BH   LINE      ---      ---       #996
-      0100291DH   LINE      ---      ---       #997
-      01002921H   LINE      ---      ---       #998
-      01002921H   LINE      ---      ---       #999
-      01002928H   LINE      ---      ---       #1000
-      0100292AH   LINE      ---      ---       #1001
-      0100294AH   LINE      ---      ---       #1002
-      0100294AH   LINE      ---      ---       #1003
-      0100294EH   LINE      ---      ---       #1004
-      01002950H   LINE      ---      ---       #1005
-      01002954H   LINE      ---      ---       #1006
-      01002954H   LINE      ---      ---       #1007
-      01002958H   LINE      ---      ---       #1008
-      0100295AH   LINE      ---      ---       #1009
-      01002960H   LINE      ---      ---       #1010
-      01002960H   LINE      ---      ---       #1011
-      01002964H   LINE      ---      ---       #1012
-      01002964H   LINE      ---      ---       #1014
-      0100296BH   LINE      ---      ---       #1015
-      0100296BH   LINE      ---      ---       #1016
-      0100298BH   LINE      ---      ---       #1017
-      0100298FH   LINE      ---      ---       #1018
-      0100298FH   LINE      ---      ---       #1019
-      0100298FH   LINE      ---      ---       #1020
-      01002998H   LINE      ---      ---       #1021
-      02004EDBH   SYMBOL    XDATA    VOID      i
+      01002F54H   BLOCK     CODE     ---       LVL=0
+      01002F54H   LINE      ---      ---       #614
+      01002F54H   LINE      ---      ---       #615
+      01002F54H   LINE      ---      ---       #616
+      01002F59H   LINE      ---      ---       #617
+      01002F5CH   LINE      ---      ---       #619
+      01002F60H   LINE      ---      ---       #620
+      01002F60H   LINE      ---      ---       #621
+      01002F67H   LINE      ---      ---       #622
+      01002F6BH   LINE      ---      ---       #624
+      01002F71H   LINE      ---      ---       #625
+      01002F72H   LINE      ---      ---       #627
+      01002F72H   LINE      ---      ---       #628
+      01002F78H   LINE      ---      ---       #629
+      01002F78H   LINE      ---      ---       #631
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002F79H   BLOCK     CODE     ---       LVL=0
+      01002F79H   LINE      ---      ---       #634
+      01002F7EH   LINE      ---      ---       #635
+      01002F7EH   BLOCK     CODE     NEAR LAB  LVL=1
+      01002F7EH   LINE      ---      ---       #636
+      01002F81H   LINE      ---      ---       #638
+      01002F85H   LINE      ---      ---       #639
+      01002F8AH   LINE      ---      ---       #641
+      01002F91H   LINE      ---      ---       #642
+      01002F9FH   LINE      ---      ---       #643
+      01002F9FH   LINE      ---      ---       #644
+      01002FA3H   LINE      ---      ---       #645
+      01002FABH   LINE      ---      ---       #646
+      01002FB3H   LINE      ---      ---       #647
+      01002FB9H   LINE      ---      ---       #648
+      01002FBDH   LINE      ---      ---       #649
+      01002FC5H   LINE      ---      ---       #650
+      01002FC9H   LINE      ---      ---       #651
+      01002FCFH   LINE      ---      ---       #652
+      01002FCFH   LINE      ---      ---       #653
+      01002FD7H   LINE      ---      ---       #654
+      01002FDFH   LINE      ---      ---       #655
+      01002FDFH   LINE      ---      ---       #656
+      01002FE3H   LINE      ---      ---       #657
+      01002FE9H   LINE      ---      ---       #658
+      01002FE9H   LINE      ---      ---       #659
+      01002FEBH   LINE      ---      ---       #660
+      01002FEDH   LINE      ---      ---       #662
+      01002FEDH   LINE      ---      ---       #663
+      01002FF3H   LINE      ---      ---       #664
+      01002FF3H   LINE      ---      ---       #665
+      01002FF3H   LINE      ---      ---       #667
+      01002FF8H   LINE      ---      ---       #668
+      01002FFAH   LINE      ---      ---       #669
+      01002FFEH   LINE      ---      ---       #670
+      01002FFEH   LINE      ---      ---       #671
+      01003002H   LINE      ---      ---       #672
+      01003008H   LINE      ---      ---       #673
+      01003008H   LINE      ---      ---       #674
+      0100300AH   LINE      ---      ---       #675
+      0100300CH   LINE      ---      ---       #677
+      0100300CH   LINE      ---      ---       #678
+      01003012H   LINE      ---      ---       #679
+      01003012H   LINE      ---      ---       #680
+      01003012H   LINE      ---      ---       #681
+      01003017H   LINE      ---      ---       #682
+      01003017H   LINE      ---      ---       #683
+      01003017H   LINE      ---      ---       #684
+      01003027H   LINE      ---      ---       #685
+      01003027H   LINE      ---      ---       #686
+      01003066H   LINE      ---      ---       #687
+      01003066H   LINE      ---      ---       #691
+      01003066H   LINE      ---      ---       #693
+      0100306CH   LINE      ---      ---       #694
+      0100306EH   LINE      ---      ---       #695
+      0100306EH   LINE      ---      ---       #697
+      01003074H   LINE      ---      ---       #698
+      01003076H   LINE      ---      ---       #699
+      01003076H   LINE      ---      ---       #701
+      0100307CH   LINE      ---      ---       #702
+      0100307EH   LINE      ---      ---       #703
+      0100307EH   LINE      ---      ---       #705
+      01003084H   LINE      ---      ---       #706
+      01003086H   LINE      ---      ---       #707
+      01003086H   LINE      ---      ---       #709
+      0100308CH   LINE      ---      ---       #710
+      0100308EH   LINE      ---      ---       #711
+      0100308EH   LINE      ---      ---       #713
+      01003094H   LINE      ---      ---       #714
+      01003096H   LINE      ---      ---       #715
+      01003096H   LINE      ---      ---       #717
+      0100309CH   LINE      ---      ---       #718
+      0100309EH   LINE      ---      ---       #719
+      0100309EH   LINE      ---      ---       #721
+      010030A4H   LINE      ---      ---       #722
+      010030A6H   LINE      ---      ---       #723
+      010030A6H   LINE      ---      ---       #725
+      010030ACH   LINE      ---      ---       #726
+      010030AEH   LINE      ---      ---       #727
+      010030AEH   LINE      ---      ---       #729
+      010030B4H   LINE      ---      ---       #730
+      010030B6H   LINE      ---      ---       #731
+      010030B6H   LINE      ---      ---       #733
+      010030BCH   LINE      ---      ---       #734
+      010030BEH   LINE      ---      ---       #735
+      010030BEH   LINE      ---      ---       #737
+      010030C4H   LINE      ---      ---       #738
+      010030C4H   LINE      ---      ---       #739
+      010030C4H   LINE      ---      ---       #740
+      010030C4H   LINE      ---      ---       #741
+      010030C4H   LINE      ---      ---       #742
+      010030C4H   LINE      ---      ---       #743
+      010030CAH   LINE      ---      ---       #744
+      010030CAH   LINE      ---      ---       #745
+      010030EBH   LINE      ---      ---       #746
+      010030EBH   LINE      ---      ---       #747
+      010030EBH   LINE      ---      ---       #748
+      010030F1H   LINE      ---      ---       #749
+      010030F3H   LINE      ---      ---       #750
+      010030F3H   LINE      ---      ---       #751
+      010030F9H   LINE      ---      ---       #752
+      010030FBH   LINE      ---      ---       #753
+      010030FBH   LINE      ---      ---       #754
+      01003101H   LINE      ---      ---       #755
+      01003103H   LINE      ---      ---       #756
+      01003103H   LINE      ---      ---       #757
+      01003109H   LINE      ---      ---       #758
+      0100310BH   LINE      ---      ---       #759
+      0100310BH   LINE      ---      ---       #760
+      01003111H   LINE      ---      ---       #761
+      01003113H   LINE      ---      ---       #762
+      01003113H   LINE      ---      ---       #763
+      01003119H   LINE      ---      ---       #764
+      0100311BH   LINE      ---      ---       #765
+      0100311BH   LINE      ---      ---       #766
+      01003121H   LINE      ---      ---       #767
+      01003123H   LINE      ---      ---       #768
+      01003123H   LINE      ---      ---       #769
+      01003129H   LINE      ---      ---       #770
+      01003129H   LINE      ---      ---       #771
+      01003129H   LINE      ---      ---       #772
+      01003129H   LINE      ---      ---       #773
+      01003129H   LINE      ---      ---       #774
+      01003129H   LINE      ---      ---       #775
+      0100312FH   LINE      ---      ---       #776
+      0100312FH   LINE      ---      ---       #779
+      01003137H   LINE      ---      ---       #780
+      0100313AH   LINE      ---      ---       #781
+      0100313EH   LINE      ---      ---       #782
+      01003143H   LINE      ---      ---       #783
+      01003143H   LINE      ---      ---       #785
+      01003148H   LINE      ---      ---       #786
+      02004F01H   SYMBOL    XDATA    VOID      temp
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      01002589H   BLOCK     CODE     ---       LVL=0
+      01002589H   LINE      ---      ---       #790
+      01002594H   LINE      ---      ---       #791
+      01002594H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002594H   LINE      ---      ---       #792
+      01002597H   LINE      ---      ---       #794
+      010025A5H   LINE      ---      ---       #795
+      010025A5H   LINE      ---      ---       #796
+      010025D1H   LINE      ---      ---       #798
+      010025D1H   LINE      ---      ---       #800
+      010025D8H   LINE      ---      ---       #801
+      010025D8H   LINE      ---      ---       #802
+      010025DEH   LINE      ---      ---       #803
+      010025E1H   LINE      ---      ---       #805
+      010025E5H   LINE      ---      ---       #806
+      010025E5H   LINE      ---      ---       #807
+      010025EBH   LINE      ---      ---       #808
+      010025EEH   LINE      ---      ---       #809
+      0100260EH   LINE      ---      ---       #810
+      0100260EH   LINE      ---      ---       #811
+      01002612H   LINE      ---      ---       #812
+      01002615H   LINE      ---      ---       #813
+      01002619H   LINE      ---      ---       #814
+      01002619H   LINE      ---      ---       #815
+      0100261FH   LINE      ---      ---       #816
+      01002622H   LINE      ---      ---       #817
+      01002642H   LINE      ---      ---       #818
+      01002642H   LINE      ---      ---       #819
+      01002646H   LINE      ---      ---       #820
+      01002649H   LINE      ---      ---       #821
+      0100264DH   LINE      ---      ---       #822
+      0100264DH   LINE      ---      ---       #823
+      01002653H   LINE      ---      ---       #824
+      01002656H   LINE      ---      ---       #825
+      01002676H   LINE      ---      ---       #826
+      01002676H   LINE      ---      ---       #827
+      0100267AH   LINE      ---      ---       #828
+      0100267DH   LINE      ---      ---       #829
+      01002681H   LINE      ---      ---       #830
+      01002681H   LINE      ---      ---       #831
+      01002687H   LINE      ---      ---       #832
+      0100268AH   LINE      ---      ---       #833
+      010026AAH   LINE      ---      ---       #834
+      010026AAH   LINE      ---      ---       #835
+      010026AFH   LINE      ---      ---       #836
+      010026B2H   LINE      ---      ---       #837
+      010026B6H   LINE      ---      ---       #838
+      010026B6H   LINE      ---      ---       #839
+      010026BCH   LINE      ---      ---       #840
+      010026BFH   LINE      ---      ---       #841
+      010026DFH   LINE      ---      ---       #842
+      010026DFH   LINE      ---      ---       #843
+      010026E4H   LINE      ---      ---       #844
+      010026E7H   LINE      ---      ---       #845
+      010026EBH   LINE      ---      ---       #846
+      010026EBH   LINE      ---      ---       #847
+      010026F1H   LINE      ---      ---       #848
+      010026F4H   LINE      ---      ---       #849
+      01002714H   LINE      ---      ---       #850
+      01002714H   LINE      ---      ---       #851
+      0100271AH   LINE      ---      ---       #852
+      0100271DH   LINE      ---      ---       #853
+      01002721H   LINE      ---      ---       #854
+      01002721H   LINE      ---      ---       #855
+      01002727H   LINE      ---      ---       #856
+      0100272AH   LINE      ---      ---       #857
+      0100274AH   LINE      ---      ---       #858
+      0100274AH   LINE      ---      ---       #859
+      01002750H   LINE      ---      ---       #860
+      01002753H   LINE      ---      ---       #861
+      01002757H   LINE      ---      ---       #862
+      01002757H   LINE      ---      ---       #863
+      0100275DH   LINE      ---      ---       #864
+      01002760H   LINE      ---      ---       #865
+      01002780H   LINE      ---      ---       #866
+      01002780H   LINE      ---      ---       #867
+      01002786H   LINE      ---      ---       #868
+      01002789H   LINE      ---      ---       #869
+      0100278DH   LINE      ---      ---       #870
+      0100278DH   LINE      ---      ---       #871
+      01002793H   LINE      ---      ---       #872
+      01002796H   LINE      ---      ---       #873
+      010027B6H   LINE      ---      ---       #874
+      010027B6H   LINE      ---      ---       #875
+      010027BAH   LINE      ---      ---       #876
+      010027BDH   LINE      ---      ---       #877
+      010027C1H   LINE      ---      ---       #878
+      010027C1H   LINE      ---      ---       #879
+      010027C7H   LINE      ---      ---       #880
+      010027CAH   LINE      ---      ---       #881
+      010027EAH   LINE      ---      ---       #882
+      010027EAH   LINE      ---      ---       #883
+      010027EEH   LINE      ---      ---       #884
+      010027F0H   LINE      ---      ---       #885
+      010027F4H   LINE      ---      ---       #886
+      010027F4H   LINE      ---      ---       #887
+      010027FAH   LINE      ---      ---       #888
+      010027FCH   LINE      ---      ---       #889
+      0100281CH   LINE      ---      ---       #890
+      0100281CH   LINE      ---      ---       #891
+      01002823H   LINE      ---      ---       #892
+      01002825H   LINE      ---      ---       #893
+      01002829H   LINE      ---      ---       #894
+      01002829H   LINE      ---      ---       #895
+      01002830H   LINE      ---      ---       #896
+      01002832H   LINE      ---      ---       #897
+      01002852H   LINE      ---      ---       #898
+      01002852H   LINE      ---      ---       #899
+      01002856H   LINE      ---      ---       #900
+      01002858H   LINE      ---      ---       #901
+      0100285CH   LINE      ---      ---       #902
+      0100285CH   LINE      ---      ---       #903
+      01002860H   LINE      ---      ---       #904
+      01002862H   LINE      ---      ---       #905
+      01002868H   LINE      ---      ---       #906
+      01002868H   LINE      ---      ---       #907
+      0100286CH   LINE      ---      ---       #908
+      0100286CH   LINE      ---      ---       #910
+      01002873H   LINE      ---      ---       #911
+      01002873H   LINE      ---      ---       #912
+      01002893H   LINE      ---      ---       #913
+      01002897H   LINE      ---      ---       #914
+      01002897H   LINE      ---      ---       #915
+      01002897H   LINE      ---      ---       #916
+      010028A0H   LINE      ---      ---       #917
+      02004EDDH   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       KEYSCAN
-      02004EA8H   PUBLIC    XDATA    ---       ksEvtPool
-      01002145H   PUBLIC    CODE     ---       KS_GetCurrentEvt
-      010023EAH   PUBLIC    CODE     ---       _array_is_empty
-      01002CFDH   PUBLIC    CODE     ---       KS_ScanMatrix
-      01001D8EH   PUBLIC    CODE     ---       KS_Unistall
-      01001F3EH   PUBLIC    CODE     ---       KS_Initialize
-
-      01002391H   BLOCK     CODE     ---       LVL=0
-      01002391H   LINE      ---      ---       #24
-      01002391H   LINE      ---      ---       #25
-      01002391H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002391H   LINE      ---      ---       #27
-      01002396H   LINE      ---      ---       #28
-      01002399H   LINE      ---      ---       #29
-      0100239CH   LINE      ---      ---       #30
-      0100239EH   LINE      ---      ---       #31
+      02004EAAH   PUBLIC    XDATA    ---       ksEvtPool
+      01002942H   PUBLIC    CODE     ---       KS_GetCurrentEvt
+      01002BB3H   PUBLIC    CODE     ---       _array_is_empty
+      01002D2DH   PUBLIC    CODE     ---       KS_ScanMatrix
+      01001BBCH   PUBLIC    CODE     ---       KS_Unistall
+      01001FD1H   PUBLIC    CODE     ---       KS_Initialize
+
+      01002B8DH   BLOCK     CODE     ---       LVL=0
+      01002B8DH   LINE      ---      ---       #24
+      01002B8DH   LINE      ---      ---       #25
+      01002B8DH   BLOCK     CODE     NEAR LAB  LVL=1
+      01002B8DH   LINE      ---      ---       #27
+      01002B92H   LINE      ---      ---       #28
+      01002B95H   LINE      ---      ---       #29
+      01002B98H   LINE      ---      ---       #30
+      01002B9AH   LINE      ---      ---       #31
       00000006H   SYMBOL    DATA     VOID      c
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      0100246DH   BLOCK     CODE     ---       LVL=0
-      0100246DH   LINE      ---      ---       #35
-      0100246DH   LINE      ---      ---       #36
-      0100246DH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100246DH   LINE      ---      ---       #37
-      0100246FH   LINE      ---      ---       #39
-      0100247BH   LINE      ---      ---       #40
-      0100247BH   LINE      ---      ---       #41
-      01002495H   LINE      ---      ---       #43
-      01002495H   LINE      ---      ---       #89
-      01002497H   LINE      ---      ---       #90
-      01002497H   LINE      ---      ---       #91
-      010024A6H   LINE      ---      ---       #92
-      010024A6H   LINE      ---      ---       #93
-      010024A9H   LINE      ---      ---       #94
-      010024A9H   LINE      ---      ---       #95
-      010024B0H   LINE      ---      ---       #96
-      010024BCH   LINE      ---      ---       #97
-      010024BDH   LINE      ---      ---       #98
-      010024BDH   LINE      ---      ---       #99
-      010024C2H   LINE      ---      ---       #100
+      01002C2DH   BLOCK     CODE     ---       LVL=0
+      01002C2DH   LINE      ---      ---       #35
+      01002C2DH   LINE      ---      ---       #36
+      01002C2DH   BLOCK     CODE     NEAR LAB  LVL=1
+      01002C2DH   LINE      ---      ---       #37
+      01002C2FH   LINE      ---      ---       #39
+      01002C3BH   LINE      ---      ---       #40
+      01002C3BH   LINE      ---      ---       #41
+      01002C55H   LINE      ---      ---       #43
+      01002C55H   LINE      ---      ---       #89
+      01002C57H   LINE      ---      ---       #90
+      01002C57H   LINE      ---      ---       #91
+      01002C66H   LINE      ---      ---       #92
+      01002C66H   LINE      ---      ---       #93
+      01002C69H   LINE      ---      ---       #94
+      01002C69H   LINE      ---      ---       #95
+      01002C70H   LINE      ---      ---       #96
+      01002C7CH   LINE      ---      ---       #97
+      01002C7DH   LINE      ---      ---       #98
+      01002C7DH   LINE      ---      ---       #99
+      01002C82H   LINE      ---      ---       #100
       00000006H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010024C3H   BLOCK     CODE     ---       LVL=0
-      010024C3H   LINE      ---      ---       #102
-      010024C3H   LINE      ---      ---       #103
-      010024C3H   BLOCK     CODE     NEAR LAB  LVL=1
-      010024C3H   LINE      ---      ---       #104
-      010024C5H   LINE      ---      ---       #105
-      010024C6H   LINE      ---      ---       #107
-      010024D4H   LINE      ---      ---       #108
-      010024D4H   LINE      ---      ---       #109
-      010024DBH   LINE      ---      ---       #110
-      010024DBH   LINE      ---      ---       #111
-      010024DEH   LINE      ---      ---       #112
-      010024DEH   LINE      ---      ---       #113
-      010024E0H   LINE      ---      ---       #115
-      010024E6H   LINE      ---      ---       #117
-      010024F2H   LINE      ---      ---       #118
-      010024F2H   LINE      ---      ---       #119
-      0100250DH   LINE      ---      ---       #121
-      0100250DH   LINE      ---      ---       #166
-      0100250FH   LINE      ---      ---       #167
-      0100250FH   LINE      ---      ---       #168
-      01002512H   LINE      ---      ---       #169
-      01002512H   LINE      ---      ---       #170
-      01002520H   LINE      ---      ---       #171
-      01002524H   LINE      ---      ---       #172
-      0100252FH   LINE      ---      ---       #173
-      0100252FH   LINE      ---      ---       #174
-      01002531H   LINE      ---      ---       #175
-      01002531H   LINE      ---      ---       #176
-      01002533H   LINE      ---      ---       #178
-      01002533H   LINE      ---      ---       #179
-      0100254BH   LINE      ---      ---       #180
-      01002558H   LINE      ---      ---       #181
-      01002558H   LINE      ---      ---       #182
-      0100255CH   LINE      ---      ---       #183
-      01002567H   LINE      ---      ---       #184
-      01002567H   LINE      ---      ---       #185
-      01002567H   LINE      ---      ---       #186
-      0100256CH   LINE      ---      ---       #187
+      01002C83H   BLOCK     CODE     ---       LVL=0
+      01002C83H   LINE      ---      ---       #102
+      01002C83H   LINE      ---      ---       #103
+      01002C83H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002C83H   LINE      ---      ---       #104
+      01002C85H   LINE      ---      ---       #105
+      01002C86H   LINE      ---      ---       #107
+      01002C94H   LINE      ---      ---       #108
+      01002C94H   LINE      ---      ---       #109
+      01002C9BH   LINE      ---      ---       #110
+      01002C9BH   LINE      ---      ---       #111
+      01002C9EH   LINE      ---      ---       #112
+      01002C9EH   LINE      ---      ---       #113
+      01002CA0H   LINE      ---      ---       #115
+      01002CA6H   LINE      ---      ---       #117
+      01002CB2H   LINE      ---      ---       #118
+      01002CB2H   LINE      ---      ---       #119
+      01002CCDH   LINE      ---      ---       #121
+      01002CCDH   LINE      ---      ---       #166
+      01002CCFH   LINE      ---      ---       #167
+      01002CCFH   LINE      ---      ---       #168
+      01002CD2H   LINE      ---      ---       #169
+      01002CD2H   LINE      ---      ---       #170
+      01002CE0H   LINE      ---      ---       #171
+      01002CE4H   LINE      ---      ---       #172
+      01002CEFH   LINE      ---      ---       #173
+      01002CEFH   LINE      ---      ---       #174
+      01002CF1H   LINE      ---      ---       #175
+      01002CF1H   LINE      ---      ---       #176
+      01002CF3H   LINE      ---      ---       #178
+      01002CF3H   LINE      ---      ---       #179
+      01002D0BH   LINE      ---      ---       #180
+      01002D18H   LINE      ---      ---       #181
+      01002D18H   LINE      ---      ---       #182
+      01002D1CH   LINE      ---      ---       #183
+      01002D27H   LINE      ---      ---       #184
+      01002D27H   LINE      ---      ---       #185
+      01002D27H   LINE      ---      ---       #186
+      01002D2CH   LINE      ---      ---       #187
       00000006H   SYMBOL    DATA     VOID      i
       00000005H   SYMBOL    DATA     VOID      found
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002CDFH   BLOCK     CODE     ---       LVL=0
-      01002CDFH   LINE      ---      ---       #189
-      01002CDFH   LINE      ---      ---       #190
-      01002CDFH   BLOCK     CODE     NEAR LAB  LVL=1
-      01002CDFH   LINE      ---      ---       #191
-      01002CE4H   LINE      ---      ---       #193
-      01002CEFH   LINE      ---      ---       #194
-      01002CF4H   LINE      ---      ---       #195
-      01002CFCH   LINE      ---      ---       #196
-      02004F0BH   SYMBOL    XDATA    VOID      i
+      01003149H   BLOCK     CODE     ---       LVL=0
+      01003149H   LINE      ---      ---       #189
+      01003149H   LINE      ---      ---       #190
+      01003149H   BLOCK     CODE     NEAR LAB  LVL=1
+      01003149H   LINE      ---      ---       #191
+      0100314EH   LINE      ---      ---       #193
+      01003159H   LINE      ---      ---       #194
+      0100315EH   LINE      ---      ---       #195
+      01003166H   LINE      ---      ---       #196
+      02004F0AH   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001F4AH   BLOCK     CODE     ---       LVL=0
-      01001F4AH   LINE      ---      ---       #198
-      01001F4AH   LINE      ---      ---       #199
-      01001F4AH   BLOCK     CODE     NEAR LAB  LVL=1
-      01001F4AH   LINE      ---      ---       #200
-      01001F4FH   LINE      ---      ---       #201
-      01001F5BH   LINE      ---      ---       #202
-      01001F5FH   LINE      ---      ---       #203
-      01001F67H   LINE      ---      ---       #204
-      02004F0CH   SYMBOL    XDATA    VOID      i
+      01001FDDH   BLOCK     CODE     ---       LVL=0
+      01001FDDH   LINE      ---      ---       #198
+      01001FDDH   LINE      ---      ---       #199
+      01001FDDH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001FDDH   LINE      ---      ---       #200
+      01001FE2H   LINE      ---      ---       #201
+      01001FEEH   LINE      ---      ---       #202
+      01001FF2H   LINE      ---      ---       #203
+      01001FFAH   LINE      ---      ---       #204
+      02004F0BH   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001F3EH   BLOCK     CODE     ---       LVL=0
-      01001F3EH   LINE      ---      ---       #206
-      01001F3EH   LINE      ---      ---       #207
-      01001F3EH   LINE      ---      ---       #208
-      01001F43H   LINE      ---      ---       #209
-      01001F45H   LINE      ---      ---       #210
-      01001F47H   LINE      ---      ---       #211
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001D8EH   BLOCK     CODE     ---       LVL=0
-      01001D8EH   LINE      ---      ---       #215
-      01001D8EH   LINE      ---      ---       #216
-      01001D8EH   BLOCK     CODE     NEAR LAB  LVL=1
-      01001D8EH   LINE      ---      ---       #217
-      01001D90H   LINE      ---      ---       #218
-      01001D94H   LINE      ---      ---       #219
-      01001D95H   LINE      ---      ---       #220
-      01001D96H   LINE      ---      ---       #221
-      01001D9DH   LINE      ---      ---       #222
-      01001DA6H   LINE      ---      ---       #223
-      01001DB6H   LINE      ---      ---       #224
-      01001DC9H   LINE      ---      ---       #225
-      01001DD6H   LINE      ---      ---       #226
-      01001DE3H   LINE      ---      ---       #227
-      01001DE6H   LINE      ---      ---       #229
-      01001DE9H   LINE      ---      ---       #231
-      01001DF1H   LINE      ---      ---       #233
-      01001DF7H   LINE      ---      ---       #234
-      01001DF7H   LINE      ---      ---       #235
-      01001DFBH   LINE      ---      ---       #236
-      01001DFFH   LINE      ---      ---       #237
-      01001E03H   LINE      ---      ---       #238
-      01001E07H   LINE      ---      ---       #239
-      01001E0BH   LINE      ---      ---       #240
-      01001E0FH   LINE      ---      ---       #241
-      01001E13H   LINE      ---      ---       #242
-      01001E17H   LINE      ---      ---       #243
-      01001E17H   LINE      ---      ---       #245
-      01001E17H   LINE      ---      ---       #246
-      01001E20H   LINE      ---      ---       #247
-      01001E26H   LINE      ---      ---       #248
-      01001E26H   LINE      ---      ---       #250
+      01001FD1H   BLOCK     CODE     ---       LVL=0
+      01001FD1H   LINE      ---      ---       #206
+      01001FD1H   LINE      ---      ---       #207
+      01001FD1H   LINE      ---      ---       #208
+      01001FD6H   LINE      ---      ---       #209
+      01001FD8H   LINE      ---      ---       #210
+      01001FDAH   LINE      ---      ---       #211
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001BBCH   BLOCK     CODE     ---       LVL=0
+      01001BBCH   LINE      ---      ---       #215
+      01001BBCH   LINE      ---      ---       #216
+      01001BBCH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001BBCH   LINE      ---      ---       #217
+      01001BBEH   LINE      ---      ---       #218
+      01001BC2H   LINE      ---      ---       #219
+      01001BC3H   LINE      ---      ---       #220
+      01001BC4H   LINE      ---      ---       #221
+      01001BCBH   LINE      ---      ---       #222
+      01001BD4H   LINE      ---      ---       #223
+      01001BE4H   LINE      ---      ---       #224
+      01001BF7H   LINE      ---      ---       #225
+      01001C04H   LINE      ---      ---       #226
+      01001C11H   LINE      ---      ---       #227
+      01001C14H   LINE      ---      ---       #229
+      01001C17H   LINE      ---      ---       #231
+      01001C1FH   LINE      ---      ---       #233
+      01001C25H   LINE      ---      ---       #234
+      01001C25H   LINE      ---      ---       #235
+      01001C29H   LINE      ---      ---       #236
+      01001C2DH   LINE      ---      ---       #237
+      01001C31H   LINE      ---      ---       #238
+      01001C35H   LINE      ---      ---       #239
+      01001C39H   LINE      ---      ---       #240
+      01001C3DH   LINE      ---      ---       #241
+      01001C41H   LINE      ---      ---       #242
+      01001C45H   LINE      ---      ---       #243
+      01001C45H   LINE      ---      ---       #245
+      01001C45H   LINE      ---      ---       #246
+      01001C4EH   LINE      ---      ---       #247
+      01001C54H   LINE      ---      ---       #248
+      01001C54H   LINE      ---      ---       #250
       00000007H   SYMBOL    DATA     VOID      i
-      02004F0DH   SYMBOL    XDATA    VOID      temp
+      02004F0CH   SYMBOL    XDATA    VOID      temp
       00000006H   SYMBOL    DATA     VOID      tgroup
       00000005H   SYMBOL    DATA     VOID      tgpionum
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002CFDH   BLOCK     CODE     ---       LVL=0
-      01002CFDH   LINE      ---      ---       #253
-      01002CFDH   LINE      ---      ---       #254
-      01002CFDH   BLOCK     CODE     NEAR LAB  LVL=1
-      01002CFDH   LINE      ---      ---       #255
-      01002CFFH   LINE      ---      ---       #256
-      01002D03H   LINE      ---      ---       #257
-      01002D04H   LINE      ---      ---       #258
-      01002D05H   LINE      ---      ---       #259
-      01002D07H   LINE      ---      ---       #260
-      01002D09H   LINE      ---      ---       #261
-      01002D10H   LINE      ---      ---       #262
-      01002D19H   LINE      ---      ---       #263
-      01002D29H   LINE      ---      ---       #264
-      01002D89H   LINE      ---      ---       #265
-      01002D8CH   LINE      ---      ---       #267
-      01002D95H   LINE      ---      ---       #268
-      01002D9EH   LINE      ---      ---       #269
-      01002DAEH   LINE      ---      ---       #270
-      01002E0EH   LINE      ---      ---       #271
-      01002E11H   LINE      ---      ---       #273
-      01002E1AH   LINE      ---      ---       #274
-      01002E34H   LINE      ---      ---       #275
-      01002E57H   LINE      ---      ---       #276
-      01002E57H   LINE      ---      ---       #277
-      01002E5AH   LINE      ---      ---       #279
-      01002E66H   LINE      ---      ---       #280
-      01002E75H   LINE      ---      ---       #281
-      01002E75H   LINE      ---      ---       #282
-      01002E78H   LINE      ---      ---       #283
-      01002E78H   LINE      ---      ---       #284
-      01002E8CH   LINE      ---      ---       #285
-      01002E8CH   LINE      ---      ---       #286
-      01002E8FH   LINE      ---      ---       #287
-      01002E8FH   LINE      ---      ---       #288
+      01002D2DH   BLOCK     CODE     ---       LVL=0
+      01002D2DH   LINE      ---      ---       #253
+      01002D2DH   LINE      ---      ---       #254
+      01002D2DH   BLOCK     CODE     NEAR LAB  LVL=1
+      01002D2DH   LINE      ---      ---       #255
+      01002D2FH   LINE      ---      ---       #256
+      01002D33H   LINE      ---      ---       #257
+      01002D34H   LINE      ---      ---       #258
+      01002D35H   LINE      ---      ---       #259
+      01002D37H   LINE      ---      ---       #260
+      01002D39H   LINE      ---      ---       #261
+      01002D40H   LINE      ---      ---       #262
+      01002D49H   LINE      ---      ---       #263
+      01002D59H   LINE      ---      ---       #264
+      01002DB9H   LINE      ---      ---       #265
+      01002DBCH   LINE      ---      ---       #267
+      01002DC5H   LINE      ---      ---       #268
+      01002DCEH   LINE      ---      ---       #269
+      01002DDEH   LINE      ---      ---       #270
+      01002E3EH   LINE      ---      ---       #271
+      01002E41H   LINE      ---      ---       #273
+      01002E4AH   LINE      ---      ---       #274
+      01002E64H   LINE      ---      ---       #275
+      01002E87H   LINE      ---      ---       #276
+      01002E87H   LINE      ---      ---       #277
+      01002E8AH   LINE      ---      ---       #278
+      01002E96H   LINE      ---      ---       #279
+      01002EA5H   LINE      ---      ---       #280
+      01002EA5H   LINE      ---      ---       #281
+      01002EA8H   LINE      ---      ---       #282
+      01002EA8H   LINE      ---      ---       #283
+      01002EBCH   LINE      ---      ---       #284
+      01002EBCH   LINE      ---      ---       #285
+      01002EBFH   LINE      ---      ---       #286
+      01002EBFH   LINE      ---      ---       #287
       00000007H   SYMBOL    DATA     VOID      i
-      02004EEDH   SYMBOL    XDATA    VOID      j
+      02004EECH   SYMBOL    XDATA    VOID      j
       00000006H   SYMBOL    DATA     VOID      tgroup
       00000005H   SYMBOL    DATA     VOID      tgpionum
-      02004EEEH   SYMBOL    XDATA    VOID      temp
-      02004EEFH   SYMBOL    XDATA    VOID      check
+      02004EEDH   SYMBOL    XDATA    VOID      temp
+      02004EEEH   SYMBOL    XDATA    VOID      check
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010023EAH   BLOCK     CODE     ---       LVL=0
-      010023EAH   LINE      ---      ---       #290
-      010023F5H   LINE      ---      ---       #291
-      010023F5H   BLOCK     CODE     NEAR LAB  LVL=1
-      010023F5H   LINE      ---      ---       #293
-      010023FCH   LINE      ---      ---       #294
-      010023FCH   LINE      ---      ---       #295
-      01002411H   LINE      ---      ---       #296
-      01002414H   LINE      ---      ---       #297
-      01002417H   LINE      ---      ---       #298
-      01002419H   LINE      ---      ---       #299
+      01002BB3H   BLOCK     CODE     ---       LVL=0
+      01002BB3H   LINE      ---      ---       #289
+      01002BBEH   LINE      ---      ---       #290
+      01002BBEH   BLOCK     CODE     NEAR LAB  LVL=1
+      01002BBEH   LINE      ---      ---       #292
+      01002BC5H   LINE      ---      ---       #293
+      01002BC5H   LINE      ---      ---       #294
+      01002BDAH   LINE      ---      ---       #295
+      01002BDDH   LINE      ---      ---       #296
+      01002BE0H   LINE      ---      ---       #297
+      01002BE2H   LINE      ---      ---       #298
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01002145H   BLOCK     CODE     ---       LVL=0
-      01002145H   LINE      ---      ---       #302
-      01002145H   LINE      ---      ---       #303
-      01002145H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002145H   LINE      ---      ---       #305
-      0100214AH   LINE      ---      ---       #306
-      0100214CH   LINE      ---      ---       #307
-      0100214EH   LINE      ---      ---       #308
-      01002150H   LINE      ---      ---       #309
-      01002152H   LINE      ---      ---       #310
-      01002154H   LINE      ---      ---       #311
-      01002156H   LINE      ---      ---       #312
-      01002158H   LINE      ---      ---       #313
-      0100215AH   LINE      ---      ---       #314
-      0100215CH   LINE      ---      ---       #315
-      0100215EH   LINE      ---      ---       #317
-      01002161H   LINE      ---      ---       #319
-      0100218FH   LINE      ---      ---       #321
-      0100218FH   LINE      ---      ---       #322
-      01002196H   LINE      ---      ---       #323
-      01002198H   LINE      ---      ---       #325
-      01002198H   LINE      ---      ---       #326
-      0100219FH   LINE      ---      ---       #327
-      010021A4H   LINE      ---      ---       #328
-      010021A4H   LINE      ---      ---       #330
-      010021B6H   LINE      ---      ---       #331
-      010021B6H   LINE      ---      ---       #332
-      010021C5H   LINE      ---      ---       #333
-      010021CEH   LINE      ---      ---       #334
-      010021D5H   LINE      ---      ---       #335
-      010021D5H   LINE      ---      ---       #336
-      010021E4H   LINE      ---      ---       #337
-      010021E4H   LINE      ---      ---       #338
-      010021FFH   LINE      ---      ---       #339
-      010021FFH   LINE      ---      ---       #340
-      0100220FH   LINE      ---      ---       #341
-      0100220FH   LINE      ---      ---       #342
-      01002218H   LINE      ---      ---       #343
-      01002218H   LINE      ---      ---       #344
-      01002247H   LINE      ---      ---       #345
-      01002247H   LINE      ---      ---       #346
-      0100224DH   LINE      ---      ---       #347
-      0100224FH   LINE      ---      ---       #348
-      0100224FH   LINE      ---      ---       #349
-      0100224FH   LINE      ---      ---       #350
-      01002257H   LINE      ---      ---       #351
-      01002257H   LINE      ---      ---       #352
-      0100225FH   LINE      ---      ---       #353
-      0100225FH   LINE      ---      ---       #355
-      01002266H   LINE      ---      ---       #356
-      01002266H   LINE      ---      ---       #357
-      0100226EH   LINE      ---      ---       #358
-      0100226EH   LINE      ---      ---       #359
-      01002276H   LINE      ---      ---       #360
-      0100227EH   LINE      ---      ---       #362
-      01002290H   LINE      ---      ---       #363
-      01002290H   LINE      ---      ---       #364
-      010022ACH   LINE      ---      ---       #365
-      010022BFH   LINE      ---      ---       #366
-      010022C5H   LINE      ---      ---       #367
-      010022C5H   LINE      ---      ---       #368
-      010022C7H   LINE      ---      ---       #369
-      010022C9H   LINE      ---      ---       #371
-      010022C9H   LINE      ---      ---       #373
-      010022CFH   LINE      ---      ---       #374
-      010022D6H   LINE      ---      ---       #375
-      010022EEH   LINE      ---      ---       #376
-      010022FDH   LINE      ---      ---       #377
-      010022FDH   LINE      ---      ---       #378
-      01002304H   LINE      ---      ---       #379
-      01002304H   LINE      ---      ---       #380
-      01002315H   LINE      ---      ---       #381
-      01002328H   LINE      ---      ---       #382
-      0100232FH   LINE      ---      ---       #383
-      0100232FH   LINE      ---      ---       #384
-      01002336H   LINE      ---      ---       #385
-      01002338H   LINE      ---      ---       #387
-      01002338H   LINE      ---      ---       #388
-      0100233FH   LINE      ---      ---       #389
-      0100233FH   LINE      ---      ---       #390
-      0100233FH   LINE      ---      ---       #391
-      01002347H   LINE      ---      ---       #392
-      0100234FH   LINE      ---      ---       #393
-      01002357H   LINE      ---      ---       #394
-      0100235DH   LINE      ---      ---       #395
-      0100235DH   LINE      ---      ---       #396
-      01002365H   LINE      ---      ---       #398
-      01002373H   LINE      ---      ---       #399
-      01002373H   LINE      ---      ---       #400
-      01002376H   LINE      ---      ---       #401
-      01002376H   LINE      ---      ---       #404
-      01002383H   LINE      ---      ---       #405
-      01002383H   LINE      ---      ---       #406
-      0100238AH   LINE      ---      ---       #407
-      0100238AH   LINE      ---      ---       #409
-      0100238AH   LINE      ---      ---       #410
-      01002390H   LINE      ---      ---       #411
-      01002390H   LINE      ---      ---       #414
-      02004E8CH   SYMBOL    XDATA    VOID      i
-      02004E8DH   SYMBOL    XDATA    VOID      j
-      02004E8EH   SYMBOL    XDATA    VOID      k
-      02004E8FH   SYMBOL    XDATA    VOID      temp
-      02004E90H   SYMBOL    XDATA    VOID      flag
-      02004E91H   SYMBOL    XDATA    VOID      offset
-      02004E92H   SYMBOL    XDATA    VOID      state
-      02004E93H   SYMBOL    XDATA    VOID      keyCounttemp
-      02004E94H   SYMBOL    XDATA    VOID      key_value_temp
-      02004E95H   SYMBOL    XDATA    VOID      ghost
-      02004E96H   SYMBOL    XDATA    VOID      rawCount
+      01002942H   BLOCK     CODE     ---       LVL=0
+      01002942H   LINE      ---      ---       #301
+      01002942H   LINE      ---      ---       #302
+      01002942H   BLOCK     CODE     NEAR LAB  LVL=1
+      01002942H   LINE      ---      ---       #304
+      01002947H   LINE      ---      ---       #305
+      01002949H   LINE      ---      ---       #306
+      0100294BH   LINE      ---      ---       #307
+      0100294DH   LINE      ---      ---       #308
+      0100294FH   LINE      ---      ---       #309
+      01002951H   LINE      ---      ---       #310
+      01002953H   LINE      ---      ---       #311
+      01002955H   LINE      ---      ---       #312
+      01002957H   LINE      ---      ---       #313
+      01002959H   LINE      ---      ---       #314
+      0100295BH   LINE      ---      ---       #316
+      0100295DH   LINE      ---      ---       #318
+      0100298BH   LINE      ---      ---       #320
+      0100298BH   LINE      ---      ---       #321
+      01002992H   LINE      ---      ---       #322
+      01002994H   LINE      ---      ---       #324
+      01002994H   LINE      ---      ---       #325
+      0100299BH   LINE      ---      ---       #326
+      010029A0H   LINE      ---      ---       #327
+      010029A0H   LINE      ---      ---       #329
+      010029B2H   LINE      ---      ---       #330
+      010029B2H   LINE      ---      ---       #331
+      010029C1H   LINE      ---      ---       #332
+      010029CAH   LINE      ---      ---       #333
+      010029D1H   LINE      ---      ---       #334
+      010029D1H   LINE      ---      ---       #335
+      010029E0H   LINE      ---      ---       #336
+      010029E0H   LINE      ---      ---       #337
+      010029FBH   LINE      ---      ---       #338
+      010029FBH   LINE      ---      ---       #339
+      01002A0BH   LINE      ---      ---       #340
+      01002A0BH   LINE      ---      ---       #341
+      01002A14H   LINE      ---      ---       #342
+      01002A14H   LINE      ---      ---       #343
+      01002A43H   LINE      ---      ---       #344
+      01002A43H   LINE      ---      ---       #345
+      01002A49H   LINE      ---      ---       #346
+      01002A4BH   LINE      ---      ---       #347
+      01002A4BH   LINE      ---      ---       #348
+      01002A4BH   LINE      ---      ---       #349
+      01002A53H   LINE      ---      ---       #350
+      01002A53H   LINE      ---      ---       #351
+      01002A5BH   LINE      ---      ---       #352
+      01002A5BH   LINE      ---      ---       #354
+      01002A62H   LINE      ---      ---       #355
+      01002A62H   LINE      ---      ---       #356
+      01002A6AH   LINE      ---      ---       #357
+      01002A6AH   LINE      ---      ---       #358
+      01002A72H   LINE      ---      ---       #359
+      01002A7AH   LINE      ---      ---       #361
+      01002A8CH   LINE      ---      ---       #362
+      01002A8CH   LINE      ---      ---       #363
+      01002AA8H   LINE      ---      ---       #364
+      01002ABBH   LINE      ---      ---       #365
+      01002AC1H   LINE      ---      ---       #366
+      01002AC1H   LINE      ---      ---       #367
+      01002AC3H   LINE      ---      ---       #368
+      01002AC5H   LINE      ---      ---       #370
+      01002AC5H   LINE      ---      ---       #372
+      01002ACBH   LINE      ---      ---       #373
+      01002AD2H   LINE      ---      ---       #374
+      01002AEAH   LINE      ---      ---       #375
+      01002AF9H   LINE      ---      ---       #376
+      01002AF9H   LINE      ---      ---       #377
+      01002B00H   LINE      ---      ---       #378
+      01002B00H   LINE      ---      ---       #379
+      01002B11H   LINE      ---      ---       #380
+      01002B24H   LINE      ---      ---       #381
+      01002B2BH   LINE      ---      ---       #382
+      01002B2BH   LINE      ---      ---       #383
+      01002B32H   LINE      ---      ---       #384
+      01002B34H   LINE      ---      ---       #386
+      01002B34H   LINE      ---      ---       #387
+      01002B3BH   LINE      ---      ---       #388
+      01002B3BH   LINE      ---      ---       #389
+      01002B3BH   LINE      ---      ---       #390
+      01002B43H   LINE      ---      ---       #391
+      01002B4BH   LINE      ---      ---       #392
+      01002B53H   LINE      ---      ---       #393
+      01002B59H   LINE      ---      ---       #394
+      01002B59H   LINE      ---      ---       #395
+      01002B61H   LINE      ---      ---       #397
+      01002B6FH   LINE      ---      ---       #398
+      01002B6FH   LINE      ---      ---       #399
+      01002B72H   LINE      ---      ---       #400
+      01002B72H   LINE      ---      ---       #403
+      01002B7FH   LINE      ---      ---       #404
+      01002B7FH   LINE      ---      ---       #405
+      01002B86H   LINE      ---      ---       #406
+      01002B86H   LINE      ---      ---       #408
+      01002B86H   LINE      ---      ---       #409
+      01002B8CH   LINE      ---      ---       #410
+      01002B8CH   LINE      ---      ---       #413
+      02004E8EH   SYMBOL    XDATA    VOID      i
+      02004E8FH   SYMBOL    XDATA    VOID      j
+      02004E90H   SYMBOL    XDATA    VOID      k
+      02004E91H   SYMBOL    XDATA    VOID      temp
+      02004E92H   SYMBOL    XDATA    VOID      flag
+      02004E93H   SYMBOL    XDATA    VOID      offset
+      02004E94H   SYMBOL    XDATA    VOID      state
+      02004E95H   SYMBOL    XDATA    VOID      keyCounttemp
+      02004E96H   SYMBOL    XDATA    VOID      key_value_temp
+      02004E97H   SYMBOL    XDATA    VOID      ghost
+      02004E98H   SYMBOL    XDATA    VOID      rawCount
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       LED
-      010012CDH   PUBLIC    CODE     ---       LED_handle
-      01002EC1H   PUBLIC    CODE     ---       LED_device_poweroff
-      01002E90H   PUBLIC    CODE     ---       LED_device_poweron
-      01001CD7H   PUBLIC    CODE     ---       LED_all_shutdown
-
-      01001CD7H   BLOCK     CODE     ---       LVL=0
-      01001CD7H   LINE      ---      ---       #4
-      01001CD7H   LINE      ---      ---       #5
-      01001CD7H   LINE      ---      ---       #6
-      01001CDDH   LINE      ---      ---       #7
-      01001CE3H   LINE      ---      ---       #8
-      01001CE9H   LINE      ---      ---       #9
-      01001CEFH   LINE      ---      ---       #10
-      01001CF5H   LINE      ---      ---       #11
-      01001CFBH   LINE      ---      ---       #12
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002E90H   BLOCK     CODE     ---       LVL=0
-      01002E90H   LINE      ---      ---       #22
-      01002E90H   LINE      ---      ---       #23
-      01002E90H   LINE      ---      ---       #24
-      01002E97H   LINE      ---      ---       #25
-      01002E9EH   LINE      ---      ---       #26
-      01002EA5H   LINE      ---      ---       #27
-      01002EACH   LINE      ---      ---       #28
-      01002EB3H   LINE      ---      ---       #29
-      01002EB3H   LINE      ---      ---       #30
-      01002EBAH   LINE      ---      ---       #31
-      01002EBAH   LINE      ---      ---       #33
-      01002EBAH   LINE      ---      ---       #34
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002EC1H   BLOCK     CODE     ---       LVL=0
-      01002EC1H   LINE      ---      ---       #38
-      01002EC1H   LINE      ---      ---       #39
-      01002EC1H   LINE      ---      ---       #40
-      01002EC8H   LINE      ---      ---       #41
-      01002ECFH   LINE      ---      ---       #42
-      01002ED6H   LINE      ---      ---       #43
-      01002EDDH   LINE      ---      ---       #44
-      01002EE4H   LINE      ---      ---       #45
-      01002EE4H   LINE      ---      ---       #46
-      01002EEBH   LINE      ---      ---       #47
-      01002EEBH   LINE      ---      ---       #49
-      01002EEBH   LINE      ---      ---       #50
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010012CDH   BLOCK     CODE     ---       LVL=0
-      010012CDH   LINE      ---      ---       #55
-      010012CDH   LINE      ---      ---       #56
-      010012CDH   LINE      ---      ---       #57
-      010012D7H   LINE      ---      ---       #60
-      010012E7H   LINE      ---      ---       #61
-      010012E7H   LINE      ---      ---       #63
-      010012EEH   LINE      ---      ---       #64
-      010012EEH   LINE      ---      ---       #65
-      010012F0H   LINE      ---      ---       #66
-      010012F2H   LINE      ---      ---       #67
-      010012F9H   LINE      ---      ---       #68
-      010012F9H   LINE      ---      ---       #69
-      010012FFH   LINE      ---      ---       #70
-      010012FFH   LINE      ---      ---       #71
-      01001305H   LINE      ---      ---       #72
-      0100130BH   LINE      ---      ---       #73
-      0100130BH   LINE      ---      ---       #74
-      0100130DH   LINE      ---      ---       #76
-      0100130DH   LINE      ---      ---       #77
-      01001314H   LINE      ---      ---       #78
-      01001314H   LINE      ---      ---       #79
-      0100131AH   LINE      ---      ---       #80
-      0100131FH   LINE      ---      ---       #81
-      01001323H   LINE      ---      ---       #82
-      01001329H   LINE      ---      ---       #83
-      01001329H   LINE      ---      ---       #84
-      01001329H   LINE      ---      ---       #87
-      0100132FH   LINE      ---      ---       #88
-      0100132FH   LINE      ---      ---       #89
-      0100133EH   LINE      ---      ---       #90
-      0100133EH   LINE      ---      ---       #93
-      01001345H   LINE      ---      ---       #94
-      01001345H   LINE      ---      ---       #95
-      0100134BH   LINE      ---      ---       #96
-      01001351H   LINE      ---      ---       #97
-      01001353H   LINE      ---      ---       #99
-      01001353H   LINE      ---      ---       #100
-      01001359H   LINE      ---      ---       #101
-      0100135FH   LINE      ---      ---       #102
-      0100135FH   LINE      ---      ---       #105
-      01001366H   LINE      ---      ---       #106
-      01001366H   LINE      ---      ---       #107
-      0100136CH   LINE      ---      ---       #108
-      01001372H   LINE      ---      ---       #109
-      01001372H   LINE      ---      ---       #111
-      01001372H   LINE      ---      ---       #112
-      01001378H   LINE      ---      ---       #113
-      0100137EH   LINE      ---      ---       #114
-      0100137EH   LINE      ---      ---       #129
-      0100137EH   LINE      ---      ---       #131
-      0100137EH   LINE      ---      ---       #132
-      01001384H   LINE      ---      ---       #133
-      0100138AH   LINE      ---      ---       #134
-      01001390H   LINE      ---      ---       #137
-      01001390H   LINE      ---      ---       #138
-      01001390H   LINE      ---      ---       #140
-      01001390H   LINE      ---      ---       #141
-      01001396H   LINE      ---      ---       #142
-      0100139CH   LINE      ---      ---       #143
-      010013A2H   LINE      ---      ---       #146
-      010013A2H   LINE      ---      ---       #147
-      010013A2H   LINE      ---      ---       #149
-      010013A2H   LINE      ---      ---       #150
-      010013A9H   LINE      ---      ---       #151
-      010013AFH   LINE      ---      ---       #152
-      010013B5H   LINE      ---      ---       #153
-      010013BBH   LINE      ---      ---       #154
-      010013BBH   LINE      ---      ---       #155
+      010010DAH   PUBLIC    CODE     ---       LED_handle
+      01003381H   PUBLIC    CODE     ---       LED_device_poweroff
+      01003167H   PUBLIC    CODE     ---       LED_device_poweron
+      010017BCH   PUBLIC    CODE     ---       LED_all_shutdown
+
+      010017BCH   BLOCK     CODE     ---       LVL=0
+      010017BCH   LINE      ---      ---       #4
+      010017BCH   LINE      ---      ---       #5
+      010017BCH   LINE      ---      ---       #6
+      010017C2H   LINE      ---      ---       #7
+      010017C8H   LINE      ---      ---       #8
+      010017CEH   LINE      ---      ---       #9
+      010017D4H   LINE      ---      ---       #10
+      010017DAH   LINE      ---      ---       #11
+      010017E0H   LINE      ---      ---       #12
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003167H   BLOCK     CODE     ---       LVL=0
+      01003167H   LINE      ---      ---       #16
+      01003167H   LINE      ---      ---       #17
+      01003167H   LINE      ---      ---       #20
+      0100316EH   LINE      ---      ---       #21
+      01003175H   LINE      ---      ---       #22
+      0100317CH   LINE      ---      ---       #23
+      01003183H   LINE      ---      ---       #24
+      0100318AH   LINE      ---      ---       #25
+      0100318AH   LINE      ---      ---       #26
+      01003191H   LINE      ---      ---       #27
+      01003191H   LINE      ---      ---       #29
+      01003191H   LINE      ---      ---       #30
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003381H   BLOCK     CODE     ---       LVL=0
+      01003381H   LINE      ---      ---       #34
+      01003381H   LINE      ---      ---       #35
+      01003381H   LINE      ---      ---       #36
+      01003388H   LINE      ---      ---       #37
+      0100338FH   LINE      ---      ---       #38
+      01003396H   LINE      ---      ---       #39
+      0100339DH   LINE      ---      ---       #40
+      010033A4H   LINE      ---      ---       #41
+      010033A4H   LINE      ---      ---       #42
+      010033ABH   LINE      ---      ---       #43
+      010033ABH   LINE      ---      ---       #45
+      010033ABH   LINE      ---      ---       #46
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010010DAH   BLOCK     CODE     ---       LVL=0
+      010010DAH   LINE      ---      ---       #51
+      010010DAH   LINE      ---      ---       #52
+      010010DAH   LINE      ---      ---       #53
+      010010E4H   LINE      ---      ---       #56
+      010010F8H   LINE      ---      ---       #57
+      010010F8H   LINE      ---      ---       #59
+      010010FFH   LINE      ---      ---       #60
+      010010FFH   LINE      ---      ---       #61
+      01001101H   LINE      ---      ---       #62
+      01001103H   LINE      ---      ---       #63
+      0100110AH   LINE      ---      ---       #64
+      0100110AH   LINE      ---      ---       #65
+      01001110H   LINE      ---      ---       #66
+      01001110H   LINE      ---      ---       #67
+      01001116H   LINE      ---      ---       #68
+      0100111CH   LINE      ---      ---       #69
+      0100111CH   LINE      ---      ---       #70
+      0100111EH   LINE      ---      ---       #72
+      0100111EH   LINE      ---      ---       #73
+      01001125H   LINE      ---      ---       #74
+      01001125H   LINE      ---      ---       #75
+      0100112BH   LINE      ---      ---       #76
+      01001130H   LINE      ---      ---       #77
+      01001134H   LINE      ---      ---       #78
+      0100113AH   LINE      ---      ---       #79
+      0100113AH   LINE      ---      ---       #80
+      0100113AH   LINE      ---      ---       #82
+      0100113FH   LINE      ---      ---       #83
+      0100113FH   LINE      ---      ---       #84
+      0100114EH   LINE      ---      ---       #85
+      0100114EH   LINE      ---      ---       #88
+      01001155H   LINE      ---      ---       #89
+      01001155H   LINE      ---      ---       #90
+      0100115BH   LINE      ---      ---       #91
+      01001161H   LINE      ---      ---       #92
+      01001163H   LINE      ---      ---       #94
+      01001163H   LINE      ---      ---       #95
+      01001169H   LINE      ---      ---       #96
+      0100116FH   LINE      ---      ---       #97
+      0100116FH   LINE      ---      ---       #100
+      01001176H   LINE      ---      ---       #101
+      01001176H   LINE      ---      ---       #102
+      0100117CH   LINE      ---      ---       #103
+      01001182H   LINE      ---      ---       #104
+      01001182H   LINE      ---      ---       #106
+      01001182H   LINE      ---      ---       #107
+      01001188H   LINE      ---      ---       #108
+      0100118EH   LINE      ---      ---       #109
+      0100118EH   LINE      ---      ---       #124
+      0100118EH   LINE      ---      ---       #126
+      0100118EH   LINE      ---      ---       #127
+      01001194H   LINE      ---      ---       #128
+      0100119AH   LINE      ---      ---       #129
+      010011A0H   LINE      ---      ---       #132
+      010011A0H   LINE      ---      ---       #133
+      010011A0H   LINE      ---      ---       #135
+      010011A0H   LINE      ---      ---       #136
+      010011A6H   LINE      ---      ---       #137
+      010011ACH   LINE      ---      ---       #138
+      010011B2H   LINE      ---      ---       #141
+      010011B2H   LINE      ---      ---       #142
+      010011B2H   LINE      ---      ---       #144
+      010011B2H   LINE      ---      ---       #145
+      010011B9H   LINE      ---      ---       #146
+      010011C3H   LINE      ---      ---       #147
+      010011C9H   LINE      ---      ---       #148
+      010011CFH   LINE      ---      ---       #149
+      010011CFH   LINE      ---      ---       #151
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       SYS
-      01001D1BH   PUBLIC    CODE     ---       YC_System_Main
-      01001BDDH   PUBLIC    CODE     ---       kb_button_press_timer500ms
-      0100333BH   PUBLIC    CODE     ---       YC_pairing_timerout_500ms
-      010032C1H   PUBLIC    CODE     ---       YC_wait_disconnect_timer500ms
-      01000EDBH   PUBLIC    CODE     ---       YC_connect_timeout_500ms
-      0100324CH   PUBLIC    CODE     ---       LED_timer100ms
-      01001EC7H   PUBLIC    CODE     ---       System_Reset_Connect
-      01000FC8H   PUBLIC    CODE     ---       System_G24_long_lpm
-      010017BDH   PUBLIC    CODE     ---       System_long_sleep
-      01003050H   PUBLIC    CODE     ---       System_Software_init
+      01001B40H   PUBLIC    CODE     ---       YC_System_Main
+      010018F4H   PUBLIC    CODE     ---       kb_button_press_timer500ms
+      010022A0H   PUBLIC    CODE     ---       YC_pairing_timerout_500ms
+      01002245H   PUBLIC    CODE     ---       YC_wait_disconnect_timer500ms
+      01000E85H   PUBLIC    CODE     ---       YC_connect_timeout_500ms
+      01003325H   PUBLIC    CODE     ---       LED_timer100ms
+      01001B37H   PUBLIC    CODE     ---       System_Reset_Connect
+      01000F97H   PUBLIC    CODE     ---       System_G24_long_lpm
+      01001796H   PUBLIC    CODE     ---       System_long_sleep
+      010033C5H   PUBLIC    CODE     ---       System_Software_init
 
       01000D2DH   BLOCK     CODE     ---       LVL=0
-      01000D2DH   LINE      ---      ---       #20
-      01000D2DH   LINE      ---      ---       #21
-      01000D2DH   LINE      ---      ---       #22
-      01000D39H   LINE      ---      ---       #23
-      01000D45H   LINE      ---      ---       #24
-      01000D51H   LINE      ---      ---       #25
-      01000D5DH   LINE      ---      ---       #26
-      01000D69H   LINE      ---      ---       #27
-      01000D75H   LINE      ---      ---       #29
-      01000D7AH   LINE      ---      ---       #30
-      01000D7EH   LINE      ---      ---       #31
-      01000D82H   LINE      ---      ---       #33
-      01000D86H   LINE      ---      ---       #34
-      01000D8AH   LINE      ---      ---       #35
-      01000D8EH   LINE      ---      ---       #36
-      01000D92H   LINE      ---      ---       #37
-      01000D96H   LINE      ---      ---       #38
-      01000D9AH   LINE      ---      ---       #39
-      01000D9EH   LINE      ---      ---       #40
-      01000DA2H   LINE      ---      ---       #41
-      01000DA6H   LINE      ---      ---       #42
-      01000DAAH   LINE      ---      ---       #43
-      01000DAEH   LINE      ---      ---       #44
-      01000DB2H   LINE      ---      ---       #46
-      01000DB6H   LINE      ---      ---       #47
-      01000DBCH   LINE      ---      ---       #48
-      01000DC0H   LINE      ---      ---       #49
-      01000DC5H   LINE      ---      ---       #50
-      01000DC9H   LINE      ---      ---       #51
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100303DH   BLOCK     CODE     ---       LVL=0
-      0100303DH   LINE      ---      ---       #53
-      0100303DH   LINE      ---      ---       #54
-      0100303DH   LINE      ---      ---       #55
-      01003043H   LINE      ---      ---       #56
-      01003046H   LINE      ---      ---       #57
-      01003048H   LINE      ---      ---       #58
-      0100304AH   LINE      ---      ---       #59
-      0100304CH   LINE      ---      ---       #60
-      0100304FH   LINE      ---      ---       #61
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001F31H   BLOCK     CODE     ---       LVL=0
-      01001F31H   LINE      ---      ---       #63
-      01001F31H   LINE      ---      ---       #64
-      01001F31H   LINE      ---      ---       #65
-      01001F34H   LINE      ---      ---       #66
-      01001F36H   LINE      ---      ---       #69
-      01001F3CH   LINE      ---      ---       #70
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003050H   BLOCK     CODE     ---       LVL=0
-      01003050H   LINE      ---      ---       #74
-      01003050H   LINE      ---      ---       #75
-      01003050H   LINE      ---      ---       #76
-      01003053H   LINE      ---      ---       #77
-      01003055H   LINE      ---      ---       #78
-      0100305BH   LINE      ---      ---       #79
-      01003061H   LINE      ---      ---       #80
-      01003066H   LINE      ---      ---       #81
-      0100306CH   LINE      ---      ---       #82
-      01003074H   LINE      ---      ---       #83
-      0100307CH   LINE      ---      ---       #84
-      01003084H   LINE      ---      ---       #85
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001EC7H   BLOCK     CODE     ---       LVL=0
-      01001EC7H   LINE      ---      ---       #87
-      01001EC7H   LINE      ---      ---       #88
-      01001EC7H   LINE      ---      ---       #89
-      01001ECDH   LINE      ---      ---       #90
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010017BDH   BLOCK     CODE     ---       LVL=0
-      010017BDH   LINE      ---      ---       #93
-      010017BDH   LINE      ---      ---       #94
-      010017BDH   LINE      ---      ---       #95
-      010017C2H   LINE      ---      ---       #96
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000FC8H   BLOCK     CODE     ---       LVL=0
-      01000FC8H   LINE      ---      ---       #99
-      01000FC8H   LINE      ---      ---       #100
-      01000FC8H   LINE      ---      ---       #101
-      01000FCBH   LINE      ---      ---       #102
-      01000FD1H   LINE      ---      ---       #103
-      01000FD7H   LINE      ---      ---       #105
-      01000FDDH   LINE      ---      ---       #106
-      01000FE1H   LINE      ---      ---       #108
-      01000FE7H   LINE      ---      ---       #109
-      01000FE9H   LINE      ---      ---       #110
-      01000FEBH   LINE      ---      ---       #111
-      01000FEDH   LINE      ---      ---       #112
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001EC7H   BLOCK     CODE     ---       LVL=0
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100323CH   BLOCK     CODE     ---       LVL=0
-      0100323CH   LINE      ---      ---       #124
-      01003241H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003241H   LINE      ---      ---       #126
-      0100324BH   LINE      ---      ---       #128
-      0100324BH   LINE      ---      ---       #130
-      0100324BH   LINE      ---      ---       #131
-      02004F02H   SYMBOL    XDATA    VOID      temp
-      ---         BLOCKEND  CODE     ---       LVL=1
-      ---         BLOCKEND  CODE     ---       LVL=0
-
-      010013BCH   BLOCK     CODE     ---       LVL=0
-      010013BCH   LINE      ---      ---       #133
-      010013C1H   LINE      ---      ---       #134
-      010013C1H   LINE      ---      ---       #139
-      010013F2H   LINE      ---      ---       #140
-      010013F2H   LINE      ---      ---       #142
-      010013F2H   LINE      ---      ---       #143
-      010013F2H   LINE      ---      ---       #144
-      010013F5H   LINE      ---      ---       #145
-      010013F8H   LINE      ---      ---       #147
-      01001409H   LINE      ---      ---       #148
-      01001411H   LINE      ---      ---       #149
-      01001411H   LINE      ---      ---       #150
-      0100142BH   LINE      ---      ---       #152
-      01001440H   LINE      ---      ---       #153
-      01001440H   LINE      ---      ---       #154
-      01001446H   LINE      ---      ---       #155
-      0100144BH   LINE      ---      ---       #156
-      0100144FH   LINE      ---      ---       #157
-      0100144FH   LINE      ---      ---       #158
-      0100144FH   LINE      ---      ---       #159
-      0100144FH   LINE      ---      ---       #163
-      01001455H   LINE      ---      ---       #164
-      01001455H   LINE      ---      ---       #165
-      0100145BH   LINE      ---      ---       #166
-      0100145FH   LINE      ---      ---       #167
-      01001463H   LINE      ---      ---       #168
-      0100146AH   LINE      ---      ---       #169
-      0100146CH   LINE      ---      ---       #171
-      0100146CH   LINE      ---      ---       #172
-      01001471H   LINE      ---      ---       #173
-      01001475H   LINE      ---      ---       #174
-      01001479H   LINE      ---      ---       #176
-      01001479H   LINE      ---      ---       #181
-      01001481H   LINE      ---      ---       #182
-      01001484H   LINE      ---      ---       #183
-      01001488H   LINE      ---      ---       #184
-      01001499H   LINE      ---      ---       #185
-      010014A5H   LINE      ---      ---       #186
-      010014A5H   LINE      ---      ---       #187
-      010014AFH   LINE      ---      ---       #188
-      010014B9H   LINE      ---      ---       #189
-      010014B9H   LINE      ---      ---       #190
-      010014BBH   LINE      ---      ---       #192
-      010014BBH   LINE      ---      ---       #193
-      010014BBH   LINE      ---      ---       #194
-      010014BEH   LINE      ---      ---       #195
-      010014C1H   LINE      ---      ---       #196
-      010014C1H   LINE      ---      ---       #199
-      010014C1H   LINE      ---      ---       #200
-      010014C1H   LINE      ---      ---       #201
-      010014D3H   LINE      ---      ---       #202
-      010014D3H   LINE      ---      ---       #203
-      010014E9H   LINE      ---      ---       #204
-      010014EDH   LINE      ---      ---       #205
-      010014F3H   LINE      ---      ---       #206
-      01001504H   LINE      ---      ---       #207
-      0100150AH   LINE      ---      ---       #208
-      0100150AH   LINE      ---      ---       #209
-      0100150AH   LINE      ---      ---       #210
-      0100150AH   LINE      ---      ---       #211
-      01001512H   LINE      ---      ---       #212
-      01001512H   LINE      ---      ---       #215
-      01001512H   LINE      ---      ---       #216
-      01001512H   LINE      ---      ---       #217
-      01001518H   LINE      ---      ---       #218
-      0100151BH   LINE      ---      ---       #219
-      0100151EH   LINE      ---      ---       #220
-      01001523H   LINE      ---      ---       #221
-      01001527H   LINE      ---      ---       #222
-      0100152BH   LINE      ---      ---       #223
-      01001531H   LINE      ---      ---       #224
-      01001535H   LINE      ---      ---       #225
-      0100153BH   LINE      ---      ---       #226
-      01001541H   LINE      ---      ---       #228
-      01001549H   LINE      ---      ---       #229
-      01001549H   LINE      ---      ---       #230
-      0100154DH   LINE      ---      ---       #231
-      01001551H   LINE      ---      ---       #232
-      01001555H   LINE      ---      ---       #233
-      0100155BH   LINE      ---      ---       #234
-      01001574H   LINE      ---      ---       #236
-      01001574H   LINE      ---      ---       #237
-      0100157AH   LINE      ---      ---       #238
-      0100157DH   LINE      ---      ---       #239
-      0100157DH   LINE      ---      ---       #240
-      0100157DH   LINE      ---      ---       #242
-      0100157DH   LINE      ---      ---       #243
-      01001585H   LINE      ---      ---       #245
-      01001585H   LINE      ---      ---       #246
-      01001586H   LINE      ---      ---       #248
-      01001586H   LINE      ---      ---       #254
-      0100158BH   LINE      ---      ---       #255
-      0100158DH   LINE      ---      ---       #256
-      01001593H   LINE      ---      ---       #257
-      01001598H   LINE      ---      ---       #259
-      010015AEH   LINE      ---      ---       #260
-      010015AEH   LINE      ---      ---       #261
-      010015B2H   LINE      ---      ---       #262
-      010015B2H   LINE      ---      ---       #263
-      010015B2H   LINE      ---      ---       #265
-      010015B8H   LINE      ---      ---       #266
-      010015B8H   LINE      ---      ---       #267
-      010015BBH   LINE      ---      ---       #268
-      010015C2H   LINE      ---      ---       #270
-      010015C2H   LINE      ---      ---       #271
-      010015C2H   LINE      ---      ---       #273
-      010015C9H   LINE      ---      ---       #274
-      010015C9H   LINE      ---      ---       #275
-      010015CBH   LINE      ---      ---       #276
-      010015CDH   LINE      ---      ---       #277
-      010015CDH   LINE      ---      ---       #278
-      010015CDH   LINE      ---      ---       #279
-      010015D5H   LINE      ---      ---       #280
-      010015D5H   LINE      ---      ---       #281
-      010015DDH   LINE      ---      ---       #282
-      010015DDH   LINE      ---      ---       #283
-      010015DDH   LINE      ---      ---       #437
-      010015DDH   LINE      ---      ---       #438
-      010015E3H   LINE      ---      ---       #439
-      010015E7H   LINE      ---      ---       #440
-      010015EAH   LINE      ---      ---       #441
-      010015ECH   LINE      ---      ---       #442
-      010015F0H   LINE      ---      ---       #443
-      010015F4H   LINE      ---      ---       #444
-      010015FAH   LINE      ---      ---       #445
-      010015FAH   LINE      ---      ---       #446
-      010015FFH   LINE      ---      ---       #447
-      01001603H   LINE      ---      ---       #448
-      01001616H   LINE      ---      ---       #449
-      0100162EH   LINE      ---      ---       #450
-      0100162EH   LINE      ---      ---       #451
-      01001634H   LINE      ---      ---       #452
-      0100163AH   LINE      ---      ---       #453
-      01001640H   LINE      ---      ---       #454
-      01001643H   LINE      ---      ---       #455
-      01001648H   LINE      ---      ---       #456
-      0100164EH   LINE      ---      ---       #457
-      0100164FH   LINE      ---      ---       #458
-      0100164FH   LINE      ---      ---       #459
-      01001655H   LINE      ---      ---       #460
-      01001658H   LINE      ---      ---       #461
-      0100165BH   LINE      ---      ---       #462
-      01001660H   LINE      ---      ---       #463
-      01001666H   LINE      ---      ---       #464
-      0100166EH   LINE      ---      ---       #465
-      01001674H   LINE      ---      ---       #466
-      01001675H   LINE      ---      ---       #467
-      01001675H   LINE      ---      ---       #468
-      01001680H   LINE      ---      ---       #469
-      01001688H   LINE      ---      ---       #470
-      0100168EH   LINE      ---      ---       #471
-      0100168FH   LINE      ---      ---       #473
-      0100168FH   LINE      ---      ---       #474
-      01001699H   LINE      ---      ---       #475
-      0100169EH   LINE      ---      ---       #476
-      010016A3H   LINE      ---      ---       #477
-      010016A8H   LINE      ---      ---       #478
-      010016ADH   LINE      ---      ---       #479
-      010016AEH   LINE      ---      ---       #481
-      010016AEH   LINE      ---      ---       #482
-      010016B6H   LINE      ---      ---       #483
-      010016BBH   LINE      ---      ---       #484
-      010016BDH   LINE      ---      ---       #485
-      010016C2H   LINE      ---      ---       #486
-      010016C7H   LINE      ---      ---       #487
-      010016CEH   LINE      ---      ---       #488
-      010016CEH   LINE      ---      ---       #489
-      010016D0H   LINE      ---      ---       #490
-      010016D2H   LINE      ---      ---       #491
-      010016D2H   LINE      ---      ---       #492
-      010016D2H   LINE      ---      ---       #494
-      010016D8H   LINE      ---      ---       #495
-      010016D8H   LINE      ---      ---       #496
-      010016DBH   LINE      ---      ---       #497
-      010016DBH   LINE      ---      ---       #498
-      010016DBH   LINE      ---      ---       #501
-      010016E1H   LINE      ---      ---       #502
-      010016E1H   LINE      ---      ---       #503
-      010016E9H   LINE      ---      ---       #504
-      010016E9H   LINE      ---      ---       #505
-      010016E9H   LINE      ---      ---       #507
-      010016EBH   LINE      ---      ---       #508
-      010016F2H   LINE      ---      ---       #509
-      010016F2H   LINE      ---      ---       #510
-      010016F2H   LINE      ---      ---       #511
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100324CH   BLOCK     CODE     ---       LVL=0
-      0100324CH   LINE      ---      ---       #514
-      0100324CH   LINE      ---      ---       #515
-      0100324CH   LINE      ---      ---       #516
-      01003254H   LINE      ---      ---       #518
-      0100325AH   LINE      ---      ---       #519
-      0100325AH   LINE      ---      ---       #520
-      01003262H   LINE      ---      ---       #521
-      01003262H   LINE      ---      ---       #522
-      01003269H   LINE      ---      ---       #523
-      0100326DH   LINE      ---      ---       #524
-      01003274H   LINE      ---      ---       #525
-      01003278H   LINE      ---      ---       #526
-      01003280H   LINE      ---      ---       #527
-      01003280H   LINE      ---      ---       #528
-      01003284H   LINE      ---      ---       #529
-      01003284H   LINE      ---      ---       #530
-      01003284H   LINE      ---      ---       #532
-      01003284H   LINE      ---      ---       #533
-      0100328BH   LINE      ---      ---       #534
-      01003292H   LINE      ---      ---       #535
-      01003299H   LINE      ---      ---       #537
-      01003299H   LINE      ---      ---       #538
-      01003299H   LINE      ---      ---       #539
-      0100329FH   LINE      ---      ---       #540
-      0100329FH   LINE      ---      ---       #541
-      010032A3H   LINE      ---      ---       #543
-      010032A3H   LINE      ---      ---       #558
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000EDBH   BLOCK     CODE     ---       LVL=0
-      01000EDBH   LINE      ---      ---       #560
-      01000EDBH   LINE      ---      ---       #561
-      01000EDBH   LINE      ---      ---       #563
-      01000EE1H   LINE      ---      ---       #564
-      01000EE1H   LINE      ---      ---       #565
-      01000EE4H   LINE      ---      ---       #566
-      01000EE7H   LINE      ---      ---       #567
-      01000EE7H   LINE      ---      ---       #568
-      01000EECH   LINE      ---      ---       #569
-      01000EF0H   LINE      ---      ---       #570
-      01000EF0H   LINE      ---      ---       #571
-      01000EF0H   LINE      ---      ---       #574
-      01000EF9H   LINE      ---      ---       #575
-      01000EF9H   LINE      ---      ---       #576
-      01000F04H   LINE      ---      ---       #577
-      01000F04H   LINE      ---      ---       #578
-      01000F1AH   LINE      ---      ---       #579
-      01000F1AH   LINE      ---      ---       #580
-      01000F1FH   LINE      ---      ---       #581
-      01000F25H   LINE      ---      ---       #582
-      01000F2DH   LINE      ---      ---       #583
-      01000F37H   LINE      ---      ---       #584
-      01000F37H   LINE      ---      ---       #585
-      01000F37H   LINE      ---      ---       #586
-      01000F45H   LINE      ---      ---       #587
-      01000F45H   LINE      ---      ---       #588
-      01000F48H   LINE      ---      ---       #589
-      01000F4EH   LINE      ---      ---       #590
-      01000F4EH   LINE      ---      ---       #591
-      01000F4FH   LINE      ---      ---       #592
-      01000F57H   LINE      ---      ---       #593
-      01000F57H   LINE      ---      ---       #595
-      01000F61H   LINE      ---      ---       #596
-      01000F61H   LINE      ---      ---       #597
-      01000F6CH   LINE      ---      ---       #599
-      01000F71H   LINE      ---      ---       #600
-      01000F76H   LINE      ---      ---       #601
-      01000F7FH   LINE      ---      ---       #602
-      01000F7FH   LINE      ---      ---       #604
-      01000F8EH   LINE      ---      ---       #605
-      01000F8EH   LINE      ---      ---       #606
-      01000F90H   LINE      ---      ---       #607
-      01000F90H   LINE      ---      ---       #608
-      01000F90H   LINE      ---      ---       #609
-      01000F97H   LINE      ---      ---       #610
-      01000F97H   LINE      ---      ---       #611
-      01000FA6H   LINE      ---      ---       #612
-      01000FA6H   LINE      ---      ---       #613
-      01000FA8H   LINE      ---      ---       #614
-      01000FA8H   LINE      ---      ---       #615
-      01000FA8H   LINE      ---      ---       #617
-      01000FA8H   LINE      ---      ---       #618
-      01000FB7H   LINE      ---      ---       #619
-      01000FB7H   LINE      ---      ---       #620
-      01000FBDH   LINE      ---      ---       #621
-      01000FBDH   LINE      ---      ---       #622
-      01000FBFH   LINE      ---      ---       #623
-      01000FC4H   LINE      ---      ---       #624
-      01000FC4H   LINE      ---      ---       #625
-      01000FC7H   LINE      ---      ---       #635
-      01000FC7H   LINE      ---      ---       #636
-      01000FC7H   LINE      ---      ---       #637
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010032C1H   BLOCK     CODE     ---       LVL=0
-      010032C1H   LINE      ---      ---       #640
-      010032C1H   LINE      ---      ---       #641
-      010032C1H   LINE      ---      ---       #643
-      010032C7H   LINE      ---      ---       #644
-      010032C7H   LINE      ---      ---       #645
-      010032CAH   LINE      ---      ---       #646
-      010032CDH   LINE      ---      ---       #647
-      010032CDH   LINE      ---      ---       #648
-      010032DBH   LINE      ---      ---       #656
-      010032DBH   LINE      ---      ---       #658
-      010032E0H   LINE      ---      ---       #659
-      010032E6H   LINE      ---      ---       #660
-      010032EBH   LINE      ---      ---       #661
-      010032EFH   LINE      ---      ---       #662
-      010032F3H   LINE      ---      ---       #666
-      010032F6H   LINE      ---      ---       #667
-      010032FBH   LINE      ---      ---       #672
-      01003300H   LINE      ---      ---       #673
-      01003300H   LINE      ---      ---       #674
-      01003300H   LINE      ---      ---       #675
-      01003300H   LINE      ---      ---       #677
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100333BH   BLOCK     CODE     ---       LVL=0
-      0100333BH   LINE      ---      ---       #680
-      0100333BH   LINE      ---      ---       #681
-      0100333BH   LINE      ---      ---       #683
-      01003341H   LINE      ---      ---       #684
-      01003341H   LINE      ---      ---       #685
-      01003348H   LINE      ---      ---       #686
-      0100334CH   LINE      ---      ---       #687
-      01003352H   LINE      ---      ---       #688
-      01003355H   LINE      ---      ---       #689
-      01003355H   LINE      ---      ---       #690
-      0100335DH   LINE      ---      ---       #691
-      01003361H   LINE      ---      ---       #693
-      01003366H   LINE      ---      ---       #694
-      01003369H   LINE      ---      ---       #695
-      01003369H   LINE      ---      ---       #696
-      01003369H   LINE      ---      ---       #698
-      0100336FH   LINE      ---      ---       #699
-      0100336FH   LINE      ---      ---       #700
-      01003376H   LINE      ---      ---       #701
-      0100337CH   LINE      ---      ---       #702
-      0100337FH   LINE      ---      ---       #703
-      0100337FH   LINE      ---      ---       #705
-      01003384H   LINE      ---      ---       #706
-      01003387H   LINE      ---      ---       #707
-      01003387H   LINE      ---      ---       #708
-      01003387H   LINE      ---      ---       #709
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001BDDH   BLOCK     CODE     ---       LVL=0
-      01001BDDH   LINE      ---      ---       #711
-      01001BDDH   LINE      ---      ---       #712
-      01001BDDH   LINE      ---      ---       #729
-      01001BE4H   LINE      ---      ---       #730
-      01001BE4H   LINE      ---      ---       #731
-      01001BEDH   LINE      ---      ---       #732
-      01001BF0H   LINE      ---      ---       #733
-      01001BF8H   LINE      ---      ---       #734
-      01001BF8H   LINE      ---      ---       #735
-      01001BFEH   LINE      ---      ---       #736
-      01001C04H   LINE      ---      ---       #737
-      01001C04H   LINE      ---      ---       #738
-      01001C09H   LINE      ---      ---       #739
-      01001C0BH   LINE      ---      ---       #740
-      01001C12H   LINE      ---      ---       #741
-      01001C12H   LINE      ---      ---       #742
-      01001C18H   LINE      ---      ---       #743
-      01001C1DH   LINE      ---      ---       #744
-      01001C20H   LINE      ---      ---       #745
-      01001C20H   LINE      ---      ---       #746
-      01001C20H   LINE      ---      ---       #747
-      01001C22H   LINE      ---      ---       #749
-      01001C22H   LINE      ---      ---       #750
-      01001C27H   LINE      ---      ---       #751
-      01001C2BH   LINE      ---      ---       #752
-      01001C2FH   LINE      ---      ---       #753
-      01001C2FH   LINE      ---      ---       #755
-      01001C36H   LINE      ---      ---       #756
-      01001C36H   LINE      ---      ---       #757
-      01001C3CH   LINE      ---      ---       #758
-      01001C45H   LINE      ---      ---       #759
-      01001C48H   LINE      ---      ---       #760
-      01001C50H   LINE      ---      ---       #761
-      01001C50H   LINE      ---      ---       #762
-      01001C5BH   LINE      ---      ---       #763
-      01001C5BH   LINE      ---      ---       #764
-      01001C60H   LINE      ---      ---       #765
-      01001C63H   LINE      ---      ---       #766
-      01001C68H   LINE      ---      ---       #767
-      01001C6DH   LINE      ---      ---       #768
-      01001C6DH   LINE      ---      ---       #769
-      01001C6DH   LINE      ---      ---       #770
-      01001C6FH   LINE      ---      ---       #772
-      01001C6FH   LINE      ---      ---       #773
-      01001C75H   LINE      ---      ---       #774
-      01001C75H   LINE      ---      ---       #775
-      01001C77H   LINE      ---      ---       #776
-      01001C7CH   LINE      ---      ---       #777
-      01001C82H   LINE      ---      ---       #778
-      01001C8AH   LINE      ---      ---       #779
-      01001C90H   LINE      ---      ---       #780
-      01001C92H   LINE      ---      ---       #781
-      01001C94H   LINE      ---      ---       #782
-      01001C94H   LINE      ---      ---       #783
-      01001C99H   LINE      ---      ---       #784
-      01001C99H   LINE      ---      ---       #787
-      01001CA0H   LINE      ---      ---       #788
-      01001CA0H   LINE      ---      ---       #804
-      01001CA0H   LINE      ---      ---       #806
-      01001CA0H   LINE      ---      ---       #807
-      01001CA6H   LINE      ---      ---       #808
-      01001CA6H   LINE      ---      ---       #809
-      01001CA8H   LINE      ---      ---       #811
-      01001CB4H   LINE      ---      ---       #812
-      01001CB4H   LINE      ---      ---       #813
-      01001CBAH   LINE      ---      ---       #814
-      01001CBCH   LINE      ---      ---       #815
-      01001CC4H   LINE      ---      ---       #816
-      01001CCAH   LINE      ---      ---       #818
-      01001CCDH   LINE      ---      ---       #819
-      01001CCFH   LINE      ---      ---       #820
-      01001CD1H   LINE      ---      ---       #821
-      01001CD1H   LINE      ---      ---       #822
-      01001CD1H   LINE      ---      ---       #823
-      01001CD6H   LINE      ---      ---       #824
-      01001CD6H   LINE      ---      ---       #864
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003301H   BLOCK     CODE     ---       LVL=0
-      01003301H   LINE      ---      ---       #868
-      01003301H   LINE      ---      ---       #869
-      01003301H   LINE      ---      ---       #871
-      0100330FH   LINE      ---      ---       #873
-      01003311H   LINE      ---      ---       #874
-      01003314H   LINE      ---      ---       #875
-      01003317H   LINE      ---      ---       #876
-      01003319H   LINE      ---      ---       #877
-      0100331BH   LINE      ---      ---       #880
-      01003322H   LINE      ---      ---       #881
-      01003322H   LINE      ---      ---       #882
-      01003329H   LINE      ---      ---       #883
-      01003329H   LINE      ---      ---       #886
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01002EF2H   BLOCK     CODE     ---       LVL=0
-      01002EF2H   LINE      ---      ---       #889
-      01002EF2H   LINE      ---      ---       #890
-      01002EF2H   LINE      ---      ---       #892
-      01002EF5H   LINE      ---      ---       #893
-      01002EFBH   LINE      ---      ---       #894
-      01002EFBH   LINE      ---      ---       #895
-      01002EFDH   LINE      ---      ---       #896
-      01002EFDH   LINE      ---      ---       #898
-      01002F03H   LINE      ---      ---       #899
-      01002F05H   LINE      ---      ---       #901
-      01002F0BH   LINE      ---      ---       #902
-      01002F0BH   LINE      ---      ---       #903
-      01002F0DH   LINE      ---      ---       #904
-      01002F10H   LINE      ---      ---       #905
-      01002F10H   LINE      ---      ---       #906
-      01002F18H   LINE      ---      ---       #907
-      01002F18H   LINE      ---      ---       #908
-      01002F1EH   LINE      ---      ---       #909
-      01002F24H   LINE      ---      ---       #910
-      01002F26H   LINE      ---      ---       #911
-      01002F2AH   LINE      ---      ---       #912
-      01002F2AH   LINE      ---      ---       #913
-      01002F30H   LINE      ---      ---       #914
-      01002F35H   LINE      ---      ---       #915
-      01002F35H   LINE      ---      ---       #916
-      01002F35H   LINE      ---      ---       #917
-      01002F35H   LINE      ---      ---       #919
-      01002F3BH   LINE      ---      ---       #920
-      01002F3BH   LINE      ---      ---       #921
-      01002F47H   LINE      ---      ---       #922
-      01002F47H   LINE      ---      ---       #923
-      01002F4DH   LINE      ---      ---       #925
-      01002F4DH   LINE      ---      ---       #950
-      01002F53H   LINE      ---      ---       #951
-      01002F55H   LINE      ---      ---       #952
-      01002F5BH   LINE      ---      ---       #953
-      01002F5BH   LINE      ---      ---       #954
-      01002F5DH   LINE      ---      ---       #955
-      01002F5DH   LINE      ---      ---       #957
-      01002F5FH   LINE      ---      ---       #958
-      01002F6BH   LINE      ---      ---       #959
-      01002F6BH   LINE      ---      ---       #960
-      01002F71H   LINE      ---      ---       #961
-      01002F71H   LINE      ---      ---       #962
-      01002F73H   LINE      ---      ---       #963
-      01002F7AH   LINE      ---      ---       #964
-      01002F7AH   LINE      ---      ---       #965
-      01002F7FH   LINE      ---      ---       #966
-      01002F83H   LINE      ---      ---       #967
-      01002F83H   LINE      ---      ---       #968
-      01002F8AH   LINE      ---      ---       #969
-      01002F8CH   LINE      ---      ---       #971
-      01002F8CH   LINE      ---      ---       #972
-      01002F93H   LINE      ---      ---       #973
-      01002F93H   LINE      ---      ---       #974
-      01002F95H   LINE      ---      ---       #976
-      01002F95H   LINE      ---      ---       #977
-      01002F9BH   LINE      ---      ---       #978
-      01002FA2H   LINE      ---      ---       #979
-      01002FA2H   LINE      ---      ---       #980
-      01002FA8H   LINE      ---      ---       #981
-      01002FABH   LINE      ---      ---       #982
-      01002FABH   LINE      ---      ---       #983
-      01002FABH   LINE      ---      ---       #986
-      01002FB1H   LINE      ---      ---       #987
-      01002FB1H   LINE      ---      ---       #988
-      01002FB9H   LINE      ---      ---       #989
-      01002FB9H   LINE      ---      ---       #990
-      01002FBFH   LINE      ---      ---       #991
-      01002FC3H   LINE      ---      ---       #993
-      01002FC9H   LINE      ---      ---       #994
-      01002FC9H   LINE      ---      ---       #995
-      01002FD4H   LINE      ---      ---       #996
-      01002FD6H   LINE      ---      ---       #997
-      01002FDCH   LINE      ---      ---       #998
-      01002FDCH   LINE      ---      ---       #1000
-      01002FE7H   LINE      ---      ---       #1001
-      01002FE7H   LINE      ---      ---       #1002
-      01002FE7H   LINE      ---      ---       #1003
-      01002FE7H   LINE      ---      ---       #1018
-      01002FEDH   LINE      ---      ---       #1019
-      01002FEDH   LINE      ---      ---       #1020
-      01002FF0H   LINE      ---      ---       #1021
-      01002FF3H   LINE      ---      ---       #1022
-      01002FF3H   LINE      ---      ---       #1023
-      01002FF6H   LINE      ---      ---       #1024
-      01002FF6H   LINE      ---      ---       #1025
-      01002FF6H   LINE      ---      ---       #1028
-      01002FFCH   LINE      ---      ---       #1029
-      01002FFCH   LINE      ---      ---       #1030
-      01002FFFH   LINE      ---      ---       #1031
-      01003002H   LINE      ---      ---       #1032
-      01003002H   LINE      ---      ---       #1033
-      01003008H   LINE      ---      ---       #1034
-      01003008H   LINE      ---      ---       #1035
-      0100300DH   LINE      ---      ---       #1036
-      0100300DH   LINE      ---      ---       #1037
-      0100300DH   LINE      ---      ---       #1038
-      0100300DH   LINE      ---      ---       #1040
-      01003013H   LINE      ---      ---       #1041
-      01003013H   LINE      ---      ---       #1042
-      01003016H   LINE      ---      ---       #1043
-      01003019H   LINE      ---      ---       #1044
-      01003019H   LINE      ---      ---       #1045
-      0100301FH   LINE      ---      ---       #1046
-      0100301FH   LINE      ---      ---       #1047
-      01003021H   LINE      ---      ---       #1048
-      01003021H   LINE      ---      ---       #1050
-      01003028H   LINE      ---      ---       #1051
-      01003028H   LINE      ---      ---       #1052
-      0100302EH   LINE      ---      ---       #1053
-      0100302FH   LINE      ---      ---       #1054
-      01003036H   LINE      ---      ---       #1055
-      01003036H   LINE      ---      ---       #1056
-      0100303CH   LINE      ---      ---       #1057
-      0100303CH   LINE      ---      ---       #1058
-      0100303CH   LINE      ---      ---       #1059
-      0100303CH   LINE      ---      ---       #1060
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001EDEH   BLOCK     CODE     ---       LVL=0
-      01001EDEH   LINE      ---      ---       #1074
-      01001EDEH   LINE      ---      ---       #1075
-      01001EDEH   LINE      ---      ---       #1076
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001D1BH   BLOCK     CODE     ---       LVL=0
-      01001D1BH   LINE      ---      ---       #1081
-      01001D1BH   LINE      ---      ---       #1082
-      01001D1BH   LINE      ---      ---       #1083
-      01001D1DH   LINE      ---      ---       #1084
-      01001D1DH   LINE      ---      ---       #1085
-      01001D20H   LINE      ---      ---       #1086
-      01001D23H   LINE      ---      ---       #1088
-      01001D25H   LINE      ---      ---       #1089
-      01001D28H   LINE      ---      ---       #1092
-      01001D2EH   LINE      ---      ---       #1093
-      01001D2EH   LINE      ---      ---       #1094
-      01001D31H   LINE      ---      ---       #1095
-      01001D31H   LINE      ---      ---       #1097
-      01001D3CH   LINE      ---      ---       #1098
-      01001D3CH   LINE      ---      ---       #1099
-      01001D3EH   LINE      ---      ---       #1105
-      01001D42H   LINE      ---      ---       #1106
-      01001D44H   LINE      ---      ---       #1107
-      01001D4BH   LINE      ---      ---       #1108
-      01001D51H   LINE      ---      ---       #1109
-      01001D53H   LINE      ---      ---       #1110
-      01001D55H   LINE      ---      ---       #1111
-      01001D55H   LINE      ---      ---       #1113
-      01001D55H   LINE      ---      ---       #1114
-      01001D79H   LINE      ---      ---       #1116
-      01001D79H   LINE      ---      ---       #1117
-      01001D7BH   LINE      ---      ---       #1118
-      01001D7DH   LINE      ---      ---       #1119
-      01001D7DH   LINE      ---      ---       #1121
-      01001D7DH   LINE      ---      ---       #1122
-      01001D7FH   LINE      ---      ---       #1125
-      01001D85H   LINE      ---      ---       #1126
-      01001D87H   LINE      ---      ---       #1127
-      01001D89H   LINE      ---      ---       #1128
-      01001D8BH   LINE      ---      ---       #1129
-      01001D8BH   LINE      ---      ---       #1130
-      01001D8BH   LINE      ---      ---       #1131
+      01000D2DH   LINE      ---      ---       #11
+      01000D2DH   LINE      ---      ---       #12
+      01000D2DH   LINE      ---      ---       #13
+      01000D39H   LINE      ---      ---       #14
+      01000D45H   LINE      ---      ---       #15
+      01000D51H   LINE      ---      ---       #16
+      01000D5DH   LINE      ---      ---       #17
+      01000D69H   LINE      ---      ---       #18
+      01000D75H   LINE      ---      ---       #20
+      01000D7AH   LINE      ---      ---       #21
+      01000D7EH   LINE      ---      ---       #23
+      01000D82H   LINE      ---      ---       #24
+      01000D86H   LINE      ---      ---       #25
+      01000D8AH   LINE      ---      ---       #26
+      01000D8EH   LINE      ---      ---       #27
+      01000D92H   LINE      ---      ---       #28
+      01000D96H   LINE      ---      ---       #29
+      01000D9AH   LINE      ---      ---       #30
+      01000D9EH   LINE      ---      ---       #31
+      01000DA2H   LINE      ---      ---       #32
+      01000DA6H   LINE      ---      ---       #33
+      01000DAAH   LINE      ---      ---       #34
+      01000DAEH   LINE      ---      ---       #36
+      01000DB2H   LINE      ---      ---       #39
+      01000DB6H   LINE      ---      ---       #40
+      01000DBAH   LINE      ---      ---       #41
+      01000DBEH   LINE      ---      ---       #42
+      01000DC2H   LINE      ---      ---       #43
+      01000DC6H   LINE      ---      ---       #44
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010033B2H   BLOCK     CODE     ---       LVL=0
+      010033B2H   LINE      ---      ---       #46
+      010033B2H   LINE      ---      ---       #47
+      010033B2H   LINE      ---      ---       #48
+      010033B8H   LINE      ---      ---       #49
+      010033BBH   LINE      ---      ---       #50
+      010033BDH   LINE      ---      ---       #51
+      010033BFH   LINE      ---      ---       #52
+      010033C1H   LINE      ---      ---       #53
+      010033C4H   LINE      ---      ---       #54
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001FC3H   BLOCK     CODE     ---       LVL=0
+      01001FC3H   LINE      ---      ---       #56
+      01001FC3H   LINE      ---      ---       #57
+      01001FC3H   LINE      ---      ---       #58
+      01001FC6H   LINE      ---      ---       #59
+      01001FC8H   LINE      ---      ---       #60
+      01001FCEH   LINE      ---      ---       #61
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010033C5H   BLOCK     CODE     ---       LVL=0
+      010033C5H   LINE      ---      ---       #65
+      010033C5H   LINE      ---      ---       #66
+      010033C5H   LINE      ---      ---       #67
+      010033C8H   LINE      ---      ---       #68
+      010033CAH   LINE      ---      ---       #69
+      010033D0H   LINE      ---      ---       #70
+      010033D6H   LINE      ---      ---       #71
+      010033DBH   LINE      ---      ---       #72
+      010033E1H   LINE      ---      ---       #73
+      010033E5H   LINE      ---      ---       #74
+      010033EDH   LINE      ---      ---       #75
+      010033F5H   LINE      ---      ---       #76
+      010033FDH   LINE      ---      ---       #77
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001B37H   BLOCK     CODE     ---       LVL=0
+      01001B37H   LINE      ---      ---       #79
+      01001B37H   LINE      ---      ---       #80
+      01001B37H   LINE      ---      ---       #81
+      01001B3DH   LINE      ---      ---       #82
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001796H   BLOCK     CODE     ---       LVL=0
+      01001796H   LINE      ---      ---       #85
+      01001796H   LINE      ---      ---       #86
+      01001796H   LINE      ---      ---       #87
+      0100179BH   LINE      ---      ---       #88
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F97H   BLOCK     CODE     ---       LVL=0
+      01000F97H   LINE      ---      ---       #91
+      01000F97H   LINE      ---      ---       #92
+      01000F97H   LINE      ---      ---       #93
+      01000F9AH   LINE      ---      ---       #94
+      01000FA0H   LINE      ---      ---       #95
+      01000FA6H   LINE      ---      ---       #100
+      01000FACH   LINE      ---      ---       #101
+      01000FAEH   LINE      ---      ---       #102
+      01000FB0H   LINE      ---      ---       #103
+      01000FB2H   LINE      ---      ---       #104
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001B37H   BLOCK     CODE     ---       LVL=0
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010035B7H   BLOCK     CODE     ---       LVL=0
+      010035B7H   LINE      ---      ---       #116
+      010035BCH   BLOCK     CODE     NEAR LAB  LVL=1
+      010035BCH   LINE      ---      ---       #118
+      010035C6H   LINE      ---      ---       #120
+      010035C6H   LINE      ---      ---       #122
+      010035C6H   LINE      ---      ---       #123
+      02004F03H   SYMBOL    XDATA    VOID      temp
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      010013F4H   BLOCK     CODE     ---       LVL=0
+      010013F4H   LINE      ---      ---       #125
+      010013F9H   LINE      ---      ---       #126
+      010013F9H   LINE      ---      ---       #127
+      0100142DH   LINE      ---      ---       #128
+      0100142DH   LINE      ---      ---       #129
+      0100142DH   LINE      ---      ---       #130
+      0100142DH   LINE      ---      ---       #131
+      01001430H   LINE      ---      ---       #132
+      01001433H   LINE      ---      ---       #133
+      01001444H   LINE      ---      ---       #134
+      0100144CH   LINE      ---      ---       #135
+      0100144CH   LINE      ---      ---       #136
+      01001466H   LINE      ---      ---       #138
+      0100147BH   LINE      ---      ---       #139
+      0100147BH   LINE      ---      ---       #140
+      01001481H   LINE      ---      ---       #141
+      01001486H   LINE      ---      ---       #142
+      0100148AH   LINE      ---      ---       #143
+      0100148AH   LINE      ---      ---       #144
+      0100148AH   LINE      ---      ---       #145
+      0100148AH   LINE      ---      ---       #146
+      01001490H   LINE      ---      ---       #147
+      01001490H   LINE      ---      ---       #148
+      01001496H   LINE      ---      ---       #149
+      0100149AH   LINE      ---      ---       #150
+      0100149EH   LINE      ---      ---       #151
+      010014A5H   LINE      ---      ---       #152
+      010014A7H   LINE      ---      ---       #154
+      010014A7H   LINE      ---      ---       #155
+      010014ACH   LINE      ---      ---       #156
+      010014B0H   LINE      ---      ---       #157
+      010014B4H   LINE      ---      ---       #159
+      010014B4H   LINE      ---      ---       #161
+      010014BCH   LINE      ---      ---       #162
+      010014BFH   LINE      ---      ---       #164
+      010014C4H   LINE      ---      ---       #165
+      010014D5H   LINE      ---      ---       #166
+      010014E1H   LINE      ---      ---       #167
+      010014E1H   LINE      ---      ---       #168
+      010014EBH   LINE      ---      ---       #169
+      010014F5H   LINE      ---      ---       #170
+      010014F5H   LINE      ---      ---       #171
+      010014F8H   LINE      ---      ---       #172
+      010014F8H   LINE      ---      ---       #173
+      010014F8H   LINE      ---      ---       #174
+      010014FBH   LINE      ---      ---       #175
+      010014FEH   LINE      ---      ---       #177
+      010014FEH   LINE      ---      ---       #180
+      010014FEH   LINE      ---      ---       #181
+      010014FEH   LINE      ---      ---       #182
+      01001510H   LINE      ---      ---       #183
+      01001510H   LINE      ---      ---       #184
+      01001526H   LINE      ---      ---       #185
+      0100152BH   LINE      ---      ---       #186
+      01001531H   LINE      ---      ---       #187
+      01001542H   LINE      ---      ---       #188
+      01001548H   LINE      ---      ---       #189
+      01001548H   LINE      ---      ---       #190
+      01001548H   LINE      ---      ---       #191
+      01001548H   LINE      ---      ---       #192
+      01001550H   LINE      ---      ---       #193
+      01001550H   LINE      ---      ---       #196
+      01001550H   LINE      ---      ---       #197
+      01001550H   LINE      ---      ---       #198
+      01001556H   LINE      ---      ---       #199
+      01001559H   LINE      ---      ---       #200
+      0100155BH   LINE      ---      ---       #201
+      01001560H   LINE      ---      ---       #202
+      01001564H   LINE      ---      ---       #203
+      0100156AH   LINE      ---      ---       #204
+      0100156EH   LINE      ---      ---       #205
+      01001574H   LINE      ---      ---       #206
+      0100157AH   LINE      ---      ---       #207
+      01001580H   LINE      ---      ---       #208
+      01001585H   LINE      ---      ---       #209
+      0100158BH   LINE      ---      ---       #210
+      01001590H   LINE      ---      ---       #214
+      01001598H   LINE      ---      ---       #215
+      01001598H   LINE      ---      ---       #216
+      0100159CH   LINE      ---      ---       #217
+      010015A0H   LINE      ---      ---       #218
+      010015A4H   LINE      ---      ---       #219
+      010015AAH   LINE      ---      ---       #220
+      010015C3H   LINE      ---      ---       #222
+      010015C3H   LINE      ---      ---       #223
+      010015C9H   LINE      ---      ---       #224
+      010015CCH   LINE      ---      ---       #225
+      010015CCH   LINE      ---      ---       #226
+      010015CCH   LINE      ---      ---       #228
+      010015CCH   LINE      ---      ---       #229
+      010015D4H   LINE      ---      ---       #231
+      010015D4H   LINE      ---      ---       #232
+      010015D5H   LINE      ---      ---       #234
+      010015D5H   LINE      ---      ---       #235
+      010015DAH   LINE      ---      ---       #236
+      010015DCH   LINE      ---      ---       #237
+      010015E2H   LINE      ---      ---       #238
+      010015E7H   LINE      ---      ---       #240
+      010015FDH   LINE      ---      ---       #241
+      010015FDH   LINE      ---      ---       #242
+      01001601H   LINE      ---      ---       #243
+      01001601H   LINE      ---      ---       #244
+      01001601H   LINE      ---      ---       #246
+      01001607H   LINE      ---      ---       #247
+      01001607H   LINE      ---      ---       #248
+      01001609H   LINE      ---      ---       #249
+      01001610H   LINE      ---      ---       #250
+      01001610H   LINE      ---      ---       #251
+      01001610H   LINE      ---      ---       #253
+      01001617H   LINE      ---      ---       #254
+      01001617H   LINE      ---      ---       #255
+      01001619H   LINE      ---      ---       #256
+      0100161BH   LINE      ---      ---       #257
+      0100161BH   LINE      ---      ---       #258
+      0100161BH   LINE      ---      ---       #259
+      01001623H   LINE      ---      ---       #260
+      01001623H   LINE      ---      ---       #261
+      0100162BH   LINE      ---      ---       #262
+      0100162BH   LINE      ---      ---       #263
+      0100162BH   LINE      ---      ---       #268
+      0100162BH   LINE      ---      ---       #269
+      01001631H   LINE      ---      ---       #270
+      01001635H   LINE      ---      ---       #271
+      01001638H   LINE      ---      ---       #272
+      0100163AH   LINE      ---      ---       #273
+      0100163EH   LINE      ---      ---       #274
+      01001642H   LINE      ---      ---       #275
+      0100164CH   LINE      ---      ---       #276
+      0100164CH   LINE      ---      ---       #277
+      01001651H   LINE      ---      ---       #279
+      01001666H   LINE      ---      ---       #280
+      01001666H   LINE      ---      ---       #281
+      0100166CH   LINE      ---      ---       #282
+      01001672H   LINE      ---      ---       #283
+      01001678H   LINE      ---      ---       #284
+      0100167BH   LINE      ---      ---       #285
+      01001681H   LINE      ---      ---       #286
+      01001687H   LINE      ---      ---       #287
+      0100168CH   LINE      ---      ---       #288
+      01001692H   LINE      ---      ---       #289
+      01001698H   LINE      ---      ---       #290
+      01001699H   LINE      ---      ---       #291
+      01001699H   LINE      ---      ---       #292
+      0100169FH   LINE      ---      ---       #293
+      010016A2H   LINE      ---      ---       #294
+      010016A4H   LINE      ---      ---       #295
+      010016A9H   LINE      ---      ---       #296
+      010016AFH   LINE      ---      ---       #297
+      010016B7H   LINE      ---      ---       #298
+      010016BDH   LINE      ---      ---       #299
+      010016BEH   LINE      ---      ---       #300
+      010016BEH   LINE      ---      ---       #301
+      010016C9H   LINE      ---      ---       #302
+      010016D1H   LINE      ---      ---       #303
+      010016D7H   LINE      ---      ---       #304
+      010016D8H   LINE      ---      ---       #306
+      010016D8H   LINE      ---      ---       #307
+      010016E2H   LINE      ---      ---       #308
+      010016E7H   LINE      ---      ---       #309
+      010016ECH   LINE      ---      ---       #310
+      010016F1H   LINE      ---      ---       #311
+      010016F6H   LINE      ---      ---       #312
+      010016F7H   LINE      ---      ---       #314
+      010016F7H   LINE      ---      ---       #315
+      010016FFH   LINE      ---      ---       #316
+      01001704H   LINE      ---      ---       #317
+      01001706H   LINE      ---      ---       #318
+      0100170BH   LINE      ---      ---       #319
+      01001710H   LINE      ---      ---       #320
+      01001717H   LINE      ---      ---       #321
+      01001717H   LINE      ---      ---       #322
+      01001719H   LINE      ---      ---       #323
+      0100171BH   LINE      ---      ---       #324
+      0100171BH   LINE      ---      ---       #325
+      0100171BH   LINE      ---      ---       #327
+      01001721H   LINE      ---      ---       #328
+      01001721H   LINE      ---      ---       #329
+      01001724H   LINE      ---      ---       #330
+      01001724H   LINE      ---      ---       #331
+      01001724H   LINE      ---      ---       #334
+      0100172AH   LINE      ---      ---       #335
+      0100172AH   LINE      ---      ---       #336
+      01001732H   LINE      ---      ---       #337
+      01001732H   LINE      ---      ---       #338
+      01001732H   LINE      ---      ---       #340
+      01001734H   LINE      ---      ---       #341
+      0100173BH   LINE      ---      ---       #342
+      0100173CH   LINE      ---      ---       #343
+      0100173CH   LINE      ---      ---       #344
+      01001741H   LINE      ---      ---       #345
+      01001753H   LINE      ---      ---       #346
+      01001753H   LINE      ---      ---       #347
+      01001753H   LINE      ---      ---       #348
+      01001758H   LINE      ---      ---       #349
+      0100175AH   LINE      ---      ---       #350
+      0100175AH   LINE      ---      ---       #351
+      01001760H   LINE      ---      ---       #352
+      01001762H   LINE      ---      ---       #353
+      01001762H   LINE      ---      ---       #354
+      01001768H   LINE      ---      ---       #355
+      0100176AH   LINE      ---      ---       #356
+      0100176AH   LINE      ---      ---       #357
+      01001770H   LINE      ---      ---       #358
+      01001772H   LINE      ---      ---       #359
+      01001772H   LINE      ---      ---       #360
+      01001777H   LINE      ---      ---       #361
+      01001777H   LINE      ---      ---       #362
+      01001777H   LINE      ---      ---       #363
+      0100178FH   LINE      ---      ---       #364
+      01001795H   LINE      ---      ---       #365
+      01001795H   LINE      ---      ---       #366
+      01001795H   LINE      ---      ---       #367
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003325H   BLOCK     CODE     ---       LVL=0
+      01003325H   LINE      ---      ---       #370
+      01003325H   LINE      ---      ---       #371
+      01003325H   LINE      ---      ---       #372
+      0100332DH   LINE      ---      ---       #374
+      01003337H   LINE      ---      ---       #375
+      01003337H   LINE      ---      ---       #376
+      0100333FH   LINE      ---      ---       #377
+      0100333FH   LINE      ---      ---       #378
+      01003346H   LINE      ---      ---       #379
+      0100334AH   LINE      ---      ---       #380
+      01003351H   LINE      ---      ---       #381
+      01003355H   LINE      ---      ---       #382
+      0100335DH   LINE      ---      ---       #383
+      0100335DH   LINE      ---      ---       #384
+      01003361H   LINE      ---      ---       #385
+      01003361H   LINE      ---      ---       #386
+      01003361H   LINE      ---      ---       #388
+      01003361H   LINE      ---      ---       #389
+      01003368H   LINE      ---      ---       #390
+      0100336FH   LINE      ---      ---       #391
+      01003376H   LINE      ---      ---       #393
+      01003376H   LINE      ---      ---       #394
+      01003376H   LINE      ---      ---       #395
+      0100337CH   LINE      ---      ---       #396
+      0100337CH   LINE      ---      ---       #397
+      01003380H   LINE      ---      ---       #398
+      01003380H   LINE      ---      ---       #399
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000E85H   BLOCK     CODE     ---       LVL=0
+      01000E85H   LINE      ---      ---       #401
+      01000E85H   LINE      ---      ---       #402
+      01000E85H   LINE      ---      ---       #404
+      01000E8BH   LINE      ---      ---       #405
+      01000E8BH   LINE      ---      ---       #406
+      01000E8EH   LINE      ---      ---       #407
+      01000E91H   LINE      ---      ---       #408
+      01000E91H   LINE      ---      ---       #409
+      01000E96H   LINE      ---      ---       #410
+      01000E9AH   LINE      ---      ---       #411
+      01000E9AH   LINE      ---      ---       #412
+      01000E9AH   LINE      ---      ---       #415
+      01000EA3H   LINE      ---      ---       #416
+      01000EA3H   LINE      ---      ---       #417
+      01000EAEH   LINE      ---      ---       #418
+      01000EAEH   LINE      ---      ---       #419
+      01000EC4H   LINE      ---      ---       #420
+      01000EC4H   LINE      ---      ---       #421
+      01000EC9H   LINE      ---      ---       #422
+      01000ECFH   LINE      ---      ---       #423
+      01000ED7H   LINE      ---      ---       #424
+      01000EE1H   LINE      ---      ---       #425
+      01000EE1H   LINE      ---      ---       #426
+      01000EE1H   LINE      ---      ---       #427
+      01000EEFH   LINE      ---      ---       #428
+      01000EEFH   LINE      ---      ---       #429
+      01000EF2H   LINE      ---      ---       #430
+      01000EF8H   LINE      ---      ---       #431
+      01000EF8H   LINE      ---      ---       #432
+      01000EF9H   LINE      ---      ---       #433
+      01000F01H   LINE      ---      ---       #434
+      01000F01H   LINE      ---      ---       #436
+      01000F0BH   LINE      ---      ---       #437
+      01000F0BH   LINE      ---      ---       #438
+      01000F16H   LINE      ---      ---       #440
+      01000F1BH   LINE      ---      ---       #441
+      01000F20H   LINE      ---      ---       #442
+      01000F29H   LINE      ---      ---       #443
+      01000F29H   LINE      ---      ---       #445
+      01000F38H   LINE      ---      ---       #446
+      01000F38H   LINE      ---      ---       #447
+      01000F3AH   LINE      ---      ---       #448
+      01000F3AH   LINE      ---      ---       #449
+      01000F3AH   LINE      ---      ---       #450
+      01000F41H   LINE      ---      ---       #451
+      01000F41H   LINE      ---      ---       #452
+      01000F50H   LINE      ---      ---       #453
+      01000F50H   LINE      ---      ---       #454
+      01000F52H   LINE      ---      ---       #455
+      01000F52H   LINE      ---      ---       #457
+      01000F52H   LINE      ---      ---       #459
+      01000F52H   LINE      ---      ---       #460
+      01000F61H   LINE      ---      ---       #461
+      01000F61H   LINE      ---      ---       #462
+      01000F67H   LINE      ---      ---       #463
+      01000F67H   LINE      ---      ---       #464
+      01000F69H   LINE      ---      ---       #465
+      01000F6EH   LINE      ---      ---       #466
+      01000F6EH   LINE      ---      ---       #467
+      01000F71H   LINE      ---      ---       #481
+      01000F71H   LINE      ---      ---       #486
+      01000F71H   LINE      ---      ---       #487
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002245H   BLOCK     CODE     ---       LVL=0
+      01002245H   LINE      ---      ---       #490
+      01002245H   LINE      ---      ---       #491
+      01002245H   LINE      ---      ---       #493
+      0100224BH   LINE      ---      ---       #494
+      0100224BH   LINE      ---      ---       #495
+      0100224EH   LINE      ---      ---       #496
+      01002251H   LINE      ---      ---       #497
+      01002251H   LINE      ---      ---       #498
+      0100225FH   LINE      ---      ---       #501
+      0100225FH   LINE      ---      ---       #503
+      01002264H   LINE      ---      ---       #504
+      0100226EH   LINE      ---      ---       #505
+      01002273H   LINE      ---      ---       #506
+      01002277H   LINE      ---      ---       #507
+      0100227BH   LINE      ---      ---       #509
+      0100227DH   LINE      ---      ---       #510
+      01002282H   LINE      ---      ---       #511
+      01002287H   LINE      ---      ---       #512
+      01002287H   LINE      ---      ---       #513
+      01002287H   LINE      ---      ---       #514
+      01002287H   LINE      ---      ---       #516
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010022A0H   BLOCK     CODE     ---       LVL=0
+      010022A0H   LINE      ---      ---       #519
+      010022A0H   LINE      ---      ---       #520
+      010022A0H   LINE      ---      ---       #522
+      010022AAH   LINE      ---      ---       #523
+      010022AAH   LINE      ---      ---       #524
+      010022B1H   LINE      ---      ---       #525
+      010022BFH   LINE      ---      ---       #526
+      010022C6H   LINE      ---      ---       #527
+      010022C6H   LINE      ---      ---       #528
+      010022CEH   LINE      ---      ---       #529
+      010022D2H   LINE      ---      ---       #531
+      010022D7H   LINE      ---      ---       #532
+      010022DAH   LINE      ---      ---       #533
+      010022DAH   LINE      ---      ---       #534
+      010022DAH   LINE      ---      ---       #536
+      010022E0H   LINE      ---      ---       #537
+      010022E0H   LINE      ---      ---       #538
+      010022E7H   LINE      ---      ---       #539
+      010022EDH   LINE      ---      ---       #540
+      010022F0H   LINE      ---      ---       #541
+      010022F0H   LINE      ---      ---       #543
+      010022F5H   LINE      ---      ---       #544
+      010022F8H   LINE      ---      ---       #545
+      010022F8H   LINE      ---      ---       #546
+      010022F8H   LINE      ---      ---       #548
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010018F4H   BLOCK     CODE     ---       LVL=0
+      010018F4H   LINE      ---      ---       #550
+      010018F4H   LINE      ---      ---       #551
+      010018F4H   LINE      ---      ---       #555
+      010018FBH   LINE      ---      ---       #556
+      010018FBH   LINE      ---      ---       #557
+      01001904H   LINE      ---      ---       #558
+      01001907H   LINE      ---      ---       #559
+      0100190FH   LINE      ---      ---       #560
+      0100190FH   LINE      ---      ---       #561
+      01001915H   LINE      ---      ---       #562
+      0100191BH   LINE      ---      ---       #563
+      0100191BH   LINE      ---      ---       #564
+      01001920H   LINE      ---      ---       #565
+      01001922H   LINE      ---      ---       #566
+      01001929H   LINE      ---      ---       #567
+      01001929H   LINE      ---      ---       #568
+      0100192FH   LINE      ---      ---       #569
+      01001934H   LINE      ---      ---       #570
+      01001937H   LINE      ---      ---       #571
+      01001937H   LINE      ---      ---       #572
+      01001937H   LINE      ---      ---       #573
+      01001939H   LINE      ---      ---       #575
+      01001939H   LINE      ---      ---       #576
+      0100193EH   LINE      ---      ---       #577
+      01001942H   LINE      ---      ---       #578
+      01001946H   LINE      ---      ---       #579
+      01001946H   LINE      ---      ---       #581
+      0100194DH   LINE      ---      ---       #582
+      0100194DH   LINE      ---      ---       #583
+      01001953H   LINE      ---      ---       #584
+      0100195CH   LINE      ---      ---       #585
+      0100195FH   LINE      ---      ---       #586
+      01001967H   LINE      ---      ---       #587
+      01001967H   LINE      ---      ---       #588
+      01001972H   LINE      ---      ---       #589
+      01001972H   LINE      ---      ---       #590
+      01001977H   LINE      ---      ---       #591
+      01001979H   LINE      ---      ---       #592
+      0100197EH   LINE      ---      ---       #594
+      01001983H   LINE      ---      ---       #595
+      01001983H   LINE      ---      ---       #596
+      01001983H   LINE      ---      ---       #597
+      01001985H   LINE      ---      ---       #599
+      01001985H   LINE      ---      ---       #600
+      0100198BH   LINE      ---      ---       #601
+      0100198BH   LINE      ---      ---       #603
+      0100198DH   LINE      ---      ---       #604
+      01001992H   LINE      ---      ---       #605
+      01001998H   LINE      ---      ---       #607
+      010019A0H   LINE      ---      ---       #608
+      010019A6H   LINE      ---      ---       #609
+      010019A8H   LINE      ---      ---       #610
+      010019AAH   LINE      ---      ---       #612
+      010019AAH   LINE      ---      ---       #613
+      010019AFH   LINE      ---      ---       #614
+      010019AFH   LINE      ---      ---       #617
+      010019B6H   LINE      ---      ---       #618
+      010019B6H   LINE      ---      ---       #634
+      010019B6H   LINE      ---      ---       #636
+      010019B6H   LINE      ---      ---       #637
+      010019BCH   LINE      ---      ---       #638
+      010019BCH   LINE      ---      ---       #639
+      010019BEH   LINE      ---      ---       #641
+      010019CAH   LINE      ---      ---       #642
+      010019CAH   LINE      ---      ---       #643
+      010019CDH   LINE      ---      ---       #644
+      010019D3H   LINE      ---      ---       #646
+      010019DBH   LINE      ---      ---       #647
+      010019E1H   LINE      ---      ---       #649
+      010019E3H   LINE      ---      ---       #650
+      010019E5H   LINE      ---      ---       #651
+      010019E7H   LINE      ---      ---       #653
+      010019E7H   LINE      ---      ---       #654
+      010019E7H   LINE      ---      ---       #655
+      010019ECH   LINE      ---      ---       #656
+      010019ECH   LINE      ---      ---       #657
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002288H   BLOCK     CODE     ---       LVL=0
+      01002288H   LINE      ---      ---       #661
+      01002288H   LINE      ---      ---       #662
+      01002288H   LINE      ---      ---       #664
+      01002296H   LINE      ---      ---       #666
+      01002298H   LINE      ---      ---       #667
+      0100229BH   LINE      ---      ---       #668
+      0100229EH   LINE      ---      ---       #669
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003198H   BLOCK     CODE     ---       LVL=0
+      01003198H   LINE      ---      ---       #683
+      01003198H   LINE      ---      ---       #684
+      01003198H   LINE      ---      ---       #685
+      0100319AH   LINE      ---      ---       #687
+      010031A5H   LINE      ---      ---       #688
+      010031A5H   LINE      ---      ---       #689
+      010031ABH   LINE      ---      ---       #690
+      010031ABH   LINE      ---      ---       #691
+      010031ADH   LINE      ---      ---       #692
+      010031B0H   LINE      ---      ---       #693
+      010031B0H   LINE      ---      ---       #694
+      010031B7H   LINE      ---      ---       #695
+      010031BFH   LINE      ---      ---       #697
+      010031C4H   LINE      ---      ---       #698
+      010031C4H   LINE      ---      ---       #699
+      010031C4H   LINE      ---      ---       #700
+      010031C4H   LINE      ---      ---       #702
+      010031CAH   LINE      ---      ---       #703
+      010031CAH   LINE      ---      ---       #704
+      010031CCH   LINE      ---      ---       #705
+      010031CCH   LINE      ---      ---       #707
+      010031D2H   LINE      ---      ---       #708
+      010031D4H   LINE      ---      ---       #710
+      010031DAH   LINE      ---      ---       #711
+      010031DAH   LINE      ---      ---       #712
+      010031DCH   LINE      ---      ---       #713
+      010031DFH   LINE      ---      ---       #714
+      010031E5H   LINE      ---      ---       #715
+      010031E5H   LINE      ---      ---       #716
+      010031EBH   LINE      ---      ---       #717
+      010031EBH   LINE      ---      ---       #718
+      010031FBH   LINE      ---      ---       #719
+      010031FBH   LINE      ---      ---       #720
+      01003201H   LINE      ---      ---       #722
+      01003201H   LINE      ---      ---       #723
+      01003207H   LINE      ---      ---       #724
+      01003209H   LINE      ---      ---       #725
+      0100320FH   LINE      ---      ---       #726
+      0100320FH   LINE      ---      ---       #727
+      01003211H   LINE      ---      ---       #728
+      01003211H   LINE      ---      ---       #729
+      01003213H   LINE      ---      ---       #730
+      01003223H   LINE      ---      ---       #731
+      01003223H   LINE      ---      ---       #732
+      01003229H   LINE      ---      ---       #733
+      01003229H   LINE      ---      ---       #734
+      0100322BH   LINE      ---      ---       #735
+      01003232H   LINE      ---      ---       #736
+      01003232H   LINE      ---      ---       #738
+      01003236H   LINE      ---      ---       #739
+      01003236H   LINE      ---      ---       #740
+      0100323DH   LINE      ---      ---       #741
+      0100323FH   LINE      ---      ---       #743
+      0100323FH   LINE      ---      ---       #744
+      01003246H   LINE      ---      ---       #745
+      01003246H   LINE      ---      ---       #746
+      01003248H   LINE      ---      ---       #748
+      01003248H   LINE      ---      ---       #750
+      0100324FH   LINE      ---      ---       #751
+      0100324FH   LINE      ---      ---       #752
+      01003255H   LINE      ---      ---       #753
+      01003258H   LINE      ---      ---       #754
+      01003258H   LINE      ---      ---       #755
+      01003258H   LINE      ---      ---       #758
+      0100325EH   LINE      ---      ---       #759
+      0100325EH   LINE      ---      ---       #760
+      01003261H   LINE      ---      ---       #761
+      01003264H   LINE      ---      ---       #762
+      01003269H   LINE      ---      ---       #763
+      01003269H   LINE      ---      ---       #768
+      0100326FH   LINE      ---      ---       #769
+      0100326FH   LINE      ---      ---       #770
+      01003273H   LINE      ---      ---       #771
+      01003279H   LINE      ---      ---       #773
+      0100327CH   LINE      ---      ---       #774
+      0100327CH   LINE      ---      ---       #775
+      01003281H   LINE      ---      ---       #776
+      01003284H   LINE      ---      ---       #777
+      01003284H   LINE      ---      ---       #778
+      01003284H   LINE      ---      ---       #785
+      0100328AH   LINE      ---      ---       #786
+      0100328AH   LINE      ---      ---       #787
+      01003292H   LINE      ---      ---       #788
+      01003292H   LINE      ---      ---       #789
+      01003298H   LINE      ---      ---       #790
+      0100329CH   LINE      ---      ---       #792
+      010032A2H   LINE      ---      ---       #793
+      010032A2H   LINE      ---      ---       #794
+      010032ADH   LINE      ---      ---       #795
+      010032AFH   LINE      ---      ---       #796
+      010032B5H   LINE      ---      ---       #797
+      010032B5H   LINE      ---      ---       #799
+      010032C0H   LINE      ---      ---       #800
+      010032C0H   LINE      ---      ---       #801
+      010032C0H   LINE      ---      ---       #802
+      010032C0H   LINE      ---      ---       #804
+      010032C6H   LINE      ---      ---       #805
+      010032C6H   LINE      ---      ---       #806
+      010032C9H   LINE      ---      ---       #807
+      010032CCH   LINE      ---      ---       #808
+      010032CCH   LINE      ---      ---       #809
+      010032CFH   LINE      ---      ---       #810
+      010032CFH   LINE      ---      ---       #811
+      010032CFH   LINE      ---      ---       #814
+      010032D5H   LINE      ---      ---       #815
+      010032D5H   LINE      ---      ---       #816
+      010032D8H   LINE      ---      ---       #817
+      010032DBH   LINE      ---      ---       #818
+      010032DBH   LINE      ---      ---       #819
+      010032E1H   LINE      ---      ---       #820
+      010032E1H   LINE      ---      ---       #821
+      010032E6H   LINE      ---      ---       #822
+      010032E6H   LINE      ---      ---       #823
+      010032E6H   LINE      ---      ---       #824
+      010032E6H   LINE      ---      ---       #826
+      010032ECH   LINE      ---      ---       #827
+      010032EFH   LINE      ---      ---       #828
+      010032F2H   LINE      ---      ---       #829
+      010032F2H   LINE      ---      ---       #830
+      010032F8H   LINE      ---      ---       #831
+      010032F8H   LINE      ---      ---       #832
+      010032FAH   LINE      ---      ---       #833
+      010032FAH   LINE      ---      ---       #835
+      01003301H   LINE      ---      ---       #836
+      01003301H   LINE      ---      ---       #837
+      01003307H   LINE      ---      ---       #838
+      01003307H   LINE      ---      ---       #839
+      01003307H   LINE      ---      ---       #840
+      01003307H   LINE      ---      ---       #841
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001F4EH   BLOCK     CODE     ---       LVL=0
+      01001F4EH   LINE      ---      ---       #854
+      01001F4EH   LINE      ---      ---       #855
+      01001F4EH   LINE      ---      ---       #856
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001B40H   BLOCK     CODE     ---       LVL=0
+      01001B40H   LINE      ---      ---       #878
+      01001B40H   LINE      ---      ---       #879
+      01001B40H   LINE      ---      ---       #880
+      01001B42H   LINE      ---      ---       #881
+      01001B42H   LINE      ---      ---       #882
+      01001B44H   LINE      ---      ---       #883
+      01001B47H   LINE      ---      ---       #884
+      01001B49H   LINE      ---      ---       #885
+      01001B4CH   LINE      ---      ---       #887
+      01001B52H   LINE      ---      ---       #888
+      01001B52H   LINE      ---      ---       #889
+      01001B55H   LINE      ---      ---       #890
+      01001B55H   LINE      ---      ---       #892
+      01001B60H   LINE      ---      ---       #893
+      01001B60H   LINE      ---      ---       #894
+      01001B62H   LINE      ---      ---       #896
+      01001B66H   LINE      ---      ---       #897
+      01001B69H   LINE      ---      ---       #898
+      01001B70H   LINE      ---      ---       #899
+      01001B76H   LINE      ---      ---       #900
+      01001B79H   LINE      ---      ---       #901
+      01001B7BH   LINE      ---      ---       #902
+      01001B7BH   LINE      ---      ---       #904
+      01001B7BH   LINE      ---      ---       #908
+      01001BA5H   LINE      ---      ---       #910
+      01001BA5H   LINE      ---      ---       #911
+      01001BA7H   LINE      ---      ---       #912
+      01001BA9H   LINE      ---      ---       #913
+      01001BA9H   LINE      ---      ---       #915
+      01001BA9H   LINE      ---      ---       #916
+      01001BABH   LINE      ---      ---       #917
+      01001BB1H   LINE      ---      ---       #918
+      01001BB4H   LINE      ---      ---       #919
+      01001BB7H   LINE      ---      ---       #920
+      01001BB9H   LINE      ---      ---       #921
+      01001BB9H   LINE      ---      ---       #922
+      01001BB9H   LINE      ---      ---       #923
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       ADC
-      0100332AH   PUBLIC    CODE     ---       YC_adc_check_timer500ms
-      01003388H   PUBLIC    CODE     ---       YC_adc_check
-      01003085H   PUBLIC    CODE     ---       YC_adc_init
-
-      01003085H   BLOCK     CODE     ---       LVL=0
-      01003085H   LINE      ---      ---       #3
-      01003085H   LINE      ---      ---       #4
-      01003085H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003085H   LINE      ---      ---       #8
-      0100308BH   LINE      ---      ---       #9
-      0100308EH   LINE      ---      ---       #21
-      01003096H   LINE      ---      ---       #22
-      01003096H   LINE      ---      ---       #23
-      010030A4H   LINE      ---      ---       #24
-      010030A4H   LINE      ---      ---       #25
-      010030B5H   LINE      ---      ---       #26
-      010030BDH   LINE      ---      ---       #27
-      010030CCH   LINE      ---      ---       #28
-      0100311AH   LINE      ---      ---       #29
-      01003167H   LINE      ---      ---       #30
-      01003168H   LINE      ---      ---       #32
-      01003168H   LINE      ---      ---       #33
-      01003177H   LINE      ---      ---       #34
-      01003177H   LINE      ---      ---       #35
-      01003188H   LINE      ---      ---       #36
-      01003190H   LINE      ---      ---       #37
-      0100319FH   LINE      ---      ---       #38
-      010031EDH   LINE      ---      ---       #39
-      0100323BH   LINE      ---      ---       #40
-      0100323BH   LINE      ---      ---       #56
-      02004F0FH   SYMBOL    XDATA    VOID      i
-      ---         BLOCKEND  CODE     ---       LVL=1
-      ---         BLOCKEND  CODE     ---       LVL=0
-
-      01003388H   BLOCK     CODE     ---       LVL=0
-      01003388H   LINE      ---      ---       #58
-      01003388H   LINE      ---      ---       #59
-      01003388H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003388H   LINE      ---      ---       #62
-      01003392H   LINE      ---      ---       #64
-      010033A9H   LINE      ---      ---       #67
-      010033C9H   LINE      ---      ---       #68
-      010033D2H   LINE      ---      ---       #69
-      010033D4H   LINE      ---      ---       #70
-      010033D9H   LINE      ---      ---       #71
-      010033D9H   LINE      ---      ---       #72
-      01003410H   LINE      ---      ---       #73
-      0100341AH   LINE      ---      ---       #74
-      01003437H   LINE      ---      ---       #76
-      01003456H   LINE      ---      ---       #77
-      0100345DH   LINE      ---      ---       #78
-      0100347CH   LINE      ---      ---       #79
-      01003484H   LINE      ---      ---       #81
-      010034DFH   LINE      ---      ---       #83
-      010034FEH   LINE      ---      ---       #84
-      010034FEH   LINE      ---      ---       #85
-      01003504H   LINE      ---      ---       #86
-      0100350EH   LINE      ---      ---       #87
-      0100350EH   LINE      ---      ---       #88
-      01003514H   LINE      ---      ---       #89
-      01003523H   LINE      ---      ---       #90
-      01003523H   LINE      ---      ---       #91
-      01003525H   LINE      ---      ---       #93
-      01003525H   LINE      ---      ---       #94
-      01003534H   LINE      ---      ---       #95
-      01003534H   LINE      ---      ---       #96
-      01003539H   LINE      ---      ---       #97
-      01003549H   LINE      ---      ---       #98
-      01003549H   LINE      ---      ---       #100
-      01003568H   LINE      ---      ---       #101
-      01003568H   LINE      ---      ---       #102
-      0100356EH   LINE      ---      ---       #103
-      01003574H   LINE      ---      ---       #104
-      01003574H   LINE      ---      ---       #105
-      01003578H   LINE      ---      ---       #106
-      0100357CH   LINE      ---      ---       #107
-      01003580H   LINE      ---      ---       #108
-      01003583H   LINE      ---      ---       #109
-      01003583H   LINE      ---      ---       #110
-      01003585H   LINE      ---      ---       #112
-      01003585H   LINE      ---      ---       #113
-      0100358AH   LINE      ---      ---       #114
-      01003590H   LINE      ---      ---       #115
-      01003590H   LINE      ---      ---       #116
-      01003594H   LINE      ---      ---       #117
-      01003598H   LINE      ---      ---       #118
-      0100359CH   LINE      ---      ---       #119
-      0100359FH   LINE      ---      ---       #120
-      0100359FH   LINE      ---      ---       #121
-      0100359FH   LINE      ---      ---       #122
-      0100359FH   LINE      ---      ---       #124
-      010035A7H   LINE      ---      ---       #126
-      02004ECEH   SYMBOL    XDATA    VOID      i
-      02004ECFH   SYMBOL    XDATA    VOID      batValue
-      ---         BLOCKEND  CODE     ---       LVL=1
-      ---         BLOCKEND  CODE     ---       LVL=0
-
-      0100332AH   BLOCK     CODE     ---       LVL=0
-      0100332AH   LINE      ---      ---       #129
-      0100332AH   LINE      ---      ---       #130
-      0100332AH   LINE      ---      ---       #133
-      01003330H   LINE      ---      ---       #134
-      01003330H   LINE      ---      ---       #135
-      01003332H   LINE      ---      ---       #136
-      01003335H   LINE      ---      ---       #137
-      01003335H   LINE      ---      ---       #138
-      01003338H   LINE      ---      ---       #139
-      0100333AH   LINE      ---      ---       #140
-      0100333AH   LINE      ---      ---       #141
-      0100333AH   LINE      ---      ---       #143
+      010022F9H   PUBLIC    CODE     ---       YC_adc_check_timer500ms
+      0100234EH   PUBLIC    CODE     ---       YC_adc_check
+      010033FEH   PUBLIC    CODE     ---       YC_adc_init
+
+      010033FEH   BLOCK     CODE     ---       LVL=0
+      010033FEH   LINE      ---      ---       #3
+      010033FEH   LINE      ---      ---       #4
+      010033FEH   BLOCK     CODE     NEAR LAB  LVL=1
+      010033FEH   LINE      ---      ---       #8
+      01003404H   LINE      ---      ---       #9
+      01003407H   LINE      ---      ---       #21
+      01003411H   LINE      ---      ---       #22
+      01003411H   LINE      ---      ---       #23
+      0100341FH   LINE      ---      ---       #24
+      0100341FH   LINE      ---      ---       #25
+      01003430H   LINE      ---      ---       #26
+      01003438H   LINE      ---      ---       #27
+      01003447H   LINE      ---      ---       #28
+      01003495H   LINE      ---      ---       #29
+      010034E2H   LINE      ---      ---       #30
+      010034E3H   LINE      ---      ---       #32
+      010034E3H   LINE      ---      ---       #33
+      010034F2H   LINE      ---      ---       #34
+      010034F2H   LINE      ---      ---       #35
+      01003503H   LINE      ---      ---       #36
+      0100350BH   LINE      ---      ---       #37
+      0100351AH   LINE      ---      ---       #38
+      01003568H   LINE      ---      ---       #39
+      010035B6H   LINE      ---      ---       #40
+      010035B6H   LINE      ---      ---       #55
+      02004F0EH   SYMBOL    XDATA    VOID      i
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      0100234EH   BLOCK     CODE     ---       LVL=0
+      0100234EH   LINE      ---      ---       #57
+      0100234EH   LINE      ---      ---       #58
+      0100234EH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100234EH   LINE      ---      ---       #61
+      01002358H   LINE      ---      ---       #63
+      0100236FH   LINE      ---      ---       #66
+      0100238FH   LINE      ---      ---       #67
+      01002398H   LINE      ---      ---       #68
+      0100239AH   LINE      ---      ---       #69
+      0100239FH   LINE      ---      ---       #70
+      0100239FH   LINE      ---      ---       #71
+      010023D6H   LINE      ---      ---       #72
+      010023E0H   LINE      ---      ---       #73
+      010023FDH   LINE      ---      ---       #75
+      0100241CH   LINE      ---      ---       #76
+      01002423H   LINE      ---      ---       #77
+      01002442H   LINE      ---      ---       #78
+      0100244AH   LINE      ---      ---       #80
+      010024A5H   LINE      ---      ---       #89
+      010024C4H   LINE      ---      ---       #90
+      010024C4H   LINE      ---      ---       #91
+      010024CAH   LINE      ---      ---       #92
+      010024D4H   LINE      ---      ---       #93
+      010024D4H   LINE      ---      ---       #94
+      010024DAH   LINE      ---      ---       #95
+      010024E9H   LINE      ---      ---       #96
+      010024E9H   LINE      ---      ---       #97
+      010024EBH   LINE      ---      ---       #99
+      010024EBH   LINE      ---      ---       #100
+      010024FAH   LINE      ---      ---       #101
+      010024FAH   LINE      ---      ---       #102
+      010024FFH   LINE      ---      ---       #103
+      0100250FH   LINE      ---      ---       #104
+      0100250FH   LINE      ---      ---       #105
+      0100252EH   LINE      ---      ---       #106
+      0100252EH   LINE      ---      ---       #107
+      01002534H   LINE      ---      ---       #108
+      0100253AH   LINE      ---      ---       #109
+      0100253AH   LINE      ---      ---       #110
+      0100253EH   LINE      ---      ---       #111
+      01002542H   LINE      ---      ---       #112
+      01002546H   LINE      ---      ---       #113
+      01002549H   LINE      ---      ---       #114
+      01002549H   LINE      ---      ---       #115
+      0100254BH   LINE      ---      ---       #117
+      0100254BH   LINE      ---      ---       #118
+      01002550H   LINE      ---      ---       #119
+      01002556H   LINE      ---      ---       #120
+      01002556H   LINE      ---      ---       #121
+      0100255AH   LINE      ---      ---       #122
+      0100255EH   LINE      ---      ---       #123
+      01002562H   LINE      ---      ---       #124
+      01002565H   LINE      ---      ---       #125
+      01002565H   LINE      ---      ---       #126
+      01002565H   LINE      ---      ---       #127
+      01002565H   LINE      ---      ---       #128
+      0100256DH   LINE      ---      ---       #130
+      02004ED0H   SYMBOL    XDATA    VOID      i
+      02004ED1H   SYMBOL    XDATA    VOID      batValue
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      010022F9H   BLOCK     CODE     ---       LVL=0
+      010022F9H   LINE      ---      ---       #133
+      010022F9H   LINE      ---      ---       #134
+      010022F9H   LINE      ---      ---       #137
+      010022FFH   LINE      ---      ---       #138
+      010022FFH   LINE      ---      ---       #139
+      01002301H   LINE      ---      ---       #140
+      01002304H   LINE      ---      ---       #141
+      01002304H   LINE      ---      ---       #142
+      01002307H   LINE      ---      ---       #143
+      01002309H   LINE      ---      ---       #144
+      01002309H   LINE      ---      ---       #145
+      01002309H   LINE      ---      ---       #147
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       RAM
-      01001FDAH   PUBLIC    CODE     ---       main
+      01001FB5H   PUBLIC    CODE     ---       main
 
-      01001FDAH   BLOCK     CODE     ---       LVL=0
-      01001FDAH   LINE      ---      ---       #5
-      01001FDAH   LINE      ---      ---       #6
-      01001FDAH   LINE      ---      ---       #7
+      01001FB5H   BLOCK     CODE     ---       LVL=0
+      01001FB5H   LINE      ---      ---       #5
+      01001FB5H   LINE      ---      ---       #6
+      01001FB5H   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       ---         MODULE    ---      ---       IPC
       02004BA5H   PUBLIC    XDATA    WORD      bttimer
-      02004C8DH   PUBLIC    XDATA    BYTE      btstimer
-      02004C5EH   PUBLIC    XDATA    WORD      c51timer
+      02004C6DH   PUBLIC    XDATA    BYTE      btstimer
+      02004C3EH   PUBLIC    XDATA    WORD      c51timer
       02000550H   PUBLIC    XDATA    ---       ipcPin
-      02004C8EH   PUBLIC    XDATA    BYTE      c51stimer
+      02004C6EH   PUBLIC    XDATA    BYTE      c51stimer
       02000BE7H   PUBLIC    XDATA    ---       ipcSendBuff
       02000B7FH   PUBLIC    XDATA    BYTE      lpm_flag
       02000C4BH   PUBLIC    XDATA    ---       ipcReadBuff
       0200054FH   PUBLIC    XDATA    BYTE      ipcPinlen
       02000B7EH   PUBLIC    XDATA    BYTE      current_task
-      01003652H   PUBLIC    CODE     ---       IPC_DealSingleStep
-      010023D2H   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
-      01001FDCH   PUBLIC    CODE     ---       IPC_AbandonLpm
-      01001ED0H   PUBLIC    CODE     ---       IPC_WaitLpm
-      01001EE4H   PUBLIC    CODE     ---       _IPC_Initialize
-      0100387DH   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
-      01003874H   PUBLIC    CODE     ---       _IPC_TxBleData
-      0100386BH   PUBLIC    CODE     ---       _IPC_TxSppData
-      01000FEEH   PUBLIC    CODE     ---       _IPC_Tx24GData
-      0100385EH   PUBLIC    CODE     ---       _IPC_TxBREDRHidData
-      01000FF4H   PUBLIC    CODE     ---       _IPC_TxData
-      010010ADH   PUBLIC    CODE     ---       _IPC_TxControlCmd
-
-      010035A8H   BLOCK     CODE     ---       LVL=0
-      010035A8H   LINE      ---      ---       #44
-      010035B8H   LINE      ---      ---       #45
-      010035B8H   LINE      ---      ---       #46
-      01003601H   LINE      ---      ---       #47
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003602H   BLOCK     CODE     ---       LVL=0
-      01003602H   LINE      ---      ---       #49
-      0100360CH   LINE      ---      ---       #50
-      0100360CH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100360CH   LINE      ---      ---       #51
-      01003614H   LINE      ---      ---       #52
-      0100361AH   LINE      ---      ---       #53
-      01003639H   LINE      ---      ---       #54
-      01003643H   LINE      ---      ---       #55
-      01003647H   LINE      ---      ---       #56
-      01003647H   LINE      ---      ---       #57
-      01003649H   LINE      ---      ---       #58
-      01003651H   LINE      ---      ---       #59
+      01001CF5H   PUBLIC    CODE     ---       IPC_DealSingleStep
+      01002B9BH   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
+      01001FB7H   PUBLIC    CODE     ---       IPC_AbandonLpm
+      01000F8AH   PUBLIC    CODE     ---       IPC_WaitLpm
+      01001F54H   PUBLIC    CODE     ---       _IPC_Initialize
+      010035EFH   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
+      010035E6H   PUBLIC    CODE     ---       _IPC_TxBleData
+      010035DDH   PUBLIC    CODE     ---       _IPC_TxSppData
+      010035D4H   PUBLIC    CODE     ---       _IPC_Tx24GData
+      010035C7H   PUBLIC    CODE     ---       _IPC_TxBREDRHidData
+      01000FB3H   PUBLIC    CODE     ---       _IPC_TxData
+      010013C9H   PUBLIC    CODE     ---       _IPC_TxControlCmd
+
+      0100106BH   BLOCK     CODE     ---       LVL=0
+      0100106BH   LINE      ---      ---       #44
+      0100107BH   LINE      ---      ---       #45
+      0100107BH   LINE      ---      ---       #46
+      010010C4H   LINE      ---      ---       #47
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001EFEH   BLOCK     CODE     ---       LVL=0
+      01001EFEH   LINE      ---      ---       #49
+      01001F08H   LINE      ---      ---       #50
+      01001F08H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001F08H   LINE      ---      ---       #51
+      01001F10H   LINE      ---      ---       #52
+      01001F16H   LINE      ---      ---       #53
+      01001F35H   LINE      ---      ---       #54
+      01001F3FH   LINE      ---      ---       #55
+      01001F43H   LINE      ---      ---       #56
+      01001F43H   LINE      ---      ---       #57
+      01001F45H   LINE      ---      ---       #58
+      01001F4DH   LINE      ---      ---       #59
       00000006H   SYMBOL    DATA     VOID      src
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001018H   BLOCK     CODE     ---       LVL=0
-      01001018H   LINE      ---      ---       #61
-      01001026H   LINE      ---      ---       #62
-      01001026H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001026H   LINE      ---      ---       #63
-      01001035H   LINE      ---      ---       #64
-      01001054H   LINE      ---      ---       #65
-      0100105EH   LINE      ---      ---       #66
-      01001083H   LINE      ---      ---       #67
-      01001091H   LINE      ---      ---       #68
-      0100109BH   LINE      ---      ---       #69
-      0100109BH   LINE      ---      ---       #70
-      0100109DH   LINE      ---      ---       #71
-      010010ACH   LINE      ---      ---       #72
-      02004EC1H   SYMBOL    XDATA    VOID      dest
-      ---         BLOCKEND  CODE     ---       LVL=1
-      ---         BLOCKEND  CODE     ---       LVL=0
-
-      010010ADH   BLOCK     CODE     ---       LVL=0
-      010010ADH   LINE      ---      ---       #74
-      010010B2H   LINE      ---      ---       #75
-      010010B2H   BLOCK     CODE     NEAR LAB  LVL=1
-      010010B2H   LINE      ---      ---       #76
-      010010C5H   LINE      ---      ---       #79
-      010010CDH   LINE      ---      ---       #80
-      02004EE1H   SYMBOL    XDATA    VOID      cmdBuff
-      ---         BLOCKEND  CODE     ---       LVL=1
-      ---         BLOCKEND  CODE     ---       LVL=0
-
-      01000FF4H   BLOCK     CODE     ---       LVL=0
-      01000FF4H   LINE      ---      ---       #83
-      01000FF9H   LINE      ---      ---       #84
-      01000FF9H   LINE      ---      ---       #85
-      01000FFFH   LINE      ---      ---       #86
-      0100100BH   LINE      ---      ---       #87
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100385EH   BLOCK     CODE     ---       LVL=0
-      0100385EH   LINE      ---      ---       #90
-      0100385EH   LINE      ---      ---       #91
-      0100385EH   LINE      ---      ---       #92
-      01003864H   LINE      ---      ---       #93
-      01003867H   LINE      ---      ---       #94
-      0100386AH   LINE      ---      ---       #95
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01000FEEH   BLOCK     CODE     ---       LVL=0
-      01000FEEH   LINE      ---      ---       #97
-      01000FEEH   LINE      ---      ---       #98
-      01000FEEH   LINE      ---      ---       #99
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100386BH   BLOCK     CODE     ---       LVL=0
-      0100386BH   LINE      ---      ---       #103
-      0100386BH   LINE      ---      ---       #104
-      0100386BH   LINE      ---      ---       #105
-      01003871H   LINE      ---      ---       #106
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003874H   BLOCK     CODE     ---       LVL=0
-      01003874H   LINE      ---      ---       #109
-      01003874H   LINE      ---      ---       #110
-      01003874H   LINE      ---      ---       #111
-      0100387AH   LINE      ---      ---       #112
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100387DH   BLOCK     CODE     ---       LVL=0
-      0100387DH   LINE      ---      ---       #115
-      0100387DH   LINE      ---      ---       #116
-      0100387DH   LINE      ---      ---       #117
-      01003882H   LINE      ---      ---       #118
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001EE4H   BLOCK     CODE     ---       LVL=0
-      01001EE4H   LINE      ---      ---       #120
-      01001EE4H   LINE      ---      ---       #121
-      01001EE4H   LINE      ---      ---       #122
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001ED0H   BLOCK     CODE     ---       LVL=0
-      01001ED0H   LINE      ---      ---       #125
-      01001ED0H   LINE      ---      ---       #126
-      01001ED0H   LINE      ---      ---       #127
-      01001ED5H   LINE      ---      ---       #128
-      01001ED9H   LINE      ---      ---       #129
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001FDCH   BLOCK     CODE     ---       LVL=0
-      01001FDCH   LINE      ---      ---       #132
-      01001FDCH   LINE      ---      ---       #133
-      01001FDCH   LINE      ---      ---       #134
-      01001FE2H   LINE      ---      ---       #135
-      01001FE7H   LINE      ---      ---       #136
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010023D2H   BLOCK     CODE     ---       LVL=0
-      010023D2H   LINE      ---      ---       #138
-      010023D2H   LINE      ---      ---       #139
-      010023D2H   LINE      ---      ---       #140
-      010023E6H   LINE      ---      ---       #141
-      010023E8H   LINE      ---      ---       #142
-      010023E9H   LINE      ---      ---       #143
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003652H   BLOCK     CODE     ---       LVL=0
-      01003652H   LINE      ---      ---       #146
-      01003652H   LINE      ---      ---       #147
-      01003652H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003652H   LINE      ---      ---       #148
-      01003664H   LINE      ---      ---       #149
-      0100367BH   LINE      ---      ---       #150
-      0100367BH   LINE      ---      ---       #151
-      01003683H   LINE      ---      ---       #152
-      01003694H   LINE      ---      ---       #153
-      0100369EH   LINE      ---      ---       #154
-      010036BDH   LINE      ---      ---       #155
-      010036C0H   LINE      ---      ---       #156
-      010036D2H   LINE      ---      ---       #157
-      010036DBH   LINE      ---      ---       #158
-      010036F1H   LINE      ---      ---       #159
-      01003729H   LINE      ---      ---       #160
-      0100372CH   LINE      ---      ---       #161
-      0100373EH   LINE      ---      ---       #162
-      01003747H   LINE      ---      ---       #163
-      0100375DH   LINE      ---      ---       #164
-      01003795H   LINE      ---      ---       #165
-      01003797H   LINE      ---      ---       #166
-      010037A9H   LINE      ---      ---       #167
-      010037B2H   LINE      ---      ---       #168
-      010037C8H   LINE      ---      ---       #169
-      01003800H   LINE      ---      ---       #170
-      01003802H   LINE      ---      ---       #171
-      01003802H   LINE      ---      ---       #172
-      01003804H   LINE      ---      ---       #173
-      01003804H   LINE      ---      ---       #174
-      01003804H   LINE      ---      ---       #175
-      01003818H   LINE      ---      ---       #176
-      01003826H   LINE      ---      ---       #178
-      01003829H   LINE      ---      ---       #180
-      01003838H   LINE      ---      ---       #181
-      0100383AH   LINE      ---      ---       #182
-      01003844H   LINE      ---      ---       #183
-      01003852H   LINE      ---      ---       #185
-      01003855H   LINE      ---      ---       #187
-      0100385BH   LINE      ---      ---       #188
-      0100385DH   LINE      ---      ---       #190
-      01003804H   SYMBOL    ---      ---       IPC_TIMERingleStep
-      02004EF3H   SYMBOL    XDATA    VOID      pbuff
+      01000FD6H   BLOCK     CODE     ---       LVL=0
+      01000FD6H   LINE      ---      ---       #61
+      01000FE4H   LINE      ---      ---       #62
+      01000FE4H   BLOCK     CODE     NEAR LAB  LVL=1
+      01000FE4H   LINE      ---      ---       #63
+      01000FF3H   LINE      ---      ---       #64
+      01001012H   LINE      ---      ---       #65
+      0100101CH   LINE      ---      ---       #66
+      01001041H   LINE      ---      ---       #67
+      0100104FH   LINE      ---      ---       #68
+      01001059H   LINE      ---      ---       #69
+      01001059H   LINE      ---      ---       #70
+      0100105BH   LINE      ---      ---       #71
+      0100106AH   LINE      ---      ---       #72
+      02004EC3H   SYMBOL    XDATA    VOID      dest
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      010013C9H   BLOCK     CODE     ---       LVL=0
+      010013C9H   LINE      ---      ---       #74
+      010013CEH   LINE      ---      ---       #75
+      010013CEH   BLOCK     CODE     NEAR LAB  LVL=1
+      010013CEH   LINE      ---      ---       #76
+      010013E1H   LINE      ---      ---       #79
+      010013E9H   LINE      ---      ---       #80
+      02004EE3H   SYMBOL    XDATA    VOID      cmdBuff
+      ---         BLOCKEND  CODE     ---       LVL=1
+      ---         BLOCKEND  CODE     ---       LVL=0
+
+      01000FB3H   BLOCK     CODE     ---       LVL=0
+      01000FB3H   LINE      ---      ---       #83
+      01000FB8H   LINE      ---      ---       #84
+      01000FB8H   LINE      ---      ---       #85
+      01000FBEH   LINE      ---      ---       #86
+      01000FC9H   LINE      ---      ---       #87
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010035C7H   BLOCK     CODE     ---       LVL=0
+      010035C7H   LINE      ---      ---       #90
+      010035C7H   LINE      ---      ---       #91
+      010035C7H   LINE      ---      ---       #92
+      010035CDH   LINE      ---      ---       #93
+      010035D0H   LINE      ---      ---       #94
+      010035D3H   LINE      ---      ---       #95
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010035D4H   BLOCK     CODE     ---       LVL=0
+      010035D4H   LINE      ---      ---       #97
+      010035D4H   LINE      ---      ---       #98
+      010035D4H   LINE      ---      ---       #99
+      010035DAH   LINE      ---      ---       #100
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010035DDH   BLOCK     CODE     ---       LVL=0
+      010035DDH   LINE      ---      ---       #103
+      010035DDH   LINE      ---      ---       #104
+      010035DDH   LINE      ---      ---       #105
+      010035E3H   LINE      ---      ---       #106
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010035E6H   BLOCK     CODE     ---       LVL=0
+      010035E6H   LINE      ---      ---       #109
+      010035E6H   LINE      ---      ---       #110
+      010035E6H   LINE      ---      ---       #111
+      010035ECH   LINE      ---      ---       #112
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010035EFH   BLOCK     CODE     ---       LVL=0
+      010035EFH   LINE      ---      ---       #115
+      010035EFH   LINE      ---      ---       #116
+      010035EFH   LINE      ---      ---       #117
+      010035F4H   LINE      ---      ---       #118
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001F54H   BLOCK     CODE     ---       LVL=0
+      01001F54H   LINE      ---      ---       #120
+      01001F54H   LINE      ---      ---       #121
+      01001F54H   LINE      ---      ---       #122
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F8AH   BLOCK     CODE     ---       LVL=0
+      01000F8AH   LINE      ---      ---       #125
+      01000F8AH   LINE      ---      ---       #126
+      01000F8AH   LINE      ---      ---       #127
+      01000F8FH   LINE      ---      ---       #128
+      01000F93H   LINE      ---      ---       #129
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001FB7H   BLOCK     CODE     ---       LVL=0
+      01001FB7H   LINE      ---      ---       #132
+      01001FB7H   LINE      ---      ---       #133
+      01001FB7H   LINE      ---      ---       #134
+      01001FBDH   LINE      ---      ---       #135
+      01001FC2H   LINE      ---      ---       #136
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01002B9BH   BLOCK     CODE     ---       LVL=0
+      01002B9BH   LINE      ---      ---       #138
+      01002B9BH   LINE      ---      ---       #139
+      01002B9BH   LINE      ---      ---       #140
+      01002BAFH   LINE      ---      ---       #141
+      01002BB1H   LINE      ---      ---       #142
+      01002BB2H   LINE      ---      ---       #143
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001CF5H   BLOCK     CODE     ---       LVL=0
+      01001CF5H   LINE      ---      ---       #146
+      01001CF5H   LINE      ---      ---       #147
+      01001CF5H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001CF5H   LINE      ---      ---       #148
+      01001D07H   LINE      ---      ---       #149
+      01001D1DH   LINE      ---      ---       #150
+      01001D1DH   LINE      ---      ---       #151
+      01001D25H   LINE      ---      ---       #152
+      01001D36H   LINE      ---      ---       #153
+      01001D40H   LINE      ---      ---       #154
+      01001D5FH   LINE      ---      ---       #155
+      01001D61H   LINE      ---      ---       #156
+      01001D73H   LINE      ---      ---       #157
+      01001D7CH   LINE      ---      ---       #158
+      01001D92H   LINE      ---      ---       #159
+      01001DCAH   LINE      ---      ---       #160
+      01001DCCH   LINE      ---      ---       #161
+      01001DDEH   LINE      ---      ---       #162
+      01001DE7H   LINE      ---      ---       #163
+      01001DFDH   LINE      ---      ---       #164
+      01001E35H   LINE      ---      ---       #165
+      01001E37H   LINE      ---      ---       #166
+      01001E49H   LINE      ---      ---       #167
+      01001E52H   LINE      ---      ---       #168
+      01001E68H   LINE      ---      ---       #169
+      01001EA0H   LINE      ---      ---       #170
+      01001EA2H   LINE      ---      ---       #171
+      01001EA2H   LINE      ---      ---       #172
+      01001EA4H   LINE      ---      ---       #173
+      01001EA4H   LINE      ---      ---       #174
+      01001EA4H   LINE      ---      ---       #175
+      01001EB8H   LINE      ---      ---       #176
+      01001EC6H   LINE      ---      ---       #178
+      01001EC9H   LINE      ---      ---       #180
+      01001ED8H   LINE      ---      ---       #181
+      01001EDAH   LINE      ---      ---       #182
+      01001EE4H   LINE      ---      ---       #183
+      01001EF2H   LINE      ---      ---       #185
+      01001EF5H   LINE      ---      ---       #187
+      01001EFBH   LINE      ---      ---       #188
+      01001EFDH   LINE      ---      ---       #190
+      01001EA4H   SYMBOL    ---      ---       IPC_TIMERingleStep
+      02004EF2H   SYMBOL    XDATA    VOID      pbuff
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       UTILITIES
-      02004EAFH   PUBLIC    XDATA    BYTE      ?_compare_str?BYTE
-      010020FBH   PUBLIC    CODE     ---       _compare_str
-      010016F3H   PUBLIC    CODE     ---       _Delay1ms
-      010020CEH   PUBLIC    CODE     ---       _xmemclear_ff
+      02004EB1H   PUBLIC    XDATA    BYTE      ?_compare_str?BYTE
+      01002BE3H   PUBLIC    CODE     ---       _compare_str
+      01000F72H   PUBLIC    CODE     ---       _Delay1ms
+      010035FCH   PUBLIC    CODE     ---       _xmemclear_ff
       01000D01H   PUBLIC    CODE     ---       _xmemclear
-      02004EA0H   PUBLIC    XDATA    BYTE      ?_dmemcpy?BYTE
-      0100388AH   PUBLIC    CODE     ---       _dmemcpy
-      02004EC3H   PUBLIC    XDATA    BYTE      ?_xmemcpy?BYTE
+      02004EA2H   PUBLIC    XDATA    BYTE      ?_dmemcpy?BYTE
+      0100230AH   PUBLIC    CODE     ---       _dmemcpy
+      02004EC5H   PUBLIC    XDATA    BYTE      ?_xmemcpy?BYTE
       0100087DH   PUBLIC    CODE     ---       _xmemcpy
-      01003883H   PUBLIC    CODE     ---       YC_Ice_break
+      010035F5H   PUBLIC    CODE     ---       YC_Ice_break
 
-      01003883H   BLOCK     CODE     ---       LVL=0
-      01003883H   LINE      ---      ---       #3
-      01003883H   LINE      ---      ---       #4
-      01003883H   LINE      ---      ---       #5
-      01003889H   LINE      ---      ---       #7
+      010035F5H   BLOCK     CODE     ---       LVL=0
+      010035F5H   LINE      ---      ---       #3
+      010035F5H   LINE      ---      ---       #4
+      010035F5H   LINE      ---      ---       #5
+      010035FBH   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       0100087DH   BLOCK     CODE     ---       LVL=0
@@ -3239,12 +3213,12 @@
       010008BFH   LINE      ---      ---       #14
       ---         BLOCKEND  ---      ---       LVL=0
 
-      0100388AH   BLOCK     CODE     ---       LVL=0
-      0100388AH   LINE      ---      ---       #16
-      01003895H   LINE      ---      ---       #17
-      01003895H   LINE      ---      ---       #18
-      010038A3H   LINE      ---      ---       #19
-      010038CDH   LINE      ---      ---       #21
+      0100230AH   BLOCK     CODE     ---       LVL=0
+      0100230AH   LINE      ---      ---       #16
+      01002315H   LINE      ---      ---       #17
+      01002315H   LINE      ---      ---       #18
+      01002323H   LINE      ---      ---       #19
+      0100234DH   LINE      ---      ---       #21
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000D01H   BLOCK     CODE     ---       LVL=0
@@ -3255,36 +3229,36 @@
       01000D2CH   LINE      ---      ---       #28
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010020CEH   BLOCK     CODE     ---       LVL=0
-      010020CEH   LINE      ---      ---       #30
-      010020D9H   LINE      ---      ---       #31
-      010020D9H   LINE      ---      ---       #32
-      010020E3H   LINE      ---      ---       #33
-      010020FAH   LINE      ---      ---       #35
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010016F3H   BLOCK     CODE     ---       LVL=0
-      010016F3H   LINE      ---      ---       #46
-      010016F3H   LINE      ---      ---       #47
-      010016F3H   BLOCK     CODE     NEAR LAB  LVL=1
-      010016F3H   LINE      ---      ---       #49
-      010016F9H   LINE      ---      ---       #50
-      01001707H   LINE      ---      ---       #51
-      0100170AH   LINE      ---      ---       #52
+      010035FCH   BLOCK     CODE     ---       LVL=0
+      010035FCH   LINE      ---      ---       #30
+      01003607H   LINE      ---      ---       #31
+      01003607H   LINE      ---      ---       #32
+      01003611H   LINE      ---      ---       #33
+      01003628H   LINE      ---      ---       #35
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01000F72H   BLOCK     CODE     ---       LVL=0
+      01000F72H   LINE      ---      ---       #46
+      01000F72H   LINE      ---      ---       #47
+      01000F72H   BLOCK     CODE     NEAR LAB  LVL=1
+      01000F72H   LINE      ---      ---       #49
+      01000F78H   LINE      ---      ---       #50
+      01000F86H   LINE      ---      ---       #51
+      01000F89H   LINE      ---      ---       #52
       00000004H   SYMBOL    DATA     VOID      j
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010020FBH   BLOCK     CODE     ---       LVL=0
-      010020FBH   LINE      ---      ---       #54
-      01002106H   LINE      ---      ---       #55
-      01002106H   BLOCK     CODE     NEAR LAB  LVL=1
-      01002106H   LINE      ---      ---       #57
-      01002112H   LINE      ---      ---       #58
-      0100213CH   LINE      ---      ---       #59
-      0100213FH   LINE      ---      ---       #60
-      01002142H   LINE      ---      ---       #61
-      01002144H   LINE      ---      ---       #62
+      01002BE3H   BLOCK     CODE     ---       LVL=0
+      01002BE3H   LINE      ---      ---       #54
+      01002BEEH   LINE      ---      ---       #55
+      01002BEEH   BLOCK     CODE     NEAR LAB  LVL=1
+      01002BEEH   LINE      ---      ---       #57
+      01002BFAH   LINE      ---      ---       #58
+      01002C24H   LINE      ---      ---       #59
+      01002C27H   LINE      ---      ---       #60
+      01002C2AH   LINE      ---      ---       #61
+      01002C2CH   LINE      ---      ---       #62
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -3292,250 +3266,250 @@
       ---         MODULE    ---      ---       GPIO
       020000A3H   PUBLIC    XDATA    ---       YC_GPIOWakeupL
       020000A7H   PUBLIC    XDATA    ---       YC_GPIOWakeupH
-      0100390DH   PUBLIC    CODE     ---       GPIO_fillpd
-      010032A4H   PUBLIC    CODE     ---       _GPIO_FlipOutBit
-      01001E27H   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
-      010038CEH   PUBLIC    CODE     ---       _GPIO_ClearWakeup
+      010036C9H   PUBLIC    CODE     ---       GPIO_fillpd
+      01003308H   PUBLIC    CODE     ---       _GPIO_FlipOutBit
+      01001C55H   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
+      0100368AH   PUBLIC    CODE     ---       _GPIO_ClearWakeup
       00000020H.7 PUBLIC    BIT      BIT       ?_GPIO_SetWakeup?BIT
-      01001E3BH   PUBLIC    CODE     ---       _GPIO_SetWakeup
+      01001C69H   PUBLIC    CODE     ---       _GPIO_SetWakeup
       00000020H.6 PUBLIC    BIT      BIT       ?_GPIO_SetOutput?BIT
-      01001CFFH   PUBLIC    CODE     ---       _GPIO_SetOutput
+      0100179FH   PUBLIC    CODE     ---       _GPIO_SetOutput
       00000020H.5 PUBLIC    BIT      BIT       ?_GPIO_SetInput?BIT
-      01001F02H   PUBLIC    CODE     ---       _GPIO_SetInput
+      01001F61H   PUBLIC    CODE     ---       _GPIO_SetInput
       00000020H.4 PUBLIC    BIT      BIT       ?_GPIO_Setoe?BIT
-      01001F20H   PUBLIC    CODE     ---       _GPIO_Setoe
+      01001FA3H   PUBLIC    CODE     ---       _GPIO_Setoe
       00000020H.3 PUBLIC    BIT      BIT       ?_GPIO_SetPd?BIT
-      01001F68H   PUBLIC    CODE     ---       _GPIO_SetPd
+      01001F91H   PUBLIC    CODE     ---       _GPIO_SetPd
       00000020H.2 PUBLIC    BIT      BIT       ?_GPIO_SetPu?BIT
-      01001EF1H   PUBLIC    CODE     ---       _GPIO_SetPu
+      01001F7FH   PUBLIC    CODE     ---       _GPIO_SetPu
       00000020H.1 PUBLIC    BIT      BIT       ?_GPIO_Setout?BIT
-      010012BBH   PUBLIC    CODE     ---       _GPIO_Setout
-      010017F1H   PUBLIC    CODE     ---       _GPIO_GetInputStatus
+      010011D0H   PUBLIC    CODE     ---       _GPIO_Setout
+      010017F0H   PUBLIC    CODE     ---       _GPIO_GetInputStatus
 
-      01001F79H   BLOCK     CODE     ---       LVL=0
-      01001F79H   LINE      ---      ---       #9
-      01001F84H   LINE      ---      ---       #10
-      01001F84H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001F84H   LINE      ---      ---       #11
-      01001F86H   LINE      ---      ---       #12
-      01001F87H   LINE      ---      ---       #14
-      01001F8BH   LINE      ---      ---       #15
-      01001F92H   LINE      ---      ---       #17
-      01001F95H   LINE      ---      ---       #18
-      01001FB7H   LINE      ---      ---       #19
-      01001FB7H   LINE      ---      ---       #21
-      01001FB7H   LINE      ---      ---       #22
+      01003629H   BLOCK     CODE     ---       LVL=0
+      01003629H   LINE      ---      ---       #9
+      01003634H   LINE      ---      ---       #10
+      01003634H   BLOCK     CODE     NEAR LAB  LVL=1
+      01003634H   LINE      ---      ---       #11
+      01003636H   LINE      ---      ---       #12
+      01003637H   LINE      ---      ---       #14
+      0100363BH   LINE      ---      ---       #15
+      01003642H   LINE      ---      ---       #17
+      01003645H   LINE      ---      ---       #18
+      01003667H   LINE      ---      ---       #19
+      01003667H   LINE      ---      ---       #21
+      01003667H   LINE      ---      ---       #22
       00000006H   SYMBOL    DATA     VOID      queue
       00000005H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010017F7H   BLOCK     CODE     ---       LVL=0
-      010017F7H   LINE      ---      ---       #26
-      010017F9H   LINE      ---      ---       #27
-      010017F9H   BLOCK     CODE     NEAR LAB  LVL=1
-      010017F9H   LINE      ---      ---       #28
-      010017FEH   LINE      ---      ---       #29
-      010017FFH   LINE      ---      ---       #31
-      01001803H   LINE      ---      ---       #32
-      0100180AH   LINE      ---      ---       #33
-      01001835H   LINE      ---      ---       #35
-      02004F11H   SYMBOL    XDATA    VOID      queue
+      010017F6H   BLOCK     CODE     ---       LVL=0
+      010017F6H   LINE      ---      ---       #26
+      010017F8H   LINE      ---      ---       #27
+      010017F8H   BLOCK     CODE     NEAR LAB  LVL=1
+      010017F8H   LINE      ---      ---       #28
+      010017FDH   LINE      ---      ---       #29
+      010017FEH   LINE      ---      ---       #31
+      01001802H   LINE      ---      ---       #32
+      01001809H   LINE      ---      ---       #33
+      01001834H   LINE      ---      ---       #35
+      02004F10H   SYMBOL    XDATA    VOID      queue
       00000006H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010017F1H   BLOCK     CODE     ---       LVL=0
-      010017F1H   LINE      ---      ---       #37
-      010017F1H   LINE      ---      ---       #38
-      010017F1H   LINE      ---      ---       #39
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010012BBH   BLOCK     CODE     ---       LVL=0
-      010012BBH   LINE      ---      ---       #42
-      010012BBH   LINE      ---      ---       #43
-      010012BBH   LINE      ---      ---       #44
-      010012BFH   LINE      ---      ---       #46
-      010012CCH   LINE      ---      ---       #47
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001EF1H   BLOCK     CODE     ---       LVL=0
-      01001EF1H   LINE      ---      ---       #49
-      01001EF1H   LINE      ---      ---       #50
-      01001EF1H   LINE      ---      ---       #51
-      01001EF5H   LINE      ---      ---       #53
-      01001F01H   LINE      ---      ---       #54
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001F68H   BLOCK     CODE     ---       LVL=0
-      01001F68H   LINE      ---      ---       #56
-      01001F68H   LINE      ---      ---       #57
-      01001F68H   LINE      ---      ---       #58
-      01001F6CH   LINE      ---      ---       #60
-      01001F78H   LINE      ---      ---       #61
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001F20H   BLOCK     CODE     ---       LVL=0
-      01001F20H   LINE      ---      ---       #63
-      01001F20H   LINE      ---      ---       #64
-      01001F20H   LINE      ---      ---       #65
-      01001F24H   LINE      ---      ---       #67
-      01001F30H   LINE      ---      ---       #68
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001F02H   BLOCK     CODE     ---       LVL=0
-      01001F02H   LINE      ---      ---       #70
-      01001F04H   LINE      ---      ---       #71
-      01001F04H   LINE      ---      ---       #72
-      01001F08H   LINE      ---      ---       #74
-      01001F10H   LINE      ---      ---       #75
-      01001F19H   LINE      ---      ---       #76
-      01001F1FH   LINE      ---      ---       #77
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001CFFH   BLOCK     CODE     ---       LVL=0
-      01001CFFH   LINE      ---      ---       #79
-      01001D01H   LINE      ---      ---       #80
-      01001D01H   LINE      ---      ---       #81
-      01001D05H   LINE      ---      ---       #83
-      01001D0BH   LINE      ---      ---       #84
-      01001D14H   LINE      ---      ---       #85
-      01001D1AH   LINE      ---      ---       #86
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001E3BH   BLOCK     CODE     ---       LVL=0
-      01001E3BH   LINE      ---      ---       #88
-      01001E3BH   LINE      ---      ---       #89
-      01001E3BH   BLOCK     CODE     NEAR LAB  LVL=1
-      01001E3BH   LINE      ---      ---       #92
-      01001E41H   LINE      ---      ---       #94
-      01001E45H   LINE      ---      ---       #95
-      01001E4CH   LINE      ---      ---       #96
-      01001E4FH   LINE      ---      ---       #97
-      01001E70H   LINE      ---      ---       #98
-      01001E91H   LINE      ---      ---       #99
-      01001E92H   LINE      ---      ---       #101
-      01001E92H   LINE      ---      ---       #102
-      01001EB4H   LINE      ---      ---       #103
-      01001EC6H   LINE      ---      ---       #104
-      01001EC6H   LINE      ---      ---       #105
+      010017F0H   BLOCK     CODE     ---       LVL=0
+      010017F0H   LINE      ---      ---       #37
+      010017F0H   LINE      ---      ---       #38
+      010017F0H   LINE      ---      ---       #39
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010011D0H   BLOCK     CODE     ---       LVL=0
+      010011D0H   LINE      ---      ---       #42
+      010011D0H   LINE      ---      ---       #43
+      010011D0H   LINE      ---      ---       #44
+      010011D4H   LINE      ---      ---       #46
+      010011E1H   LINE      ---      ---       #47
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001F7FH   BLOCK     CODE     ---       LVL=0
+      01001F7FH   LINE      ---      ---       #49
+      01001F7FH   LINE      ---      ---       #50
+      01001F7FH   LINE      ---      ---       #51
+      01001F83H   LINE      ---      ---       #53
+      01001F90H   LINE      ---      ---       #54
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001F91H   BLOCK     CODE     ---       LVL=0
+      01001F91H   LINE      ---      ---       #56
+      01001F91H   LINE      ---      ---       #57
+      01001F91H   LINE      ---      ---       #58
+      01001F95H   LINE      ---      ---       #60
+      01001FA2H   LINE      ---      ---       #61
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001FA3H   BLOCK     CODE     ---       LVL=0
+      01001FA3H   LINE      ---      ---       #63
+      01001FA3H   LINE      ---      ---       #64
+      01001FA3H   LINE      ---      ---       #65
+      01001FA7H   LINE      ---      ---       #67
+      01001FB4H   LINE      ---      ---       #68
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001F61H   BLOCK     CODE     ---       LVL=0
+      01001F61H   LINE      ---      ---       #70
+      01001F63H   LINE      ---      ---       #71
+      01001F63H   LINE      ---      ---       #72
+      01001F67H   LINE      ---      ---       #74
+      01001F6FH   LINE      ---      ---       #75
+      01001F78H   LINE      ---      ---       #76
+      01001F7EH   LINE      ---      ---       #77
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100179FH   BLOCK     CODE     ---       LVL=0
+      0100179FH   LINE      ---      ---       #79
+      010017A1H   LINE      ---      ---       #80
+      010017A1H   LINE      ---      ---       #81
+      010017A5H   LINE      ---      ---       #83
+      010017ACH   LINE      ---      ---       #84
+      010017B4H   LINE      ---      ---       #85
+      010017BBH   LINE      ---      ---       #86
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001C69H   BLOCK     CODE     ---       LVL=0
+      01001C69H   LINE      ---      ---       #88
+      01001C69H   LINE      ---      ---       #89
+      01001C69H   BLOCK     CODE     NEAR LAB  LVL=1
+      01001C69H   LINE      ---      ---       #92
+      01001C6FH   LINE      ---      ---       #94
+      01001C73H   LINE      ---      ---       #95
+      01001C7AH   LINE      ---      ---       #96
+      01001C7DH   LINE      ---      ---       #97
+      01001C9EH   LINE      ---      ---       #98
+      01001CBFH   LINE      ---      ---       #99
+      01001CC0H   LINE      ---      ---       #101
+      01001CC0H   LINE      ---      ---       #102
+      01001CE2H   LINE      ---      ---       #103
+      01001CF4H   LINE      ---      ---       #104
+      01001CF4H   LINE      ---      ---       #105
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010038CEH   BLOCK     CODE     ---       LVL=0
-      010038CEH   LINE      ---      ---       #107
-      010038CEH   LINE      ---      ---       #108
-      010038CEH   BLOCK     CODE     NEAR LAB  LVL=1
-      010038CEH   LINE      ---      ---       #111
-      010038D2H   LINE      ---      ---       #113
-      010038D6H   LINE      ---      ---       #114
-      010038DDH   LINE      ---      ---       #115
-      010038FFH   LINE      ---      ---       #116
-      0100390CH   LINE      ---      ---       #117
+      0100368AH   BLOCK     CODE     ---       LVL=0
+      0100368AH   LINE      ---      ---       #107
+      0100368AH   LINE      ---      ---       #108
+      0100368AH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100368AH   LINE      ---      ---       #111
+      0100368EH   LINE      ---      ---       #113
+      01003692H   LINE      ---      ---       #114
+      01003699H   LINE      ---      ---       #115
+      010036BBH   LINE      ---      ---       #116
+      010036C8H   LINE      ---      ---       #117
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01001E27H   BLOCK     CODE     ---       LVL=0
-      01001E27H   LINE      ---      ---       #119
-      01001E2CH   LINE      ---      ---       #120
-      01001E2CH   BLOCK     CODE     NEAR LAB  LVL=1
-      01001E2CH   LINE      ---      ---       #121
-      01001E31H   LINE      ---      ---       #122
+      01001C55H   BLOCK     CODE     ---       LVL=0
+      01001C55H   LINE      ---      ---       #119
+      01001C5AH   LINE      ---      ---       #120
+      01001C5AH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001C5AH   LINE      ---      ---       #121
+      01001C5FH   LINE      ---      ---       #122
       00000021H.0 SYMBOL    BIT      VOID      st
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010032A4H   BLOCK     CODE     ---       LVL=0
-      010032A4H   LINE      ---      ---       #125
-      010032A9H   LINE      ---      ---       #126
-      010032A9H   BLOCK     CODE     NEAR LAB  LVL=1
-      010032A9H   LINE      ---      ---       #127
-      010032B4H   LINE      ---      ---       #128
+      01003308H   BLOCK     CODE     ---       LVL=0
+      01003308H   LINE      ---      ---       #125
+      0100330DH   LINE      ---      ---       #126
+      0100330DH   BLOCK     CODE     NEAR LAB  LVL=1
+      0100330DH   LINE      ---      ---       #127
+      01003318H   LINE      ---      ---       #128
       00000021H.1 SYMBOL    BIT      VOID      st
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      0100390DH   BLOCK     CODE     ---       LVL=0
-      0100390DH   LINE      ---      ---       #131
-      0100390DH   LINE      ---      ---       #132
-      0100390DH   BLOCK     CODE     NEAR LAB  LVL=1
-      0100390DH   LINE      ---      ---       #134
-      0100390FH   LINE      ---      ---       #135
-      01003940H   LINE      ---      ---       #136
+      010036C9H   BLOCK     CODE     ---       LVL=0
+      010036C9H   LINE      ---      ---       #131
+      010036C9H   LINE      ---      ---       #132
+      010036C9H   BLOCK     CODE     NEAR LAB  LVL=1
+      010036C9H   LINE      ---      ---       #134
+      010036CBH   LINE      ---      ---       #135
+      010036FCH   LINE      ---      ---       #136
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       ---         MODULE    ---      ---       IIC
-      01001A94H   PUBLIC    CODE     ---       _IIC_WriteBlock
-      010019F9H   PUBLIC    CODE     ---       _IIC_write
-      01001941H   PUBLIC    CODE     ---       _IIC_Read
-
-      010019F1H   BLOCK     CODE     ---       LVL=0
-      010019F1H   LINE      ---      ---       #11
-      010019F1H   LINE      ---      ---       #12
-      010019F1H   LINE      ---      ---       #13
-      010019F8H   LINE      ---      ---       #14
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001941H   BLOCK     CODE     ---       LVL=0
-      01001941H   LINE      ---      ---       #16
-      01001952H   LINE      ---      ---       #17
-      01001952H   BLOCK     CODE     NEAR LAB  LVL=1
-      01001952H   LINE      ---      ---       #18
-      01001952H   LINE      ---      ---       #19
-      0100195BH   LINE      ---      ---       #20
-      01001961H   LINE      ---      ---       #21
-      01001967H   LINE      ---      ---       #22
-      0100196DH   LINE      ---      ---       #23
-      01001986H   LINE      ---      ---       #24
-      0100199BH   LINE      ---      ---       #25
-      010019B4H   LINE      ---      ---       #26
-      010019BAH   LINE      ---      ---       #27
-      010019C2H   LINE      ---      ---       #28
-      010019C9H   LINE      ---      ---       #29
-      010019C9H   LINE      ---      ---       #30
-      010019D0H   LINE      ---      ---       #31
-      010019D2H   LINE      ---      ---       #32
+      01001A88H   PUBLIC    CODE     ---       _IIC_WriteBlock
+      01002168H   PUBLIC    CODE     ---       _IIC_write
+      010020B0H   PUBLIC    CODE     ---       _IIC_Read
+
+      01002160H   BLOCK     CODE     ---       LVL=0
+      01002160H   LINE      ---      ---       #11
+      01002160H   LINE      ---      ---       #12
+      01002160H   LINE      ---      ---       #13
+      01002167H   LINE      ---      ---       #14
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010020B0H   BLOCK     CODE     ---       LVL=0
+      010020B0H   LINE      ---      ---       #16
+      010020C1H   LINE      ---      ---       #17
+      010020C1H   BLOCK     CODE     NEAR LAB  LVL=1
+      010020C1H   LINE      ---      ---       #18
+      010020C1H   LINE      ---      ---       #19
+      010020CAH   LINE      ---      ---       #20
+      010020D0H   LINE      ---      ---       #21
+      010020D6H   LINE      ---      ---       #22
+      010020DCH   LINE      ---      ---       #23
+      010020F5H   LINE      ---      ---       #24
+      0100210AH   LINE      ---      ---       #25
+      01002123H   LINE      ---      ---       #26
+      01002129H   LINE      ---      ---       #27
+      01002131H   LINE      ---      ---       #28
+      01002138H   LINE      ---      ---       #29
+      01002138H   LINE      ---      ---       #30
+      0100213FH   LINE      ---      ---       #31
+      01002141H   LINE      ---      ---       #32
       00000006H   SYMBOL    DATA     VOID      mem_src
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010019F9H   BLOCK     CODE     ---       LVL=0
-      010019F9H   LINE      ---      ---       #35
-      01001A14H   LINE      ---      ---       #36
-      01001A14H   LINE      ---      ---       #37
-      01001A36H   LINE      ---      ---       #38
-      01001A3CH   LINE      ---      ---       #39
-      01001A4BH   LINE      ---      ---       #40
-      01001A68H   LINE      ---      ---       #41
-      01001A7FH   LINE      ---      ---       #42
-      01001A86H   LINE      ---      ---       #43
-      01001A8BH   LINE      ---      ---       #44
-      01001A92H   LINE      ---      ---       #45
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01001A94H   BLOCK     CODE     ---       LVL=0
-      01001A94H   LINE      ---      ---       #48
-      01001AABH   LINE      ---      ---       #49
-      01001AABH   BLOCK     CODE     NEAR LAB  LVL=1
-      01001AABH   LINE      ---      ---       #51
-      01001AB7H   LINE      ---      ---       #52
-      01001AC7H   LINE      ---      ---       #53
-      01001AD5H   LINE      ---      ---       #54
-      01001AFBH   LINE      ---      ---       #55
-      01001B08H   LINE      ---      ---       #56
-      01001B1DH   LINE      ---      ---       #57
-      01001B22H   LINE      ---      ---       #58
-      01001B33H   LINE      ---      ---       #59
-      01001B3FH   LINE      ---      ---       #60
-      01001B41H   LINE      ---      ---       #61
+      01002168H   BLOCK     CODE     ---       LVL=0
+      01002168H   LINE      ---      ---       #35
+      01002183H   LINE      ---      ---       #36
+      01002183H   LINE      ---      ---       #37
+      010021A4H   LINE      ---      ---       #38
+      010021AAH   LINE      ---      ---       #39
+      010021B9H   LINE      ---      ---       #40
+      010021D6H   LINE      ---      ---       #41
+      010021EDH   LINE      ---      ---       #42
+      010021F4H   LINE      ---      ---       #43
+      010021F9H   LINE      ---      ---       #44
+      01002200H   LINE      ---      ---       #45
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01001A88H   BLOCK     CODE     ---       LVL=0
+      01001A88H   LINE      ---      ---       #48
+      01001A9FH   LINE      ---      ---       #49
+      01001A9FH   BLOCK     CODE     NEAR LAB  LVL=1
+      01001A9FH   LINE      ---      ---       #51
+      01001AABH   LINE      ---      ---       #52
+      01001ABBH   LINE      ---      ---       #53
+      01001AC9H   LINE      ---      ---       #54
+      01001AEFH   LINE      ---      ---       #55
+      01001AFCH   LINE      ---      ---       #56
+      01001B12H   LINE      ---      ---       #57
+      01001B17H   LINE      ---      ---       #58
+      01001B28H   LINE      ---      ---       #59
+      01001B34H   LINE      ---      ---       #60
+      01001B36H   LINE      ---      ---       #61
       00000004H   SYMBOL    DATA     VOID      cris
-      02004E9EH   SYMBOL    XDATA    VOID      curr_len
+      02004EA0H   SYMBOL    XDATA    VOID      curr_len
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
@@ -3611,5 +3585,5 @@
       ---         MODULE    ---      ---       ?C_INIT
       01000626H   PUBLIC    CODE     ---       ?C_START
 
-Program Size: data=10.2 xdata=920 const=182 code=14475
+Program Size: data=10.2 xdata=924 const=182 code=13895
 LX51 RUN COMPLETE.  0 WARNING(S),  0 ERROR(S)
Index: c51/output/FW.SBR
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/output/eeprom.dat
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/output/eeprom.dat	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/output/eeprom.dat	(working copy)
@@ -2,132 +2,76 @@
 02
 aa
 55
-fa
+b6
 1f
 c5
 12
 80
-1a
+10
 c0
 00
 00
-45
+2c
 c0
 01
-80
-49
-c0
-02
-80
-55
-c0
-03
-03
-2e
-c0
-05
-03
-4f
-c0
-13
-83
-53
-c0
-14
-03
-65
-c0
-15
-83
-6b
-c0
-21
-03
-76
-c0
-21
-83
-7a
-c0
-28
-03
-82
-c0
-2a
-03
-91
+00
+30
 c0
-18
+01
 80
-41
+38
 c0
-19
+02
 80
-3e
+43
 c0
 48
-02
-24
+01
+c2
 c0
 49
 01
-ea
+88
 c0
 4a
 01
-f0
+8e
 c0
 4a
 81
-da
+75
 c0
 58
-03
-2c
+02
+a8
 c0
 58
 81
-9e
+39
 c0
 59
 01
-b2
+4d
 c0
 59
 81
-cc
+67
 c0
 5b
 01
-d5
+70
 c0
 5c
 81
-a6
+41
 20
 20
 3b
 f1
 c0
-0c
-03
-9d
-c0
-0d
-83
-a5
-c0
-11
-83
-c4
-c0
-12
-03
-e0
-c0
 19
-04
-5a
+02
+b6
 c0
 1d
 d3
@@ -135,151 +79,107 @@
 c0
 1f
 02
-a1
+39
 c0
 1f
 82
-a5
+3d
 c0
 25
-04
-a5
+03
+7b
 c0
 25
-84
-53
+82
+af
 c0
 26
-04
-5d
+02
+b9
 c0
 27
-04
-63
+02
+bf
 c0
 2b
-04
-6a
+02
+c6
+c0
+2d
+02
+d2
 c0
 30
-84
-71
+82
+cd
 c0
 31
-84
-76
+82
+f2
 c0
 32
-04
-9a
+03
+3a
 c0
 32
-84
-cf
+83
+da
 c0
 34
-86
-32
+85
+81
 c0
 35
-06
-17
+05
+4e
 c0
 35
-86
-19
+85
+50
 c0
 37
-06
-3d
+05
+8c
 c0
 37
-84
-b0
+83
+86
 c0
 43
 81
-39
+0a
 c0
 46
 82
-c0
+58
 c0
 47
 02
-d9
+70
 c0
 47
 82
-a9
+41
 c0
 5e
 82
-b7
+4f
 c0
 66
-82
-31
+81
+cc
 c0
 67
 81
-45
+16
 c0
 68
 01
-5a
-c0
-4e
-03
-e4
-c0
-4f
-83
-fa
-c0
-71
-04
-07
-c0
-71
-84
-19
-c0
-73
-04
-31
+23
 20
 20
 3b
 f1
-da
-20
-40
-40
-18
-00
-72
-01
-20
-20
-33
-05
-d8
-a0
-40
-40
-df
-20
-00
-0a
-20
-40
-7e
-3b
-20
-20
-32
-d8
 68
 10
 81
@@ -298,20 +198,56 @@
 03
 20
 40
+77
+19
+20
+55
+bc
+f1
+20
+40
+78
+13
+68
 00
-d3
+c7
+dc
+20
+3a
+30
+13
+68
+00
+c7
+93
+20
+3a
+00
+32
+20
+20
+30
+13
 20
 40
 00
-c5
+a4
 20
 40
 00
-5a
+96
 20
 40
 00
-4e
+48
+20
+40
+00
+3e
+20
+40
+07
+64
 20
 20
 30
@@ -328,14 +264,6 @@
 3a
 04
 0b
-68
-00
-c1
-33
-7d
-3a
-04
-06
 60
 09
 47
@@ -358,8 +286,8 @@
 24
 20
 40
-06
-5e
+05
+cd
 20
 20
 30
@@ -371,7 +299,7 @@
 20
 3a
 00
-5e
+4c
 68
 00
 c7
@@ -383,7 +311,7 @@
 20
 40
 01
-34
+05
 20
 74
 00
@@ -398,8 +326,8 @@
 00
 20
 40
-01
-15
+00
+e6
 60
 00
 cb
@@ -407,11 +335,11 @@
 c0
 00
 80
-73
+60
 c0
 03
 00
-7d
+6a
 1f
 e2
 04
@@ -427,7 +355,7 @@
 c3
 00
 00
-70
+5d
 1a
 22
 0c
@@ -441,13 +369,9 @@
 7e
 00
 c0
-01
-80
-7f
-c0
 02
 80
-9d
+6c
 20
 20
 3b
@@ -462,16 +386,16 @@
 f8
 20
 20
-01
-0d
+00
+de
 20
 40
-01
-15
+00
+e6
 20
 40
-01
-15
+00
+e6
 60
 00
 8b
@@ -479,15 +403,15 @@
 20
 40
 00
-78
+65
 20
 20
 7c
 33
 20
 40
-01
-18
+00
+e9
 18
 c2
 04
@@ -507,131 +431,11 @@
 d8
 a0
 4d
-57
-20
-20
-01
-0d
-20
-40
-01
-15
-1f
-e2
-22
-00
-18
-c2
-7e
-00
-60
-01
-02
-b7
-20
-40
-52
-7c
-24
-3a
-00
-88
-1a
-20
-a2
-01
-20
-40
-4b
-2c
-20
-20
-00
-8d
-d8
-a0
-4b
-ad
-1a
-22
-72
-00
-68
-01
-02
-b7
-1f
-e2
-0c
-00
-20
-20
-01
-0f
-18
-a0
-a5
-fe
-68
-01
-42
-b7
-e0
-a1
-00
-00
-58
-00
-00
-a1
-e0
-a0
-80
-00
-1a
-20
-f3
-ff
-68
-01
-02
-b7
-1f
-e2
-0c
-00
-20
-40
-01
-0f
-1a
-42
-0c
-00
-e8
-c1
-00
-00
-60
 01
-4c
-9b
-1f
-e0
-f2
-02
 20
-40
-7e
-45
-70
-4c
-9a
-64
 20
-60
-00
 00
+de
 18
 c2
 22
@@ -670,8 +474,8 @@
 00
 20
 40
-01
-15
+00
+e6
 18
 c2
 22
@@ -691,15 +495,15 @@
 60
 00
 cc
-82
+62
 1a
 22
 0c
 00
 20
 40
-01
-15
+00
+e6
 18
 c2
 22
@@ -707,27 +511,27 @@
 c0
 00
 80
-b3
+82
 c0
 01
 00
-b9
+8a
 c0
 01
 80
-bb
+8c
 c0
 02
 00
-bd
+8e
 68
 01
 4c
-b8
+7c
 20
 40
 00
-c2
+93
 20
 40
 56
@@ -736,6 +540,14 @@
 7a
 00
 00
+68
+00
+cd
+5e
+24
+7a
+00
+00
 70
 0b
 7d
@@ -747,31 +559,31 @@
 68
 01
 4c
-ba
+7e
 20
 20
 00
-b4
+83
 68
 01
 4c
-bc
+80
 20
 20
 00
-b4
+83
 68
 01
-4d
-3e
+4c
+ed
 20
 40
 00
-c2
+93
 68
 00
 cd
-7e
+29
 20
 7a
 00
@@ -779,7 +591,7 @@
 20
 20
 00
-b5
+84
 e0
 a1
 00
@@ -790,12 +602,12 @@
 00
 20
 20
-01
-0f
+00
+e0
 68
 0a
-4d
-4b
+4c
+fa
 1c
 42
 7e
@@ -806,8 +618,8 @@
 00
 68
 09
-4d
-4f
+4c
+fe
 98
 46
 fc
@@ -830,12 +642,12 @@
 00
 60
 0a
-4d
-4b
+4c
+fa
 68
 00
 cd
-51
+00
 1f
 e0
 fe
@@ -843,7 +655,7 @@
 60
 00
 cd
-51
+00
 20
 60
 00
@@ -851,7 +663,7 @@
 68
 0a
 4c
-59
+3a
 1c
 42
 7e
@@ -887,7 +699,7 @@
 60
 0a
 4c
-59
+3a
 68
 09
 4b
@@ -923,23 +735,23 @@
 68
 00
 cc
-8f
+6f
 c2
 80
 00
-f0
+c1
 c2
 80
 80
-f2
+c3
 da
 20
 00
 00
 20
 40
-01
-04
+00
+d5
 70
 89
 71
@@ -947,7 +759,7 @@
 68
 00
 cc
-90
+70
 60
 10
 89
@@ -955,15 +767,15 @@
 20
 40
 00
-f3
+c4
 da
 20
 00
 01
 20
 20
-01
-04
+00
+d5
 70
 89
 71
@@ -971,7 +783,7 @@
 20
 20
 00
-f3
+c4
 70
 89
 71
@@ -1039,7 +851,7 @@
 60
 09
 4c
-95
+75
 20
 60
 00
@@ -1051,7 +863,7 @@
 68
 00
 cc
-90
+70
 98
 46
 04
@@ -1066,8 +878,8 @@
 07
 24
 3a
-01
-0b
+00
+dc
 79
 3f
 84
@@ -1082,40 +894,40 @@
 f4
 20
 40
-01
-15
+00
+e6
 1f
 e2
 72
 00
 20
 40
-01
-11
+00
+e2
 20
 20
 00
-78
+65
 20
 40
-01
-15
+00
+e6
 e0
 a0
 80
 00
 c2
 00
-01
-11
+00
+e2
 20
 60
 00
 00
 20
 40
-01
-18
+00
+e9
 e8
 c0
 80
@@ -1182,12 +994,12 @@
 00
 20
 40
-01
-2c
+00
+fd
 c2
 00
-01
-24
+00
+f5
 18
 a2
 7e
@@ -1235,7 +1047,7 @@
 20
 20
 01
-36
+07
 68
 01
 4b
@@ -1262,16 +1074,16 @@
 00
 60
 02
-4d
-47
+4c
+f6
 68
 08
 c7
 ef
 68
 00
-cd
-4a
+cc
+f9
 98
 46
 7c
@@ -1279,15 +1091,15 @@
 24
 41
 01
-40
+11
 20
 20
 7c
 06
 68
 0a
-4d
-47
+4c
+f6
 60
 0a
 47
@@ -1295,11 +1107,11 @@
 60
 0a
 4c
-59
+3a
 60
 0a
-4d
-4b
+4c
+fa
 20
 60
 00
@@ -1323,7 +1135,7 @@
 20
 40
 01
-4b
+1c
 20
 20
 3e
@@ -1334,60 +1146,28 @@
 00
 c0
 0a
-06
-4f
+05
 c0
-0a
-86
-54
 c0
-03
-66
-14
+1e
+81
+21
 c0
-01
-01
-51
+0a
+82
+ad
 20
 20
 3e
 7d
 70
-42
-9d
-00
-68
-01
-47
-f4
-c2
-83
-bf
-08
-2f
-ec
-00
-01
-20
-40
-81
-57
-20
+4d
+49
+05
 20
-3f
-08
-68
-00
-84
-50
-c1
-01
+60
 00
 00
-20
-20
-3e
-7b
 60
 08
 82
@@ -1395,7 +1175,7 @@
 68
 00
 cc
-8d
+6d
 1f
 e0
 fe
@@ -1403,7 +1183,7 @@
 60
 00
 cc
-8d
+6d
 68
 00
 82
@@ -1423,131 +1203,15 @@
 20
 40
 01
-7a
-20
-40
-01
-81
-20
-40
-01
-66
-20
-20
-01
-5e
-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
+2d
 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
-68
-00
-c7
-f2
-20
-7a
-00
-00
-1f
-e0
-ff
-ff
-60
-00
-c7
-f2
-24
-7a
-00
-00
-20
-40
-3e
-bd
-20
-20
-4b
-22
+27
 68
 00
 cc
-15
+0b
 20
 7a
 00
@@ -1559,7 +1223,7 @@
 60
 00
 cc
-15
+0b
 20
 60
 00
@@ -1576,10 +1240,6 @@
 28
 00
 00
-20
-40
-01
-8e
 1a
 62
 7e
@@ -1594,72 +1254,8 @@
 a4
 20
 20
-01
-1d
-1a
-62
-7e
-00
-c0
-05
-81
-92
-c0
-01
-01
-9a
-20
-60
-00
-00
-70
-4c
-9a
-28
-58
-00
-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
-df
-20
 00
-14
-d8
-a0
-4c
-9b
-20
-20
-7e
-3f
+ee
 70
 41
 6e
@@ -1671,14 +1267,14 @@
 68
 00
 cc
-97
+77
 20
 7a
 00
 00
 70
 4c
-97
+77
 00
 1c
 42
@@ -1687,7 +1283,7 @@
 60
 02
 4c
-59
+3a
 20
 60
 00
@@ -1815,7 +1411,7 @@
 20
 40
 01
-34
+05
 24
 74
 00
@@ -1823,7 +1419,7 @@
 20
 40
 01
-31
+02
 24
 74
 00
@@ -1839,15 +1435,15 @@
 20
 40
 01
-d1
+6c
 20
 20
 01
-34
+05
 20
 40
 01
-c4
+5f
 24
 74
 00
@@ -1875,7 +1471,7 @@
 c0
 80
 01
-d1
+6c
 20
 60
 00
@@ -1883,7 +1479,7 @@
 20
 40
 01
-c4
+5f
 24
 74
 00
@@ -1903,11 +1499,23 @@
 20
 40
 01
-dc
-20
+7a
 20
+40
 3a
 af
+70
+89
+5c
+c0
+70
+89
+5a
+4e
+20
+60
+00
+00
 68
 00
 c2
@@ -1915,7 +1523,7 @@
 24
 3a
 01
-e2
+80
 20
 40
 3d
@@ -1991,7 +1599,7 @@
 20
 40
 01
-ed
+8b
 58
 00
 05
@@ -2050,8 +1658,8 @@
 ef
 c0
 ff
-82
-08
+81
+a6
 68
 02
 ca
@@ -2074,8 +1682,8 @@
 df
 20
 40
-02
-13
+01
+b1
 70
 89
 55
@@ -2103,11 +1711,11 @@
 68
 00
 cc
-7d
+5d
 20
 5a
-02
-11
+01
+af
 60
 10
 89
@@ -2202,24 +1810,12 @@
 6f
 20
 40
-02
-1b
+01
+b9
 20
 20
 3a
 6f
-20
-40
-52
-7c
-24
-7a
-00
-00
-20
-20
-00
-5a
 78
 34
 7c
@@ -2248,14 +1844,10 @@
 60
 00
 00
-68
+58
+00
+00
 00
-c4
-19
-1f
-e0
-fe
-02
 60
 00
 c3
@@ -2274,16 +1866,8 @@
 a4
 58
 00
-02
-27
-60
 01
-42
-8e
-58
-00
-02
-30
+cb
 60
 01
 42
@@ -2291,7 +1875,7 @@
 58
 00
 01
-86
+32
 60
 01
 42
@@ -2299,7 +1883,7 @@
 58
 00
 02
-a8
+40
 60
 01
 42
@@ -2307,15 +1891,15 @@
 58
 00
 00
-5a
+48
 60
 01
 42
 8c
 58
 00
-02
-2a
+01
+c5
 60
 01
 42
@@ -2359,19 +1943,19 @@
 68
 00
 cc
-97
+77
 c0
 2d
-02
-64
+01
+fc
 20
 35
-82
-62
+81
+fa
 68
 01
 4c
-91
+71
 1f
 f0
 fe
@@ -2379,11 +1963,11 @@
 60
 01
 4c
-91
+71
 68
 01
 4c
-93
+73
 1f
 f0
 fe
@@ -2391,19 +1975,19 @@
 60
 01
 4c
-93
+73
 20
 40
 02
-6f
+07
 68
 04
 02
 a0
 24
 3a
-02
-5c
+01
+f4
 68
 01
 4a
@@ -2414,27 +1998,27 @@
 00
 20
 3a
-02
-5c
+01
+f4
 60
 01
 4c
-93
+73
 20
 40
-06
-5b
+05
+ca
 70
 4b
 a4
 2f
 20
 40
-01
-1d
+00
+ee
 70
 4c
-97
+77
 00
 70
 82
@@ -2450,8 +2034,8 @@
 30
 20
 20
-02
-5e
+01
+f6
 1c
 e2
 7e
@@ -2459,7 +2043,7 @@
 20
 3a
 02
-af
+47
 20
 40
 5b
@@ -2487,15 +2071,15 @@
 60
 02
 4c
-59
+3a
 70
 4b
 a4
 33
 20
 20
-02
-5e
+01
+f6
 20
 40
 68
@@ -2526,7 +2110,7 @@
 a0
 c2
 80
-3b
+bb
 f1
 68
 04
@@ -2539,15 +2123,15 @@
 68
 00
 cc
-8f
+6f
 c2
 80
 02
-83
+1b
 c2
 80
 82
-91
+29
 68
 01
 02
@@ -2559,7 +2143,7 @@
 60
 01
 4c
-91
+71
 68
 01
 02
@@ -2571,7 +2155,7 @@
 60
 01
 4c
-93
+73
 20
 60
 00
@@ -2599,7 +2183,7 @@
 60
 01
 4c
-93
+73
 1a
 22
 7e
@@ -2627,7 +2211,7 @@
 60
 01
 4c
-91
+71
 20
 60
 00
@@ -2671,7 +2255,7 @@
 60
 01
 4c
-91
+71
 1a
 63
 a6
@@ -2691,7 +2275,7 @@
 60
 01
 4c
-93
+73
 20
 60
 00
@@ -2751,10 +2335,10 @@
 20
 40
 01
-d1
+6c
 70
 4c
-97
+77
 5a
 20
 40
@@ -2795,7 +2379,7 @@
 24
 3a
 02
-bc
+54
 18
 4c
 fe
@@ -2851,43 +2435,39 @@
 c0
 10
 82
-d2
+69
 c0
 11
 02
-d4
+6b
 c0
 11
 86
-ee
-c0
-00
-83
-14
+59
 c0
 06
 82
-ef
+79
 c0
 16
 02
-ee
+79
 c0
 15
 82
-fa
-c0
-01
-83
-17
+85
 c0
 15
-03
-20
+02
+a0
 c0
 09
 7c
 85
+c0
+16
+83
+e8
 20
 20
 7c
@@ -2898,8 +2478,8 @@
 ff
 20
 20
-07
-21
+06
+8c
 79
 3f
 80
@@ -2911,7 +2491,7 @@
 20
 20
 06
-d9
+44
 70
 0b
 7d
@@ -2927,7 +2507,7 @@
 20
 3a
 02
-de
+75
 20
 40
 61
@@ -2949,65 +2529,13 @@
 fc
 87
 c0
-02
-02
-e4
-c0
 08
 82
-d7
-c0
-14
-02
-ea
+6e
 20
 20
 7c
 7b
-68
-01
-47
-f4
-c3
-01
-82
-e7
-20
-20
-7c
-a4
-58
-00
-00
-0a
-60
-02
-00
-51
-20
-20
-7c
-a4
-70
-00
-7c
-37
-68
-01
-4c
-98
-60
-01
-00
-51
-20
-60
-00
-00
-20
-40
-03
-14
 20
 40
 3e
@@ -3020,6 +2548,10 @@
 41
 31
 00
+70
+4d
+5e
+01
 18
 0a
 7e
@@ -3046,8 +2578,8 @@
 07
 20
 40
-03
-00
+02
+8a
 20
 20
 7c
@@ -3064,22 +2596,22 @@
 01
 c3
 e2
-d8
-40
-00
-00
-20
-40
-03
-00
+70
+43
+d9
+0b
 20
 20
 7c
 ae
 68
 00
-c3
-f9
+c4
+19
+1f
+e0
+fe
+02
 98
 40
 fe
@@ -3094,8 +2626,8 @@
 1f
 24
 21
-03
-10
+02
+9c
 60
 00
 c3
@@ -3110,12 +2642,16 @@
 00
 24
 5a
-03
-0d
+02
+99
 68
 00
-c3
-f9
+c4
+19
+1f
+e0
+fe
+02
 1f
 e2
 72
@@ -3135,7 +2671,7 @@
 d8
 c0
 4d
-6b
+15
 20
 20
 7e
@@ -3156,54 +2692,6 @@
 60
 00
 00
-20
-40
-3e
-ff
-70
-01
-77
-06
-20
-20
-7c
-97
-20
-40
-3b
-fa
-20
-40
-4d
-98
-20
-40
-5b
-62
-70
-01
-77
-06
-68
-00
-c7
-dc
-c0
-00
-03
-1e
-70
-01
-77
-17
-70
-42
-5e
-01
-20
-20
-7c
-a2
 68
 01
 47
@@ -3213,17 +2701,13 @@
 bf
 90
 c2
-80
-03
-29
-c2
 83
 fc
 d5
 c5
 11
 86
-d9
+44
 70
 43
 d8
@@ -3242,2332 +2726,2028 @@
 27
 20
 40
-3e
-ff
-20
-40
-7c
-d5
-20
-20
-3f
-77
-20
-40
 3b
 36
 20
 20
 3c
 dc
+e8
+c0
+80
+00
+60
+00
+cc
+7b
+20
+60
+00
+00
+70
+4d
+28
+00
+20
+20
+05
+c4
 20
 40
-03
-30
+54
+bd
+68
+08
+80
+17
 20
+40
+3a
+82
 20
-30
-2c
-da
+40
+3a
+87
+78
+28
+7c
+00
+d9
 60
-03
-32
+15
+7c
 20
 20
-33
+54
+7f
+70
+44
+3e
 01
-c3
+70
+44
+3f
 00
-b3
-07
+20
+20
+53
+4e
 20
 40
-33
-3d
+53
+dd
 20
 40
-03
-3f
-98
+02
+bc
+20
+20
+54
+c1
+20
+36
+81
+91
+20
+40
+53
+ee
+20
+20
+3a
+91
+68
+00
+cc
+40
+60
+02
 46
-7e
+f9
+68
 00
-1f
-e0
-fe
-01
+c4
+db
+c0
+00
+82
+c4
 20
-21
-03
-39
+20
+54
+e0
+70
+44
+db
+00
 20
 20
-33
-25
+54
+ef
+68
+00
+83
+c0
+c4
+02
+80
+00
+68
+01
+03
+da
+68
+09
+03
+e0
 98
+46
+7e
 00
 24
+61
+00
 00
-1a
 20
-8c
-02
-e8
-c1
+20
+55
+7e
+68
+00
+83
+d7
+c3
+82
+80
 00
+68
 00
+83
+41
 20
 3a
-33
-27
+56
+26
 20
-40
-33
-49
 20
+58
+90
+68
+08
+83
+d7
+28
+4c
+00
+05
 20
-03
-33
-1f
-f1
-16
+60
+80
 00
-19
-6c
-96
+68
 00
-20
-22
 83
-49
-29
+40
+1f
+e3
+fe
+00
+98
+42
+fe
+00
+c4
+01
+80
+00
+79
+3f
+84
+05
+79
+40
+04
+03
 60
-1e
-0f
+08
+83
+d7
+28
+40
+06
+03
 24
 60
 80
 00
-18
-51
-16
+68
 00
-19
-6c
-96
+c4
+40
+c0
+02
+82
+e3
+68
+00
+cd
+28
+c0
+00
+82
+e7
+20
+60
 00
-24
-62
-80
 00
+68
+00
+83
+c0
 79
 20
+7e
 04
-1c
+60
+00
+83
+c0
 20
 60
 00
 00
-18
-51
-16
+70
+4d
+28
+00
+df
+e0
 00
-19
-6c
-96
 00
-29
 60
-1e
-0f
-24
+02
+44
+6f
 60
-80
 00
+c4
+8b
+60
+02
+c4
+65
 79
 20
 7e
-1c
-20
+27
 60
+02
+c4
+6a
+68
 00
-00
+83
+c0
+79
+3f
+fe
+04
 60
-0c
-02
-a0
+00
+83
+c0
 20
-40
-7e
-53
-68
-0c
-02
-a0
-20
-20
-30
-7c
-78
-54
-7c
+60
+00
 00
 68
-01
 00
-32
-d8
+c4
 40
-ff
-ff
-98
-46
-7c
-00
-24
-62
-80
+c0
+03
+83
+22
+c0
+07
+83
+26
+c0
+03
+03
 00
-68
+c0
 02
-00
-34
-20
-38
 03
-5c
-9d
-06
-7e
-00
+0d
+c0
+01
+02
+fd
+c0
+09
+82
+fb
+c0
+05
+82
+fb
 20
 20
-03
-5d
-9c
-46
-7e
+56
+3a
+18
 00
-1f
-e6
-7c
 04
-24
-61
-00
-00
-18
+01
+20
+20
+58
+92
+58
 00
-7e
 00
+0a
 60
 01
-00
-32
+03
+ef
 20
 20
-34
-df
+56
+93
 70
 0b
 7d
-20
+12
 20
 40
 7c
-27
-20
-20
-03
-66
-60
-0a
-00
-34
-70
-47
-48
-01
-58
+33
+18
 00
-ff
-ff
-60
+04
 01
-00
-32
+20
+34
+d8
+92
 70
-00
-73
-01
+0b
+7d
+34
 20
-60
-00
+40
+7c
+27
+68
 00
+cc
+49
+c0
+01
+03
+09
 20
-40
-3b
-aa
 20
-40
 03
-6e
-20
+0b
+70
+0b
+7d
+46
 20
-32
-67
-1c
 40
-c2
-01
+56
 20
-40
-3a
-54
 18
 00
-48
-03
-20
-40
-3a
-42
-20
-40
-3b
-ae
-20
-40
-3b
-b4
-20
-40
-3b
-c5
-20
-20
-37
-5c
-20
-40
-3e
-25
-20
-40
-6d
-ec
-20
-40
-35
-d6
-20
-20
-34
-80
-20
-40
-3d
-61
-20
-40
-3b
-e2
-20
-21
-34
-98
-20
-40
-32
 04
-24
-34
-34
-98
+01
 20
-40
-38
-12
-24
-3a
-03
-77
 20
-60
+58
+92
+18
+a2
+04
 00
+d8
+a0
+03
+88
+18
 00
+72
+08
 20
 40
-32
-df
-24
-22
-b5
-68
-68
-00
-80
-47
-c3
-01
-b5
-71
-68
-00
-c1
-65
-c0
-09
-b5
 62
+27
 68
-01
-4c
-43
-1f
-e6
-7c
-14
-24
-21
-35
-62
-60
-01
+04
+03
+88
+e0
+44
 00
-91
-68
 00
-cc
-42
-60
+18
+a2
+04
 00
-80
-90
-58
+d8
+a0
+44
+77
+18
 00
-4c
-45
-60
-01
-01
-79
-20
+72
+04
 20
-35
+40
 62
+27
 68
-01
-00
-91
-60
-01
-4c
-43
-1f
-e6
-7c
-14
-24
-21
-35
-8f
-98
+02
+44
+77
+e0
+42
 00
-72
 00
 68
-00
-80
-90
+04
+4d
+34
 60
-00
-cc
-42
-68
-01
-01
-79
-98
-00
-0c
-00
-d8
-a0
-4c
-45
+04
+03
+80
 20
 40
-7e
-45
-20
-20
-35
-8f
-68
-01
-02
-cd
-20
-3a
-4d
-fc
+74
+b6
 68
 00
-82
-cf
+c4
+8b
 c0
 00
-83
-a2
+03
+1f
 20
 20
-4d
-bb
+56
+b3
+70
+0b
+7d
+2d
 20
 40
-52
-7a
-24
-7a
-00
-00
+56
 20
 20
-4d
-c3
-e8
-c0
+20
+56
+b5
+68
+00
+cc
+48
+e0
+a0
 80
 00
-c0
-05
-03
-a8
+18
+00
+04
+02
 20
 20
-4e
-14
-e8
-c0
-80
+58
+92
+18
+a0
+8b
+ff
+68
+04
+4c
+4c
+e0
+a4
 00
-1f
-e2
-0e
 00
 e8
-c1
+c4
 00
 00
-1f
-e2
-22
+e0
+a4
 00
-1a
-62
-7e
 00
-9a
-26
-26
+18
+00
+02
+02
+20
+20
+58
+8a
+58
+11
+22
+33
+60
+01
+c4
+7b
+58
+44
+55
+66
+e0
+a1
+80
 00
 58
+77
+88
+99
+e0
+a1
+80
 00
+58
 00
-0b
+11
+22
 e0
-a0
+a1
 80
 00
-18
-e2
-7e
+58
+33
+44
+55
+e0
+a1
+80
 00
+58
+00
+00
+66
 e0
 a0
 80
 00
-e8
-c1
+20
+60
 00
 00
+68
+00
+c4
+44
+c0
+04
+d7
+19
 c0
 01
 03
-b6
+48
 c0
-01
-83
-bd
+03
+d7
+0d
+c0
+03
+03
+40
+20
+20
+56
+56
+70
+0b
+7d
+29
+20
+40
+7c
+27
+70
+0b
+7d
+47
+20
+40
+56
+20
+20
+40
+03
+2d
+68
+04
+44
+7b
+20
+40
+57
+23
 20
 20
-3b
-f1
 58
-02
-00
-08
-e0
-a3
-00
+92
+59
 00
+03
+02
+60
+01
+c4
+b5
 58
 00
-02
 00
+01
 e0
-a2
+a0
+80
 00
+58
+01
 00
-18
+10
+20
+20
+56
+f0
+da
+20
+03
+b0
+20
+34
+83
+51
+da
+20
+44
+9c
+1a
+22
+0a
 00
-7e
-0c
-9a
+20
 40
-a4
-00
+62
+26
 20
 20
-4e
+03
+54
+68
+03
+44
+f9
+68
+0b
+03
+d0
 20
-58
+34
+83
+59
+68
 03
+03
+d0
+68
+0b
+44
+f9
+18
 00
-0c
-e0
-a3
+70
+08
+18
+42
+5e
 00
+1f
 00
-58
+f0
+01
+18
+4f
+5e
 00
+1f
+f0
+7e
 00
-06
-e0
-a4
+9d
+e1
+de
+00
+1f
+00
+f0
+01
+1f
+ef
+5e
 00
+1f
 00
+f0
+01
 18
 00
-7e
-10
-9a
-40
-a4
+5e
 00
-20
-20
-4e
-20
-20
-40
-52
-c4
 18
 00
-24
+7e
 00
-20
-40
-52
-d0
-1f
-e2
-0a
+68
 00
+c4
+e6
+68
+08
+c4
+dc
+24
+34
+83
+69
 68
-01
-02
-cd
-1f
-e2
-26
 00
+c4
+ed
 68
-01
-02
-cb
-98
+08
+c4
+e6
+60
 00
-0c
+c4
+ac
+60
+08
+c4
+ad
+18
 00
-20
-40
-03
-ce
-20
-20
-51
-10
-e8
-c0
-80
+70
 00
-c0
-05
-03
-d1
-20
-20
-51
-16
-e8
-c0
-80
+da
+40
+44
+ac
+18
 00
-1f
-e2
-0e
+72
+04
+ea
+22
 00
-e8
-c1
 00
+ea
+4a
 00
-1f
-e2
-22
 00
-e8
-c1
+98
+42
+de
 00
+1f
 00
-60
+f0
 01
-02
-a0
 1a
-62
-7e
-00
-9a
-26
-26
+20
+a2
+04
+1a
+40
+a4
+04
+c2
 00
+03
+6e
 20
 40
-52
-d0
-58
+75
+9e
+1f
+00
+f1
+fc
+68
+02
+4c
+e8
+1f
+e2
+5e
 00
+1f
 00
-0b
-e0
-a0
+f0
+04
+20
+20
+75
+73
+09
 80
 00
 18
-e2
+78
+28
+7c
+00
+db
+60
+06
+64
+1f
+ef
+7e
+00
+1f
+f1
 7e
 00
 e0
-a0
+a1
 80
 00
-68
-01
-02
-a0
 20
-20
-03
-b3
-da
-40
-00
+23
+37
+5c
+78
+36
+fc
 00
-20
-40
-52
-7a
-24
-7a
+68
 00
+80
+17
+1f
+e0
+a2
 00
 20
 20
-52
-4d
-68
-01
-02
-cb
-1f
-e2
-0c
-00
+54
+af
 e8
-c0
+c1
 80
 00
-1f
-e1
-04
-0f
-1f
-f1
-fe
-00
+60
+01
+83
+f9
 c0
-05
+29
 03
-f7
+c1
 c0
-02
+01
+03
+d8
+c0
+09
+03
+c7
+c0
+03
 83
-f5
+90
+c0
+04
+83
+a5
 c0
 00
 83
-ee
+9d
 c0
-02
-4b
-18
+05
+83
+b8
 20
 20
-4a
-ff
-18
-42
-7e
+59
+07
+68
 00
-c0
-02
-cb
-09
-70
-4c
-be
-01
+cd
+3c
 c0
 01
-cb
-18
+03
+a1
 70
-4c
-be
-00
-c0
-02
-4b
-18
+4d
+3d
+04
+70
+0b
+7d
+3e
 20
-60
+20
+7c
+27
+68
 00
+c4
+e6
+c0
 00
-20
-40
 03
-f7
+9a
+70
+4d
+3d
+03
+70
+0b
+7d
+3e
 20
 20
-4b
-11
-e8
-c0
-80
-00
-c0
-00
-84
-50
+7c
+27
+70
+4d
+3d
+02
+70
+0b
+7d
+3e
 20
-60
-00
-00
 20
-40
-52
-7a
-24
-7a
-00
+7c
+27
+68
 00
-20
-40
+cd
+3c
+c0
+01
 03
-fe
+95
+70
+4d
+3c
+02
 20
 20
-6d
-fd
+03
+e9
 68
-00
-c1
-32
-c1
-00
-80
-00
+02
+03
+47
+60
+02
+4d
+5a
+70
+0b
+7d
+08
+20
+20
+56
+20
 68
-00
-c3
-cd
+01
+03
+42
+1f
+e0
+ff
+fe
+1f
+e6
+fc
+07
 20
-7a
+40
+7e
+fd
+18
+07
+f2
+00
+d8
+c0
+03
+48
+18
+c0
+8c
+03
+e8
+c1
 00
 00
 1f
 e2
-22
+26
 00
-70
-43
-cd
+e8
+c1
 00
-1a
-22
-7e
 00
-c0
-28
-4d
-dc
-20
-60
+d8
+40
+2a
+29
+98
+46
+7c
 00
+20
+22
+83
+b4
+c2
 00
-68
+03
+ab
+20
+20
+03
+95
+1a
+62
+7e
 00
-80
-7d
-c0
+60
 01
-84
+4d
+5a
+70
 0b
-c0
-03
-84
-16
+7d
+0a
 20
 20
-5b
-92
-68
-00
-84
+56
+20
 df
-60
+20
 00
-84
-45
-c0
 09
-83
-62
-c0
-19
-84
-10
-20
+da
 20
-5c
-58
-68
-00
-84
+03
+47
+da
+40
 4d
-79
+40
 20
-7e
-00
-60
-00
-84
+40
+7f
+25
+20
+22
+83
+be
+20
+20
+03
+95
+70
 4d
+3d
+05
 70
 0b
 7d
-01
+3e
+20
 20
-40
 7c
 27
+70
+4c
+e7
+01
+68
+01
+03
+fa
+c0
+10
+83
+c5
 20
 20
-5c
+59
+ed
+d8
+c0
+03
+49
+20
+20
+02
+aa
+68
+01
+03
+fa
+1f
+e6
+7c
+21
+20
+42
 83
+c5
 68
-00
-84
-df
-60
-00
+01
+03
+fa
+1f
+e6
+7c
+2d
+20
+42
+83
+d6
+68
+01
+03
+fa
+68
+09
+4c
+80
+18
+40
 84
+01
+98
 46
-20
-20
-5c
-f3
-78
-54
 7c
 00
 20
+22
+83
+d3
+20
+20
+59
+ca
+70
+0b
+7d
+34
+20
 40
-61
-d9
-68
-00
-80
-48
+7c
+27
 20
-7a
+20
+59
+ca
+70
+41
+31
+01
+20
+60
 00
 00
-c2
-83
-df
-10
-c0
-01
-04
-21
-c0
+70
+0b
+7d
 03
-84
-2e
 20
 20
-5e
-e0
-18
-00
-7e
-11
+56
 20
-40
-61
-b5
 68
 00
-80
-49
-1f
-e2
-04
-00
+c4
+44
+c0
+0d
+85
+40
+c0
+0e
+85
+40
+c0
+08
+84
+d6
 c0
-00
 04
-29
+84
+84
+c0
+02
+84
+72
+c0
+03
+84
+26
+c0
+09
+d8
+5c
+c0
+01
+84
+13
+c0
+05
+84
+16
+c0
+03
+03
+eb
 c0
-07
 04
-29
+04
+03
 c0
-0e
+05
 04
-29
+0a
 20
-60
+20
+56
+66
+70
+4d
+3c
+01
+70
+0b
+7d
+06
+20
+20
+56
+20
+68
+00
+cd
+3c
+c0
+01
+03
+f8
+d8
+a0
+44
+45
+58
 00
 00
+01
 e0
-a0
-80
+a1
 00
-68
 00
-c7
-02
+58
+00
+ff
+ff
 e0
-a0
-80
+a1
+00
 00
 58
 00
+28
 00
-0e
-20
-20
-5f
-a6
+e0
+a1
+00
+00
+d8
+c0
+4d
+4a
 20
 40
-60
-55
-70
+7e
+35
+d8
+40
 00
-72
-64
+1b
 20
-60
+20
+58
+92
+d8
+a0
+44
+45
+58
 00
 00
-68
+01
+e0
+a1
 00
-80
-7c
-20
-3a
-04
-36
-20
-40
-61
-d9
-68
 00
-80
-7c
-24
-7a
+58
 00
+ff
+ff
+e0
+a1
 00
-68
 00
-80
-55
-20
-7a
+58
 00
+28
 00
-c0
-03
-04
-45
-c0
-08
-04
-3b
-20
-20
-62
-3e
-68
+e0
+a1
 00
-c7
-48
-c1
 00
+68
+01
+4d
+3e
+e0
+a1
 00
 00
-c0
+d8
+40
 00
-84
-43
+0d
+20
+20
+58
+92
+68
+02
+4d
+5a
 d8
+a0
+44
+45
 e0
+a2
 00
-0a
-20
-40
-7e
-53
-24
-7a
 00
+58
 00
-70
-47
-48
+28
+03
+e0
+a1
 00
-20
-20
-62
-9b
-20
-74
-80
 00
+18
+00
+04
+0b
 20
 20
-04
-45
+58
+92
 68
-00
-81
-77
-c2
-81
-62
-9b
-c2
-80
-04
-48
-68
-00
-c2
-5e
-20
-3a
-62
-c7
-68
-00
-84
-4d
-c4
 01
-80
-00
-c4
+4d
+5a
+60
 01
+44
+45
+18
 00
-00
-68
-02
 04
-65
-d8
-40
-03
-20
-20
-20
-62
-c2
-e8
-c0
-80
-00
-60
-00
-cc
-b7
+07
 20
-60
-00
-00
 20
-40
-54
-bd
+58
+92
 68
-08
-80
-17
+01
+03
+fa
+c0
+03
+84
+11
 20
-40
-3a
-82
 20
-40
-3a
-87
-78
-28
-7c
-00
-d9
-60
-15
-7c
+57
+d6
+70
+03
+fc
+07
 20
 20
-54
-7f
-70
-44
-3e
+57
+29
+68
 01
-70
-44
-3f
+4c
+4a
+e0
+a1
+00
 00
 20
 20
-53
-4e
-20
-40
-53
-dd
-20
-40
+58
+8a
+68
+01
+03
+fa
+c0
+16
 04
-60
-20
+1a
+c0
+07
+04
+1d
 20
-54
-c1
 20
-36
-81
-f3
+57
+c6
+68
+00
+cd
+29
 20
-40
-53
-ee
+3a
+57
+28
 20
 20
-3a
-91
+57
+c6
 68
 00
 cc
-60
-60
-02
-46
-f9
+49
+c0
+80
+57
+c6
 68
 00
-c4
-db
+cc
+5c
 c0
+01
+d7
+c6
+18
+a2
+04
 00
-84
-68
-20
-20
-54
-e0
 70
-44
-db
+4c
+49
+01
+18
+42
+0a
 00
+70
+03
+fc
+05
 20
 20
-54
-ef
-68
+57
+29
+20
+40
+57
+7b
+20
+74
 00
-83
-c0
-c4
-02
-80
 00
 68
-01
-03
-da
-68
 09
-03
-e0
+44
+c0
+58
+00
+18
+12
 98
 46
-7e
+7c
 00
-24
-61
+20
+22
+84
+3f
+58
 00
+18
+0f
+98
+46
+7c
 00
 20
-20
-55
-7e
-68
+22
+84
+41
+58
 00
-83
-d7
-c3
-82
-80
+18
+0a
+98
+46
+7c
 00
-68
+20
+22
+84
+45
+58
+00
+18
+01
+98
+46
+7c
 00
-83
-41
 20
-3a
-56
-26
+22
+84
+43
 20
 20
-58
-90
+57
+54
 68
 00
-c4
+cc
+5f
+d8
 40
-c0
-03
-84
-8f
-c0
-07
-84
-93
-c0
-03
-04
-82
-c0
-01
+00
+00
+f9
+20
 04
-7f
+00
+98
+41
+7e
+00
 c0
-09
-84
-7d
-20
+80
+57
+28
+68
+00
+cc
+5f
+f9
 20
-56
-3a
-18
+7e
 00
-04
-01
+60
+00
+cc
+5f
 20
 20
-58
-92
-58
+04
+47
+d8
+e0
 00
 00
-0a
-60
-01
-03
-ef
 20
 20
-56
-93
-70
-0b
-7d
-12
-20
-40
-7c
-33
-18
-00
 04
-01
-20
-34
+36
 d8
-92
-70
-0b
-7d
-34
-20
-40
-7c
-27
-68
+e0
 00
-cc
-69
-c0
 01
-04
-8b
 20
 20
 04
-8d
-70
-0b
-7d
-46
+36
+d8
+e0
+00
+03
 20
-40
-56
 20
-18
-00
 04
-01
+36
+d8
+e0
+00
+02
 20
 20
-58
-92
+04
+36
 68
+01
+44
+c0
+1f
+e2
+22
 00
-cc
 68
-e0
-a0
-80
-00
+09
+44
+c4
 18
+42
+24
 00
+20
+40
 04
-02
+4e
 20
+22
+84
+59
 20
-58
-92
-18
-a0
-8b
-ff
-68
+20
+57
+28
+d8
+c0
+45
 04
-4c
-6c
-e0
-a4
+e8
+c1
 00
 00
-e8
-c4
+20
+7a
 00
 00
-e0
-a4
+e8
+c1
+80
 00
+e8
+c1
 00
-18
 00
-02
-02
-20
+9a
+26
+7c
+00
 20
-58
-8a
-68
+62
+80
 00
-c4
-44
+18
 c0
-04
-d7
-19
+8d
+fd
+e8
 c0
-01
-04
-9f
+80
+00
+98
 c0
-03
-d7
-0d
+8c
+00
 20
 20
-56
-56
-59
-00
-03
-02
-60
-01
-c4
-b5
-58
-00
+04
+4f
+18
+c0
+8d
+f9
+e8
+c1
 00
-01
-e0
-a0
-80
 00
-58
+60
 01
-00
-10
+4c
+41
 20
+40
+04
+67
 20
-56
-f0
-09
-80
-00
-18
-78
+3a
+57
 28
-7c
-00
-db
-60
-06
-64
-1f
-ef
-7e
-00
-1f
-f1
-7e
-00
-e0
-a1
-80
-00
-20
-23
-37
-5c
-78
-36
+18
+c0
+8d
 fc
+e8
+c1
 00
-68
 00
-80
-17
 1f
 e0
-a2
+ff
+ff
+60
+01
+4c
+43
+70
+44
+44
+07
+68
+02
+4c
+41
+60
+02
+44
+45
+18
 00
+04
+09
 20
 20
-54
-af
+58
+92
 e8
 c1
-80
 00
-60
-01
-83
-f9
-c0
-29
-04
-b6
+00
+e8
 c0
-01
-04
-cd
+80
+00
+98
 c0
-09
-04
-bc
+8c
+00
+e8
+c1
+00
+00
 20
+7a
+00
+00
+e8
+c1
+00
+00
+9a
+46
+7c
+00
 20
-59
-07
-70
-4d
-38
-01
-68
-01
-03
-fa
+62
+80
+00
+e8
 c0
-10
-84
-ba
-20
-20
-59
-ed
-d8
+80
+00
+98
 c0
-03
-49
+8c
+00
 20
 20
 04
-50
-68
-01
-03
-fa
-1f
-e6
-7c
-21
-20
-42
-84
-ba
-68
-01
-03
-fa
-1f
-e6
-7c
-2d
-20
-42
-84
-cb
-68
-01
+6a
+d9
+60
+00
 03
-fa
-68
-09
-4c
-bc
 18
-40
-84
-01
-98
-46
-7c
 00
-20
-22
-84
-c8
-20
-20
-59
-ca
-70
-0b
-7d
-34
-20
-40
-7c
-27
-20
-20
-59
-ca
-70
-41
-31
+7e
 01
-20
 60
 00
-00
-70
-0b
-7d
-03
-20
-20
-56
-20
-68
-00
 c4
-44
-c0
-0d
-86
-09
-c0
-0e
-86
-09
-c0
-08
-85
-9f
-c0
-04
-85
-51
-c0
-02
-85
-3f
-c0
-03
-84
-f3
-c0
-09
-d8
-5c
-c0
-01
-84
-e0
-c0
-05
-84
-e3
-c0
-06
-84
-db
-20
-20
-56
-66
-68
-01
-03
-fa
-c0
-03
-84
-de
-20
+45
 20
-57
-d6
-70
-03
-fc
-07
+40
+5a
+74
 20
+40
+5a
+7d
 20
+3a
 57
-29
-68
-01
-4c
-6a
+46
+24
+21
+04
+82
+78
+54
+7c
+00
 e0
 a1
 00
 00
-20
-20
-58
-8a
-68
-01
-03
-fa
-c0
-16
-04
-e7
-c0
-07
-04
-ea
-20
-20
-57
-c6
-68
+e8
+c1
 00
-cd
-7e
-20
-3a
-57
-28
-20
-20
-57
-c6
-68
 00
-cc
-69
+e0
+a1
+00
+00
+19
+60
+97
+ff
+20
+22
+d7
+46
+e8
 c0
 80
-57
-c6
-68
 00
-cc
-7c
+98
 c0
-01
-d7
-c6
-18
-a2
-04
-00
-70
-4c
-69
-01
-18
-42
-0a
+8c
 00
-70
-03
-fc
-05
 20
 20
-57
-29
+04
+76
+18
+c0
+8c
+02
 20
-40
-57
-7b
 20
-74
-00
-00
+04
+7f
 68
 09
 44
 c0
 58
 00
-18
-12
+2a
+00
 98
 46
 7c
 00
 20
 22
-85
-0c
+84
+c4
 58
 00
-18
-0f
+2a
+50
 98
 46
 7c
 00
 20
 22
-85
-0e
+84
+d3
 58
 00
-18
-0a
+28
+03
 98
 46
 7c
 00
-20
+24
 22
-85
-12
-58
-00
-18
+d7
+28
+68
 01
-98
-46
+44
+bc
+60
+01
+02
+a0
+78
+34
 7c
 00
 20
-22
-85
-10
-20
-20
-57
-54
-68
-00
-cc
-7f
-d8
 40
-00
-00
-f9
-20
+05
+1a
+24
+21
 04
-00
-98
-41
-7e
-00
-c0
-80
-57
-28
+a0
 68
-00
-cc
-7f
-f9
-20
-7e
-00
-60
-00
-cc
-7f
-20
+09
+02
+a0
 20
+40
 05
-14
-d8
-e0
-00
+22
+c0
 00
+84
+a0
 20
-20
+40
 05
-03
-d8
-e0
+1e
+24
+22
+84
+9e
+78
+54
+7c
 00
-01
 20
+40
+04
+a2
 20
+40
 05
-03
-d8
-e0
-00
-03
-20
+08
 20
+40
 05
-03
-d8
-e0
-00
-02
+22
 20
+40
+04
+aa
 20
-05
-03
-68
-01
-44
-c0
-1f
-e2
-22
-00
-68
-09
-44
-c4
-18
-42
-24
-00
-20
-40
-05
-1b
-20
-22
-85
-26
-20
-20
-57
-28
-d8
-c0
-45
-04
-e8
-c1
-00
-00
-20
-7a
-00
-00
-e8
-c1
-80
-00
-e8
-c1
-00
-00
-9a
-26
-7c
-00
-20
-62
-80
-00
-18
-c0
-8d
-fd
-e8
-c0
-80
-00
-98
-c0
-8c
-00
-20
-20
-05
-1c
-18
-c0
-8d
-f9
-e8
-c1
-00
-00
-60
-01
-4c
-61
-20
-40
-05
-34
 20
-3a
-57
-28
-18
-c0
-8d
-fc
-e8
-c1
-00
-00
-1f
-e0
-ff
-ff
-60
-01
-4c
-63
-70
-44
-44
-07
-68
-02
-4c
-61
-60
-02
-44
-45
-18
-00
 04
-09
-20
-20
-58
-92
-e8
-c1
-00
-00
-e8
-c0
-80
-00
-98
-c0
-8c
-00
-e8
-c1
-00
-00
-20
-7a
-00
-00
-e8
-c1
-00
-00
-9a
-46
-7c
-00
-20
-62
-80
-00
-e8
-c0
-80
-00
-98
-c0
-8c
-00
-20
-20
-05
-37
-d9
-60
-00
-03
-18
-00
-7e
-01
-60
-00
-c4
-45
-20
-40
-5a
-74
-20
-40
-5a
-7d
-20
-3a
-57
-46
-24
-21
-05
-4f
-78
-54
-7c
-00
-e0
-a1
-00
-00
-e8
-c1
-00
-00
-e0
-a1
-00
-00
-19
-60
-97
-ff
-20
-22
-d7
-46
-e8
-c0
-80
-00
-98
-c0
-8c
-00
-20
-20
-05
-43
-18
-c0
-8c
-02
-20
-20
-05
-4c
-68
-09
-44
-c0
-58
-00
-2a
-00
-98
-46
-7c
-00
-20
-22
-85
-91
-58
-00
-2a
-50
-98
-46
-7c
-00
-20
-22
-85
-9c
-58
-00
-28
-03
-98
-46
-7c
-00
-24
-22
-d7
-28
-68
-01
-44
-bc
-60
-01
-02
-a0
-78
-34
-7c
-00
-20
-40
-05
-e3
-24
-21
-05
-6d
-68
-09
-02
 a0
 20
 40
 05
-eb
-c0
-00
-85
-6d
-20
-40
-05
-e7
-24
-22
-85
-6b
-78
-54
-7c
-00
-20
-40
-05
-6f
-20
-40
-05
-d1
-20
-40
-05
-eb
-20
-40
-05
-77
-20
-20
-05
-6d
-20
-40
-05
-d1
+08
 20
 20
-05
-5e
+04
+91
 20
 34
 57
 28
 20
 20
-06
-07
+05
+3e
 68
 01
 02
@@ -5579,15 +4759,15 @@
 68
 00
 cc
-67
+47
 1f
 e2
 72
 00
 20
 40
-06
-01
+05
+38
 d8
 a0
 44
@@ -5598,24 +4778,24 @@
 45
 20
 20
-06
-04
+05
+3b
 68
 09
 4c
-65
+45
 18
 4c
 fe
 00
 c0
 82
-85
-89
+84
+bc
 20
 40
 05
-fe
+35
 68
 01
 02
@@ -5626,8 +4806,8 @@
 00
 20
 40
-06
-04
+05
+3b
 58
 00
 45
@@ -5659,7 +4839,7 @@
 20
 40
 05
-fe
+35
 18
 42
 0c
@@ -5670,12 +4850,12 @@
 45
 20
 20
-06
-04
+05
+3b
 20
 40
 05
-fe
+35
 68
 01
 02
@@ -5687,15 +4867,15 @@
 68
 01
 4c
-65
+45
 e0
 a1
 00
 00
 20
 40
-06
-04
+05
+3b
 70
 44
 45
@@ -5712,6 +4892,22 @@
 c0
 80
 00
+58
+00
+00
+13
+1f
+e2
+72
+00
+20
+20
+04
+cb
+e8
+c0
+80
+00
 1f
 e2
 72
@@ -5758,8 +4954,8 @@
 0c
 20
 20
-05
-92
+04
+c9
 d9
 60
 00
@@ -5783,11 +4979,11 @@
 20
 40
 05
-e3
+1a
 24
 21
-05
-c7
+04
+fe
 68
 09
 02
@@ -5795,19 +4991,19 @@
 20
 40
 05
-eb
+22
 c0
 00
 85
-ca
+01
 20
 40
 05
-e7
+1e
 24
 22
-85
-c3
+84
+fa
 68
 00
 8d
@@ -5815,11 +5011,11 @@
 c0
 00
 85
-ca
+01
 24
 34
-05
-b4
+04
+eb
 78
 54
 7c
@@ -5827,7 +5023,7 @@
 68
 00
 cc
-67
+47
 1f
 e0
 fe
@@ -5838,16 +5034,16 @@
 45
 20
 40
-06
-04
+05
+3b
 20
 20
-05
-be
+04
+f5
 68
 00
 cc
-67
+47
 1f
 e6
 7c
@@ -5855,7 +5051,7 @@
 20
 22
 85
-ca
+01
 68
 00
 c4
@@ -5867,7 +5063,7 @@
 20
 22
 85
-ca
+01
 68
 01
 02
@@ -5883,7 +5079,7 @@
 20
 40
 05
-da
+11
 68
 01
 02
@@ -5895,31 +5091,31 @@
 20
 40
 05
-d5
+0c
 19
 60
 97
 ff
 20
 22
-85
-c5
+84
+fc
 20
 40
 05
-d1
+08
 20
 20
-05
-a4
+04
+db
 70
 0d
 5c
 01
 20
 20
-05
-c3
+04
+fa
 68
 01
 02
@@ -5931,7 +5127,7 @@
 20
 20
 05
-ce
+05
 68
 01
 02
@@ -5947,7 +5143,7 @@
 20
 20
 05
-ce
+05
 20
 34
 57
@@ -5955,11 +5151,11 @@
 20
 40
 05
-da
+11
 20
 20
-06
-07
+05
+3e
 68
 09
 02
@@ -5979,7 +5175,7 @@
 68
 00
 cc
-67
+47
 60
 00
 81
@@ -5990,8 +5186,8 @@
 00
 20
 40
-06
-01
+05
+38
 20
 20
 7e
@@ -5999,7 +5195,7 @@
 20
 40
 05
-fe
+35
 68
 01
 0d
@@ -6030,8 +5226,8 @@
 45
 20
 20
-06
-04
+05
+3b
 68
 09
 02
@@ -6055,7 +5251,7 @@
 68
 09
 4c
-65
+45
 98
 46
 7c
@@ -6079,7 +5275,7 @@
 20
 3a
 05
-f6
+2d
 e8
 c9
 00
@@ -6087,7 +5283,7 @@
 60
 09
 4c
-65
+45
 9a
 26
 7c
@@ -6095,7 +5291,7 @@
 20
 22
 85
-f8
+2f
 e8
 c0
 80
@@ -6107,7 +5303,7 @@
 20
 20
 05
-ed
+24
 58
 00
 00
@@ -6123,7 +5319,7 @@
 60
 00
 cc
-67
+47
 18
 c2
 7e
@@ -6179,7 +5375,7 @@
 20
 40
 05
-fe
+35
 20
 20
 58
@@ -6215,7 +5411,7 @@
 68
 00
 cc
-82
+62
 1f
 e0
 ff
@@ -6235,7 +5431,7 @@
 68
 08
 cc
-82
+62
 20
 20
 58
@@ -6254,24 +5450,28 @@
 00
 c0
 01
-86
-29
+85
+65
 c0
 05
-06
-2d
+05
+7b
 c0
 00
-06
-24
+05
+60
 c0
 09
-06
-2b
+05
+79
 c0
 01
-06
-2f
+05
+7e
+c0
+03
+05
+5c
 1f
 e6
 7c
@@ -6283,7 +5483,7 @@
 60
 00
 cc
-68
+48
 70
 0b
 7d
@@ -6293,6 +5493,22 @@
 56
 20
 20
+74
+80
+00
+70
+0b
+7d
+3d
+20
+40
+7c
+27
+20
+20
+59
+4a
+20
 40
 59
 24
@@ -6306,20 +5522,92 @@
 04
 60
 09
+4c
+fe
+20
+60
+00
+00
+e8
+c4
+00
+00
+60
+02
 4d
-4f
+2c
+e8
+c1
+00
+00
+60
+01
+4d
+2a
+20
+40
+59
+39
+68
+00
+cc
+49
+c0
+01
+05
+6d
+20
+40
+05
+70
+68
+04
+03
+80
+60
+04
+4d
+34
 20
 60
 00
 00
+68
+03
+4d
+2a
+20
+3a
+05
+76
 70
 4c
-7c
-00
+5c
+03
 20
+40
+03
+2d
+70
+44
+8b
+01
 20
-59
-38
+60
+00
+00
+70
+4c
+5c
+01
+70
+44
+8b
+00
+20
+60
+00
+00
 70
 0b
 7d
@@ -6329,6 +5617,10 @@
 56
 20
 70
+4d
+28
+01
+70
 0b
 7d
 2b
@@ -6358,8 +5650,8 @@
 01
 20
 20
-86
-36
+85
+85
 20
 20
 58
@@ -6370,8 +5662,8 @@
 3f
 20
 3a
-06
-39
+05
+88
 20
 20
 58
@@ -6398,31 +5690,31 @@
 00
 c0
 00
-86
-44
+85
+93
 c0
 02
-06
-4a
+05
+99
 c0
 04
-86
-42
+85
+91
 20
 20
 58
 f8
 70
 4c
-69
+49
 03
 20
 20
 59
 74
 70
-4d
-3d
+4c
+ec
 01
 60
 00
@@ -6446,28 +5738,160 @@
 20
 20
 40
-74
-a8
+05
+a0
 20
 22
-86
-4d
+85
+9c
 20
 20
 59
 68
 70
 4c
-69
+49
 02
 20
+40
+05
+a8
+70
+44
+8b
+01
+20
 20
 59
-6a
+6b
+d8
+a0
+44
+9c
+20
+34
+85
+a3
+d8
+a0
+03
+b0
+18
+c2
+22
+00
+20
+40
+7e
+35
+20
+40
+03
+54
+d8
+c0
+44
+8c
+20
+20
+75
+bc
+20
+40
+05
+ab
+d8
+a0
+44
+7b
+20
+20
+75
+a3
+18
+00
 70
+00
+68
+02
+03
+b0
+98
+00
+5e
+00
+1f
+00
+f0
+01
+e8
+c2
+00
+00
+98
+00
+5e
+00
+1f
+00
+f0
+01
+68
+02
+44
+9c
+98
+00
+5e
+00
+1f
+00
+f0
+01
+e8
+c2
+00
+00
+98
+00
+5e
+00
+1f
+00
+f0
+01
+20
+40
+75
+9e
+1f
+00
+f1
+fc
+68
+02
 4c
-7d
+e8
+1f
+e2
+5e
+00
+1f
+00
+f0
+04
+18
+00
+6c
+38
+18
 00
+6c
+08
+20
+20
+75
+2f
 20
 40
 3f
@@ -6494,19 +5918,15 @@
 00
 70
 4c
-7c
-00
-70
-4c
-69
+5c
 00
 70
 4c
-7f
+49
 00
 70
 4c
-7d
+5f
 00
 20
 20
@@ -6530,28 +5950,28 @@
 00
 68
 02
-4d
-40
+4c
+ef
 60
 02
 4d
-72
+1c
 20
 40
-06
-84
+05
+f2
 24
 34
-06
-77
+05
+e5
 70
 4c
-15
+0b
 0a
 20
 40
 06
-a6
+13
 68
 00
 cb
@@ -6560,14 +5980,10 @@
 ff
 80
 00
-70
-4c
-3d
-02
 68
 00
-cd
-45
+cc
+f4
 24
 7a
 00
@@ -6575,7 +5991,7 @@
 20
 40
 01
-c4
+5f
 24
 74
 00
@@ -6611,7 +6027,7 @@
 68
 01
 cd
-7a
+24
 20
 40
 7e
@@ -6627,7 +6043,7 @@
 20
 40
 01
-c4
+5f
 24
 74
 00
@@ -6663,19 +6079,19 @@
 68
 00
 cc
-15
+0b
 24
 3a
-06
-73
+05
+e1
 68
 02
 4d
-72
+1c
 20
 20
-06
-74
+05
+e2
 68
 00
 cb
@@ -6683,19 +6099,19 @@
 c0
 ff
 86
-f7
+62
 20
 40
-06
-8b
+05
+f9
 20
 54
 06
-a2
+0f
 20
 54
-07
-66
+06
+cc
 70
 4b
 e6
@@ -6715,27 +6131,27 @@
 68
 00
 cd
-57
+01
 c0
 02
 06
-95
+03
 c0
 02
 86
-98
+06
 c0
 03
 86
-9e
+0c
 c0
 03
 06
-9b
+09
 68
 00
-cd
-45
+cc
+f4
 24
 5a
 34
@@ -6746,7 +6162,7 @@
 00
 70
 4d
-57
+01
 00
 70
 4b
@@ -6755,10 +6171,10 @@
 20
 20
 06
-a0
+0e
 70
 4d
-57
+01
 03
 70
 4b
@@ -6767,10 +6183,10 @@
 20
 20
 06
-a0
+0e
 70
 4d
-57
+01
 02
 70
 4b
@@ -6779,7 +6195,7 @@
 20
 20
 06
-a0
+0e
 70
 4b
 e2
@@ -6788,10 +6204,6 @@
 4b
 e1
 08
-70
-4b
-e7
-00
 20
 20
 34
@@ -6803,7 +6215,7 @@
 d8
 c0
 4d
-57
+01
 d8
 a0
 0c
@@ -6816,18 +6228,26 @@
 4b
 e8
 00
+58
+00
+00
+00
+60
+01
+4c
+04
 20
 40
 06
-cb
+36
 24
 37
 86
-b4
+24
 20
 40
 06
-dc
+47
 68
 00
 cb
@@ -6841,8 +6261,8 @@
 cb
 e0
 70
-4d
-45
+4c
+f4
 00
 68
 00
@@ -6851,15 +6271,19 @@
 c0
 ff
 86
-ca
+7c
 20
 40
 06
-c6
-70
-4b
-e7
+32
+58
 00
+00
+00
+60
+01
+4c
+04
 70
 4b
 e6
@@ -6869,21 +6293,21 @@
 00
 00
 70
-4d
-45
+4c
+f4
 01
 68
-00
-cb
-e7
+01
+4c
+04
 1f
 e0
 fe
 01
 60
-00
-cb
-e7
+01
+4c
+04
 68
 00
 cb
@@ -6891,31 +6315,15 @@
 c0
 ff
 86
-d7
-68
-00
-cb
-e7
-c0
-7f
-86
-d9
+42
 68
+01
+4c
+04
+c3
+85
 00
-cb
-e7
-d8
-40
-00
-10
-98
-46
-7c
 00
-20
-21
-07
-85
 68
 00
 cb
@@ -6928,18 +6336,18 @@
 00
 cb
 e8
+1f
+e1
+7e
+01
 20
-00
-00
-0a
-c0
-82
+5a
 06
-a7
+eb
 20
 20
-07
-85
+06
+16
 58
 00
 00
@@ -6951,15 +6359,11 @@
 60
 04
 cd
-57
+01
 20
 60
 00
 00
-20
-20
-07
-11
 78
 57
 fc
@@ -6967,7 +6371,7 @@
 20
 40
 07
-dd
+43
 20
 00
 04
@@ -6999,26 +6403,26 @@
 20
 40
 07
-9d
+03
 20
 57
 87
-d7
+3d
 20
 60
 00
 00
 70
-4d
-45
+4c
+f4
 00
 20
 60
 00
 00
 70
-4d
-45
+4c
+f4
 00
 70
 0b
@@ -7030,8 +6434,8 @@
 27
 20
 40
-07
-46
+06
+b1
 68
 00
 8c
@@ -7083,18 +6487,18 @@
 c0
 7f
 86
-ec
+57
 60
 00
 cc
-b7
+7b
 20
 60
 00
 00
 70
 4d
-7d
+27
 01
 20
 60
@@ -7107,11 +6511,11 @@
 20
 40
 06
-f3
+5e
 20
 40
 06
-b0
+1f
 70
 4b
 ef
@@ -7134,12 +6538,12 @@
 eb
 20
 20
-07
-58
+06
+be
 20
 40
 06
-f3
+5e
 68
 00
 cb
@@ -7155,15 +6559,15 @@
 c0
 00
 86
-ff
+6a
 c0
 01
-07
-02
+06
+6d
 c0
 01
-87
-05
+86
+70
 20
 20
 3b
@@ -7178,8 +6582,8 @@
 aa
 20
 20
-07
-07
+06
+72
 70
 4b
 ef
@@ -7190,8 +6594,8 @@
 55
 20
 20
-07
-07
+06
+72
 70
 4b
 ef
@@ -7226,16 +6630,16 @@
 07
 20
 40
-07
-41
+06
+ac
 20
 40
-07
-66
+06
+cc
 20
 40
-06
-89
+05
+f7
 20
 20
 34
@@ -7250,16 +6654,16 @@
 00
 c0
 08
-87
-17
+86
+82
 c0
 09
-07
-19
+06
+84
 c0
 09
-87
-1b
+86
+86
 20
 60
 00
@@ -7271,7 +6675,7 @@
 20
 20
 06
-b0
+1f
 70
 4b
 ef
@@ -7279,7 +6683,7 @@
 20
 20
 06
-b0
+1f
 70
 4b
 ef
@@ -7298,24 +6702,24 @@
 19
 20
 40
-07
-58
+06
+be
 20
 20
 06
-b0
+1f
 79
 20
 00
 23
 20
 40
-07
-59
+06
+bf
 20
 40
-07
-85
+06
+eb
 68
 00
 cb
@@ -7326,8 +6730,8 @@
 00
 20
 40
-07
-33
+06
+9e
 58
 00
 00
@@ -7351,19 +6755,19 @@
 c0
 7f
 86
-d9
+44
 20
 40
 06
-cb
+36
 24
 37
-87
-3c
+86
+a7
 20
 40
 06
-c6
+32
 79
 20
 00
@@ -7406,12 +6810,12 @@
 37
 20
 40
-07
-41
+06
+ac
 20
 20
-07
-66
+06
+cc
 68
 01
 4c
@@ -7426,12 +6830,12 @@
 04
 20
 40
-07
-85
+06
+eb
 20
 20
-07
-29
+06
+94
 60
 08
 cb
@@ -7464,26 +6868,6 @@
 00
 cb
 df
-1f
-e0
-fe
-01
-d8
-c0
-0c
-b4
-98
-c0
-8c
-00
-e8
-c1
-80
-00
-60
-01
-cc
-0b
 20
 60
 00
@@ -7491,11 +6875,11 @@
 68
 08
 cc
-3c
+22
 58
 00
 4c
-2b
+11
 98
 40
 8a
@@ -7519,7 +6903,7 @@
 60
 08
 cc
-3c
+22
 20
 60
 00
@@ -7550,8 +6934,8 @@
 00
 c2
 00
-07
-5c
+06
+c2
 1a
 22
 7e
@@ -7559,15 +6943,15 @@
 60
 01
 4c
-16
+0c
 68
 00
 cc
-16
+0c
 68
 08
 cc
-17
+0d
 98
 40
 fe
@@ -7575,7 +6959,7 @@
 60
 00
 cc
-18
+0e
 20
 60
 00
@@ -7642,8 +7026,8 @@
 ef
 c0
 ff
-87
-78
+86
+de
 68
 00
 cb
@@ -7666,8 +7050,8 @@
 e2
 c0
 00
-87
-83
+86
+e9
 d8
 c0
 0c
@@ -7682,8 +7066,8 @@
 d5
 c0
 01
-87
-81
+86
+e7
 20
 60
 00
@@ -7710,8 +7094,8 @@
 ea
 20
 40
-07
-8b
+06
+f1
 18
 40
 84
@@ -7802,8 +7186,8 @@
 00
 20
 40
-07
-94
+06
+fa
 78
 26
 fc
@@ -7835,7 +7219,7 @@
 24
 2c
 07
-d7
+3d
 78
 46
 fc
@@ -7863,11 +7247,11 @@
 60
 00
 cc
-19
+0f
 68
 08
 cc
-18
+0e
 98
 46
 7c
@@ -7875,7 +7259,7 @@
 24
 22
 87
-d7
+3d
 09
 80
 00
@@ -7903,7 +7287,7 @@
 24
 20
 87
-d7
+3d
 09
 80
 00
@@ -7927,7 +7311,7 @@
 20
 22
 87
-c1
+27
 09
 80
 00
@@ -7943,7 +7327,7 @@
 c2
 00
 07
-bd
+23
 18
 a2
 22
@@ -7959,7 +7343,7 @@
 60
 00
 cc
-2a
+10
 1a
 22
 0a
@@ -7995,7 +7379,7 @@
 20
 23
 07
-d7
+3d
 78
 37
 fc
@@ -8023,15 +7407,15 @@
 68
 00
 cc
-2a
+10
 1f
 e2
 22
 00
 20
 20
-07
-4f
+06
+b5
 78
 4d
 fc
@@ -8070,12 +7454,12 @@
 00
 20
 40
-07
-94
+06
+fa
 20
 40
 07
-da
+40
 79
 20
 2a
@@ -8127,7 +7511,7 @@
 68
 00
 cc
-18
+0e
 08
 00
 86
@@ -8155,7 +7539,7 @@
 c2
 00
 07
-f3
+59
 78
 24
 7c
@@ -8188,720 +7572,1268 @@
 20
 3a
 7a
-e6
-69
-aa
-55
-43
-39
-02
-05
-df
-02
-02
-ab
-e8
-64
-80
-f8
-e9
-33
-e8
-33
-60
-11
-04
-60
-f0
-ed
-33
-ec
-33
+68
+00
+cd
+7b
+20
+7a
+00
+00
 70
-09
-e8
-fc
-e9
-fd
-ea
-fe
-eb
+4b
+ef
 ff
-22
-04
-60
-de
-d3
-eb
-9f
-ea
-9e
-e9
-9d
-e8
-c2
-e7
-8c
-f0
-c2
-f7
-95
-f0
-40
-0c
-e8
-cc
-f8
-e9
-cd
-f9
-ea
-ce
-fa
-eb
-cf
-fb
-12
-02
-76
-85
-d0
-f0
-58
-04
 70
-03
-20
-d5
-b3
-e8
-04
+4d
+7c
+2e
 70
-07
-50
-02
-b2
-d5
-02
+4b
+e9
+2e
+70
+4d
+82
 02
-b5
-92
-d5
-ec
+68
+00
+cd
+83
+c0
+00
+87
+b3
+68
+08
+cd
+7d
+18
+41
 04
+0f
 60
-f7
-e4
-cc
+08
+cd
+7d
+18
+41
+7e
+07
 c0
-e0
-c3
+00
+87
+74
+c0
+01
+87
+74
+c0
+03
+87
+74
+70
+4d
+7d
+09
+68
+00
+cd
+7c
+d8
+40
+00
+51
 98
-f8
-60
-3b
-94
-18
+46
+7c
+00
+24
+21
+07
+79
+70
+4d
+7c
+00
+68
+01
+cd
+7c
 60
+01
+cd
+7f
+70
+89
+07
+00
+68
 08
+cd
+7f
+20
 40
-0d
-d0
-e0
-fb
-02
-02
-8d
-e4
-fb
-fa
-c9
+07
+93
+20
+40
+01
+8e
+20
+40
+01
+91
+78
+43
 fc
-80
-28
-e8
-30
-e4
-06
-e4
-c9
-fb
-e4
-ca
+00
+78
+2e
 fc
-e8
+00
+78
 30
-e3
-05
-e4
-c9
-ca
-cb
-fc
-e8
-54
+7c
+00
+68
+08
+cd
+80
+18
+41
+2a
 07
-60
+68
 10
-f8
-c3
-e9
-13
-f9
-ea
-13
-fa
-eb
-13
-fb
-ec
-13
-fc
-d8
-f1
-30
-f5
-2f
-c3
-e4
-9c
-fc
-ef
-9b
-ff
-ee
-9a
+89
+08
+28
+4f
 fe
-ed
-99
-fd
-d0
-e0
-fb
-ef
-4e
-4d
-4c
-70
-12
-22
-db
 03
-02
-02
-b2
-ec
-2c
-fc
-ef
-33
-ff
-ee
-33
+79
+20
 fe
-ed
-33
-fd
-ed
-30
-e7
-eb
-02
-02
-8d
-ef
-2b
-ff
-ee
+05
+60
+10
+89
+08
+68
+00
+cd
+83
+24
 3a
-fe
-ed
-39
-fd
-d0
-e0
-fb
-50
-13
-0b
-bb
+07
+6a
+68
 00
-03
-02
-02
-b5
-ed
-13
-fd
-ee
-13
-fe
-ef
-13
-ff
-ec
-13
-fc
-02
-02
-8d
-ec
+cd
+81
+08
+00
+86
+08
+20
+40
+07
+9a
+68
+01
 4d
-60
-11
-e8
-49
-70
-17
-ed
-33
-ec
-33
-04
-60
-0d
-e4
-fc
-ff
-fe
-fd
+7f
+68
+09
+4d
+7c
+98
+46
+7c
+00
+20
 22
-e9
-33
-e8
-33
-04
+87
+89
+20
+20
+07
+6c
 70
-f8
-02
-02
-ab
-12
-02
-76
-58
+89
 04
-60
-09
-e4
-cc
-24
-81
-50
-06
-28
-50
-09
-02
-02
-b5
-28
-40
-03
-02
-02
-b2
-c0
-e0
-eb
-4a
-70
-44
-b9
-80
-06
-d0
-e0
-fb
-02
-02
-a1
-ef
-4e
+77
 70
-1c
-bd
-80
-08
-eb
-ff
-ea
-fe
-e9
-fd
-80
-eb
-e9
-8d
-f0
-a4
-fe
-e5
-f0
-02
-01
-e4
-e9
-cd
-f9
-ea
-fe
-eb
-ff
-ef
 89
-f0
-a4
-fc
-e5
-f0
-ce
+03
+03
+20
+00
+00
+0a
+70
 89
-f0
-a4
-2e
-ff
-e4
-35
-f0
-cd
+03
+83
+70
 89
-f0
-a4
-2d
-fe
-e4
-35
-f0
-80
-67
-ef
-4e
+04
+7f
 70
-05
-bd
-80
-d7
-80
-c3
-ef
-8b
-f0
-a4
-ac
-f0
-ee
-8b
-f0
-a4
-2c
-fc
-e4
-35
-f0
-f8
-ef
-8a
-f0
-a4
-2c
-e5
-f0
-38
-fc
-e4
-33
-cb
-8d
-f0
-a4
-2c
-fc
-e5
-f0
-3b
-f8
-ee
-8a
-f0
-a4
-2c
-fc
-e5
-f0
-38
-f8
-e4
-33
-cf
 89
-f0
-a4
-2c
-fc
-e5
-f0
-38
-cf
-34
+03
+a7
+20
+60
 00
-ce
-89
-f0
-a4
+00
+68
+00
+cd
+be
 2f
-ff
-e5
-f0
-3e
-fe
-e4
-33
-c9
-8d
-f0
-a4
-2e
+ef
 fe
-e5
-f0
-39
+06
+20
+40
+87
+a6
+68
+00
 cd
-8a
-f0
-a4
+bf
 2f
-ff
-e5
-f0
-3e
+ef
 fe
-e4
-3d
-fd
-33
-d0
-e0
-fb
-50
-07
-0b
-bb
+06
+20
+40
+87
+a9
+68
 00
-0f
-02
-02
-b5
-ec
-2c
-fc
+cd
+bf
+2f
 ef
-33
-ff
-ee
-33
 fe
-ed
-33
-fd
-02
-02
-8d
-75
-f0
+01
+20
+40
+87
+ac
+68
+01
+4d
+be
+60
+01
+4d
+95
+20
+60
+00
+00
+68
+00
+cd
+95
+c3
+83
+00
+00
+20
+20
+07
+d9
+68
+00
+cd
+96
+c3
+83
+00
+00
+20
 20
+07
+d3
+68
+00
+cd
+96
+c3
 80
-0e
-75
-f0
-10
 80
-05
-75
-f0
-08
-7d
 00
-7e
-00
-7f
+68
 00
-33
-92
-d5
-30
-d5
-03
-12
-05
-57
-ec
-33
-40
-10
-ef
-33
-ff
-ee
-33
+cd
+83
+1f
+e0
 fe
-ed
-33
-fd
-ec
-33
-fc
-d5
-f0
-ed
-22
-e5
-f0
-24
+01
+1f
+e1
 7e
-a2
-d5
-13
-cc
-92
-e7
-cd
-ce
-ff
-22
-ed
-d2
-e7
+01
+60
+00
 cd
-33
-ec
-33
-92
-d5
-24
-81
+83
+20
+60
+00
+00
+20
 40
-06
-e4
-ff
-fe
-fd
-fc
-22
-fc
-e4
-cf
-ce
+07
+9a
+68
+00
 cd
-cc
-24
+83
+20
+3a
+07
+6a
+58
+cc
+cc
+cc
+60
+01
+8d
+37
 e0
-50
-11
-74
-ff
+a1
 80
-ed
-c3
-cc
-13
+00
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+e0
+a1
+80
+00
+da
+20
+0d
+37
+d8
+40
+00
+19
+20
+40
+06
+ac
+20
+40
+06
 cc
+20
+40
+3a
+6d
+20
+00
+17
+70
+20
+40
+06
+36
+20
+40
+3a
+6d
+20
+00
+17
+70
+20
+40
+06
+36
+20
+40
+3a
+6d
+20
+00
+17
+70
+20
+40
+06
+36
+20
+40
+3a
+6d
+20
+00
+17
+70
+20
+40
+06
+36
+20
+40
+3a
+6d
+20
+00
+17
+70
+20
+40
+06
+36
+20
+20
+07
+b3
+68
+00
 cd
-13
+82
+c0
+01
+87
+ea
+1f
+e0
+fe
+01
+1f
+e1
+7e
+03
+60
+00
 cd
-ce
-13
-ce
-cf
-13
-cf
-04
+82
+20
+20
+07
+e0
+68
+00
+cd
+82
+c0
+00
+87
+e3
+c0
+00
+07
+e3
+1f
+e0
+ff
+ff
+1f
+e1
+7e
+03
+60
+00
+cd
+82
+20
+20
+07
+e0
+c0
+00
+87
+e3
+c0
+01
+07
+e7
+c0
+01
+87
+ea
 70
-f0
-30
-d5
-de
+4d
+82
+01
+70
+4d
+7c
+02
+70
+4b
+e9
+02
+20
+60
+00
+00
+70
+4d
+7c
+2e
+70
+4b
+e9
+2e
+20
+60
+00
+00
+70
+4d
+7c
+4f
+70
+4b
+e9
+4f
+20
+60
+00
+00
+82
+88
+aa
+55
+ff
+36
 02
 05
-57
+df
+02
+02
+ab
+e8
+64
+80
+f8
 e9
-d2
-e7
-c9
 33
 e8
 33
-f8
-92
-d5
+60
+11
+04
+60
+f0
 ed
-d2
-e7
-cd
 33
 ec
 33
+70
+09
+e8
 fc
+e9
+fd
+ea
+fe
+eb
+ff
+22
+04
+60
+de
+d3
+eb
+9f
+ea
+9e
+e9
+9d
+e8
+c2
+e7
+8c
+f0
+c2
+f7
+95
+f0
+40
+0c
+e8
+cc
+f8
+e9
+cd
+f9
+ea
+ce
+fa
+eb
+cf
+fb
+12
+02
+76
+85
+d0
+f0
+58
+04
+70
+03
+20
+d5
+b3
+e8
+04
+70
+07
 50
 02
 b2
 d5
-22
+02
+02
+b5
+92
+d5
 ec
-30
-e7
-10
-0f
-bf
-00
-0c
-0e
-be
-00
+04
+60
+f7
+e4
+cc
+c0
+e0
+c3
+98
+f8
+60
+3b
+94
+18
+60
 08
+40
 0d
-bd
-00
-04
-0b
-eb
+d0
+e0
+fb
+02
+02
+8d
+e4
+fb
+fa
+c9
+fc
+80
+28
+e8
+30
+e4
+06
+e4
+c9
+fb
+e4
+ca
+fc
+e8
+30
+e3
+05
+e4
+c9
+ca
+cb
+fc
+e8
+54
+07
 60
-14
-a2
-d5
+10
+f8
+c3
+e9
+13
+f9
+ea
+13
+fa
 eb
 13
+fb
+ec
+13
+fc
+d8
+f1
+30
+f5
+2f
+c3
+e4
+9c
 fc
+ef
+9b
+ff
+ee
+9a
+fe
 ed
-92
-e7
+99
 fd
+d0
+e0
+fb
+ef
+4e
+4d
+4c
+70
+12
 22
-74
-ff
+db
+03
+02
+02
+b2
+ec
+2c
 fc
-fd
+ef
+33
+ff
+ee
+33
 fe
+ed
+33
+fd
+ed
+30
+e7
+eb
+02
+02
+8d
+ef
+2b
 ff
-22
-e4
-80
-f8
-a2
-d5
-74
+ee
+3a
+fe
+ed
+39
+fd
+d0
+e0
+fb
+50
+13
+0b
+bb
+00
+03
+02
+02
+b5
+ed
+13
+fd
+ee
+13
+fe
+ef
+13
 ff
+ec
 13
 fc
-7d
-80
-e4
-80
-ef
-e7
-09
-f6
-08
+02
+02
+8d
+ec
+4d
+60
+11
+e8
+49
+70
+17
+ed
+33
+ec
+33
+04
+60
+0d
+e4
+fc
+ff
+fe
+fd
+22
+e9
+33
+e8
+33
+04
+70
+f8
+02
+02
+ab
+12
+02
+76
+58
+04
+60
+09
+e4
+cc
+24
+81
+50
+06
+28
+50
+09
+02
+02
+b5
+28
+40
+03
+02
+02
+b2
+c0
+e0
+eb
+4a
+70
+44
+b9
+80
+06
+d0
+e0
+fb
+02
+02
+a1
+ef
+4e
+70
+1c
+bd
+80
+08
+eb
+ff
+ea
+fe
+e9
+fd
+80
+eb
+e9
+8d
+f0
+a4
+fe
+e5
+f0
+02
+01
+e4
+e9
+cd
+f9
+ea
+fe
+eb
+ff
+ef
+89
+f0
+a4
+fc
+e5
+f0
+ce
+89
+f0
+a4
+2e
+ff
+e4
+35
+f0
+cd
+89
+f0
+a4
+2d
+fe
+e4
+35
+f0
+80
+67
+ef
+4e
+70
+05
+bd
+80
+d7
+80
+c3
+ef
+8b
+f0
+a4
+ac
+f0
+ee
+8b
+f0
+a4
+2c
+fc
+e4
+35
+f0
+f8
+ef
+8a
+f0
+a4
+2c
+e5
+f0
+38
+fc
+e4
+33
+cb
+8d
+f0
+a4
+2c
+fc
+e5
+f0
+3b
+f8
+ee
+8a
+f0
+a4
+2c
+fc
+e5
+f0
+38
+f8
+e4
+33
+cf
+89
+f0
+a4
+2c
+fc
+e5
+f0
+38
+cf
+34
+00
+ce
+89
+f0
+a4
+2f
+ff
+e5
+f0
+3e
+fe
+e4
+33
+c9
+8d
+f0
+a4
+2e
+fe
+e5
+f0
+39
+cd
+8a
+f0
+a4
+2f
+ff
+e5
+f0
+3e
+fe
+e4
+3d
+fd
+33
+d0
+e0
+fb
+50
+07
+0b
+bb
+00
+0f
+02
+02
+b5
+ec
+2c
+fc
+ef
+33
+ff
+ee
+33
+fe
+ed
+33
+fd
+02
+02
+8d
+75
+f0
+20
+80
+0e
+75
+f0
+10
+80
+05
+75
+f0
+08
+7d
+00
+7e
+00
+7f
+00
+33
+92
+d5
+30
+d5
+03
+12
+05
+57
+ec
+33
+40
+10
+ef
+33
+ff
+ee
+33
+fe
+ed
+33
+fd
+ec
+33
+fc
+d5
+f0
+ed
+22
+e5
+f0
+24
+7e
+a2
+d5
+13
+cc
+92
+e7
+cd
+ce
+ff
+22
+ed
+d2
+e7
+cd
+33
+ec
+33
+92
+d5
+24
+81
+40
+06
+e4
+ff
+fe
+fd
+fc
+22
+fc
+e4
+cf
+ce
+cd
+cc
+24
+e0
+50
+11
+74
+ff
+80
+ed
+c3
+cc
+13
+cc
+cd
+13
+cd
+ce
+13
+ce
+cf
+13
+cf
+04
+70
+f0
+30
+d5
+de
+02
+05
+57
+e9
+d2
+e7
+c9
+33
+e8
+33
+f8
+92
+d5
+ed
+d2
+e7
+cd
+33
+ec
+33
+fc
+50
+02
+b2
+d5
+22
+ec
+30
+e7
+10
+0f
+bf
+00
+0c
+0e
+be
+00
+08
+0d
+bd
+00
+04
+0b
+eb
+60
+14
+a2
+d5
+eb
+13
+fc
+ed
+92
+e7
+fd
+22
+74
+ff
+fc
+fd
+fe
+ff
+22
+e4
+80
+f8
+a2
+d5
+74
+ff
+13
+fc
+7d
+80
+e4
+80
+ef
+e7
+09
+f6
+08
 df
 fa
 80
@@ -9711,7 +9643,7 @@
 26
 02
 1f
-da
+b5
 e4
 93
 a3
@@ -9839,25 +9771,25 @@
 be
 52
 4e
-5a
+5c
 ff
 13
-bc
+f4
 00
 00
 00
 ff
-33
-01
+22
+88
 ff
-2e
-f2
+31
+98
 00
 00
 00
 ff
-32
-3c
+35
+b7
 00
 1a
 08
@@ -9959,7 +9891,7 @@
 30
 26
 34
-a5
+7f
 44
 3a
 1a
@@ -9984,7 +9916,7 @@
 27
 32
 36
-76
+65
 33
 52
 53
@@ -10043,12 +9975,12 @@
 00
 90
 4f
-05
+06
 ef
 f0
 90
 4c
-f0
+b9
 e0
 70
 03
@@ -10057,22 +9989,22 @@
 02
 90
 4c
-f0
+b9
 e0
 14
 f0
 e4
 90
 4d
-e8
+ea
 f0
 90
 4e
-59
+5b
 f0
 90
 4f
-05
+06
 e0
 ff
 75
@@ -10080,7 +10012,7 @@
 1f
 a4
 24
-f2
+f4
 f5
 82
 e4
@@ -10099,7 +10031,7 @@
 1f
 a4
 24
-f3
+f5
 f9
 74
 4d
@@ -10114,7 +10046,7 @@
 74
 90
 4e
-c8
+ca
 74
 06
 f0
@@ -10123,14 +10055,14 @@
 7d
 90
 4f
-05
+06
 e0
 75
 f0
 1f
 a4
 24
-f9
+fb
 f9
 74
 4d
@@ -10145,7 +10077,7 @@
 7b
 90
 4e
-c8
+ca
 74
 10
 f0
@@ -10154,14 +10086,14 @@
 7d
 90
 4f
-05
+06
 e0
 75
 f0
 1f
 a4
 24
-09
+0b
 f9
 74
 4e
@@ -10176,7 +10108,7 @@
 f9
 90
 4e
-c8
+ca
 74
 06
 f0
@@ -10186,18 +10118,18 @@
 7f
 2b
 12
-10
-ad
+13
+c9
 90
 4d
-e8
+ea
 74
 01
 f0
 e4
 90
 4c
-f0
+b9
 f0
 90
 44
@@ -10207,7 +10139,7 @@
 22
 90
 4e
-59
+5b
 74
 01
 f0
@@ -10236,8 +10168,8 @@
 7f
 2b
 12
-10
-ad
+13
+c9
 90
 42
 5e
@@ -10247,7 +10179,7 @@
 22
 90
 4f
-06
+07
 ed
 f0
 ef
@@ -10262,7 +10194,7 @@
 1f
 a4
 24
-f2
+f4
 f5
 82
 e4
@@ -10279,7 +10211,7 @@
 1f
 a4
 24
-f3
+f5
 f5
 82
 e4
@@ -10296,7 +10228,7 @@
 d0
 90
 4e
-c8
+ca
 74
 06
 f0
@@ -10304,14 +10236,14 @@
 7d
 90
 4f
-06
+07
 e0
 75
 f0
 1f
 a4
 24
-f9
+fb
 f5
 82
 e4
@@ -10328,7 +10260,7 @@
 7b
 90
 4e
-c8
+ca
 74
 10
 f0
@@ -10336,14 +10268,14 @@
 7d
 90
 4f
-06
+07
 e0
 75
 f0
 1f
 a4
 24
-09
+0b
 f5
 82
 e4
@@ -10360,7 +10292,7 @@
 f9
 90
 4e
-c8
+ca
 74
 06
 f0
@@ -10369,7 +10301,7 @@
 22
 90
 4e
-c3
+c5
 ee
 f0
 a3
@@ -10386,7 +10318,7 @@
 f0
 90
 4e
-c8
+ca
 e0
 ff
 14
@@ -10396,7 +10328,7 @@
 27
 90
 4e
-c5
+c7
 e0
 fb
 a3
@@ -10416,7 +10348,7 @@
 ff
 90
 4e
-c3
+c5
 e4
 75
 f0
@@ -10436,7 +10368,7 @@
 22
 90
 4e
-c9
+cb
 eb
 f0
 a3
@@ -10452,23 +10384,23 @@
 f0
 90
 4d
-e5
+e6
 f0
 90
 4d
-dd
+de
 f0
 90
 4d
-da
+db
 f0
 90
 4e
-cd
+cf
 f0
 90
 4e
-cd
+cf
 e0
 ff
 c3
@@ -10478,7 +10410,7 @@
 4d
 90
 4e
-c9
+cb
 e0
 fb
 a3
@@ -10505,11 +10437,11 @@
 b6
 ff
 b4
-a5
+7f
 06
 90
 4d
-e5
+e6
 74
 01
 f0
@@ -10519,13 +10451,13 @@
 06
 90
 4d
-dd
+de
 74
 01
 f0
 90
 4e
-c9
+cb
 e0
 fb
 a3
@@ -10541,13 +10473,13 @@
 06
 90
 4d
-da
+db
 74
 01
 f0
 90
 4e
-cd
+cf
 e0
 04
 f0
@@ -10555,7 +10487,7 @@
 a9
 90
 4e
-c9
+cb
 e0
 fb
 a3
@@ -10565,16 +10497,16 @@
 e0
 f9
 12
-2c
-27
+2e
+c0
 ef
 60
 02
 81
-1d
+1c
 90
 4e
-c9
+cb
 e0
 a3
 e0
@@ -10586,33 +10518,33 @@
 3a
 90
 4e
-4f
+51
 e0
 64
 02
 60
 02
 81
-1d
+1c
 90
 4d
-e7
+e9
 e0
 60
 02
 81
-1d
+1c
 90
 4e
-4f
+51
 f0
 90
 4d
-f0
+f2
 f0
 90
 4d
-ec
+ee
 e0
 60
 0a
@@ -10620,7 +10552,7 @@
 f0
 90
 4e
-50
+52
 74
 06
 f0
@@ -10628,7 +10560,7 @@
 06
 90
 4e
-50
+52
 74
 02
 f0
@@ -10637,42 +10569,42 @@
 7a
 4e
 79
-50
+52
 7d
 03
 81
-1e
+1d
 90
-4d
-01
+4c
+ca
 e0
 60
 08
 e4
 f0
 90
-4d
-46
+4c
+f5
 74
 03
 f0
 90
 4d
-7d
+27
 e0
 60
 08
 e4
 f0
 90
-4d
-46
+4c
+f5
 74
 03
 f0
 90
 4c
-c7
+8b
 e0
 b4
 04
@@ -10685,28 +10617,28 @@
 f0
 90
 4d
-e9
+eb
 74
 0a
 f0
 e4
 90
 4c
-e3
+ab
 f0
 a3
 f0
 90
 4c
-d5
+9c
 e0
 b4
 01
 12
 e4
 90
-4d
-40
+4c
+ef
 f0
 a3
 74
@@ -10723,8 +10655,8 @@
 10
 e4
 90
-4d
-40
+4c
+ef
 f0
 a3
 74
@@ -10754,7 +10686,7 @@
 7a
 4e
 79
-50
+52
 7d
 09
 7c
@@ -10763,7 +10695,7 @@
 01
 90
 4e
-c9
+cb
 e0
 fb
 a3
@@ -10796,7 +10728,7 @@
 64
 29
 70
-20
+1f
 90
 00
 02
@@ -10805,39 +10737,38 @@
 cf
 b4
 0e
-17
+16
 90
 4c
-c3
+87
 e0
 ff
 60
 03
 b4
 fe
-0d
+0c
 12
-17
-c6
+18
+c7
 7f
 0a
-12
-16
-f3
+f1
+72
 7f
 0a
 12
-10
-d7
+11
+e2
 90
 4c
-b6
+7a
 74
 01
 f0
 90
 4c
-f4
+bd
 e0
 ff
 64
@@ -10845,24 +10776,24 @@
 70
 02
 81
-1d
+1c
 ef
 64
 04
 70
 02
 81
-1d
+1c
 ef
 64
 02
 70
 02
 81
-1d
+1c
 90
 4c
-c5
+89
 e0
 64
 03
@@ -10870,11 +10801,11 @@
 45
 90
 4e
-cd
+cf
 f0
 90
 4e
-cd
+cf
 e0
 ff
 c3
@@ -10884,7 +10815,7 @@
 37
 90
 4e
-c9
+cb
 e0
 fb
 a3
@@ -10924,14 +10855,14 @@
 47
 06
 90
-4d
-46
+4c
+f5
 74
 03
 f0
 90
 4e
-cd
+cf
 e0
 04
 f0
@@ -10939,7 +10870,7 @@
 bf
 90
 4e
-c9
+cb
 e0
 fb
 a3
@@ -10949,11 +10880,11 @@
 e0
 f9
 12
-26
-7f
+25
+89
 90
 4e
-4f
+51
 e0
 b4
 01
@@ -10963,21 +10894,21 @@
 f0
 90
 4e
-50
+52
 f0
 7b
 01
 7a
 4e
 79
-50
+52
 7d
 03
 81
-1e
+1d
 90
 4e
-4f
+51
 e0
 b4
 04
@@ -10987,7 +10918,7 @@
 f0
 90
 4e
-50
+52
 74
 06
 f0
@@ -10996,14 +10927,14 @@
 7a
 4e
 79
-50
+52
 7d
 03
 81
-1e
+1d
 90
 4e
-4f
+51
 e0
 64
 03
@@ -11016,22 +10947,22 @@
 2f
 90
 4d
-e7
+e9
 e0
 70
 29
 e4
 90
 4e
-4f
+51
 f0
 90
 4d
-f0
+f2
 f0
 90
 4d
-ec
+ee
 e0
 60
 0a
@@ -11039,7 +10970,7 @@
 f0
 90
 4e
-50
+52
 74
 06
 f0
@@ -11047,7 +10978,7 @@
 06
 90
 4e
-50
+52
 74
 02
 f0
@@ -11056,20 +10987,20 @@
 7a
 4e
 79
-50
+52
 7d
 03
 81
-1e
+1d
 90
 4d
-e7
+e9
 e0
 70
 16
 90
 4e
-c9
+cb
 e0
 fb
 a3
@@ -11097,7 +11028,7 @@
 f0
 90
 4e
-c9
+cb
 e0
 fb
 a3
@@ -11115,14 +11046,14 @@
 f0
 90
 4c
-c5
+89
 e0
 b4
 03
 0a
 90
-4d
-46
+4c
+f5
 e0
 90
 48
@@ -11138,11 +11069,11 @@
 e4
 90
 4d
-e2
+e3
 f0
 90
 4e
-59
+5b
 e0
 70
 6f
@@ -11153,7 +11084,7 @@
 03
 cf
 b4
-a5
+7f
 15
 7e
 48
@@ -11168,7 +11099,7 @@
 fa
 90
 4e
-c8
+ca
 74
 05
 f0
@@ -11182,7 +11113,7 @@
 03
 90
 4e
-c9
+cb
 e0
 fb
 a3
@@ -11198,7 +11129,7 @@
 fa
 90
 4e
-c8
+ca
 74
 06
 f0
@@ -11206,13 +11137,13 @@
 7d
 90
 4e
-cd
+cf
 74
 03
 f0
 90
 4e
-cd
+cf
 e0
 ff
 c3
@@ -11232,11 +11163,11 @@
 83
 e0
 b4
-a5
+7f
 0f
 90
 4e
-cd
+cf
 e0
 24
 00
@@ -11251,7 +11182,7 @@
 f0
 90
 4e
-cd
+cf
 e0
 04
 f0
@@ -11263,7 +11194,7 @@
 03
 90
 4e
-c9
+cb
 e0
 fb
 a3
@@ -11279,7 +11210,7 @@
 fa
 90
 4e
-c8
+ca
 74
 06
 f0
@@ -11294,11 +11225,11 @@
 7d
 09
 91
-1e
+1d
 22
 90
 4e
-7e
+80
 eb
 f0
 a3
@@ -11314,7 +11245,7 @@
 ff
 90
 4e
-81
+83
 e0
 fe
 ef
@@ -11324,7 +11255,7 @@
 23
 90
 4e
-7e
+80
 e0
 fb
 a3
@@ -11343,7 +11274,7 @@
 cf
 fe
 74
-82
+84
 2f
 f5
 82
@@ -11359,7 +11290,7 @@
 d3
 12
 18
-4b
+35
 ef
 70
 02
@@ -11367,7 +11298,7 @@
 00
 90
 4c
-eb
+b4
 e0
 60
 02
@@ -11375,7 +11306,7 @@
 00
 90
 4c
-c7
+8b
 e0
 ff
 64
@@ -11394,7 +11325,7 @@
 18
 90
 4e
-82
+84
 e0
 b4
 06
@@ -11407,26 +11338,26 @@
 7a
 4e
 79
-82
+84
 90
 4e
-81
+83
 e0
 fd
 12
-38
-74
+35
+e6
 90
 4c
-c5
+89
 e0
 64
 03
 70
-62
+63
 90
 4e
-82
+84
 e0
 64
 01
@@ -11441,7 +11372,7 @@
 14
 90
 4e
-85
+87
 e0
 70
 0e
@@ -11455,13 +11386,13 @@
 06
 90
 4d
-e0
+e1
 f0
 80
 32
 90
 4d
-e0
+e1
 74
 01
 f0
@@ -11469,7 +11400,7 @@
 2a
 90
 4e
-82
+84
 e0
 b4
 02
@@ -11487,13 +11418,13 @@
 06
 90
 4d
-e0
+e1
 f0
 80
 12
 90
 4d
-e0
+e1
 74
 01
 f0
@@ -11501,7 +11432,7 @@
 0a
 90
 4e
-82
+84
 e0
 b4
 03
@@ -11514,18 +11445,19 @@
 7a
 4e
 79
-82
+84
 90
 4e
-81
+83
 e0
 fd
-f1
-ee
+12
+35
+d4
 22
 90
 4e
-f6
+f5
 eb
 f0
 a3
@@ -11546,7 +11478,7 @@
 16
 90
 4e
-f6
+f5
 e0
 fb
 a3
@@ -11572,9 +11504,9 @@
 7a
 4c
 79
-bf
+83
 7d
-52
+53
 7c
 00
 b1
@@ -11632,7 +11564,7 @@
 7a
 4e
 79
-50
+52
 7d
 09
 7c
@@ -11642,19 +11574,15 @@
 e4
 90
 4d
-e9
+eb
 f0
 90
 4d
-ef
+f1
 f0
 90
 4d
-db
 f0
-90
-4d
-e4
 f0
 90
 4d
@@ -11662,71 +11590,72 @@
 f0
 90
 4d
-ee
+d6
 f0
 90
 4d
-e0
+ea
 f0
 90
 4d
-d6
+e8
 f0
 90
-4d
-e8
+4e
+51
 f0
 90
 4d
-e6
+e0
 f0
 90
-4e
-4f
+4d
+e3
 f0
 90
 4d
-df
+e6
 f0
 90
 4d
-e2
+ef
 f0
 90
 4d
-e5
+d9
 f0
 90
 4d
-ea
+ec
 f0
 90
 4d
-f0
+f2
 f0
 90
 4c
-b7
-74
+e7
 f0
+90
+4d
+d5
 f0
 90
 4d
-e3
+49
 f0
-e4
 90
 4d
-38
+da
 f0
 90
 4d
-d5
+e7
 f0
 22
 90
 4e
-ff
+fe
 ef
 f0
 a3
@@ -11755,7 +11684,7 @@
 ff
 90
 4e
-ff
+fe
 e0
 fe
 ef
@@ -11765,8 +11694,8 @@
 01
 f0
 90
-4f
-00
+4e
+ff
 e0
 90
 48
@@ -11781,43 +11710,28 @@
 7d
 09
 81
-1e
-90
-4c
-c8
-e0
-b4
-02
-03
-02
-29
-b4
+1d
 90
 4c
-f4
+bd
 e0
 ff
 60
-0d
+08
 64
 03
 60
-09
-ef
-64
-05
-60
 04
 ef
 b4
-08
+05
 03
 02
-23
-9f
+29
+0f
 90
 4c
-f4
+bd
 e0
 b4
 01
@@ -11828,69 +11742,35 @@
 e4
 fd
 b1
-ca
+c7
 90
 4c
-f4
+bd
 74
 02
 f0
 22
 90
 4c
-f4
+bd
 e0
-64
+b4
 02
-70
-2c
-90
-4d
-0d
-e0
-60
-16
-e4
-f0
-90
-4c
-f4
-74
-07
-f0
-90
-4c
-f8
-74
-03
-f0
-90
-4d
-0c
-74
-01
-f0
-80
-06
-90
-4c
-f4
+0b
 74
 03
 f0
-90
-4c
-f5
+a3
 e0
 ff
 a3
 e0
 fd
-a1
-ca
+80
+8d
 90
 4c
-f4
+bd
 e0
 b4
 04
@@ -11898,57 +11778,57 @@
 e4
 90
 4c
-f6
+bf
 f0
 90
 4c
-f5
+be
 e0
 ff
 e4
 fd
 b1
-ca
+c7
 e4
 90
 4c
-f5
+be
 f0
 90
 4c
-f8
+c1
 e0
 70
 07
 90
 4c
-f4
+bd
 74
 06
 f0
 22
 90
 4c
-f4
+bd
 74
 05
 f0
 22
 90
 4c
-f4
+bd
 e0
 b4
 06
-16
+15
 e4
 90
 4c
-f6
+bf
 f0
 90
 4c
-f5
+be
 f0
 a3
 e0
@@ -11956,71 +11836,37 @@
 e4
 ff
 b1
-ca
+c7
 e4
 90
 4c
-f4
+bd
 f0
 22
 90
-4c
-f4
+4d
+df
 e0
-b4
+60
+0f
+e0
+14
+f0
+e0
+70
 09
-1a
-e4
 90
-4c
-f6
+41
+31
+04
+f0
+90
+4d
+dd
 f0
 90
 4c
-f5
-e0
-ff
-e4
-fd
-b1
-ca
-90
-4c
-f4
-74
-08
-f0
-90
-4c
-f8
-74
-0a
-f0
-22
-90
-4d
-de
-e0
-60
-0f
-e0
-14
-f0
-e0
-70
-09
-90
-41
-31
-04
-f0
-90
-4d
-dc
-f0
-90
-4c
-c7
+8b
 e0
 ff
 64
@@ -12034,19 +11880,19 @@
 39
 90
 4d
-7e
+29
 e0
 60
 33
 90
 4d
-dc
+dd
 e0
 70
 10
 90
 4c
-e3
+ab
 e0
 fe
 a3
@@ -12063,35 +11909,35 @@
 e4
 90
 4d
-dc
+dd
 f0
 90
 4e
-50
+52
 74
 04
 f0
 90
 4c
-f9
+c2
 e0
 90
 4e
-51
+53
 f0
 7b
 01
 7a
 4e
 79
-50
+52
 7d
 02
 91
-1e
+1d
 90
 4c
-e3
+ab
 e0
 70
 04
@@ -12102,20 +11948,20 @@
 60
 02
 e1
-c7
+71
 12
-17
-c6
+18
+c7
 90
 4c
-ec
+b5
 74
 01
 f0
 22
 90
 4c
-c5
+89
 e0
 64
 03
@@ -12123,7 +11969,7 @@
 39
 90
 4c
-e4
+ac
 e0
 54
 1f
@@ -12145,7 +11991,7 @@
 e4
 90
 4e
-4f
+51
 f0
 90
 48
@@ -12160,27 +12006,27 @@
 7d
 09
 91
-1e
+1d
 c3
 90
 4c
-e4
+ac
 e0
 94
-14
+58
 90
 4c
-e3
+ab
 e0
 94
-00
+02
 40
 39
 80
-38
+5d
 90
 4c
-c5
+89
 e0
 b4
 01
@@ -12188,30 +12034,30 @@
 c3
 90
 4c
-e4
+ac
 e0
 94
 78
 90
 4c
-e3
+ab
 e0
 94
 00
 40
 21
 80
-20
+45
 c3
 90
 4c
-e4
+ac
 e0
 94
 12
 90
 4c
-e3
+ab
 e0
 94
 00
@@ -12219,7 +12065,7 @@
 10
 90
 4d
-e8
+ea
 e0
 60
 07
@@ -12228,15 +12074,52 @@
 7f
 0e
 12
-10
-ad
+13
+c9
 12
 17
+96
+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
+e4
+90
+0b
+7f
+f0
+90
+0b
+7e
+f0
+7f
+01
+80
+db
 12
-1c
-d7
+17
+bc
 90
 4b
 ef
@@ -12244,24 +12127,14 @@
 ff
 f0
 90
-4d
-01
+4c
+ca
 74
 01
 f0
 90
 4c
-b7
-74
-f0
-f0
-90
-4d
-e3
-f0
-90
-4d
-40
+ef
 74
 ff
 f0
@@ -12273,14 +12146,8 @@
 f0
 22
 90
-0b
-e7
-74
-06
-f0
-90
 4f
-10
+0f
 ed
 f0
 e0
@@ -12295,11 +12162,10 @@
 e9
 90
 4e
-c8
+ca
 ed
 f0
-12
-08
+11
 7d
 7b
 01
@@ -12309,14 +12175,14 @@
 e7
 90
 4f
-10
+0f
 e0
 24
 02
 fd
 90
 4e
-bd
+bf
 eb
 f0
 a3
@@ -12337,7 +12203,7 @@
 e0
 90
 4e
-c1
+c3
 cf
 f0
 a3
@@ -12362,11 +12228,11 @@
 7b
 64
 12
-35
-a8
+10
+6b
 90
 4e
-c0
+c2
 e0
 fe
 ef
@@ -12376,7 +12242,7 @@
 e1
 90
 4e
-c0
+c2
 e0
 ff
 14
@@ -12386,7 +12252,7 @@
 3f
 90
 4e
-bd
+bf
 e0
 fb
 a3
@@ -12406,7 +12272,7 @@
 ff
 90
 4e
-c1
+c3
 e4
 75
 f0
@@ -12423,7 +12289,7 @@
 f0
 90
 4e
-c1
+c3
 e0
 fe
 a3
@@ -12437,7 +12303,7 @@
 c3
 90
 4e
-c1
+c3
 74
 4a
 f0
@@ -12449,7 +12315,7 @@
 b7
 90
 4e
-c1
+c3
 e0
 ff
 a3
@@ -12465,219 +12331,559 @@
 22
 90
 4e
-e0
+de
+ee
+f0
+a3
 ef
 f0
-78
-e1
-7c
+90
 4e
-7d
-01
-7b
+e0
+ec
+f0
+a3
+ed
+f0
+90
+4e
+e0
+e0
+fe
+a3
+e0
 ff
-7a
-07
-79
-34
-7e
-00
-7f
-03
-12
-03
+d3
+90
+4e
+df
+e0
+9f
 90
+4e
+de
+e0
+9e
+40
+16
 90
 4e
 e0
 e0
+fe
+a3
+e0
+ff
 90
 4e
-e3
-f0
-7b
-01
-7a
+df
+e0
+9f
+ff
+90
+4e
+de
+e0
+9e
+fe
+80
+1e
+90
+4e
+de
+e0
+fe
+a3
+e0
+ff
+c3
+90
 4e
-79
 e1
-7d
+e0
+9f
+ff
+90
+4e
+e0
+e0
+9e
+fe
+ad
 03
-01
-18
+c3
+eb
+9f
+ff
+e4
+9e
+fe
+22
 90
-4f
-09
-ef
-f0
-14
+4c
+8b
+e0
+64
+04
+60
+07
+90
+4c
+89
+e0
 b4
-0d
+03
+03
+7f
+01
+22
+7f
 00
-40
-02
-41
-b5
+22
 90
-10
-f2
-75
-f0
-03
-a4
-c5
-83
-25
+4d
 f0
-c5
-83
-73
-02
-11
-19
-02
-11
-19
-02
-11
-19
-02
-12
-b5
-02
-11
-5c
-02
-11
-a8
-02
-11
-b0
-02
-11
-fd
-02
-11
-fd
+e0
+64
 02
-12
-65
+60
 02
-12
-b5
+21
+cf
+90
+4c
+b1
+e0
+70
 02
-12
-b5
+a3
+e0
+60
 02
-11
-58
+21
+b2
 90
 4c
-c5
+b7
 e0
-ff
-64
-03
 60
-04
-ef
-b4
 02
-0d
-7f
-22
-11
-ad
+21
+b2
 90
-4f
-09
+4c
+9c
 e0
+b4
+02
+04
+f1
+96
+80
+37
 90
 4c
-ed
-f0
-22
-90
-4f
-09
+9c
 e0
+b4
+01
 14
 90
-4d
-d7
-f0
+4c
+c0
+e0
+70
+2a
 90
-42
-13
+4c
+aa
 74
-05
+0c
 f0
 90
 4c
+c0
+74
+01
 f0
-f0
-7f
-04
-11
-ad
-7f
-0a
-d1
-f3
-7f
-2a
-11
-ad
-e4
+80
+1c
 90
 4c
-ed
-f0
-22
-7f
-0e
+c0
+e0
+b4
 01
-ad
+15
+90
+41
+31
+74
+01
+f0
 e4
 90
 4c
+c0
 f0
+90
+4c
+aa
 f0
-f1
-c6
-ef
-70
-0c
-12
-18
-cb
-ef
-70
-06
-12
-18
-e7
+c2
+01
+7f
+1f
+31
+d0
+11
+c5
 ef
 60
-0f
+61
+c3
 90
-4f
-09
+4c
+ac
 e0
+94
+0c
 90
 4c
-ed
-f0
-90
-4d
+ab
+e0
+94
+00
+50
+40
+90
+4c
+7b
+e0
+30
+e0
+0e
+90
+4c
+ad
+e0
+70
+14
+d2
+01
+7f
+0f
+31
+d0
+80
+0c
+90
+4c
+ad
+e0
+70
+06
+c2
+01
+7f
+0f
+31
+d0
+90
+4c
+7b
+e0
+30
+e1
+0c
+90
+4c
+ad
+e0
+70
+53
+d2
+01
+7f
+10
+80
+4e
+90
+4c
+ad
+e0
+70
+47
+c2
+01
+7f
+10
+80
+42
+90
+4c
+ad
+e0
+70
+06
+c2
+01
+7f
+0f
+31
+d0
+c2
+01
+7f
+10
+80
+30
+90
+4c
+ad
+e0
+70
+06
+c2
+01
+7f
+0f
+31
+d0
+c2
+01
+7f
+10
+80
+1e
+90
+4c
+7b
+e0
+54
+fc
+f0
+90
+4c
+b1
+e0
+70
+02
+a3
+e0
+70
+06
+c2
+01
+7f
+0f
+31
+d0
+c2
+01
+7f
+10
+31
+d0
+22
 ef
+f4
+60
+0d
+7b
+01
+7a
+80
+79
 74
+a2
+01
+92
+00
+12
+36
+29
+22
+90
+4f
+09
+ef
+f0
+14
+b4
+0d
+00
+40
+02
+61
+c3
+90
+11
+fd
+75
+f0
+03
+a4
+c5
+83
+25
+f0
+c5
+83
+73
+02
+12
+24
+02
+12
+24
+02
+12
+24
+02
+13
+c3
+02
+12
+6e
+02
+12
+b0
+02
+12
+b9
+02
+13
+07
+02
+13
+07
+02
+13
+70
+02
+13
+c3
+02
+13
+c3
+02
+12
+6a
+90
+4c
+89
+e0
+ff
+64
 03
+60
+04
+ef
+b4
+02
+0d
+7f
+22
+71
+c9
+90
+4f
+09
+e0
+90
+4c
+b6
+f0
+22
+90
+4f
+09
+e0
+14
+90
+4d
+d7
+f0
+90
+42
+13
+74
+05
+f0
+90
+4c
+b9
+f0
+90
+4c
+d2
+74
+01
+f0
+7f
+04
+71
+c9
+7f
+0a
+12
+0f
+72
+7f
+2a
+71
+c9
+e4
+90
+4c
+b6
 f0
 22
+7f
+0e
+61
+c9
+e4
+90
+4c
+b9
+f0
 12
 18
-dd
+c7
+ef
+70
+0c
+12
+18
+b5
+ef
+70
+06
+12
+1f
+fb
+ef
+60
+0f
+90
+4f
+09
+e0
+90
+4c
+b6
+f0
+90
+4d
+f1
+74
+03
+f0
+22
+f1
+e6
 e4
 90
 4d
@@ -12689,37 +12895,28 @@
 f0
 90
 4e
-59
+5b
 f0
 12
-18
-fe
+22
+02
 7f
 0d
-11
-ad
-90
-4c
-e9
-74
-f0
-f0
+71
+c9
 e4
 90
 4c
-ee
-f0
-90
-4c
-ed
+b6
 f0
 22
-f1
-c6
+12
+18
+c7
 e4
 90
 4c
-ed
+b6
 f0
 22
 7b
@@ -12727,17 +12924,17 @@
 7a
 4d
 79
-f2
+f4
 7d
 5d
 7c
 00
 12
-20
-ce
+35
+fc
 90
 4c
-c0
+84
 74
 ff
 f0
@@ -12745,20 +12942,21 @@
 f0
 7f
 c8
-d1
-f3
+12
+0f
+72
 c2
 01
 7f
 ff
-51
-bb
+31
+d0
 7b
 01
 7a
 4d
 79
-f2
+f4
 7d
 5d
 7c
@@ -12769,13 +12967,13 @@
 7f
 12
 1a
-94
+88
 7b
 01
 7a
 4c
 79
-c0
+84
 7d
 01
 7c
@@ -12786,27 +12984,27 @@
 7f
 12
 1a
-94
+88
 d2
 01
 7f
 ff
-51
-bb
+31
+d0
 e4
 90
 4c
-ed
+b6
 f0
 22
 e4
 90
 4c
-f0
+b9
 f0
 12
 18
-cb
+b5
 ef
 60
 09
@@ -12816,7 +13014,7 @@
 e0
 90
 4c
-ed
+b6
 f0
 22
 7b
@@ -12834,16 +13032,17 @@
 7e
 7f
 12
-19
-41
+20
+b0
 7f
 0a
-d1
-f3
+12
+0f
+72
 e4
 90
 4e
-59
+5b
 f0
 90
 4c
@@ -12881,17 +13080,17 @@
 f0
 90
 4e
-59
+5b
 74
 01
 f0
 7f
 21
-11
-ad
+71
+c9
 90
 4c
-c5
+89
 74
 02
 f0
@@ -12900,22 +13099,23 @@
 f0
 90
 4c
-ed
+b6
 f0
 22
 e4
 90
 4c
+b9
 f0
-f0
-f1
-c6
+12
+18
+c7
 ef
 70
 06
 12
 18
-cb
+b5
 ef
 60
 09
@@ -12925,29 +13125,29 @@
 e0
 90
 4c
-ed
+b6
 f0
 22
 90
 4c
-c5
+89
 e0
 64
 01
 60
-29
+2b
 e4
 90
 4e
-59
+5b
 f0
 7f
 23
-11
-ad
+71
+c9
 90
 4c
-c5
+89
 74
 01
 f0
@@ -12956,362 +13156,153 @@
 f0
 90
 4c
-ee
+b7
 74
-f0
+14
 f0
 c2
 01
 7f
 ff
-51
-bb
+31
+d0
 c2
 01
 7f
 1f
-51
-bb
+31
+d0
 e4
 90
 4c
-e9
+b1
+f0
+a3
 f0
 e4
 90
 4c
-ed
+b6
 f0
 22
 e4
 90
 4c
-ed
+b6
 f0
 22
+90
+4e
+e2
 ef
-f4
-60
-0d
-7b
+f0
+78
+e3
+7c
+4e
+7d
 01
+7b
+ff
 7a
-80
+07
 79
-74
-a2
-01
-92
+34
+7e
 00
+7f
+03
 12
-1f
-79
-22
-90
-4d
-ee
-e0
-64
-02
-60
-02
-61
-bb
+03
 90
-4c
-e9
-e0
-60
-02
-61
-a2
 90
-4c
-ee
+4e
+e2
 e0
-60
-02
-61
-a2
 90
-4c
-d5
-e0
-b4
-02
-04
-f1
-bd
-80
-37
-90
-4c
-d5
-e0
-b4
-01
-14
-90
-4c
-f7
-e0
-70
-2a
-90
-4c
-e2
-74
-0c
-f0
-90
-4c
-f7
-74
-01
-f0
-80
-1c
-90
-4c
-f7
-e0
-b4
-01
-15
-90
-41
-31
-74
-01
-f0
-e4
-90
-4c
-f7
-f0
-90
-4c
-e2
-f0
-c2
-01
-7f
-1f
-51
-bb
-12
-18
-36
-ef
-60
-61
-c3
-90
-4c
-e4
-e0
-94
-0c
-90
-4c
-e3
-e0
-94
-00
-50
-40
-90
-4c
-b7
-e0
-30
-e0
-0e
-90
-4c
-e5
-e0
-70
-14
-d2
-01
-7f
-0f
-51
-bb
-80
-0c
-90
-4c
-e5
-e0
-70
-06
-c2
-01
-7f
-0f
-51
-bb
-90
-4c
-b7
-e0
-30
-e1
-0c
-90
-4c
-e5
-e0
-70
-4f
-d2
-01
-7f
-10
-41
-bb
-90
-4c
-e5
-e0
-70
-43
-c2
-01
-7f
-10
-41
-bb
-90
-4c
-e5
-e0
-70
-06
-c2
-01
-7f
-0f
-51
-bb
-c2
-01
-7f
-10
-41
-bb
-90
-4c
+4e
 e5
-e0
-70
-06
-c2
-01
-7f
-0f
-51
-bb
-c2
-01
-7f
-10
-41
-bb
-90
-4c
-b7
-e0
-54
-fc
 f0
-90
-4c
-e9
-e0
-70
-06
-c2
+7b
 01
-7f
+7a
+4e
+79
+e3
+7d
+03
+02
 0f
-51
-bb
-c2
-01
-7f
-10
-51
-bb
-22
+d6
 90
 4f
-0e
+0d
 ef
 f0
 12
 05
 b3
-15
-dd
+16
+2b
 14
 16
-ae
+f7
 15
 14
-c1
+fe
 27
 16
-75
+be
 29
-13
-f2
+14
+2d
 2f
 14
-bb
+f8
 30
 15
-12
+50
 31
 15
-86
+d5
 32
-13
-f2
+14
+2d
 33
 16
-4f
+99
 34
 16
-8f
+d8
 35
 15
-0a
+48
 37
 14
-c1
+fe
 39
 15
-12
+50
+3c
+17
 3c
+3e
 00
 00
-16
-f2
+17
+95
 12
 1f
-31
+c3
 12
-30
-50
+33
+c5
 7b
 01
 7a
 4c
 79
-ff
+c8
 7d
 01
 7c
@@ -13321,11 +13312,11 @@
 7e
 7f
 12
-19
-41
+20
+b0
 90
 4c
-ff
+c8
 e0
 64
 01
@@ -13333,7 +13324,7 @@
 3e
 90
 4c
-91
+71
 e0
 fe
 a3
@@ -13342,24 +13333,24 @@
 c3
 90
 4c
-96
+76
 e0
 9f
 90
 4c
-95
+75
 e0
 9e
 50
 05
 12
-1e
-d0
+0f
+8a
 80
 e6
 90
 4c
-e0
+a7
 e0
 fe
 a3
@@ -13368,50 +13359,50 @@
 c3
 90
 4c
-96
+76
 e0
 9f
 90
 4c
-95
+75
 e0
 9e
 50
 0f
 90
 4c
-d5
+9c
 74
 02
 f0
 e4
 90
 4c
-e5
+ad
 f0
 7f
 19
-01
-ad
+61
+c9
 7f
 1e
 f1
-f1
+f0
 50
 17
 90
 4c
-c0
+84
 74
 01
 f0
 90
-4d
-0b
+4c
+cc
 f0
 90
-4d
-0a
+4c
+cb
 f0
 c2
 05
@@ -13419,43 +13410,44 @@
 1e
 12
 1f
-02
+61
 80
 0d
 e4
 90
 4c
-c0
+84
 f0
 90
-4d
-0b
+4c
+cc
 f0
 90
-4d
-0a
+4c
+cb
 f0
 90
 4c
-c0
+84
 e0
 90
 4c
-c3
+87
 f0
 12
-2e
-90
+31
+67
 7f
 0a
-d1
-f3
+12
+0f
+72
 7b
 01
 7a
 4c
 79
-f2
+bb
 7d
 02
 7c
@@ -13465,11 +13457,11 @@
 7e
 7f
 12
-19
-41
+20
+b0
 90
 4c
-f2
+bb
 e0
 b4
 ff
@@ -13481,57 +13473,58 @@
 14
 90
 4c
-93
+73
 e0
 a3
 e0
 90
 4c
-f2
+bb
 f0
 90
 4c
-91
+71
 e0
 a3
 e0
 90
 4c
-f3
+bc
 f0
-e1
-0b
+02
+20
 12
-30
-3d
+12
+33
+b2
 02
 1f
-3e
+d1
 90
 4c
-c3
+87
 e0
 d3
 94
 00
 50
 02
-c1
-f2
+e1
+95
 e0
 94
 04
 40
 02
-c1
-f2
+e1
+95
 e0
 75
 f0
 1f
 a4
 24
-d3
+d5
 f9
 74
 4d
@@ -13545,24 +13538,25 @@
 7c
 00
 12
-20
-ce
+35
+fc
 7f
 c8
-d1
-f3
+12
+0f
+72
 c2
 01
 7f
 ff
-51
-bb
+31
+d0
 7b
 01
 7a
 4d
 79
-f2
+f4
 7d
 5d
 7c
@@ -13573,13 +13567,13 @@
 7f
 12
 1a
-94
+88
 d2
 01
 7f
 ff
-41
-bb
+21
+d0
 90
 4d
 d7
@@ -13590,54 +13584,71 @@
 37
 90
 4c
-c5
+89
 74
 03
 f0
 e4
 a3
 f0
-12
-18
-dd
+f1
+e6
 e4
 90
 4c
-ee
+b7
 f0
 90
 4c
-eb
-f0
-90
-4d
-d4
+b4
 f0
 90
 4c
-c0
+84
 74
 fe
 f0
 90
 4c
-c3
+87
 f0
 90
-4d
-46
+4c
+f5
 74
 03
 f0
 90
 4d
-e9
+eb
 74
 0a
 f0
 90
+4c
+ce
+74
+06
+f0
+e4
+90
+4c
+cd
+f0
+90
+4c
+d3
+74
+05
+f0
+e4
+90
+4c
+85
+f0
+90
 4f
-0e
+0d
 e0
 64
 31
@@ -13645,19 +13656,19 @@
 34
 90
 4d
-ea
+ec
 f0
 90
 4e
-59
+5b
 f0
 90
 4c
-c1
+85
 f0
 90
 4c
-e5
+ad
 74
 1e
 f0
@@ -13684,42 +13695,42 @@
 0f
 70
 02
-c1
-f2
+e1
+95
 90
 4c
-bf
+83
 74
 02
 f0
 02
-1b
-42
+19
+ed
 90
 4c
-e5
+ad
 e0
 60
 02
-c1
-f2
+e1
+95
 22
 e4
 90
 4c
-c5
+89
 f0
 a3
 f0
 90
 4c
-e3
+ab
 f0
 a3
 f0
 90
 4c
-eb
+b4
 04
 f0
 90
@@ -13746,27 +13757,26 @@
 04
 7f
 0a
-01
-d7
+21
+e2
 90
 4c
-ed
+b6
 e0
 60
-0a
-12
-18
-dd
+09
+f1
+e6
 90
 4c
-ed
+b6
 e0
 ff
-01
-d7
+21
+e2
 90
 4c
-ec
+b5
 e0
 b4
 01
@@ -13774,15 +13784,15 @@
 e4
 f0
 e1
-bd
+96
 90
 4c
-f0
+b9
 e0
 70
 02
-c1
-f2
+e1
+95
 90
 4d
 d7
@@ -13793,7 +13803,7 @@
 37
 90
 4c
-c7
+8b
 74
 03
 f0
@@ -13808,61 +13818,39 @@
 f0
 7f
 0e
-11
-ad
+71
+c9
 7f
 02
-11
-ad
+71
+c9
 90
 4c
-e9
+b1
+e0
+70
+02
+a3
 e0
 60
-34
+1a
 e4
 90
 4d
-ea
-f0
-90
-4c
-c1
-f0
-90
-4c
-c3
-e0
-75
-f0
-1f
-a4
-24
-f0
-f5
-82
-e4
-34
-4d
-f5
-83
-e4
+ec
 f0
-90
-4d
-ea
 e0
 ff
 90
 4c
-c3
+87
 e0
 75
 f0
 1f
 a4
 24
-f1
+f3
 f5
 82
 e4
@@ -13874,7 +13862,7 @@
 f0
 90
 4d
-e8
+ea
 e0
 70
 06
@@ -13886,66 +13874,83 @@
 f0
 90
 4c
-e5
+ad
 e0
 70
 03
 12
-2e
-c1
+33
+81
+90
+4c
+ce
+74
+06
+f0
+90
+4c
+d4
+74
+01
+f0
 e4
 90
 4c
-e9
+cd
 f0
 90
 4c
-e3
+b1
+f0
+a3
+f0
+90
+4c
+ab
 f0
 a3
 f0
 22
 90
 4c
-c7
+8b
 74
 04
 f0
 e4
 a3
 f0
-12
-18
-dd
+f1
+e6
 e4
 90
 4c
-eb
+b4
 f0
 90
 4d
-de
+df
 74
 0a
 f0
 90
 4c
-c3
+87
 e0
 90
 4c
-c0
+84
 f0
 90
 4c
-bf
+83
 74
 03
 f0
 22
 90
 4c
-c3
+87
 e0
 14
 fd
@@ -13956,22 +13961,22 @@
 03
 90
 4c
-c3
+87
 e0
 90
 4c
-c0
+84
 f0
 90
 4c
-bf
+83
 74
 03
 f0
 22
 90
-4d
-39
+4c
+e8
 12
 05
 82
@@ -13986,68 +13991,68 @@
 f0
 90
 4d
-e1
+e2
 04
 f0
 90
 4c
-c8
+8c
 04
 f0
 90
 4c
-c7
+8b
 04
 f0
 22
 90
 4c
-c7
+8b
 e0
 90
 4c
-cb
+8f
 f0
 e4
 90
 4c
-c7
+8b
 f0
 a3
 f0
 90
 4c
-eb
+b4
 04
 f0
 e4
 90
-4d
-3d
+4c
+ec
 f0
 90
 4c
-ec
+b5
 e0
 b4
 01
 04
 e4
 f0
-e1
-bd
+80
+7b
 90
 4c
-ed
+b6
 e0
 60
 03
 ff
-01
-d7
+21
+e2
 90
 4c
-f0
+b9
 e0
 60
 08
@@ -14060,174 +14065,89 @@
 07
 37
 f1
-bd
+96
 e4
 90
 4c
-e3
+ab
 f0
 a3
 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
 4d
-ee
-74
-02
+5e
 f0
-7b
-01
-7a
+90
 4d
-79
-f2
-7d
-5d
-7c
-00
-7f
+3d
+e0
+24
+fd
 60
-7e
-7f
-12
-19
-41
-7f
-0a
-d1
-f3
-7b
-01
-7a
+11
+14
+60
+16
+14
+60
+1b
+24
+03
+70
+1f
+e4
+90
 4c
-79
-00
-7d
-04
-7c
-00
-7f
-52
-7e
-7f
-12
-19
-41
-7f
-0a
-d1
-f3
-7b
-01
-7a
-4d
-79
-ea
-7d
-01
-7c
-00
-7f
-56
-7e
-7f
-12
-19
-41
-7f
-0a
-d1
-f3
-7b
-01
-7a
+85
+f0
+80
+1d
+90
 4c
-79
-c1
-7d
+85
+74
 01
-7c
-00
-7f
-57
-7e
-7f
-12
-19
-41
-7f
-0a
-d1
-f3
+f0
+80
+15
 90
 4c
-c3
-e0
-ff
-d3
-94
-03
-50
-33
-ef
-c3
-94
-01
-40
-2d
-ef
-75
+85
+74
+04
 f0
-1f
-a4
-24
+80
+0d
+90
+4c
+85
+74
+03
 f0
-f5
-82
+80
+05
 e4
-34
-4d
-f5
-83
-e0
 90
 4c
-c1
+85
 f0
 90
 4c
-c3
+85
+e0
+ff
+90
+4c
+87
 e0
 75
 f0
 1f
 a4
 24
-f1
+f2
 f5
 82
 e4
@@ -14235,93 +14155,104 @@
 4d
 f5
 83
-e0
-90
-4d
-ea
-f0
-11
-d7
-80
-04
-7f
-08
-11
-d7
-90
-4d
-ea
-e0
-d3
-94
-01
-40
-02
-e4
+ef
 f0
 90
 4c
-c1
-e0
-d3
-94
-02
-40
-02
-e4
+83
+74
+03
 f0
 22
 e4
 90
-4d
-38
+4c
+e7
 f0
 7f
 19
-01
-ad
-90
-4c
-c7
-e0
-ff
-64
-04
+61
+c9
+ac
+07
+ec
+f4
 60
+16
+af
 04
-ef
-b4
-03
-07
-7f
-11
-11
-ad
-7f
+d2
+04
+12
+1f
+a3
+af
+04
+a2
+06
+92
 01
-22
-90
-4c
-c5
-e0
-ff
-64
-03
-60
+31
+d0
+af
 04
-ef
-b4
+c2
 02
-07
+12
+1f
 7f
 22
-11
-ad
+c2
+06
 7f
-01
-22
+0f
+f1
+9f
+c2
+06
 7f
-00
+10
+f1
+9f
+c2
+06
+7f
+1f
+f1
+9f
+c2
+06
+7f
+ff
+f1
+9f
+c2
+06
+7f
+1f
+f1
+9f
+c2
+06
+7f
+1f
+f1
+9f
+c2
+06
+7f
+ff
+80
+b9
+e4
+90
+4c
+b9
+f0
+90
+4d
+ea
+f0
 22
 7b
 01
@@ -14334,7 +14265,7 @@
 e4
 90
 4f
-11
+10
 f0
 fe
 ef
@@ -14363,7 +14294,7 @@
 fc
 90
 4f
-11
+10
 e0
 ff
 74
@@ -14392,42 +14323,21 @@
 24
 ff
 22
-90
-4c
-c7
-e0
-64
-04
-60
-07
-90
-4c
-c5
-e0
-b4
-03
-03
-7f
-01
-22
-7f
-00
-22
 e4
 90
 4f
-07
+08
 f0
 90
 4c
-c8
+8c
 e0
 b4
 02
 06
 90
 4f
-07
+08
 e0
 ff
 22
@@ -14440,31 +14350,31 @@
 06
 90
 4f
-07
+08
 e0
 ff
 22
 90
 4c
-ee
+b7
 e0
 60
 06
 90
 4f
-07
+08
 e0
 ff
 22
 90
 4c
-c7
+8b
 e0
 70
 3f
 90
 4c
-c5
+89
 e0
 64
 03
@@ -14472,7 +14382,7 @@
 37
 90
 4c
-ef
+b8
 e0
 70
 3b
@@ -14485,7 +14395,7 @@
 34
 90
 4d
-ee
+f0
 e0
 64
 02
@@ -14493,7 +14403,7 @@
 2c
 90
 4c
-c3
+87
 e0
 ff
 c3
@@ -14508,18 +14418,18 @@
 50
 05
 12
-10
-d7
+11
+e2
 80
 17
 7f
 09
 12
-10
-d7
+11
+e2
 90
 4f
-07
+08
 74
 01
 f0
@@ -14528,22 +14438,22 @@
 e4
 90
 4c
-eb
+b4
 f0
 90
 4f
-07
+08
 04
 f0
 90
 4f
-07
+08
 e0
 ff
 22
 90
 4c
-c7
+8b
 e0
 b4
 02
@@ -14551,456 +14461,466 @@
 7f
 0e
 12
-10
-ad
+13
+c9
 7f
 01
 22
 7f
 00
 22
-e4
 90
 4c
-f0
-f0
-90
-4d
-e8
-f0
+8b
+e0
+ff
+64
+04
+60
+04
+ef
+b4
+03
+08
+7f
+11
+12
+13
+c9
+7f
+01
 22
 90
 4c
-c0
+89
 e0
 ff
 64
-fe
-60
 03
+60
+04
 ef
-70
+b4
+02
 08
 7f
 22
 12
-10
-ad
+13
+c9
 7f
 01
 22
 7f
 00
 22
-7b
-01
-7a
-4c
-79
-f2
-7d
-02
-7c
-00
-7f
-be
-7e
-7f
-31
-41
 90
 4c
-f2
-e0
-04
-f0
-a3
+92
 e0
-04
-f0
+30
+e1
+3e
 90
 4c
-f2
+94
 e0
-90
-44
+c3
+94
 fa
+50
+03
+e0
+04
 f0
 90
 4c
-f3
+94
 e0
-90
-44
-fb
-f0
+64
+b4
+70
+37
 90
 4d
-d0
+e8
 e0
-90
-44
-fc
+04
 f0
-90
-4d
-d1
 e0
+d3
+94
+02
+50
+07
+e4
 90
-44
-fd
+4c
+94
 f0
+80
+24
 90
 4d
-d2
+e8
 e0
+b4
+03
+1d
 90
-44
-fe
+4d
+e0
+74
+01
 f0
-22
+e4
 90
-4e
-d3
-ec
-f0
-a3
-ed
-f0
-a3
-eb
-f0
-a3
-ea
-f0
-a3
-e9
+4c
+94
 f0
-90
+12
+17
+96
 80
-98
-74
-04
-f0
-a3
+0d
 e4
-f0
 90
-0c
-af
-74
-a0
+4d
+e8
 f0
-a3
-ee
+90
+4d
+e0
 f0
-a3
-ef
+90
+4c
+94
 f0
 90
-0c
-b2
+4c
+92
+e0
+30
+e4
+38
+90
+4c
+b3
 74
-a1
+0a
 f0
-7a
-0c
-79
-af
-7e
-0c
-7f
-af
-74
-af
-fc
-74
-0c
-ff
-ec
-fe
-ef
 90
-80
-9a
-ee
-f0
-a3
-ef
+4c
+95
+e0
+c3
+94
+fa
+50
+03
+e0
+04
 f0
 90
-4e
-d3
+4c
+95
 e0
-fc
-a3
+64
+06
+70
+48
+90
+4c
+87
 e0
-fa
-ec
 ff
-ea
+60
+04
+64
 fe
-ef
+70
+3d
+e4
 90
-80
-9e
-ee
-f0
-a3
-ef
+4c
+91
 f0
-7a
-0b
-79
-83
-7e
-0b
+11
+c7
 7f
-83
-74
-83
-fc
-74
-0b
-ff
-ec
-fe
-ef
-90
+0a
+12
+0f
+72
+7f
+0a
+12
+11
+e2
 80
-9c
-ee
-f0
-a3
-ef
-f0
+2a
 90
-80
+4c
+91
+e0
+60
+1f
+e4
+f0
+7f
+0d
+12
+11
+e2
 90
+4c
+b4
 74
-02
+01
 f0
 90
-80
-9c
-a3
+4c
+87
 e0
-20
-e7
-07
 90
-80
-90
-e0
-44
-01
+4c
+84
 f0
 90
-80
-06
-e0
-44
-04
+4c
+83
+74
+01
 f0
 31
-f1
-90
-4e
-d5
-e0
-a3
-e0
-fa
-a3
-e0
-ae
-02
-ff
-7b
-01
-7a
-0b
-79
-83
-90
-4e
-d3
-e0
-a3
-e0
+ed
+71
+37
+e4
 90
-4e
-c8
+4c
+95
 f0
-02
-08
-7d
 90
-81
-2c
+4c
+92
 e0
-30
-e5
-f9
-22
+20
+e3
+36
 90
-4e
-b6
-ee
-f0
-a3
-ef
-f0
+4c
 90
-4e
-ba
-eb
-f0
-a3
-ea
-f0
-a3
-e9
+e0
+60
+2b
+e4
 f0
 90
-4e
-b8
-ec
-f0
-a3
-ed
-f0
-a3
-e0
-f9
-a3
-e0
-fa
-a3
+4c
+87
 e0
+ff
 90
-4e
-a3
-c9
-f0
-a3
-ea
-f0
-a3
-e9
-f0
-a3
-ec
-f0
-a3
-ed
-f0
-7b
-01
-7a
-0b
-79
-86
+4c
+84
+e0
+6f
+60
+1d
 12
-38
-8a
+17
+bc
 90
-0b
-83
+4c
+b4
 74
-a0
+01
 f0
 90
-4e
-b6
-e0
-ff
-a3
+4c
+87
 e0
 90
-0b
+4c
 84
-cf
 f0
-a3
-ef
+90
+4c
+83
+74
+01
 f0
+11
+c7
+31
+ed
+71
+37
+e4
 90
-4e
-b9
-e0
-24
-03
-fd
+4c
+96
+f0
+22
 90
-4e
-b8
+4c
+83
 e0
-34
-00
-fc
-ed
-fa
-ec
 ff
-ea
-fe
-ef
-90
-80
-98
-ee
-f0
-a3
-ef
-f0
+70
+02
+41
+87
+64
+01
+60
+05
+7f
+c8
+12
+0f
+72
+c2
+01
+7f
+ff
+12
+11
+d0
+90
+4c
+83
+e0
+64
+02
+70
+31
+7b
+01
 7a
-0b
+4c
 79
-83
+00
+7d
+04
+fc
+7f
+52
 7e
-0b
 7f
-83
-74
-83
-fc
-74
-0b
-ff
+51
+88
+7b
+01
+7a
+4c
+79
+85
+7d
+01
+7c
+00
+7f
+57
+7e
+7f
+51
+88
+7b
+01
+7a
+4d
+79
 ec
-fe
-ef
-a3
-ee
-f0
-a3
-ef
-f0
-90
-80
-9e
-e4
-f0
-a3
-f0
-90
+7d
+01
+7c
+00
+7f
+56
+7e
+7f
+51
+88
 80
+17
 90
-04
-f0
-90
-80
-06
+4c
+83
 e0
-44
-04
+b4
+03
+10
+7b
+01
+7a
+4d
+79
+f4
+7d
+5d
+7c
+00
+7f
+60
+7e
+7f
+51
+88
+7b
+01
+7a
+4c
+79
+84
+7d
+01
+7c
+00
+7f
+bd
+7e
+7f
+51
+88
+7b
+01
+7a
+4c
+79
+bb
+7d
+02
+7c
+00
+7f
+be
+7e
+7f
+51
+88
+d2
+01
+7f
+ff
+12
+11
+d0
+7f
+0a
+12
+0f
+72
+e4
+90
+4c
+83
 f0
-21
-f1
+22
 90
 4e
-97
+99
 ee
 f0
 a3
@@ -15023,7 +14943,7 @@
 f0
 90
 4e
-99
+9b
 e0
 70
 02
@@ -15032,10 +14952,10 @@
 70
 02
 61
-41
+36
 90
 4e
-97
+99
 e0
 fe
 a3
@@ -15058,14 +14978,14 @@
 fe
 90
 4e
-9e
+a0
 f0
 a3
 ef
 f0
 90
 4e
-99
+9b
 e0
 fc
 a3
@@ -15079,7 +14999,7 @@
 0a
 90
 4e
-9e
+a0
 e0
 fe
 a3
@@ -15093,7 +15013,7 @@
 05
 90
 4e
-9e
+a0
 ee
 f0
 fc
@@ -15104,19 +15024,19 @@
 c3
 90
 4e
-9a
+9c
 e0
 9d
 f0
 90
 4e
-99
+9b
 e0
 9c
 f0
 90
 4e
-97
+99
 e0
 fe
 a3
@@ -15124,7 +15044,7 @@
 ff
 90
 4e
-9b
+9d
 e0
 fb
 a3
@@ -15133,16 +15053,17 @@
 a3
 e0
 f9
-31
-f9
+12
+21
+68
 7f
 0a
 12
-16
-f3
+0f
+72
 90
 4e
-9e
+a0
 e0
 fe
 a3
@@ -15150,7 +15071,7 @@
 ff
 90
 4e
-9c
+9e
 ee
 8f
 f0
@@ -15159,616 +15080,161 @@
 0e
 90
 4e
-98
+9a
 e0
 2f
 f0
 90
 4e
-97
+99
 e0
 3e
 f0
 41
-ab
+9f
 22
 90
-4c
-bf
-e0
-ff
-70
-02
-61
-dc
-64
+80
+10
+74
 01
-60
-05
-7f
-c8
+f0
+80
+fe
+22
+f1
+4e
+91
+f5
 12
-16
-f3
-c2
+0e
 01
-7f
-ff
-12
+31
+ed
 12
-bb
+10
+da
 90
-4c
-bf
-e0
-64
-02
-70
-31
-7b
-01
-7a
-4c
-79
-00
-7d
-04
-fc
-7f
-52
-7e
-7f
-51
-94
-7b
-01
-7a
-4c
-79
-c1
-7d
-01
-7c
-00
-7f
-57
-7e
-7f
-51
-94
-7b
-01
-7a
 4d
-79
-ea
-7d
-01
-7c
-00
-7f
-56
-7e
-7f
-51
-94
-80
-17
-90
-4c
-bf
+27
 e0
-b4
-03
-10
-7b
-01
-7a
-4d
-79
-f2
-7d
-5d
-7c
-00
-7f
 60
+03
+12
+0f
+97
+90
+0b
 7e
+e0
+14
+60
+1f
+24
+fe
+70
+e2
+71
+bc
 7f
-51
-94
-7b
-01
-7a
-4c
-79
-c0
-7d
-01
-7c
-00
-7f
-bd
-7e
-7f
-51
-94
-7b
-01
-7a
-4c
-79
-f2
-7d
-02
-7c
-00
-7f
-be
-7e
-7f
-51
-94
-d2
-01
-7f
-ff
+1e
+91
+55
 12
+17
+bc
+7f
+1e
 12
-bb
+17
+f0
+40
+06
+d2
+05
 7f
-0a
+1e
+f1
+61
 12
-16
-f3
-e4
+0f
+8a
+80
+fe
 90
 4c
-bf
-f0
-22
+b3
+e0
+70
+24
 90
 4c
-ce
+b5
 e0
-30
-e1
-3e
+70
+1e
 90
 4c
-d0
-e0
-c3
-94
-fa
-50
-03
+ad
 e0
-04
-f0
+70
+18
 90
-4c
-d0
+4d
+db
 e0
-64
-b4
 70
-37
+12
 90
 4d
 e6
 e0
-04
-f0
+70
+0c
+90
+4c
+c1
 e0
-d3
-94
-02
-50
-07
-e4
+70
+06
 90
 4c
-d0
-f0
+d3
+e0
+60
+04
+f1
+b7
 80
-24
+99
+71
+bc
 90
-4d
-e6
+4c
+ca
 e0
-b4
+60
 03
-1d
-90
-4d
-df
-74
-01
-f0
-e4
-90
-4c
-d0
-f0
 12
 17
-bd
+bc
+12
+0f
+8a
 80
-0d
+89
+80
+87
+22
 e4
+ff
 90
-4d
-e6
+4f
+0c
 f0
-90
-4d
-df
-f0
-90
-4c
-d0
-f0
-90
-4c
-ce
-e0
-30
-e4
-39
-90
-4c
-ea
-74
-0a
-f0
-90
-4c
-d1
-e0
-c3
-94
-fa
-50
-03
-e0
-04
-f0
-90
-4c
-d1
-e0
-64
-06
-70
-49
-90
-4c
-c3
-e0
-ff
-60
-04
-64
-fe
-70
-3e
-e4
-90
-4c
-cd
-f0
-12
-17
-c6
-7f
-0a
-12
-16
-f3
-7f
-0a
-12
-10
-d7
-80
-2a
-90
-4c
-cd
-e0
-60
-1f
-e4
-f0
-7f
-0d
-12
-10
-d7
-90
-4c
-eb
-74
-01
-f0
-90
-4c
-c3
-e0
-90
-4c
-c0
-f0
-90
-4c
-bf
-74
-01
-f0
-71
-42
-d1
-c7
-e4
-90
-4c
-d1
-f0
-90
-4c
-ce
-e0
-20
-e3
-36
-90
-4c
-cc
-e0
-60
-2b
-e4
-f0
-90
-4c
-c3
-e0
-ff
-90
-4c
-c0
-e0
-6f
-60
-1d
-90
-4c
-eb
-74
-01
-f0
-91
-d7
-90
-4c
-c3
-e0
-90
-4c
-c0
-f0
-90
-4c
-bf
-74
-01
-f0
-12
-17
-c6
-71
-42
-d1
-c7
-e4
-90
-4c
-d2
-f0
-22
-c2
-06
-7f
-0f
-91
-ff
-c2
-06
-7f
-10
-91
-ff
-c2
-06
-7f
-1f
-91
-ff
-c2
-06
-7f
-ff
-91
-ff
-c2
-06
-7f
-1f
-91
-ff
-c2
-06
-7f
-1f
-91
-ff
-c2
-06
-7f
-ff
-ac
-07
-ec
-f4
-60
-15
-af
-04
-d2
-04
-f1
-20
-af
-04
-a2
-06
-92
-01
-12
-12
-bb
-af
-04
-c2
-02
-d1
-f1
-22
-d1
-de
-12
-36
-52
-12
-0e
-04
-71
-42
-12
-12
-cd
-90
-4d
-7d
-e0
-60
-03
-12
-0f
-c8
-90
-0b
-7e
-e0
-14
-60
-1d
-24
-fe
-70
-e1
-b1
-8e
-7f
-1e
-d1
-27
-91
-d7
-7f
-1e
-12
-17
-f1
-40
-06
-d2
-05
-7f
-1e
-f1
-02
-d1
-d0
-80
-fe
-90
-4c
-ea
-e0
-70
-1e
-90
-4c
-ec
-e0
-70
-18
-90
-4c
-e5
-e0
-70
-12
-90
-4d
-da
-e0
-70
-0c
-90
-4d
-e5
-e0
-70
-06
-90
-4c
-f8
-e0
-60
-04
-f1
-dc
-80
-a0
-b1
-8e
-90
-4d
-01
-e0
-60
-02
-91
-d7
-d1
-d0
-80
-92
-80
-90
-22
-e4
-ff
-90
-4f
-0d
-f0
-fe
-fd
-ef
+fe
+fd
+ef
 90
 06
 81
@@ -15849,57 +15315,57 @@
 80
 b0
 12
-39
-0d
+36
+c9
 90
 81
 1c
 e0
 90
 4f
-0d
+0c
 f0
 90
 4d
-df
+e0
 e0
 60
 20
 e4
 ff
-d1
-27
+91
+55
 7f
 01
-d1
-27
+91
+55
 7f
 02
-d1
-27
+91
+55
 7f
 03
-d1
-27
+91
+55
 7f
 04
-d1
-27
+91
+55
 7f
 05
-d1
-27
+91
+55
 7f
 06
-d1
-27
+91
+55
 7f
 07
 80
 10
 90
 4f
-0d
+0c
 e0
 ff
 90
@@ -15915,17 +15381,17 @@
 22
 90
 4f
-12
+11
 ef
 f0
 12
 17
-f1
+f0
 92
 08
 90
 4f
-12
+11
 e0
 ff
 a2
@@ -15937,8 +15403,8 @@
 f4
 70
 02
-c1
-c6
+81
+f4
 ef
 54
 07
@@ -16073,215 +15539,166 @@
 5e
 f0
 22
+7a
+0c
+79
+4b
 90
-80
-10
+4e
+f2
 74
 01
 f0
-80
-fe
-22
-e4
-90
-0b
-7f
+a3
+74
+0c
 f0
-90
-0b
-7e
+a3
+74
+4b
 f0
-7f
-01
+90
+4b
+a0
+e0
+fe
+a3
+e0
+ff
+90
+4b
+9e
+e0
+6e
+70
+03
+a3
+e0
+6f
+70
 02
-16
-f3
-7b
-01
-7a
-4e
-79
-5a
-78
-6c
-7c
-4e
-7d
-01
+c1
+a4
 7e
-00
+0c
 7f
-12
-02
+4b
+7d
 03
+d1
+fe
 90
-ef
-f4
-60
-0c
-7b
-01
-7a
-80
-79
-78
-a2
+4e
+f2
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+f9
+12
+03
+b6
+b4
 02
-92
-00
-f1
-79
-22
-ac
-07
-ec
-f4
-60
-17
-af
-04
-a2
-05
-92
-03
-f1
-68
-af
-04
-a2
-05
-b3
-92
-02
-d1
-f1
-af
-04
-c2
-04
-f1
-20
-22
-ef
-f4
-60
-0c
-7b
-01
-7a
-80
-79
-70
-a2
-04
-92
-00
-f1
-79
-22
-12
-30
-3d
-f1
-3e
-d2
-05
-7f
-1e
-f1
-02
-81
-d7
+2b
 90
-80
-80
+4e
+f3
 e4
+75
 f0
+02
+12
+04
+0e
+90
+4e
+f2
+e0
+fb
 a3
-f0
+e0
+fa
 a3
-f0
+e0
+f9
 12
-2c
-df
-e4
-90
-4f
-0c
-f0
-f0
+03
+b6
+ff
 90
-4f
-0c
+4e
+6e
 e0
-90
-06
-81
-93
-ff
-60
-0c
-c2
+a3
+e0
+fa
+a3
+e0
+f5
+82
+8a
+83
+12
 05
-f1
-02
+dd
+c1
+a4
 90
-4f
-0c
+4e
+f2
+e0
+fb
+a3
+e0
+fa
+a3
 e0
+f9
+12
+03
+b6
+64
 04
+70
+59
+90
+4e
+f3
+75
 f0
-80
-e9
-22
-ef
-f4
-60
-0c
-7b
 01
-7a
-80
-79
-7c
-a2
-03
-92
-00
-f1
-79
-22
+12
+04
+0e
+7e
+0c
+7f
+4e
 90
 4e
-fc
-eb
-f0
+f2
+e0
+fb
 a3
-ea
-f0
+e0
+fa
 a3
-e9
-f0
-e4
-fe
-fd
-ef
-54
-07
-fe
-ef
-13
-13
-13
-54
+e0
+f9
+12
 03
+b6
+14
 fd
-30
-00
-22
+d1
+fe
 90
 4e
-fc
+f2
 e0
 fb
 a3
@@ -16289,33 +15706,57 @@
 fa
 a3
 e0
-2d
+24
+01
 f9
 e4
 3a
 fa
+c0
+02
+c0
+01
+90
+4e
+f2
+e0
+a3
+e0
+fa
+a3
+e0
+f9
 12
 03
 b6
-ff
-74
+fd
+7c
+00
+90
+4e
+71
+e0
+a3
+e0
+fa
+a3
+e0
+f5
+82
+8a
+83
+d0
 01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
-4f
+d0
 02
-03
-fc
+12
+05
+dd
+c1
+a4
 90
 4e
-fc
+f2
 e0
 fb
 a3
@@ -16323,346 +15764,235 @@
 fa
 a3
 e0
-2d
 f9
-e4
-3a
-fa
 12
 03
 b6
-ff
-74
-01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
-f4
-5f
-02
-03
-fc
-a1
-1b
+64
+05
+70
+59
 90
-0b
-7f
-74
-01
+4e
+f3
+75
 f0
-e4
-90
-0b
+01
+12
+04
+0e
 7e
-f0
-22
+0c
+7f
+4e
 90
-4c
-c3
+4e
+f2
 e0
-14
-90
-4f
-08
-f0
-e4
-90
-4d
-e1
-f0
-90
-4f
-08
+fb
+a3
 e0
-fd
-7f
-02
+fa
+a3
+e0
+f9
 12
-08
 03
+b6
+14
+fd
+d1
+fe
 90
-4f
-08
-e0
-ff
-60
-3c
-90
-4d
+4e
 f2
 e0
-64
-02
-70
-34
-ef
-75
-f0
-1f
-a4
+fb
+a3
+e0
+fa
+a3
+e0
 24
-f3
+01
 f9
-74
-4d
-35
-f0
+e4
+3a
 fa
+c0
+02
+c0
+01
 90
 4e
-b2
-74
-01
-f0
-a3
-ea
-f0
+f2
+e0
 a3
-e9
-f0
+e0
+fa
 a3
-74
-06
-f0
-7b
-01
-7a
-4d
-79
-f3
-11
-fb
-ef
-60
-0c
-7b
-01
-7a
-4d
-79
-f2
-7d
-1f
+e0
+f9
+12
+03
+b6
+fd
 7c
 00
-11
-ce
 90
-4f
-08
+4e
+7a
 e0
-ff
-64
+a3
+e0
+fa
+a3
+e0
+f5
+82
+8a
+83
+d0
 01
-60
-3c
+d0
+02
+12
+05
+dd
+80
+6d
 90
 4e
-11
+f2
+e0
+fb
+a3
+e0
+fa
+a3
 e0
+f9
+12
+03
+b6
 64
-02
+03
 70
-34
-ef
-75
-f0
-1f
-a4
-24
-f3
-f9
-74
-4d
-35
-f0
-fa
+59
 90
 4e
-b2
-74
-01
-f0
-a3
-ea
-f0
-a3
-e9
-f0
-a3
-74
-06
+f3
+75
 f0
-7b
 01
-7a
-4e
-79
 12
-11
-fb
-ef
-60
+04
+0e
+7e
 0c
-7b
-01
-7a
+7f
 4e
-79
-11
-7d
-1f
-7c
-00
-11
-ce
 90
-4f
-08
+4e
+f2
 e0
-ff
-64
-02
-60
-3c
+fb
+a3
+e0
+fa
+a3
+e0
+f9
+12
+03
+b6
+14
+fd
+d1
+fe
 90
 4e
-30
+f2
+e0
+fb
+a3
+e0
+fa
+a3
 e0
-64
-02
-70
-34
-ef
-75
-f0
-1f
-a4
 24
-f3
+01
 f9
-74
-4d
-35
-f0
+e4
+3a
 fa
+c0
+02
+c0
+01
 90
 4e
-b2
-74
-01
-f0
-a3
-ea
-f0
+f2
+e0
 a3
-e9
-f0
+e0
+fa
 a3
-74
-06
-f0
-7b
-01
-7a
-4e
-79
-31
-11
-fb
-ef
-60
-0c
-7b
-01
-7a
-4e
-79
-30
-7d
-1f
+e0
+f9
+12
+03
+b6
+fd
 7c
 00
-11
-ce
-22
 90
 4e
-f9
-eb
-f0
-a3
-ea
-f0
+7d
+e0
 a3
-e9
-f0
-ed
-1d
-ae
-04
-70
-01
-1c
-4e
-60
-17
-90
-4e
-f9
 e0
-fb
+fa
 a3
-e4
-75
-f0
+e0
+f5
+82
+8a
+83
+d0
 01
+d0
+02
 12
-04
-24
-a9
-f0
-fa
-74
-ff
-12
-03
-fc
+05
+dd
 80
-df
-22
+02
+80
+fe
 90
-4e
-af
-eb
-f0
-a3
-ea
-f0
+4b
+a5
+e0
+fe
 a3
-e9
-f0
-e4
+e0
 ff
 90
-4e
-b5
+4c
+3e
 e0
-fe
-ef
-c3
-9e
-50
-30
+6e
+70
+03
+a3
+e0
+6f
+60
+22
 90
 4e
-b2
+74
 e0
 fb
 a3
@@ -16671,18 +16001,42 @@
 a3
 e0
 f9
-8f
-82
-75
-83
-00
+4a
+60
+37
 12
-03
+05
+d9
+90
+4b
+a5
+e0
+ff
+a3
+e0
+90
+4c
+3e
 cf
-fe
+f0
+a3
+ef
+f0
+80
+ca
+90
+4c
+6d
+e0
+ff
+a3
+e0
+6f
+60
+19
 90
 4e
-af
+77
 e0
 fb
 a3
@@ -16691,243 +16045,410 @@
 a3
 e0
 f9
-8f
-82
-75
-83
-00
-12
-03
-cf
-6e
+4a
 60
-03
-7f
-00
-22
-0f
-80
-c6
-7f
-01
-22
-e4
+0b
+12
+05
+d9
 90
-4e
-8c
-f0
-a3
-f0
-a3
-f0
+4c
+6d
+e0
 a3
 f0
-a3
+80
+dd
+22
+90
+4f
+04
+ee
 f0
 a3
+ef
 f0
+a9
+05
+90
+4b
+9e
+e0
+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
+4f
+04
+e4
+75
 f0
-a3
+01
+12
+04
+24
+85
 f0
-a3
+82
+f5
+83
+ed
 f0
-a3
+ad
+07
+ac
+06
+bc
+4b
+d4
+bd
+9a
+d1
+7e
+4b
+7f
+36
+80
+cb
+90
+4b
+9e
+ee
 f0
 a3
+ef
 f0
-12
-2c
-fd
+22
+7b
+01
 7a
-4d
+4e
 79
-a8
-90
+5c
+78
+6e
+7c
 4e
-b2
-74
+7d
 01
-f0
-a3
-74
-4d
-f0
-a3
-74
-a8
-f0
+7e
+00
+7f
+12
+02
+03
+90
+ac
+07
+ec
+f4
+60
+17
+af
+04
+a2
+05
+92
+03
+f1
+91
+af
+04
+a2
+05
+b3
+92
+02
+f1
+7f
+af
+04
+c2
+04
+f1
 a3
-74
-14
-f0
+22
+ef
+f4
+60
+0d
 7b
 01
 7a
-4d
+80
 79
-bc
-11
-fb
+78
+a2
+02
+92
+00
+12
+36
+29
+22
 ef
+f4
 60
-16
+0d
 7b
 01
 7a
-4d
+80
 79
-bc
-7d
-14
-71
-ea
+7c
+a2
+03
+92
+00
+12
+36
+29
+22
 ef
+f4
+60
+0d
+7b
+01
+7a
+80
+79
 70
-09
+a2
+04
+92
+00
+12
+36
+29
+22
+61
+40
 90
-4c
-ce
-e0
-44
-02
+0b
+7f
+74
+01
 f0
-80
-0c
+e4
 90
-4c
-ce
-e0
-54
-fd
+0b
+7e
 f0
-e4
+22
+12
+33
+b2
+f1
+d1
+d2
+05
+7f
+1e
+f1
+61
+02
+17
+bc
 90
-4c
-d0
+80
+80
+e4
+f0
+a3
+f0
+a3
 f0
+12
+31
+49
 e4
 90
-4e
-8c
+4f
+0b
+f0
 f0
 90
-4e
-8c
+4f
+0b
 e0
-ff
 90
 06
 81
 93
-70
-02
-41
-76
-74
-bc
-2f
-f5
-82
-e4
-34
-4d
-f5
-83
-e0
-90
-4e
-8f
-f0
-e0
 ff
-71
-91
-90
-4e
-96
-ef
-f0
-c3
-94
-02
-50
-02
-41
-5f
-e4
+60
+0c
+c2
+05
+f1
+61
 90
-4e
-8d
+4f
+0b
+e0
+04
 f0
+80
+e9
+22
 90
-4e
-8d
+4c
+84
 e0
 ff
-c3
-94
+64
+fe
+60
+03
+ef
+70
 08
-50
-7b
-74
+7f
+22
+12
+13
+c9
+7f
 01
-7e
+22
+7f
 00
-a8
-07
-08
-80
-05
-c3
-33
-ce
-33
-ce
-d8
-f9
-ff
+22
 90
-4e
-8f
-e0
-fd
-e4
-ef
+4d
+f0
+74
+02
+f0
+7b
+01
+7a
+4d
+79
+f4
+7d
 5d
+7c
+00
+7f
 60
-58
-e4
-90
-4e
-8e
-f0
+7e
+7f
+11
+b0
+7f
+0a
+12
+0f
+72
+7b
+01
+7a
+4c
+79
+00
+7d
+04
+7c
+00
+7f
+52
+7e
+7f
+11
+b0
+7f
+0a
+12
+0f
+72
+7b
+01
+7a
+4d
+79
+ec
+7d
+01
+7c
+00
+7f
+56
+7e
+7f
+11
+b0
+7f
+0a
+12
+0f
+72
+7b
+01
+7a
+4c
+79
+85
+7d
+01
+7c
+00
+7f
+57
+7e
+7f
+11
+b0
+7f
+0a
+12
+0f
+72
 90
-4e
-8e
+4c
+87
 e0
 ff
-90
-06
-81
-93
-60
-48
-90
-4e
-8c
-e0
-fe
+d3
+94
+03
+50
+1e
 ef
-6e
-60
-37
-90
-4e
-8e
+c3
+94
+01
+40
+18
 e0
+75
+f0
+1f
+a4
 24
-bc
+f3
 f5
 82
 e4
@@ -16936,1091 +16457,1256 @@
 f5
 83
 e0
-fd
-7c
-00
 90
-4e
-8d
-e0
-ff
-74
-01
-7e
-00
-a8
-07
-08
+4d
+ec
+f0
+12
+11
+e2
 80
 05
-c3
-33
-ce
-33
-ce
-d8
-f9
-ff
-ee
-5c
-fe
-ef
-5d
-4e
-60
+7f
 08
+12
+11
+e2
 90
-4e
-95
-74
+4d
+ec
+e0
+d3
+94
 01
+40
+02
+e4
 f0
-80
-08
 90
-4e
-8e
+4c
+85
 e0
+d3
+94
 04
+40
+02
+e4
 f0
-80
-ad
+22
 90
 4e
-8d
-e0
-04
+d5
+ec
 f0
-21
-da
-90
-4e
-8f
-e0
-ff
-60
-08
-71
-91
-90
-4e
-93
-e0
-2f
+a3
+ed
+f0
+a3
+eb
+f0
+a3
+ea
+f0
+a3
+e9
 f0
 90
-4e
-8c
-e0
+80
+98
+74
 04
 f0
-21
-a9
+a3
+e4
+f0
 90
-4e
-93
-e0
+0c
+af
+74
+a0
+f0
+a3
+ee
+f0
+a3
+ef
+f0
 90
-4d
-e7
+0c
+b2
+74
+a1
 f0
-e4
+7a
+0c
+79
+af
+7e
+0c
+7f
+af
+74
+af
+fc
+74
+0c
+ff
+ec
+fe
+ef
 90
-4e
-8c
+80
+9a
+ee
+f0
+a3
+ef
 f0
 90
 4e
-8c
+d5
 e0
+fc
+a3
+e0
+fa
+ec
 ff
+ea
+fe
+ef
 90
-06
-81
-93
-70
-02
-61
-65
-74
-93
-2f
-f5
-82
-e4
-34
-4d
-f5
+80
+9e
+ee
+f0
+a3
+ef
+f0
+7a
+0b
+79
+83
+7e
+0b
+7f
 83
-e0
-fe
 74
-bc
-2f
-f5
-82
-e4
-34
-4d
-f5
 83
-e0
-6e
+fc
+74
+0b
+ff
+ec
+fe
+ef
 90
-4e
-8f
+80
+9c
+ee
+f0
+a3
+ef
 f0
 90
-4e
-8c
-e0
-ff
-24
-bc
-f5
-82
-e4
-34
-4d
-f5
-83
+80
+90
+74
+02
+f0
+90
+80
+9c
+a3
 e0
+20
+e7
+07
 90
-4e
-92
+80
+90
+e0
+44
+01
 f0
 90
-4e
-8f
+80
+06
 e0
-70
+44
 04
-61
-5d
-61
-5d
+f0
+31
+60
 90
 4e
-95
+d7
 e0
-60
-07
+a3
+e0
+fa
+a3
+e0
+ae
+02
+ff
 7b
-00
+01
 7a
-00
+0b
 79
-00
-22
-74
-bc
-2f
-f5
-82
-e4
-34
-4d
-f5
-83
-e0
-fe
-74
-93
-2f
-f5
-82
-e4
-34
-4d
-f5
 83
-ee
-f0
-e4
 90
 4e
-8d
-f0
+d5
+e0
+a3
+e0
 90
 4e
-8d
-e0
-ff
-c3
-94
+ca
+f0
+02
 08
-50
-5a
+7d
 90
-4e
-8f
+81
+2c
 e0
 30
-e0
-3b
+e5
+f9
+22
 90
 4e
-8c
-e0
-fe
-33
-33
-33
-54
-f8
-fe
+b8
+ee
+f0
+a3
 ef
-4e
+f0
 90
 4e
-91
+bc
+eb
 f0
 a3
-e0
-ff
-90
-4e
-91
-e0
-90
-06
-96
-93
-fd
-b1
-6d
-90
-4e
-94
-ef
+ea
+f0
+a3
+e9
 f0
 90
 4e
-92
-e0
-30
+ba
+ec
+f0
+a3
+ed
+f0
+a3
 e0
-09
-90
-4e
-94
+f9
+a3
 e0
-ff
-91
-6d
-80
-07
-90
-4e
-94
+fa
+a3
 e0
-ff
-91
-c3
 90
 4e
-8f
-e0
-ff
-c3
-13
+a5
+c9
 f0
-90
-4e
-92
-e0
-ff
-c3
-13
+a3
+ea
 f0
-90
-4e
-8d
-e0
-04
+a3
+e9
 f0
-80
-9c
-90
-4e
+a3
+ec
+f0
+a3
+ed
+f0
+7b
+01
+7a
+0b
+79
+86
+71
+0a
 90
+0b
+83
 74
-01
+a0
 f0
 90
 4e
-8c
+b8
 e0
-04
-f0
-41
-83
-90
-4e
-4f
+ff
+a3
 e0
-b4
-03
-0a
 90
-4d
-e2
-e0
-b4
-01
-03
-74
-02
+0b
+84
+cf
+f0
+a3
+ef
 f0
 90
 4e
-90
+bb
 e0
-70
-07
+24
+03
+fd
 90
-4d
-e2
-e0
-b4
-02
-07
-7b
-01
-7a
 4e
-79
-a8
-22
-7b
-00
-7a
-00
-79
+ba
+e0
+34
 00
-22
-e4
+fc
+ed
+fa
+ec
+ff
+ea
 fe
 ef
-60
-06
-14
-5f
-ff
-0e
-80
-f7
-af
-06
-22
 90
-4e
-e7
-e4
+80
+98
+ee
 f0
 a3
+ef
 f0
+7a
+0b
+79
+83
+7e
+0b
+7f
+83
+74
+83
+fc
+74
+0b
+ff
+ec
+fe
+ef
 a3
-f0
-71
-d2
-50
-25
-31
-45
-90
-4e
-e7
-eb
+ee
 f0
 a3
-ea
+ef
+f0
+90
+80
+9e
+e4
 f0
 a3
-e9
 f0
-4a
-70
-07
 90
-4c
-b6
+80
+90
 04
 f0
-80
-57
 90
-4e
-e7
-e0
-fb
-a3
-e0
-fa
-a3
+80
+06
 e0
-f9
-12
-08
-c0
-22
+44
+04
+f0
+21
+60
+7b
+01
+7a
+4c
+79
+bb
+7d
+02
+7c
+00
+7f
+be
+7e
+7f
+11
+b0
 90
-4b
-9c
+4c
+bb
 e0
-fe
+04
+f0
 a3
 e0
-ff
+04
+f0
 90
-4b
-9a
-e0
-b5
-06
-07
-a3
+4c
+bb
 e0
-b5
-07
-02
-d3
-22
-c3
-22
 90
-4e
-f0
-eb
-f0
-a3
-ea
-f0
-a3
-e9
+44
+fa
 f0
-e4
-ff
-ef
-c3
-9d
-50
-1b
 90
-4e
-f0
+4c
+bc
 e0
+90
+44
 fb
-a3
+f0
+90
+4d
+d0
 e0
-fa
-a3
+90
+44
+fc
+f0
+90
+4d
+d1
 e0
-f9
-8f
-82
-75
-83
-00
-12
-03
-cf
-60
-03
-7f
-00
-22
-0f
-80
+90
+44
+fd
+f0
+90
+4d
+d2
 e0
-7f
-01
+90
+44
+fe
+f0
 22
 90
 4d
-46
+f1
 e0
 60
-4c
-90
-4d
+3c
 e0
+14
+f0
 e0
 70
-46
+36
 90
 4c
-c5
-e0
-64
-03
-70
-3e
-90
-4d
-e9
+b6
 e0
-ff
+b4
+05
+2f
 90
-4d
-f1
+47
+f5
 e0
-6f
-60
-2a
-7b
-01
-7a
-48
-79
-00
-7d
-09
-7c
-00
-12
-0d
-01
+20
+e3
+28
 e4
 90
-4e
-4f
+4d
+d5
 f0
 90
-48
-00
+4c
+b1
+74
 04
 f0
+a3
+74
+b0
+f0
+e4
 90
-4d
-46
-e0
+4c
+b7
+f0
 90
-48
-02
+4e
+5b
 f0
-7b
-01
-7a
-48
-79
-00
-7d
-09
-12
-0c
-1e
 90
 4d
-e9
-e0
+d3
+f0
+51
+02
+7f
+0d
+12
+13
+c9
+e4
 90
-4d
-f1
+4c
+b6
 f0
 22
-e4
-fe
-ef
-c3
-94
+90
+4c
+ac
 e0
-40
-20
-ef
-d3
-94
-e7
-50
-1a
+04
+f0
+70
+06
 90
-4e
-a8
+4c
+ab
 e0
-fe
-ef
-54
-07
-ff
-74
-01
-a8
-07
-08
-80
+04
+f0
+51
+f9
+12
+0e
+85
+12
+18
+f4
+51
+45
+90
+4c
+b1
+e0
+70
 02
-c3
-33
-d8
-fc
-4e
+a3
+e0
+60
+30
+e4
 90
-4e
-a8
+4c
+ab
 f0
-22
-e4
-fe
-74
-a9
-2e
-f5
-82
-e4
+a3
+f0
+90
+4c
+b2
+e0
+24
+ff
+f0
+90
+4c
+b1
+e0
 34
-4e
-f5
-83
+ff
+f0
+e0
+70
+02
+a3
 e0
-fd
-6f
-60
-1c
-ed
 70
 14
 90
-4d
+4c
+88
+e0
+90
+4c
+87
+f0
+90
+4c
+84
 f0
+7f
+0d
+12
+11
+e2
+12
+17
+96
+90
+4c
+b7
 e0
-6f
 60
-12
-74
-a9
-2e
-f5
-82
+18
 e4
-34
-4e
-f5
-83
-ef
+90
+4c
+ab
+f0
+a3
+f0
+90
+4c
+b7
+e0
+14
 f0
+e0
+70
+08
+7f
+0a
+12
+0f
+72
+12
+17
+96
 22
-0e
-ee
-b4
-06
-d5
+90
+4c
+9a
+e0
+60
+0a
+14
+f0
+e0
+70
+05
+74
+05
+f0
+71
+4e
 22
-e4
-fe
-fd
-ef
-54
+90
+4e
+a2
+eb
 f0
-64
+a3
+ea
+f0
+a3
+e9
+f0
+90
+4e
+a8
+74
+ff
+f5
+f0
+12
+04
+24
+45
 f0
 60
-07
-ef
-54
-d0
-fc
-bc
-d0
-0c
+2a
 90
 4e
-4f
+a5
 e0
-b4
-02
-0b
-74
-03
+fb
+a3
+e4
+75
 f0
-80
-06
+01
+12
+04
+24
+a9
+f0
+fa
+12
+03
+b6
+ff
 90
-4d
-e2
-74
+4e
+a2
+e0
+fb
+a3
+e4
+75
+f0
 01
+12
+04
+24
+a9
 f0
+fa
 ef
+12
+03
+fc
+80
+c8
+22
+90
+4e
+d1
+12
+05
+82
+00
+00
+00
+00
+90
+4c
+71
+e0
+fe
+a3
+e0
+ff
 c3
-94
+90
+4c
+76
 e0
-40
-21
-ef
-d3
-94
-e7
+9f
+90
+4c
+75
+e0
+9e
 50
-1b
+02
+a1
+6d
 90
-4e
-a8
+4c
+75
 e0
 fe
-ef
-54
-07
+a3
+e0
 ff
-74
-01
-a8
-07
-08
-80
-02
-c3
-33
-d8
-fc
-f4
-5e
 90
-4e
-a8
+4c
+9b
+e0
+fd
+04
 f0
-22
-e4
-fe
 ed
-70
-21
-74
-a9
-2e
-f5
-82
-e4
-34
-4e
-f5
-83
+25
 e0
-6f
-70
-47
-ee
-b4
-05
-0b
 24
-a9
+9d
 f5
 82
 e4
 34
-4e
+4c
 f5
 83
-e4
+ee
 f0
-7d
-01
-80
-34
-74
-a9
-2e
-f5
-82
-e4
-34
-4e
-f5
-83
+a3
+ef
+f0
+90
+4c
+9b
 e0
-fc
-74
-a8
-2e
-f5
-82
+c3
+94
+04
+40
+02
 e4
-34
-4e
-f5
-83
-ec
 f0
-74
-a9
-2e
-f5
-82
 e4
-34
+90
 4e
-f5
-83
+d0
+f0
+90
+4e
+d1
+e0
+f8
+a3
+e0
+f9
+a3
+e0
+fa
+a3
+e0
+fb
+90
+4e
+d0
+e0
+25
 e0
-60
-14
-ee
-b4
-05
-0b
 24
-a9
+9d
 f5
 82
 e4
 34
-4e
+4c
 f5
 83
-e4
-f0
-0e
-ee
-b4
-06
+e0
+fe
 a3
-22
+e0
+ff
 e4
+fc
+fd
+eb
+2f
+ff
+ea
+3e
+fe
+ed
+39
+fd
+ec
+38
+fc
 90
-4f
-0a
+4e
+d1
+12
+05
+76
+90
+4e
+d0
+e0
+04
 f0
-ef
-30
 e0
-05
-e4
+b4
+04
+bf
 90
-4c
+4e
+d1
+e0
+fc
+a3
+e0
+fd
+a3
+e0
+fe
+a3
+e0
+ff
+e4
+7b
+04
+fa
+f9
 f8
-f0
+12
+04
+c5
 90
-4f
-0a
-ed
-f0
+4e
+d1
+12
+05
+76
 90
 4c
-c1
+a7
 e0
-60
-2e
-ed
-b4
-e6
-08
+fe
+a3
+e0
+ff
+e4
+fc
+fd
 90
-4f
-0a
-74
-e7
-f0
-80
-22
-ed
-b4
+4e
+d1
+e0
+f8
+a3
+e0
+f9
+a3
+e0
+fa
+a3
+e0
+fb
+d3
+12
+05
+65
+50
+07
 e4
-08
 90
-4f
-0a
-74
-e6
+4c
+c2
 f0
-80
-16
-ed
-b4
-e3
+81
+a5
+90
+4c
+c3
+e0
+fe
+a3
+e0
+ff
+e4
+fc
+fd
+90
+4e
+d1
+e0
+f8
+a3
+e0
+f9
+a3
+e0
+fa
+a3
+e0
+fb
+c3
+12
+05
+65
+40
 08
 90
-4f
-0a
+4c
+c2
 74
-e2
+64
 f0
 80
-0a
-ed
-b4
-e2
-06
+5b
 90
-4f
-0a
-74
-e3
-f0
+4c
+a7
+e0
+fe
+a3
+e0
+ff
+fb
+aa
+06
+e4
 90
 4e
-59
+d1
 e0
-60
-02
-c1
-5e
-90
-4d
-e5
+fc
+a3
 e0
-70
-02
-c1
-5e
+fd
+a3
+e0
+fe
+a3
+e0
+c3
+9b
+ff
+ee
+9a
+fe
 ed
-24
-c6
-b4
-0c
+94
 00
-40
-02
-c1
-5e
+fd
+ec
+94
+00
+fc
+e4
+7b
+64
+fa
+f9
+f8
+12
+04
+3a
+c0
+06
+c0
+07
 90
-25
-dc
-75
-f0
-03
-a4
+4c
+a7
+e0
+fe
+a3
+e0
+ff
+c3
+90
+4c
+c4
+e0
+9f
+ff
+90
+4c
+c3
+e0
+9e
+fe
+ab
+07
+fa
+e4
+f9
+f8
+d0
+07
+d0
+06
+12
+04
 c5
-83
-25
+90
+4c
+c2
+ef
 f0
-c5
-83
-73
-02
-26
-00
-02
-26
-08
-02
-26
-10
-02
-26
-18
-02
-26
-20
-02
-26
-28
-02
-26
-30
-02
-26
-38
-02
-26
-40
-02
-26
-48
-02
-26
+90
+4c
+a7
+e0
+fe
+a3
+e0
+ff
+e4
+fc
+fd
+90
+4e
+d1
+e0
+f8
+a3
+e0
+f9
+a3
+e0
+fa
+a3
+e0
+fb
+c3
+12
+05
+65
 50
-02
-26
-58
+27
 90
-4f
-0a
+4c
+9c
 74
-f9
+02
 f0
-80
-56
 90
-4f
-0a
+4c
+c9
+e0
+64
+02
+70
+02
+a1
+65
+90
+4c
+c8
 74
-d6
+01
 f0
+fb
+7a
+4c
+79
+c8
+fd
+7c
+00
+7f
+c0
+7e
+7f
+12
+1a
+88
 80
-4e
+7a
 90
-4f
-0a
-74
-fa
+4c
+c9
+e0
+64
+02
+60
+07
+90
+4c
+c8
+e0
+b4
+01
+15
+e4
+90
+4c
+c8
 f0
-80
-46
+7b
+01
+7a
+4c
+79
+c8
+7d
+01
+fc
+7f
+c0
+7e
+7f
+12
+1a
+88
 90
-4f
-0a
-74
+4c
+a5
+e0
+fe
+a3
+e0
+ff
+e4
+fc
+fd
+90
+4e
+d1
+e0
+f8
+a3
+e0
+f9
+a3
+e0
+fa
+a3
+e0
 fb
-f0
-80
-3e
+c3
+12
+05
+65
+50
+1d
 90
-4f
-0a
+4c
+9c
 74
-f1
+01
 f0
-80
-36
 90
-4f
-0a
-74
-f3
-f0
-80
-2e
+4c
+ca
+e0
+70
+2b
 90
-4f
-0a
-74
-f4
+4c
+ef
 f0
-80
-26
-90
-4f
-0a
+a3
 74
-f2
+48
 f0
-80
-1e
-90
-4f
-0a
+a3
 74
-f5
+12
+f0
+e4
+a3
 f0
 80
-16
+1a
+e4
 90
-4f
-0a
-74
-f8
+4c
+9c
 f0
-80
-0e
 90
-4f
-0a
+4c
+ca
+e0
+70
+0f
+90
+4c
+ef
+f0
+a3
 74
-f6
+48
 f0
-80
-06
-90
-4f
-0a
+a3
 74
-f7
+5d
+f0
+e4
+a3
 f0
 90
-4f
-0a
+4c
+9c
 e0
-ff
+90
+4c
+c9
+f0
 22
 ad
 07
@@ -18028,7 +17714,7 @@
 06
 90
 4e
-4f
+51
 e0
 64
 02
@@ -18039,7 +17725,7 @@
 f0
 90
 4e
-50
+52
 04
 f0
 ef
@@ -18051,7 +17737,7 @@
 22
 90
 4e
-d8
+da
 eb
 f0
 a3
@@ -18066,7 +17752,7 @@
 f0
 90
 4e
-db
+dd
 e0
 ff
 c3
@@ -18075,11 +17761,11 @@
 40
 03
 02
-29
-98
+28
+a0
 90
 4e
-d8
+da
 e0
 fb
 a3
@@ -18119,8 +17805,8 @@
 60
 03
 02
-29
-8f
+28
+97
 12
 03
 b6
@@ -18132,11 +17818,11 @@
 83
 7e
 01
-d1
-64
+b1
+6e
 02
-29
-64
+28
+6c
 eb
 b4
 f2
@@ -18145,14 +17831,14 @@
 cd
 7e
 00
-d1
-64
+b1
+6e
 02
-29
-64
+28
+6c
 90
 4e
-d8
+da
 e0
 fb
 a3
@@ -18184,11 +17870,11 @@
 07
 7f
 b7
-d1
-64
+b1
+6e
 02
-29
-64
+28
+6c
 eb
 b4
 f4
@@ -18197,14 +17883,14 @@
 b6
 7e
 00
-d1
-64
+b1
+6e
 02
-29
-64
+28
+6c
 90
 4e
-d8
+da
 e0
 fb
 a3
@@ -18236,11 +17922,11 @@
 07
 7f
 b5
-d1
-64
+b1
+6e
 02
-29
-64
+28
+6c
 eb
 b4
 f6
@@ -18249,14 +17935,14 @@
 ea
 7e
 00
-d1
-64
+b1
+6e
 02
-29
-64
+28
+6c
 90
 4e
-d8
+da
 e0
 fb
 a3
@@ -18288,11 +17974,11 @@
 07
 7f
 e9
-d1
-64
+b1
+6e
 02
-29
-64
+28
+6c
 eb
 b4
 f8
@@ -18301,14 +17987,14 @@
 e2
 7e
 00
-d1
-64
+b1
+6e
 02
-29
-64
+28
+6c
 90
 4e
-d8
+da
 e0
 fb
 a3
@@ -18341,11 +18027,11 @@
 7f
 94
 0e
-d1
-64
+b1
+6e
 02
-29
-64
+28
+6c
 eb
 b4
 fa
@@ -18354,14 +18040,14 @@
 8a
 7e
 01
-d1
-64
+b1
+6e
 02
-29
-64
+28
+6c
 90
 4e
-d8
+da
 e0
 fb
 a3
@@ -18394,11 +18080,11 @@
 7f
 92
 0e
-d1
-64
+b1
+6e
 02
-29
-64
+28
+6c
 eb
 b4
 d0
@@ -18407,14 +18093,14 @@
 2a
 7e
 02
-d1
-64
+b1
+6e
 02
-29
-64
+28
+6c
 90
 4e
-d8
+da
 e0
 fb
 a3
@@ -18448,11 +18134,11 @@
 25
 7e
 02
-12
-26
-64
-21
-64
+b1
+6e
+02
+28
+6c
 eb
 b4
 d3
@@ -18461,14 +18147,14 @@
 26
 7e
 02
-12
-26
-64
-21
-64
+b1
+6e
+02
+28
+6c
 90
 4e
-d8
+da
 e0
 fb
 a3
@@ -18502,11 +18188,11 @@
 24
 7e
 02
-12
-26
-64
-21
-64
+b1
+6e
+02
+28
+6c
 eb
 b4
 d4
@@ -18515,14 +18201,14 @@
 27
 7e
 02
-12
-26
-64
-21
-64
+b1
+6e
+02
+28
+6c
 90
 4e
-d8
+da
 e0
 fb
 a3
@@ -18556,11 +18242,11 @@
 21
 7e
 02
-12
-26
-64
-21
-64
+b1
+6e
+02
+28
+6c
 eb
 b4
 d6
@@ -18569,14 +18255,14 @@
 23
 7e
 02
-12
-26
-64
-21
-64
+b1
+6e
+02
+28
+6c
 90
 4e
-d8
+da
 e0
 fb
 a3
@@ -18608,11 +18294,11 @@
 07
 7f
 70
-12
-26
-64
-21
-64
+b1
+6e
+02
+28
+6c
 eb
 b4
 d8
@@ -18621,14 +18307,14 @@
 6f
 7e
 00
-12
-26
-64
-21
-64
+b1
+6e
+02
+28
+6c
 90
 4e
-d8
+da
 e0
 fb
 a3
@@ -18657,30 +18343,28 @@
 fb
 b4
 d9
-07
+06
 7f
 b8
-12
-26
-64
+b1
+6e
 80
-7d
+7c
 eb
 b4
 da
-09
+08
 7f
 30
 7e
 00
-12
-26
-64
+b1
+6e
 80
 70
 90
 4e
-d8
+da
 e0
 fb
 a3
@@ -18715,8 +18399,8 @@
 7e
 03
 12
-26
-64
+25
+6e
 80
 47
 eb
@@ -18728,13 +18412,13 @@
 7e
 03
 12
-26
-64
+25
+6e
 80
 3a
 90
 4e
-d8
+da
 e0
 fb
 a3
@@ -18766,8 +18450,8 @@
 06
 7f
 01
-31
-99
+11
+a1
 80
 14
 ee
@@ -18776,8 +18460,8 @@
 06
 7f
 02
-31
-99
+11
+a1
 80
 0a
 12
@@ -18788,18 +18472,18 @@
 04
 7f
 04
-31
-99
+11
+a1
 90
 4e
-4f
+51
 e0
 b4
 02
 24
 90
 4e
-d8
+da
 e0
 fb
 a3
@@ -18827,7 +18511,7 @@
 b6
 90
 4d
-f0
+f2
 f0
 e4
 12
@@ -18835,17 +18519,17 @@
 fc
 90
 4e
-db
+dd
 e0
 04
 f0
 02
-26
-8e
+25
+98
 22
 90
 4e
-4f
+51
 e0
 64
 02
@@ -18856,13 +18540,13 @@
 f0
 90
 4d
-ec
+ee
 74
 01
 f0
 90
 4e
-50
+52
 74
 06
 f0
@@ -18871,20 +18555,106 @@
 f0
 22
 90
-4e
+4c
+f5
+e0
+60
+4c
+90
+4d
+e1
+e0
+70
+46
+90
+4c
+89
+e0
+64
+03
+70
+3e
+90
+4d
+eb
+e0
+ff
+90
+4d
+f3
+e0
+6f
+60
+2a
+7b
+01
+7a
+48
+79
+00
+7d
+09
+7c
+00
+12
+0d
+01
 e4
+90
+4e
+51
+f0
+90
+48
+00
+04
+f0
+90
+4c
+f5
+e0
+90
+48
+02
+f0
+7b
+01
+7a
+48
+79
+00
+7d
+09
+12
+0c
+1d
+90
+4d
+eb
+e0
+90
+4d
+f3
+f0
+22
+90
+4e
+e6
 e4
 f0
 a3
 f0
 a3
 f0
-12
-21
-45
+71
+9b
+50
+25
+31
+42
 90
 4e
-e4
+e6
 eb
 f0
 a3
@@ -18895,12 +18665,17 @@
 f0
 4a
 70
-02
-81
-26
+07
+90
+4c
+7a
+04
+f0
+80
+89
 90
 4e
-e4
+e6
 e0
 fb
 a3
@@ -18909,597 +18684,638 @@
 a3
 e0
 f9
+12
+08
+c0
+22
+e4
 90
-00
+4e
+8e
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+b1
+2d
+7a
+4d
+79
+a8
+90
+4e
+b4
+74
 01
-12
-03
-cf
-ff
-70
-02
-81
-26
-64
-28
+f0
+a3
+74
+4d
+f0
+a3
+74
+a8
+f0
+a3
+74
+14
+f0
+7b
+01
+7a
+4d
+79
+bc
+71
+e3
+ef
 60
-05
+16
+7b
+01
+7a
+4d
+79
+bc
+7d
+14
+71
+b3
 ef
-64
-58
 70
-32
+09
 90
 4c
-c8
+92
 e0
-b4
+44
 02
-10
-7f
-29
-12
-10
-ad
+f0
+80
+0c
 90
 4c
-c8
-74
-03
+92
+e0
+54
+fd
 f0
 e4
 90
-4d
-d8
-f0
-90
 4c
-ca
-e0
-64
-02
-60
-02
-81
-26
-90
-42
-5e
-04
+94
 f0
-7f
-0a
-12
-10
-ad
+e4
 90
-4c
-ca
-74
-03
+4e
+8e
 f0
-22
 90
 4e
-e4
-e0
-fb
-a3
-e0
-fa
-a3
+8e
 e0
-f9
-90
-00
-01
-12
-03
-cf
 ff
-d3
-94
-62
-40
+90
+06
+81
+93
+70
 02
 41
-f2
+72
+74
+bc
+2f
+f5
+82
+e4
+34
+4d
+f5
+83
+e0
+90
+4e
+91
+f0
+e0
+ff
+71
+8d
+90
+4e
+98
 ef
+f0
 c3
 94
-59
+02
 50
 02
 41
-f2
-ef
-b4
-62
-38
+5b
+e4
 90
-05
-4f
+4e
+8f
+f0
+90
+4e
+8f
 e0
 ff
-04
-f0
-74
+c3
+94
+08
 50
-2f
-f5
-82
-e4
-34
-05
-f5
-83
+7b
 74
-30
-f0
+01
+7e
+00
+a8
+07
+08
+80
+05
+c3
+33
+ce
+33
+ce
+d8
+f9
+ff
 90
-4d
-39
-e0
-fc
-a3
+4e
+91
 e0
 fd
-a3
-e0
-fe
-a3
-e0
-ff
 e4
-7b
-0a
-fa
-f9
-f8
-12
-04
-3a
+ef
+5d
+60
+58
+e4
 90
-4d
-39
-12
-05
-76
+4e
 90
-4d
-d8
-e0
-04
 f0
-22
 90
 4e
-e4
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-f9
 90
-00
-01
-12
-03
-cf
-24
-d8
+e0
 ff
 90
-05
-4f
+06
+81
+93
+60
+48
+90
+4e
+8e
 e0
 fe
-04
-f0
-74
-50
-2e
+ef
+6e
+60
+37
+90
+4e
+90
+e0
+24
+bc
 f5
 82
 e4
 34
-05
+4d
 f5
 83
-ef
-f0
-90
-00
-01
-12
-03
-cf
-24
-a8
-ff
-e4
-34
-ff
-fe
-e4
-fc
+e0
 fd
-c0
-04
-c0
-05
-c0
-06
-c0
-07
-7f
-0a
-fe
+7c
+00
 90
-4d
-39
-e0
-f8
-a3
-e0
-f9
-a3
-e0
-fa
-a3
+4e
+8f
 e0
-fb
-12
-04
-3a
-d0
-03
-d0
-02
-d0
+ff
+74
 01
-d0
+7e
 00
-ef
-2b
+a8
+07
+08
+80
+05
+c3
+33
+ce
+33
+ce
+d8
+f9
 ff
 ee
-3a
+5c
 fe
-ed
-39
-fd
-ec
-38
-fc
+ef
+5d
+4e
+60
+08
 90
-4d
-39
-12
-05
-76
+4e
+97
+74
+01
+f0
+80
+08
+90
+4e
 90
-4d
-d8
 e0
 04
 f0
-22
+80
+ad
 90
 4e
-e4
+8f
 e0
-fb
-a3
+04
+f0
+21
+d6
+90
+4e
+91
 e0
-fa
-a3
+ff
+60
+08
+71
+8d
+90
+4e
+95
 e0
-f9
+2f
+f0
 90
-00
-01
-12
-03
-cf
+4e
+8e
+e0
+04
+f0
+21
+a5
+90
+4e
+95
+e0
+90
+4d
+e9
+f0
+e4
+90
+4e
+8e
+f0
+90
+4e
+8e
+e0
 ff
-d3
-94
-27
-40
+90
+06
+81
+93
+70
 02
 61
-c3
-ef
-c3
-94
-1e
-50
-02
 61
-c3
-ef
-b4
-27
-38
-90
-05
-4f
-e0
-ff
-04
-f0
 74
-50
+93
 2f
 f5
 82
 e4
 34
-05
+4d
 f5
 83
+e0
+fe
 74
-30
-f0
-90
+bc
+2f
+f5
+82
+e4
+34
 4d
-39
-e0
-fc
-a3
-e0
-fd
-a3
+f5
+83
 e0
-fe
-a3
+6e
+90
+4e
+91
+f0
+90
+4e
+8e
 e0
 ff
+24
+bc
+f5
+82
 e4
-7b
-0a
-fa
-f9
-f8
-12
-04
-3a
-90
-4d
-39
-12
-05
-76
-90
+34
 4d
-d8
+f5
+83
 e0
-04
+90
+4e
+94
 f0
-22
 90
 4e
-e4
-e0
-fb
-a3
-e0
-fa
-a3
+91
 e0
-f9
+70
+04
+61
+59
+61
+59
 90
+4e
+97
+e0
+60
+07
+7b
 00
-01
-12
-03
-cf
-24
-13
-ff
-90
-05
-4f
+7a
+00
+79
+00
+22
+74
+bc
+2f
+f5
+82
+e4
+34
+4d
+f5
+83
 e0
 fe
-04
-f0
 74
-50
-2e
+93
+2f
 f5
 82
 e4
 34
-05
+4d
 f5
 83
-ef
+ee
 f0
-90
-00
-01
-12
-03
-cf
-24
-e3
-ff
-e4
-34
-ff
-fe
 e4
-fc
-fd
-c0
-04
-c0
-05
-c0
-06
-c0
-07
-7f
-0a
-fe
 90
-4d
-39
+4e
+8f
+f0
+90
+4e
+8f
 e0
-f8
-a3
+ff
+c3
+94
+08
+50
+5a
+90
+4e
+91
 e0
-f9
-a3
+30
 e0
-fa
-a3
+3b
+90
+4e
+8e
 e0
-fb
-12
-04
-3a
-d0
-03
-d0
-02
-d0
-01
-d0
-00
-ef
-2b
-ff
-ee
-3a
 fe
-ed
-39
-fd
-ec
-38
-fc
+33
+33
+33
+54
+f8
+fe
+ef
+4e
 90
-4d
-39
-12
-05
-76
+4e
+93
+f0
+a3
+e0
+ff
 90
-4d
-d8
+4e
+93
 e0
-04
+90
+06
+96
+93
+fd
+f1
+79
+90
+4e
+96
+ef
 f0
-22
 90
 4e
-e4
+94
 e0
-fb
-a3
+30
 e0
-fa
-a3
+09
+90
+4e
+96
 e0
-f9
+ff
+91
+2d
+80
+07
 90
-00
-01
-12
-03
-cf
-64
-2a
-70
-40
+4e
+96
+e0
+ff
+91
+83
 90
-05
-4f
+4e
+91
 e0
-60
-10
+ff
+c3
+13
+f0
+90
+4e
+94
 e0
 ff
-14
+c3
+13
+f0
+90
+4e
+8f
+e0
+04
 f0
+80
+9c
+90
+4e
+92
 74
-50
-2f
-f5
-82
-e4
-34
-05
-f5
-83
-e4
+01
 f0
 90
-4d
-d8
+4e
+8e
 e0
-60
-32
+04
+f0
+41
+7f
 90
-4d
-39
-e0
-fc
-a3
-e0
-fd
-a3
-e0
-fe
-a3
+4e
+51
 e0
-ff
-e4
-7b
+b4
+03
 0a
-fa
-f9
-f8
-12
-04
-c5
 90
 4d
-39
-12
-05
-76
+e3
+e0
+b4
+01
+03
+74
+02
+f0
+90
+4e
+92
+e0
+70
+07
 90
 4d
-d8
+e3
 e0
+b4
+02
+07
+7b
+01
+7a
+4e
+79
+aa
+22
+7b
+00
+7a
+00
+79
+00
+22
+e4
+fe
+ef
+60
+06
 14
-f0
+5f
+ff
+0e
+80
+f7
+af
+06
 22
 90
-4e
-e4
+4b
+9c
 e0
-fb
+fe
 a3
 e0
-fa
+ff
+90
+4b
+9a
+e0
+b5
+06
+07
 a3
 e0
-f9
-12
-08
-c0
+b5
+07
+02
+d3
+22
+c3
 22
 90
 4e
-ea
+ef
 eb
 f0
 a3
@@ -19510,34 +19326,14 @@
 f0
 e4
 ff
-fe
-90
-4d
-e5
-e0
-64
-01
-60
-08
-90
-4d
-dd
-e0
-64
-01
-70
-68
-7e
-05
-ad
-06
-1e
-ed
-60
-6a
+ef
+c3
+9d
+50
+1b
 90
 4e
-ea
+ef
 e0
 fb
 a3
@@ -19545,182 +19341,366 @@
 fa
 a3
 e0
-24
-01
 f9
-e4
-3a
-fa
-ee
-7c
+8f
+82
+75
+83
 00
-29
-f9
-ec
-3a
-fa
 12
 03
-b6
-ff
-b4
-1e
-db
-90
-4d
-e5
+cf
+60
+03
+7f
+00
+22
+0f
+80
 e0
-b4
-01
-d4
-12
-17
-c6
 7f
-0a
-12
-16
-f3
+01
+22
 90
-4c
-e9
-74
+4e
+b1
+eb
 f0
+a3
+ea
 f0
-e4
-90
-4c
-ee
+a3
+e9
 f0
-7f
-05
-12
-10
-d7
-12
-1c
-d7
 e4
+ff
 90
-4c
-cc
-f0
-90
-4c
-eb
-04
-f0
-90
-4c
-c0
+4e
+b7
 e0
-90
-4c
-c4
-f0
-90
-4c
+fe
+ef
 c3
-e0
-90
-4c
-c0
-f0
-7f
-01
-22
-80
-0a
+9e
+50
+30
 90
-4c
-ce
+4e
+b4
 e0
-54
-e7
-f0
-54
-df
-f0
-7f
-00
-22
-90
-4c
-f5
-ed
-f0
+fb
 a3
-eb
-f0
-ef
-30
 e0
+fa
+a3
+e0
+f9
+8f
+82
+75
+83
+00
 12
+03
+cf
+fe
 90
-4c
-f4
+4e
+b1
 e0
-b4
+fb
+a3
+e0
+fa
+a3
+e0
+f9
+8f
+82
+75
+83
+00
+12
 03
-04
-74
-02
-f0
+cf
+6e
+60
+03
+7f
+00
 22
-90
-4c
-f4
-74
+0f
+80
+c6
+7f
 01
-f0
-22
-90
-4c
-f4
-74
-04
-f0
 22
 e4
-90
-4f
-0b
-f0
-f0
-90
-4f
-0b
-e0
-ff
+fe
+ef
 c3
 94
-08
+e0
+40
+20
+ef
+d3
+94
+e7
 50
-0d
-c2
-05
-12
-1f
-02
+1a
 90
-4f
-0b
+4e
+aa
 e0
-04
-f0
-80
-e9
-22
-e4
+fe
+ef
+54
+07
 ff
+74
+01
+a8
+07
+08
+80
+02
+c3
+33
+d8
+fc
+4e
 90
 4e
-ed
+aa
 f0
+22
+e4
 fe
-fd
-a3
-f0
+74
+ab
+2e
+f5
+82
+e4
+34
+4e
+f5
+83
+e0
+fd
+6f
+60
+1c
+ed
+70
+14
+90
+4d
+f2
+e0
+6f
+60
+12
+74
+ab
+2e
+f5
+82
+e4
+34
+4e
+f5
+83
+ef
+f0
+22
+0e
+ee
+b4
+06
+d5
+22
+e4
+fe
+fd
+ef
+54
+f0
+64
+f0
+60
+07
+ef
+54
+d0
+fc
+bc
+d0
+0c
+90
+4e
+51
+e0
+b4
+02
+0b
+74
+03
+f0
+80
+06
+90
+4d
+e3
+74
+01
+f0
+ef
+c3
+94
+e0
+40
+21
+ef
+d3
+94
+e7
+50
+1b
+90
+4e
+aa
+e0
+fe
+ef
+54
+07
+ff
+74
+01
+a8
+07
+08
+80
+02
+c3
+33
+d8
+fc
+f4
+5e
+90
+4e
+aa
+f0
+22
+e4
+fe
+ed
+70
+21
+74
+ab
+2e
+f5
+82
+e4
+34
+4e
+f5
+83
+e0
+6f
+70
+47
+ee
+b4
+05
+0b
+24
+ab
+f5
+82
+e4
+34
+4e
+f5
+83
+e4
+f0
+7d
+01
+80
+34
+74
+ab
+2e
+f5
+82
+e4
+34
+4e
+f5
+83
+e0
+fc
+74
+aa
+2e
+f5
+82
+e4
+34
+4e
+f5
+83
+ec
+f0
+74
+ab
+2e
+f5
+82
+e4
+34
+4e
+f5
+83
+e0
+60
+14
+ee
+b4
+05
+0b
+24
+ab
+f5
+82
+e4
+34
+4e
+f5
+83
+e4
+f0
+0e
+ee
+b4
+06
+a3
+22
+e4
+ff
+90
+4e
+ec
+f0
+fe
+fd
+a3
+f0
 a3
 f0
 ef
@@ -19853,7 +19833,7 @@
 f0
 0f
 a1
-09
+39
 e4
 ff
 ef
@@ -19986,7 +19966,7 @@
 f0
 0f
 a1
-8e
+be
 e4
 ff
 ef
@@ -20064,20 +20044,20 @@
 1e
 12
 17
-f1
+f0
 e4
 33
 ff
 90
 4c
-c3
+87
 f0
 bf
 01
 0f
 90
 4c
-c0
+84
 e0
 ff
 64
@@ -20088,1005 +20068,1178 @@
 70
 03
 02
-1e
-c7
+1b
+37
 90
 4c
-c3
+87
 e0
 60
 07
 90
 4c
-c0
+84
 e0
 b4
 fe
 0a
 90
 4c
-c0
+84
 e0
 b4
 01
 03
 12
-1e
-c7
+1b
+37
 22
 90
-4c
-c3
-e0
-b4
-01
-07
-d2
-01
-7f
-1f
-02
-12
-bb
-90
-4c
-c3
-e0
-b4
-02
-07
-d2
-01
-7f
+4e
+e9
+eb
+f0
+a3
+ea
+f0
+a3
+e9
+f0
+e4
 ff
-02
-12
-bb
+fe
 90
-4c
-c3
+4d
+e6
 e0
-b4
-03
-07
-d2
-06
-7f
-ff
-02
-1c
-ff
-d2
+64
 01
-7f
-1f
-02
-12
-bb
+60
+08
 90
-4c
-c3
+4d
+de
 e0
-b4
-01
-07
-c2
+64
 01
-7f
-1f
-02
-12
-bb
+70
+6c
+7e
+05
+ad
+06
+1e
+ed
+60
+6b
 90
-4c
-c3
+4e
+e9
 e0
-b4
-02
-07
-c2
+fb
+a3
+e0
+fa
+a3
+e0
+24
 01
-7f
-ff
-02
+f9
+e4
+3a
+fa
+ee
+7c
+00
+29
+f9
+ec
+3a
+fa
 12
-bb
+03
+b6
+ff
+b4
+1e
+db
 90
-4c
-c3
+4d
+e6
 e0
 b4
-03
-07
-c2
 01
-7f
-ff
-02
+d4
 12
-bb
-c2
-01
+18
+c7
 7f
-1f
-02
-12
-bb
+0a
 12
-32
-4c
+0f
+72
 90
 4c
-ea
-e0
-60
-02
-14
+b1
+74
+04
 f0
-90
-4c
-ef
-e0
-60
-02
-14
+a3
+74
+b0
 f0
+e4
 90
 4c
-f8
-e0
-60
-2a
-14
+b7
 f0
-e0
-70
-25
-90
-4d
-0c
-e0
-ff
-b4
-01
-0e
+7f
+05
+12
+11
+e2
+12
+17
+bc
+e4
 90
 4c
-f4
-74
-09
-f0
 90
-4d
-0c
-74
-02
 f0
-80
-0f
-ef
-b4
-02
-0b
 90
 4c
-f4
-74
-06
-f0
-e4
-90
-4d
-0c
+b4
+04
 f0
 90
 4c
-e5
+84
 e0
-60
-24
 90
 4c
-ee
-e0
-70
-06
+88
+f0
 90
 4c
-e9
+87
 e0
-60
-06
-e4
 90
 4c
-e5
+84
 f0
+7f
+01
 22
+80
+07
 90
 4c
-e5
+92
 e0
-14
+54
+e7
 f0
-d1
-90
+7f
+00
+22
 90
 4c
-e5
+be
+ed
+f0
+a3
+eb
+f0
+ef
+30
 e0
-70
-50
-d1
-c1
-80
-4c
+12
 90
 4c
-e9
+bd
 e0
-70
-46
+b4
+03
+04
+74
+02
+f0
+22
 90
 4c
-ee
-e0
-70
-40
+bd
+74
+01
+f0
+22
 90
 4c
-e2
-e0
-60
-3a
-14
+bd
+74
+04
 f0
-e0
-ff
-c3
-94
-08
-50
-1b
-e4
+22
 90
-41
-31
+4f
+00
+ed
+f0
+e4
+a3
 f0
 ef
 30
-e1
-09
-d2
-01
-7f
-1f
-12
-12
-bb
-80
-16
-c2
-01
-7f
-1f
-12
-12
-bb
-80
-0d
-90
-41
-31
-74
-01
-f0
-c2
-01
-7f
-1f
-12
-12
-bb
+e0
+05
+e4
 90
 4c
-e2
-e0
-70
-03
-74
-0c
+c1
 f0
 90
-4d
-df
+4f
+00
 e0
-70
-36
+fe
+a3
+f0
 90
-4d
-e0
+4c
+85
 e0
+fd
 64
-01
+04
+60
+05
+ed
+64
+03
 70
-2e
+30
+ee
+b4
+e6
+08
 90
-4c
-e3
-f0
-a3
+4f
+01
+74
+e7
 f0
+80
+24
 90
-4d
+4f
+00
 e0
+fe
+b4
+e4
+06
+a3
+74
+e6
 f0
+80
+16
+ee
+b4
+e3
+08
 90
-4e
-50
-e0
-60
-0d
-7b
+4f
 01
-7a
-4e
-79
-50
-7d
-03
-12
-0c
-1e
+74
+e2
+f0
 80
-11
+0a
+ee
+b4
+e2
+06
 90
-48
-00
-e0
-60
-0b
-7b
+4f
 01
-7a
-48
-79
-00
-7d
-09
-12
-0c
-1e
+74
+e3
+f0
 90
 4d
-db
+e6
 e0
-60
-09
+64
+01
+70
+40
+90
+4f
+00
 e0
-14
-f0
+fe
+b4
+1a
+1b
+ef
+30
 e0
-70
-03
-12
-1e
-c7
+10
 90
 4d
-d5
+da
 e0
 60
-11
-e0
-14
+04
+e4
 f0
-e0
-70
-0b
+80
+06
 90
 4d
-3d
+da
+74
+01
+f0
+e4
+90
+4f
+01
+f0
+80
+1d
+ee
+b4
+e3
+19
+ef
+30
 e0
-70
-05
-7f
-1b
-12
 10
-ad
 90
 4d
-e9
+e7
 e0
 60
-29
-e0
-14
+04
+e4
 f0
-e0
-70
-23
+80
+06
 90
 4d
-46
-e0
-60
-02
+e7
+74
+01
+f0
 e4
+90
+4f
+01
 f0
 90
-4c
-c7
+4e
+5b
 e0
-b4
-04
-07
+60
+02
+01
+c4
 90
-42
-13
-74
-0c
-f0
-22
+4d
+e6
+e0
+70
+02
+01
+c4
 90
-4c
-c9
+4f
+00
 e0
+24
+c6
 b4
-04
-06
+0c
+00
+40
+02
+01
+c4
 90
+30
 42
-13
-74
-3a
+75
 f0
-22
+03
+a4
+c5
+83
+25
+f0
+c5
+83
+73
+02
+30
+66
+02
+30
+6e
+02
+30
+76
+02
+30
+7e
+02
+30
+86
+02
+30
+8e
+02
+30
+96
+02
+30
+9e
+02
+30
+a6
+02
+30
+ae
+02
+30
+b6
+02
+30
+be
 90
-80
-91
+4f
+01
 74
-0d
-f0
-a3
-04
-f0
-a3
-f0
-a3
-f0
-a3
-f0
-a3
-14
+f9
 f0
-22
-12
-0d
-2d
-11
-85
+80
+56
 90
-4c
-eb
-74
+4f
 01
+74
+d6
 f0
+80
+4e
 90
-4c
-e5
+4f
+01
 74
-1e
+fa
 f0
-e4
+80
+46
 90
-4c
-f0
+4f
+01
+74
+fb
 f0
+80
+3e
 90
-4d
-10
+4f
+01
 74
-ff
+f1
 f0
+80
+36
 90
-44
-fc
-e0
-90
-4d
-d0
+4f
+01
+74
+f3
 f0
+80
+2e
 90
-44
-fd
-e0
+4f
+01
+74
+f4
+f0
+80
+26
 90
-4d
-d1
+4f
+01
+74
+f2
 f0
+80
+1e
 90
-44
-fe
-e0
+4f
+01
+74
+f5
+f0
+80
+16
 90
-4d
-d2
+4f
+01
+74
+f8
 f0
-22
+80
+0e
 90
-4c
-d3
+4f
+01
 74
-05
+f6
 f0
-e4
-a3
+80
+06
+90
+4f
+01
+74
+f7
 f0
 90
 4d
-0b
+da
 e0
 60
-02
-21
-68
-90
-4f
-0f
-f0
+5f
 90
 4f
-0f
-e0
-ff
-c3
-94
-04
-50
-19
-ef
-25
+00
 e0
 24
-d6
-f5
-82
-e4
-34
-4c
-f5
-83
-74
-51
-f0
-a3
+fc
+60
+21
+24
+fd
+60
+2d
+24
+f1
+60
+21
+24
+c7
+60
+45
+14
+60
+32
+14
+60
+37
+14
+60
+24
+24
+38
+70
+3e
+90
+4f
+01
+74
+52
 f0
+80
+36
 90
 4f
-0f
-e0
+01
+74
+50
+f0
+80
+2e
+90
+4f
+01
+74
+51
+f0
+80
+26
+90
+4f
+01
+74
+4f
+f0
+80
+1e
+90
+4f
+01
+74
+1a
+f0
+80
+16
+90
+4f
+01
+74
 04
 f0
 80
-dd
+0e
 90
-4c
-93
+4f
+01
+74
+16
+f0
+80
+06
+90
+4f
+01
+74
+07
+f0
+90
+4d
+e7
+e0
+60
+14
+90
+4f
+00
 e0
 ff
+b4
+e3
+03
+e4
 a3
-e0
-90
-4c
-fa
-cf
 f0
-a3
 ef
+b4
+65
+05
+e4
+90
+4f
+01
 f0
 90
-4c
-91
-e0
-fe
-a3
+4f
+01
 e0
 ff
-c3
+22
+e4
 90
-4c
-94
-e0
-9f
-fd
+4f
+0a
+f0
+f0
 90
-4c
-93
+4f
+0a
 e0
-9e
-fc
-e4
+ff
+c3
+94
+08
+50
+0d
+c2
+05
 12
-02
-06
-7b
-29
-7a
-5c
-79
+1f
+61
+90
 4f
-78
-3f
-12
-00
-fb
-c0
+0a
+e0
 04
-c0
-05
-c0
-06
-c0
-07
+f0
+80
+e9
+22
 90
 4c
-91
-e0
-fc
-a3
+87
 e0
-fd
-e4
-12
-02
-06
-d0
-03
-d0
-02
-d0
+b4
 01
-d0
-00
-12
-00
-0a
-12
+07
+d2
+01
+7f
+1f
 02
-3f
-90
-4c
-de
-ee
-f0
-a3
-ef
-f0
+11
+d0
 90
 4c
-91
-e0
-fe
-a3
+87
 e0
+b4
+02
+07
+d2
+01
+7f
 ff
-c3
+02
+11
+d0
 90
 4c
-94
+87
 e0
+b4
+03
+07
+d2
+06
+7f
+ff
+02
+17
 9f
-fd
+d2
+01
+7f
+1f
+02
+11
+d0
+71
+25
 90
 4c
-93
+87
 e0
-9e
-fc
-e4
-12
-02
-06
-74
-33
-fb
-fa
-f9
-78
-3f
-12
-00
-fb
-c0
+ff
+60
 04
-c0
-05
-c0
-06
-c0
-07
+64
+fe
+70
+1f
 90
 4c
-91
+d3
 e0
-fc
-a3
+60
+19
+14
+f0
 e0
-fd
-e4
-12
-02
-06
-d0
-03
-d0
-02
-d0
-01
-d0
-00
-12
-00
-0a
-12
-02
-3f
+70
+14
 90
 4c
+7b
 e0
-ee
-f0
-a3
-ef
+30
+e7
+08
+90
+4c
+85
+74
+03
 f0
-22
+80
+05
 e4
 90
-4f
-0f
+4c
+85
 f0
 90
-4f
-0f
-e0
-ff
-c3
-94
-04
-50
-19
-ef
-25
-e0
-24
-d6
-f5
-82
-e4
-34
 4c
-f5
-83
-74
-51
-f0
-a3
+b3
+e0
+60
+02
+14
 f0
 90
-4f
-0f
+4c
+b8
 e0
-04
+60
+02
+14
 f0
-80
-dd
 90
 4c
-93
+c1
 e0
-ff
-a3
+60
+0b
+14
+f0
 e0
+70
+06
 90
 4c
-fa
-cf
-f0
-a3
-ef
+bd
+74
+06
 f0
 90
 4c
-91
-e0
-fe
-a3
+ad
 e0
-ff
-c3
+60
+28
 90
 4c
-94
+b7
 e0
-9f
-fd
+70
+0a
 90
 4c
-93
+b1
 e0
-9e
-fc
-e4
-12
+70
 02
-06
-7b
-b8
-7a
-1e
-79
-85
-78
-3f
-12
-00
-fb
-c0
-04
-c0
-05
-c0
-06
-c0
-07
-90
-4c
-91
-e0
-fc
 a3
 e0
-fd
-e4
-12
-02
+60
 06
-d0
-03
-d0
-02
-d0
-01
-d0
-00
-12
-00
-0a
-12
-02
-3f
+e4
 90
 4c
-de
-ee
+ad
 f0
-a3
-ef
+22
+90
+4c
+ad
+e0
+14
 f0
+31
+67
 90
 4c
-91
+ad
 e0
-fe
+70
+49
+71
+81
+80
+45
+90
+4c
+b1
+e0
+70
+02
 a3
 e0
-ff
-c3
+70
+3b
 90
 4c
-94
+b7
 e0
-9f
-fd
+70
+35
 90
 4c
-93
+aa
 e0
-9e
-fc
-e4
-12
-02
-06
-7b
-33
-7a
-33
-79
-73
-78
-3f
-12
-00
-fb
-c0
-04
-c0
-05
-c0
-06
-c0
+60
+2f
+14
+f0
+e0
+ff
+c3
+94
+08
+50
+16
+ef
+30
+e1
+09
+d2
+01
+7f
+1f
+12
+11
+d0
+80
+10
+c2
+01
+7f
+1f
+12
+11
+d0
+80
 07
+c2
+01
+7f
+1f
+12
+11
+d0
 90
 4c
-91
+aa
 e0
-fc
-a3
+70
+03
+74
+0c
+f0
+90
+4d
+49
 e0
-fd
-e4
+60
+0b
+e0
+14
+f0
+e0
+70
+05
+7f
+2d
 12
-02
-06
-d0
+13
+c9
+90
+4c
+cf
+e0
+60
+15
+7f
+1f
+71
+08
+90
+4c
+cf
+e0
+14
+f0
+e0
+70
+08
+90
+4c
+83
+04
+f0
+12
+19
+ed
+90
+4d
+e0
+e0
+70
+36
+90
+4d
+e1
+e0
+64
+01
+70
+2e
+90
+4c
+ab
+f0
+a3
+f0
+90
+4d
+e1
+f0
+90
+4e
+52
+e0
+60
+0d
+7b
+01
+7a
+4e
+79
+52
+7d
 03
-d0
-02
-d0
+12
+0c
+1d
+80
+11
+90
+48
+00
+e0
+60
+0b
+7b
 01
-d0
+7a
+48
+79
 00
+7d
+09
 12
-00
-0a
+0c
+1d
+90
+4d
+dc
+e0
+60
+09
+e0
+14
+f0
+e0
+70
+03
 12
-02
-3f
+1b
+37
+90
+4d
+d5
+e0
+60
+11
+e0
+14
+f0
+e0
+70
+0b
 90
 4c
+ec
 e0
-ee
+70
+05
+7f
+1b
+12
+13
+c9
+90
+4d
+eb
+e0
+60
+1b
+e0
+14
 f0
-a3
-ef
+e0
+70
+15
+90
+4c
+f5
+e0
+60
+02
+e4
+f0
+90
+4c
+8b
+e0
+b4
+04
+06
+90
+42
+13
+74
+0c
 f0
 22
 90
 4f
-01
-ed
+12
+ef
 f0
-90
-00
+7b
 01
+7a
+80
+79
+74
 12
-03
-cf
+17
+f6
+92
+09
 90
 4f
+12
+e0
+ff
+a2
+09
+b3
+92
+01
 02
-f0
-22
+11
+d0
 90
 4d
-ee
+f0
 e0
 64
 02
 70
-4f
+53
 90
 4c
-e9
+b1
+e0
+70
+02
+a3
 e0
 60
 3f
 90
 4c
-cc
+90
 e0
 64
 01
@@ -21094,7 +21247,7 @@
 22
 90
 4c
-c3
+87
 e0
 b4
 01
@@ -21102,10 +21255,10 @@
 7f
 1f
 80
-37
+be
 90
 4c
-c3
+87
 e0
 b4
 02
@@ -21113,10 +21266,10 @@
 7f
 ff
 80
-2c
+b3
 90
 4c
-c3
+87
 e0
 64
 03
@@ -21125,280 +21278,318 @@
 7f
 ff
 80
-20
+a7
 c2
 01
 7f
 1f
 12
-12
-bb
+11
+d0
 c2
 01
 7f
 ff
 12
-12
-bb
+11
+d0
 c2
 01
 7f
 ff
 02
-12
-bb
+11
+d0
 90
 4c
-ee
+b7
 e0
 60
 04
 7f
 1f
-51
-a4
+71
+08
 22
 90
-4f
-13
-ef
-f0
-7b
+4c
+87
+e0
+b4
 01
-7a
-80
-79
-74
-12
-17
-f7
-92
-09
+07
+c2
+01
+7f
+1f
+02
+11
+d0
 90
-4f
-13
+4c
+87
 e0
-ff
-a2
-09
-b3
-92
+b4
+02
+07
+c2
 01
+7f
+ff
 02
-12
-bb
+11
+d0
 90
-4d
-ef
-e0
-60
-39
+4c
+87
 e0
+b4
+03
+07
+c2
+01
+7f
+ff
+02
+11
+d0
+c2
+01
+7f
+1f
+02
+11
+d0
+90
+80
+91
+74
+0d
+f0
+a3
+04
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+a3
 14
 f0
-e0
-70
-33
+22
+12
+0d
+2d
+71
+fe
 90
 4c
-ed
-e0
 b4
-05
-2c
-90
-47
-f5
-e0
-20
-e3
-25
-e4
-90
-4d
-d5
+74
+01
 f0
 90
 4c
-e9
+ad
 74
-f0
+1e
 f0
 e4
 90
 4c
-ee
-f0
-90
-4e
-59
+b9
 f0
 90
-4d
-d3
+4c
+d5
+74
+ff
 f0
-12
-18
-fe
-7f
-0d
-12
-10
-ad
-e4
 90
 4c
-ed
+a9
 f0
-22
 90
-4c
-e4
+44
+fc
 e0
-04
+90
+4d
+d0
 f0
-70
-06
 90
-4c
-e3
+44
+fd
 e0
-04
+90
+4d
+d1
 f0
-71
-2a
-12
-0e
-db
-12
-1b
-dd
-51
-c1
-71
-3b
 90
-4c
-c8
+44
+fe
 e0
-b4
-02
-07
-e4
 90
-4c
-e3
-f0
-a3
+4d
+d2
 f0
 22
 90
 4c
-d3
-e0
-60
-0a
-14
-f0
-e0
-70
-05
+9a
 74
 05
 f0
-71
-88
-22
-90
-4c
-e9
-e0
-60
-28
 e4
-90
-4c
-e3
-f0
 a3
 f0
 90
 4c
-fc
+cc
+e0
+64
+01
+60
+02
+81
+e3
+90
+4f
+0e
 f0
 90
-4c
-e9
+4f
+0e
 e0
-14
+ff
+c3
+94
+04
+50
+19
+ef
+25
+e0
+24
+9d
+f5
+82
+e4
+34
+4c
+f5
+83
+74
+51
 f0
+a3
+f0
+90
+4f
+0e
 e0
-70
-14
+04
+f0
+80
+dd
 90
 4c
-c4
+73
+e0
+ff
+a3
 e0
 90
 4c
 c3
+cf
 f0
-90
-4c
-c0
+a3
+ef
 f0
-7f
-0d
-12
-10
-d7
-12
-17
-bd
 90
 4c
-ee
+71
 e0
-60
-18
-e4
-90
-4c
-e3
-f0
+fe
 a3
-f0
+e0
+ff
+c3
 90
 4c
-ee
+74
 e0
-14
-f0
+9f
+fd
+90
+4c
+73
 e0
-70
-08
-7f
-0a
+9e
+fc
+e4
 12
-16
-f3
+02
+06
+7b
+29
+7a
+5c
+79
+4f
+78
+3f
 12
-17
-bd
-22
+00
+fb
+c0
+04
+c0
+05
+c0
+06
+c0
+07
 90
-4e
-cf
+4c
+71
+e0
+fc
+a3
+e0
+fd
+e4
 12
-05
-82
-00
-00
+02
+06
+d0
+03
+d0
+02
+d0
+01
+d0
 00
+12
 00
+0a
+12
+02
+3f
 90
 4c
-91
+a5
+ee
+f0
+a3
+ef
+f0
+90
+4c
+71
 e0
 fe
 a3
@@ -21407,88 +21598,93 @@
 c3
 90
 4c
-96
+74
 e0
 9f
+fd
 90
 4c
-95
+73
 e0
 9e
-50
+fc
+e4
+12
 02
-a1
-a7
+06
+74
+33
+fb
+fa
+f9
+78
+3f
+12
+00
+fb
+c0
+04
+c0
+05
+c0
+06
+c0
+07
 90
 4c
-95
+71
 e0
-fe
+fc
 a3
 e0
-ff
-90
-4c
-d4
-e0
 fd
-04
-f0
-ed
-25
-e0
-24
-d6
-f5
-82
 e4
-34
+12
+02
+06
+d0
+03
+d0
+02
+d0
+01
+d0
+00
+12
+00
+0a
+12
+02
+3f
+90
 4c
-f5
-83
+a7
 ee
 f0
 a3
 ef
 f0
-90
-4c
-d4
-e0
-c3
-94
-04
-40
-02
-e4
-f0
+22
 e4
 90
-4e
-ce
+4f
+0e
 f0
 90
-4e
-cf
-e0
-f8
-a3
-e0
-f9
-a3
-e0
-fa
-a3
-e0
-fb
-90
-4e
-ce
+4f
+0e
 e0
+ff
+c3
+94
+04
+50
+19
+ef
 25
 e0
 24
-d6
+9d
 f5
 82
 e4
@@ -21496,571 +21692,287 @@
 4c
 f5
 83
-e0
-fe
+74
+51
+f0
 a3
-e0
-ff
-e4
-fc
-fd
-eb
-2f
-ff
-ea
-3e
-fe
-ed
-39
-fd
-ec
-38
-fc
-90
-4e
-cf
-12
-05
-76
+f0
 90
-4e
-ce
+4f
+0e
 e0
 04
 f0
-e0
-b4
-04
-bf
+80
+dd
 90
-4e
-cf
-e0
-fc
-a3
-e0
-fd
-a3
+4c
+73
 e0
-fe
+ff
 a3
 e0
-ff
-e4
-7b
-04
-fa
-f9
-f8
-12
-04
-c5
 90
-4e
+4c
+c3
 cf
-12
-05
-76
+f0
+a3
+ef
+f0
 90
 4c
-e0
+71
 e0
 fe
 a3
 e0
 ff
-e4
-fc
-fd
+c3
 90
-4e
-cf
-e0
-f8
-a3
-e0
-f9
-a3
+4c
+74
 e0
-fa
-a3
+9f
+fd
+90
+4c
+73
 e0
-fb
-d3
+9e
+fc
+e4
+12
+02
+06
+7b
+b8
+7a
+1e
+79
+85
+78
+3f
 12
+00
+fb
+c0
+04
+c0
 05
-65
-50
+c0
+06
+c0
 07
-e4
-90
-4c
-f9
-f0
-81
-df
 90
 4c
-fa
-e0
-fe
-a3
+71
 e0
-ff
-e4
 fc
-fd
-90
-4e
-cf
-e0
-f8
-a3
-e0
-f9
-a3
-e0
-fa
 a3
 e0
-fb
-c3
+fd
+e4
 12
-05
-65
-40
-08
+02
+06
+d0
+03
+d0
+02
+d0
+01
+d0
+00
+12
+00
+0a
+12
+02
+3f
 90
 4c
-f9
-74
-64
+a5
+ee
+f0
+a3
+ef
 f0
-80
-5b
 90
 4c
-e0
+71
 e0
 fe
 a3
 e0
 ff
-fb
-aa
-06
-e4
+c3
 90
-4e
-cf
-e0
-fc
-a3
+4c
+74
 e0
+9f
 fd
-a3
-e0
-fe
-a3
+90
+4c
+73
 e0
-c3
-9b
-ff
-ee
-9a
-fe
-ed
-94
-00
-fd
-ec
-94
-00
+9e
 fc
 e4
+12
+02
+06
 7b
-64
-fa
-f9
-f8
+33
+7a
+33
+79
+73
+78
+3f
 12
+00
+fb
+c0
 04
-3a
+c0
+05
 c0
 06
 c0
 07
 90
 4c
+71
 e0
-e0
-fe
+fc
 a3
 e0
-ff
-c3
-90
-4c
-fb
-e0
-9f
-ff
-90
-4c
-fa
-e0
-9e
-fe
-ab
-07
-fa
+fd
 e4
-f9
-f8
+12
+02
+06
 d0
-07
+03
 d0
-06
+02
+d0
+01
+d0
+00
 12
-04
-c5
+00
+0a
+12
+02
+3f
 90
 4c
-f9
-ef
+a7
+ee
 f0
-90
-4c
-e0
-e0
-fe
-a3
-e0
-ff
-e4
-fc
-fd
-90
-4e
-cf
-e0
-f8
-a3
-e0
-f9
-a3
-e0
-fa
 a3
-e0
-fb
-c3
-12
-05
-65
-50
-27
-90
-4c
-d5
-74
-02
+ef
 f0
+22
 90
-4d
-00
-e0
-64
-02
-70
+4f
 02
-a1
-9f
-90
-4c
-ff
-74
-01
+ed
 f0
-fb
-7a
-4c
-79
-ff
-fd
-7c
-00
-7f
-c0
-7e
-7f
-12
-1a
-94
-80
-7a
 90
-4d
 00
-e0
-64
-02
-60
-07
-90
-4c
-ff
-e0
-b4
-01
-15
-e4
-90
-4c
-ff
-f0
-7b
-01
-7a
-4c
-79
-ff
-7d
 01
-fc
-7f
-c0
-7e
-7f
 12
-1a
-94
-90
-4c
-de
-e0
-fe
-a3
-e0
-ff
-e4
-fc
-fd
-90
-4e
+03
 cf
-e0
-f8
-a3
-e0
-f9
-a3
-e0
-fa
-a3
-e0
-fb
-c3
-12
-05
-65
-50
-1d
 90
-4c
-d5
-74
-01
+4f
+03
 f0
+22
 90
-4d
-01
-e0
-70
-2b
-90
-4d
-40
-f0
-a3
+0b
+e7
 74
-48
+03
 f0
-a3
-74
+ed
+60
+03
 12
-f0
-e4
-a3
-f0
-80
-1a
-e4
+0f
+b3
+22
 90
-4c
-d5
+0b
+e7
+74
+06
 f0
-90
-4d
-01
-e0
-70
+02
 0f
+b3
 90
-4d
-40
-f0
-a3
+0b
+e7
 74
-48
+04
 f0
-a3
+02
+0f
+b3
+90
+0b
+e7
 74
-5d
-f0
-e4
-a3
+05
 f0
+02
+0f
+b3
 90
-4c
-d5
+04
+46
 e0
+ff
+22
 90
-4d
-00
+82
+80
+74
+01
 f0
 22
 90
 4e
-dc
-ee
+f8
+eb
 f0
 a3
-ef
-f0
-90
-4e
-de
-ec
+ea
 f0
 a3
-ed
+e9
 f0
-90
-4e
-de
-e0
-fe
-a3
-e0
-ff
-d3
-90
-4e
-dd
-e0
-9f
-90
-4e
-dc
-e0
-9e
-40
-16
-90
-4e
-de
-e0
-fe
-a3
-e0
-ff
-90
-4e
-dd
-e0
-9f
-ff
-90
-4e
-dc
-e0
-9e
-fe
-80
-1e
-90
-4e
-dc
-e0
-fe
-a3
-e0
-ff
-c3
-90
+ed
+1d
+ae
+04
+70
+01
+1c
 4e
-df
-e0
-9f
-ff
+60
+17
 90
 4e
-de
-e0
-9e
-fe
-ad
-03
-c3
-eb
-9f
-ff
-e4
-9e
-fe
-22
-90
-4f
-03
-ee
-f0
-a3
-ef
-f0
-a9
-05
-90
-4b
-9e
+f8
 e0
-fe
+fb
 a3
-e0
-ff
-ad
-01
-19
-ed
-60
-2f
-0f
-ef
-ac
-06
-70
-01
-0e
-14
-f5
-82
-8c
-83
-e0
-fd
-90
-4f
-03
 e4
 75
 f0
@@ -22068,90 +21980,82 @@
 12
 04
 24
-85
-f0
-82
-f5
-83
-ed
+a9
 f0
-ad
-07
-ac
-06
-bc
-4b
-d4
-bd
-9a
-d1
-7e
-4b
-7f
-36
+fa
+74
+ff
+12
+03
+fc
 80
-cb
-90
-4b
-9e
-ee
-f0
-a3
-ef
-f0
+df
 22
-7a
-0c
-79
-4b
 90
 4e
-f3
-74
-01
+fb
+eb
 f0
 a3
-74
-0c
+ea
 f0
 a3
-74
-4b
+e9
 f0
+e4
+fe
+fd
+ef
+54
+07
+fe
+ef
+13
+13
+13
+54
+03
+fd
+30
+00
+22
 90
-4b
-a0
+4e
+fb
 e0
-fe
+fb
 a3
 e0
-ff
-90
-4b
-9e
-e0
-6e
-70
-03
+fa
 a3
 e0
-6f
-70
+2d
+f9
+e4
+3a
+fa
+12
 03
+b6
+ff
+74
+01
+a8
+06
+08
+80
 02
-38
-04
-7e
-0c
-7f
-4b
-7d
-03
-d1
+c3
+33
+d8
+fc
+4f
 02
+03
+fc
 90
 4e
-f3
+fb
 e0
 fb
 a3
@@ -22159,787 +22063,235 @@
 fa
 a3
 e0
+2d
 f9
-12
-03
-b6
-b4
-02
-2c
-90
-4e
-f4
 e4
-75
-f0
-02
-12
-04
-0e
-90
-4e
-f3
-e0
-fb
-a3
-e0
+3a
 fa
-a3
-e0
-f9
 12
 03
 b6
 ff
-90
-4e
-6c
-e0
-a3
-e0
-fa
-a3
-e0
-f5
-82
-8a
-83
-12
-05
-dd
+74
+01
+a8
+06
+08
+80
+02
+c3
+33
+d8
+fc
+f4
+5f
 02
-38
-04
-90
-4e
-f3
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-f9
-12
 03
-b6
-64
-04
-70
-5a
-90
-4e
+fc
+ef
 f4
-75
-f0
-01
-12
-04
-0e
-7e
-0c
-7f
-4e
-90
-4e
-f3
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-f9
-12
+60
+3a
+ef
+54
+07
+fe
+ef
+13
+13
+13
+54
 03
-b6
-14
-fd
-d1
-02
-90
-4e
-f3
-e0
-fb
-a3
-e0
-fa
-a3
-e0
+ff
 24
-01
-f9
+a3
+f5
+82
 e4
-3a
-fa
+34
+00
+f5
+83
 c0
-02
+83
 c0
-01
-90
-4e
-f3
-e0
-a3
-e0
-fa
-a3
+82
 e0
-f9
-12
-03
-b6
 fd
-7c
-00
-90
-4e
-6f
-e0
-a3
-e0
-fa
-a3
-e0
-f5
-82
-8a
-83
-d0
+74
 01
-d0
-02
-12
-05
-dd
+a8
+06
+08
+80
 02
-38
-04
-90
-4e
-f3
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-f9
-12
-03
-b6
-64
-05
-70
-59
-90
-4e
+c3
+33
+d8
+fc
 f4
-75
+fc
+5d
+d0
+82
+d0
+83
 f0
-01
-12
-04
-0e
-7e
-0c
-7f
-4e
-90
-4e
-f3
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-f9
-12
-03
-b6
-14
-fd
-d1
-02
-90
-4e
-f3
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-24
-01
-f9
+74
+a7
+2f
+f5
+82
 e4
-3a
-fa
-c0
-02
-c0
-01
-90
-4e
-f3
-e0
-a3
-e0
-fa
-a3
+34
+00
+f5
+83
 e0
-f9
-12
-03
-b6
+5c
+f0
+22
+e4
+ff
+ef
 fd
 7c
 00
-90
-4e
+24
 78
-e0
-a3
-e0
-fa
-a3
-e0
-f5
+fb
+ec
+34
+80
+8b
 82
-8a
+f5
 83
-d0
-01
-d0
-02
-12
-05
-dd
-80
-6d
-90
-4e
-f3
-e0
-fb
-a3
 e0
-fa
-a3
-e0
-f9
-12
-03
-b6
-64
-03
+fe
+ed
+24
 70
-59
-90
+fd
+ec
+34
+80
+8d
+82
+f5
+83
+e0
 4e
 f4
-75
+fe
+ef
+24
+7c
+fd
+ec
+34
+80
+8d
+82
+f5
+83
+ee
 f0
-01
-12
+0f
+ef
+b4
 04
-0e
-7e
-0c
-7f
-4e
-90
-4e
-f3
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-f9
-12
-03
-b6
-14
-fd
-d1
+cf
+22
+5a
+30
+aa
+55
+40
+00
+00
+40
+2d
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+35
+00
+00
+00
+4f
 02
-90
-4e
-f3
-e0
-fb
-a3
-e0
-fa
-a3
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+04
+c8
+00
+5c
+40
+04
+3a
+ce
+00
+00
+80
 e0
-24
+00
+00
+00
+00
+00
+20
+00
+a0
 01
-f9
-e4
-3a
-fa
-c0
+00
+00
+00
+00
+00
+aa
+55
 02
-c0
+00
+fe
+4c
+20
+00
+aa
+55
 01
-90
-4e
-f3
-e0
-a3
-e0
-fa
-a3
-e0
-f9
-12
-03
-b6
-fd
-7c
 00
-90
-4e
-7b
-e0
-a3
-e0
-fa
-a3
-e0
-f5
-82
-8a
-83
-d0
+31
+41
 01
-d0
-02
-12
-05
-dd
-80
-02
-80
-fe
-90
-4b
-a5
-e0
-fe
-a3
-e0
-ff
-90
-4c
-5e
-e0
-6e
-70
-03
-a3
-e0
-6f
-60
-22
-90
-4e
-72
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-f9
-4a
-60
-37
-12
-05
-d9
-90
-4b
-a5
-e0
-ff
-a3
-e0
-90
-4c
-5e
-cf
-f0
-a3
-ef
-f0
-80
-ca
-90
-4c
-8d
-e0
-ff
-a3
-e0
-6f
-60
-19
-90
-4e
-75
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-f9
-4a
-60
-0b
-12
-05
-d9
-90
-4c
-8d
-e0
-a3
-f0
-80
-dd
-22
-90
-0b
-e7
-74
-03
-f0
-ed
-60
-03
-12
-0f
-f4
-22
-90
-0b
-e7
-74
-04
-f0
-02
-0f
-f4
-90
-0b
-e7
-74
-05
-f0
-02
-0f
-f4
-90
-04
-46
-e0
-ff
-22
-90
-82
-80
-74
-01
-f0
-22
-90
-4e
-a0
-eb
-f0
-a3
-ea
-f0
-a3
-e9
-f0
-90
-4e
-a6
-74
-ff
-f5
-f0
-12
-04
-24
-45
-f0
-60
-2a
-90
-4e
-a3
-e0
-fb
-a3
-e4
-75
-f0
-01
-12
-04
-24
-a9
-f0
-fa
-12
-03
-b6
-ff
-90
-4e
-a0
-e0
-fb
-a3
-e4
-75
-f0
-01
-12
-04
-24
-a9
-f0
-fa
-ef
-12
-03
-fc
-80
-c8
-22
-ef
-f4
-60
-3a
-ef
-54
-07
-fe
-ef
-13
-13
-13
-54
-03
-ff
-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
-f4
-fc
-5d
-d0
-82
-d0
-83
-f0
-74
-a7
-2f
-f5
-82
-e4
-34
-00
-f5
-83
-e0
-5c
-f0
-22
-e4
-ff
-ef
-fd
-7c
-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
-19
-0a
-aa
-55
-40
-00
-00
-40
-69
-04
-00
-00
-80
-09
-0a
-00
-0c
-00
-11
-00
-00
-00
-00
-00
-00
-00
-35
-00
-00
-00
-4f
-02
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-09
-18
-00
-04
-c8
-00
-5c
-40
-00
-3a
-ce
-00
-00
-80
-e0
-00
-90
-00
-00
-00
-20
-00
-a0
-01
-00
-4c
-00
-00
-00
-aa
-55
-02
-00
-4f
-4d
-20
-00
-aa
-55
-01
-00
-31
-41
-01
-aa
-55
+aa
+55
 02
 00
 13
@@ -22970,14 +22322,6 @@
 00
 aa
 55
-02
-00
-b1
-4c
-00
-00
-aa
-55
 03
 00
 4a
@@ -22999,19 +22343,25 @@
 22
 aa
 55
-09
+0f
 00
 02
 47
-08
+0e
 42
-4b
-2d
-4a
-4b
-38
-31
+54
+33
+2e
 30
+20
+4b
+65
+79
+62
+6f
+61
+72
+64
 aa
 55
 03
@@ -23058,285 +22408,329 @@
 01
 aa
 55
-0e
-00
-5b
-47
-06
-03
-11
-00
-00
 01
-02
-10
-24
-11
 00
-12
-01
+dc
+07
 00
 aa
 55
 01
 00
-71
-47
+a2
+00
 00
 aa
 55
-76
-02
-11
-48
-04
-00
-11
 01
 00
-10
-02
-11
-24
+dd
+07
 00
+aa
+55
 01
 00
+16
 00
-36
+27
+aa
+55
 01
-b6
-09
-00
-00
-0a
 00
+fd
+47
+ff
+aa
+55
 01
 00
+f7
+47
+ff
+aa
+55
+01
 00
-09
+6e
+41
+80
+aa
+55
+02
 00
+a2
+4b
+02
+01
+aa
+55
+af
 01
-35
-03
-19
-11
-24
-09
-00
 04
-35
-0d
-35
-06
-19
+45
 01
 00
-09
 00
-11
-35
+28
+02
+01
+18
+02
+00
+03
+28
+01
+20
 03
-19
 00
-11
-09
+05
+2a
+01
+00
+04
+00
+02
+29
+02
+00
 00
 05
-35
-03
-19
-10
+00
+00
+28
 02
-09
 00
+18
 06
-35
-09
-09
-65
-6e
-09
 00
-6a
-09
+03
+28
 01
+02
+07
 00
-09
 00
-09
-35
+2a
 08
-35
-06
-19
-11
-24
+42
+4b
+2d
+4a
+4b
+38
+31
+30
+08
+00
+03
+28
+01
+02
 09
+00
 01
+2a
+02
+c1
+03
+0a
 00
-09
+03
+28
+01
+02
+0b
 00
-0d
-35
-0f
-35
-0d
-35
+04
+2a
+08
 06
-19
+00
+06
+00
+64
+00
+2c
 01
+0c
 00
-09
 00
-13
-35
-03
-19
+28
+02
+0a
+18
+0d
 00
-11
-09
+03
+28
 01
+02
+0e
 00
-25
-3d
-42
-72
-6f
-61
-64
-63
-6f
-6d
-20
-42
-6c
-75
-65
-74
-6f
-6f
-74
+29
+2a
+06
+59
+69
+43
 68
-20
-57
 69
-72
-65
-6c
-65
-73
-73
-20
-20
-4b
-65
-79
-62
-6f
-61
-72
-64
-20
-20
-20
-20
-20
-20
-20
-20
-20
-20
-20
-20
-20
-20
-20
-20
-20
-20
-20
-20
-20
-20
-20
-20
-09
-01
-01
-25
-08
-4b
-65
-79
-62
-6f
-61
-72
-64
-09
+70
+0f
+00
+03
+28
 01
 02
-25
 10
-42
-72
-6f
-61
-64
-63
-6f
-6d
-20
-43
-6f
-72
+00
+50
+2a
+07
+02
+e8
+04
+21
 70
-2e
-20
-20
-09
+01
+00
+11
+00
+00
+28
 02
+12
+18
+12
 00
-09
+03
+28
 01
+06
+13
 00
-09
-02
+4e
+2a
 01
-09
 01
-11
-09
+14
+00
+03
+28
+01
+12
+15
+00
+4d
+2a
+01
+00
+16
+00
 02
+29
 02
+00
+00
+17
+00
 08
-40
-09
+29
 02
+01
+01
+18
+00
 03
+28
+01
+12
+19
+00
+4d
+2a
+01
+00
+1a
+00
+02
+29
+02
+00
+00
+1b
+00
 08
-21
-09
+29
 02
-04
+03
+01
+1c
+00
+03
 28
 01
-09
+12
+1d
+00
+4d
+2a
 02
-05
+00
+00
+1e
+00
+02
+29
+02
+00
+00
+1f
+00
+08
+29
+02
+02
+01
+20
+00
+03
 28
 01
-09
+0e
+21
+00
+4d
+2a
 02
-06
-35
-a5
-35
-a3
-08
+00
+00
 22
+00
+02
+29
+02
+00
+00
+23
+00
+08
+29
+02
+01
+02
+24
+00
+03
+28
+01
+02
 25
-9f
+00
+4b
+2a
+72
 05
 01
 09
@@ -23391,8 +22785,9 @@
 08
 15
 00
-25
+26
 ff
+00
 05
 07
 19
@@ -23403,75 +22798,6 @@
 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
-05
 0c
 09
 01
@@ -23496,1420 +22822,2031 @@
 81
 00
 c0
+05
+01
 09
-02
-07
-35
+80
+a1
+01
+85
+03
+19
+81
+29
+88
+15
+00
+25
+01
+95
 08
-35
-06
-09
-04
-09
-09
+75
 01
+81
+06
+c0
+26
 00
-09
+03
+28
+01
 02
-0b
-09
+27
+00
+4a
+2a
+04
+11
 01
 00
-09
-02
-0c
-09
-1f
-40
-09
-02
-0d
+01
 28
 00
-09
-02
-0e
+03
 28
 01
-09
-02
-0f
-09
+04
+29
 00
-12
-09
-02
-10
-09
+4c
+2a
+01
 00
+2a
 00
-03
-10
-02
-12
 00
+28
+02
+0f
+18
+2b
 00
+03
+28
 01
+12
+2c
 00
+19
+2a
 01
+64
+2d
 00
-01
-36
+02
+29
+02
 00
-a1
-09
 00
 00
-0a
 00
+aa
+55
 01
 00
+4a
+4c
+17
+aa
+55
 01
-09
 00
+f9
+46
+50
+aa
+55
 01
-35
-03
-19
-12
-00
-09
 00
-04
-35
-0d
-35
+c2
+44
+14
+aa
+55
 06
-19
-01
 00
+f9
+44
+11
+46
+34
+54
+77
+dd
+aa
+55
 09
 00
-01
-35
-03
-19
-00
-01
-09
-00
-06
-35
-09
-09
+40
+4d
+41
+70
+70
+6c
 65
+20
+49
 6e
-09
+63
+aa
+55
+02
 00
-6a
-09
-01
+3e
+4d
+0a
+18
+aa
+55
+10
 00
-09
+4a
+4d
+d0
 00
-09
-35
-08
-35
-06
-19
+2d
 12
-00
-09
-01
-00
-09
-01
-00
-25
-2f
-42
-72
-6f
-61
-64
-63
-6f
-6d
-20
-42
-6c
-75
-65
-74
-6f
-6f
-74
-68
-20
-57
-69
-72
-65
-6c
-65
-73
-73
-20
+1e
 4b
-65
+0f
+a4
+99
+4e
+ce
+b5
+31
+f4
+05
 79
-62
-6f
-61
-72
-64
-20
-50
-6e
-50
-20
-53
-65
-72
-76
-65
-72
-09
-01
+aa
+55
 01
-25
-08
-4b
-65
-79
-62
-6f
-61
-72
-64
-09
-02
 00
-09
-01
-03
-09
-02
-01
-09
-04
-e8
-09
-02
-02
-09
-70
-21
-09
-02
-03
-09
+5e
+4c
 00
-01
-09
-02
-04
-28
-01
-09
-02
-05
-09
+aa
+55
+06
 00
-02
+7c
+4c
+15
+00
+1d
+00
+19
 00
 aa
 55
 02
 00
-59
-47
-11
-48
+ed
+4c
+2c
+00
 aa
 55
 01
 00
-32
-41
-43
+40
+4c
+50
 aa
 55
 01
 00
-fb
-41
-00
+29
+4d
+01
 aa
 55
+10
+00
+4c
+4c
+0c
+00
+05
+00
+12
+b4
 08
 00
+08
+00
+08
+00
+00
+00
+2c
+01
+aa
+55
+09
+00
+19
+44
+08
+42
+4b
+2d
+4a
+4b
 38
-41
-ff
-ff
-8f
-f8
-83
-9d
-59
-82
+31
+30
 aa
 55
 01
 00
-dc
+e4
+44
 07
+aa
+55
+01
 00
+dd
+44
+01
 aa
 55
+0c
+00
+d9
+43
+1f
+02
 01
+05
+03
+19
+c1
+03
+03
+03
+12
+18
+aa
+55
+07
 00
-a2
+15
+4d
+06
+ff
+06
 00
+03
 00
+80
 aa
 55
-01
-00
-dd
-07
+0b
 00
+f9
+43
+1f
+09
+08
+42
+4b
+2d
+4a
+4b
+38
+31
+30
 aa
 55
-01
+0a
 00
-16
+5f
+4d
+09
+08
+42
+4b
+2d
+4a
+4b
+38
+31
+30
+aa
+55
+04
 00
-27
+71
+4c
+9f
+3e
+cd
+4d
 aa
 55
 01
 00
-fd
-47
-ff
+6f
+4c
+01
 aa
 55
 01
 00
-f7
-47
-ff
+e2
+4b
+02
 aa
 55
 01
 00
-6e
-41
-80
+0a
+4c
+00
 aa
 55
 02
 00
-a2
+e4
 4b
-02
-01
+60
+09
 aa
 55
-e8
-01
-04
-45
-01
+10
 00
+f0
+4b
 00
-28
-02
+13
+2c
+42
+06
+15
+36
+48
+0f
+1a
+3a
+4c
+11
+23
+31
+4d
+aa
+55
 01
-18
-02
 00
-03
-28
-01
-20
-03
+ef
+4b
+ff
+aa
+55
+04
 00
+eb
+4b
+20
+15
+10
 05
-2a
+aa
+55
 01
 00
-04
-00
-02
-29
-02
-00
+5d
+4c
+01
+aa
+55
+0a
 00
-05
+37
+0d
 00
 00
-28
-02
 00
-18
-06
 00
-03
-28
-01
-02
-07
 00
 00
-2a
-08
-42
-4b
-2d
-4a
-4b
-38
-31
-30
-08
 00
-03
-28
-01
-02
-09
 00
-01
-2a
-02
-c1
-03
-0a
 00
-03
-28
-01
-02
-0b
 00
+aa
+55
 04
-2a
-08
-06
 00
-06
+ef
+4c
 00
-64
-00
-2c
-01
-0c
-00
-00
-28
-02
-0a
-18
-0d
-00
-03
-28
-01
-02
-0e
-00
-29
-2a
-06
-59
-69
-43
-68
-69
-70
-0f
-00
-03
-28
-01
-02
-10
+48
+5d
 00
-50
-2a
+aa
+55
 07
-02
-e8
-04
-21
-70
-01
-00
-11
-00
-00
-28
-02
-12
-18
-12
-00
-03
-28
-01
-06
-13
-00
-4e
-2a
-01
-01
-14
-00
-03
-28
-01
-12
-15
-00
-4d
-2a
-08
-00
-00
-00
-00
-00
-00
-00
-00
-16
-00
-02
-29
-02
-00
-00
-17
-00
-08
-29
-02
-01
-01
-18
-00
-03
-28
-01
-12
-19
 00
+20
 4d
-2a
-05
-00
-00
-00
-00
-00
-1a
-00
-02
-29
-02
-00
-00
-1b
+ff
+ff
+ff
+ff
+e8
+fd
 00
+aa
+55
 08
-29
-02
-03
-01
-1c
-00
-03
-28
-01
-12
-1d
-00
-4d
-2a
-02
-00
-00
-1e
-00
-02
-29
-02
-00
 00
+16
+42
+8f
 1f
+ce
 00
-08
-29
-02
-02
-01
-20
-00
-03
-28
+0a
+0b
+ef
+0f
+aa
+55
 01
-0e
-21
-00
-4d
-2a
-02
-00
-00
-22
-00
-02
-29
-02
 00
+f8
+41
 00
-23
-00
+aa
+55
 08
-29
-02
-01
-02
-24
 00
-03
-28
-01
-0a
-25
+a3
 00
-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
-c0
-05
-01
-09
+aa
+55
 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
+5d
+41
 02
-81
-06
-09
-38
-15
-81
-25
-7f
-75
+24
+aa
+55
 08
-95
-01
-81
-06
-05
-0c
-0a
-38
-02
-95
-01
-81
-06
-c0
-c0
-26
-00
-03
-28
-01
-02
-27
-00
-4a
-2a
-04
-11
-01
-00
-01
-28
-00
-03
-28
-01
-04
-29
-00
-4c
-2a
-01
 00
-2a
+4d
+41
+12
 00
 00
-28
 02
-0f
-18
-2b
-00
-03
-28
-01
 12
-2c
 00
-19
-2a
-01
-64
-2d
 00
 02
-29
-02
-00
-00
-00
-00
-aa
-55
-01
-00
-6a
-4c
-17
 aa
 55
-01
+02
 00
-f9
-46
-50
-aa
-55
-01
+5b
+41
+20
 00
-c2
-44
-14
 aa
 55
-06
+04
 00
-f9
-44
-11
-46
-34
-54
-77
-dd
-aa
-55
-01
+57
+41
+20
 00
-7e
-4c
 00
+20
 aa
 55
-06
-00
-b8
-4c
-15
-00
-1d
+04
 00
-19
+5f
+41
+80
+03
 00
+06
 aa
 55
 02
 00
-3e
-4d
-2c
+78
+4c
 00
+13
 aa
 55
-01
+02
 00
-60
-4c
-50
+9b
+42
+30
+3f
 aa
 55
 01
 00
-7e
-4d
-00
 aa
-55
-10
-00
-6c
-4c
-0c
-00
-05
-00
-12
-b4
-08
-00
-08
-00
-08
-00
-00
-00
-2c
-01
+42
+20
 aa
 55
-09
+7f
 00
-19
-44
-08
-42
-4b
+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
-4a
-4b
-38
-31
+b5
+2e
+b1
+2f
+ad
 30
-aa
-55
-01
+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
-44
-07
+69
+00
+6a
+00
+6b
+30
+ff
 aa
 55
-01
+02
 00
-dd
-44
-01
+63
+41
+70
+4f
 aa
 55
-0c
+0a
 00
-d9
-43
-1f
-02
-01
-05
-03
-19
-c1
-03
-03
-03
-12
-18
+91
+4a
+55
+d0
+56
+c0
+57
+4c
+58
+6c
+59
+50
 aa
 55
-07
+0a
 00
-6b
-4d
-06
+87
+4a
+55
+d0
+56
+c0
+57
+4c
+58
+6c
+59
+50
+29
+37
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
 ff
-06
-00
-03
-00
-80
-aa
-55
-0b
-00
-f9
-43
-1f
-09
-09
-42
-4b
-2d
-4a
-4b
-38
-31
-30
-aa
-55
-04
-00
-53
-4d
-20
-21
-12
-24
-aa
-55
-04
-00
-91
-4c
-9f
-3e
-cd
-4d
-aa
-55
-01
-00
-8f
-4c
-01
-aa
-55
-01
-00
-10
-4c
-01
-aa
-55
-01
-00
-e2
-4b
-02
-aa
-55
-01
-00
-0f
-4c
-04
-aa
-55
-01
-00
-0a
-4c
-00
-aa
-55
-02
-00
-e4
-4b
-60
-09
-aa
-55
-10
-00
-f0
-4b
-00
-13
-2c
-42
-06
-15
-36
-48
-0f
-1a
-3a
-4c
-11
-23
-31
-4d
-aa
-55
-01
-00
-ef
-4b
 ff
-aa
-55
-04
-00
-eb
-4b
-20
-15
-10
-05
-aa
-55
-01
-00
-7d
-4c
-c2
-aa
-55
-0a
-00
-37
-0d
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-aa
-55
-04
-00
-40
-4d
-00
-48
-5d
-00
-aa
-55
-07
-00
-76
-4d
 ff
 ff
 ff
 ff
-e8
-fd
-00
-aa
-55
-08
-00
-16
-42
-8f
-10
-ce
-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
-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
-c7
-66
 ff
 ff
 ff
@@ -32764,5 +32701,68 @@
 ff
 ff
 ff
-6b
-92
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+ff
+48
+c9
Index: c51/output/fw.hex
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/output/fw.hex	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/output/fw.hex	(working copy)
@@ -92,7 +92,7 @@
 :1005B00082C822D083D082F8E493701274019370C1
 :1005C0000DA3A393F8740193F5828883E4737402F6
 :1005D000936860EFA3A3A380DF8A838982E47378A2
-:1005E0007FE4F6D8FD7581CF020626021FDAE49378
+:1005E0007FE4F6D8FD7581CF020626021FB5E4939D
 :1005F000A3F8E493A34003F68001F208DFF4802916
 :10060000E493A3F85407240CC8C333C4540F442004
 :10061000C8834004F456800146F6DFE4800B0102F3
@@ -100,819 +100,782 @@
 :10063000FF543F30E509541FFEE493A360010ECF41
 :1006400054C025E060A840B8E493A3FAE493A3F86B
 :10065000E493A3C8C582C8CAC583CAF0A3C8C5822B
-:10066000C8CAC583CADFE9DEE780BE524E5AFF130F
-:10067000BC000000FF3301FF2EF2000000FF323CFF
+:10066000C8CAC583CADFE9DEE780BE524E5CFF130D
+:10067000F4000000FF2288FF3198000000FF35B72A
 :10068000001A08090A0B0C0D0E181917151413116E
 :10069000161B1C1D00001D1E66F4E6F5DEDF06209D
 :1006A000008081D4E4D019223ED2E2D1D3D52823D0
 :1006B0003F0000E10000093C48000000E0FA87210B
 :1006C0002CE3D6000000893D04FB000000E7403524
 :1006D000161C13240000412D2B182F250B11422E20
-:1006E000070C302634A5443A1A464A4C4937450F80
-:1006F00008474D4B4E38433B141231273236763380
+:1006E000070C3026347F443A1A464A4C4937450FA6
+:1006F00008474D4B4E38433B141231273236653391
 :1007000052535F5C5964290E5054605D5A62150D56
 :100710005155615E5B63172A4F56570058391B1FAE
 :10072000F948F1E57F780A0000000000051000009C
-:1007300000000000010100904F05EFF0904CF0E048
-:100740007003020802904CF0E014F0E4904DE8F0E1
-:10075000904E59F0904F05E0FF75F01FA424F2F57C
+:1007300000000000010100904F06EFF0904CB9E07E
+:100740007003020802904CB9E014F0E4904DEAF016
+:10075000904E5BF0904F06E0FF75F01FA424F4F577
 :1007600082E4344DF583E064017070EF75F01FA4EE
-:1007700024F3F9744D35F0FA7B017E427F74904E7C
-:10078000C87406F012087D904F05E075F01FA42490
-:10079000F9F9744D35F0FA7B017E447F7B904EC8A9
-:1007A0007410F012087D904F05E075F01FA4240925
-:1007B000F9744E35F0FA7B017E447FF9904EC8748F
-:1007C00006F012087D7F2B1210AD904DE87401F0F9
-:1007D000E4904CF0F090448B04F022904E59740158
+:1007700024F5F9744D35F0FA7B017E427F74904E7A
+:10078000CA7406F012087D904F06E075F01FA4248D
+:10079000FBF9744D35F0FA7B017E447F7B904ECAA5
+:1007A0007410F012087D904F06E075F01FA4240B22
+:1007B000F9744E35F0FA7B017E447FF9904ECA748D
+:1007C00006F012087D7F2B1213C9904DEA7401F0D8
+:1007D000E4904CB9F090448B04F022904E5B74018D
 :1007E000F09044F9740FF0A3F0A3F0A3F0A3F0A3EA
-:1007F000F0904DD37401F07F2B1210AD90425E74D7
-:1008000001F022904F06EDF0EF6401706FE0FF758C
-:10081000F01FA424F2F582E4344DF5837401F0EF67
-:1008200075F01FA424F3F582E4344DAF82FE7B0102
-:100830007A0379D0904EC87406F0117D904F06E08F
-:1008400075F01FA424F9F582E4344DAF82FE7B01DC
-:100850007A44797B904EC87410F0117D904F06E079
-:1008600075F01FA42409F582E4344EAF82FE7B01AB
-:100870007A4479F9904EC87406F0117D22904EC3E7
+:1007F000F0904DD37401F07F2B1213C990425E74B8
+:1008000001F022904F07EDF0EF6401706FE0FF758B
+:10081000F01FA424F4F582E4344DF5837401F0EF65
+:1008200075F01FA424F5F582E4344DAF82FE7B0100
+:100830007A0379D0904ECA7406F0117D904F07E08C
+:1008400075F01FA424FBF582E4344DAF82FE7B01DA
+:100850007A44797B904ECA7410F0117D904F07E076
+:1008600075F01FA4240BF582E4344EAF82FE7B01A9
+:100870007A4479F9904ECA7406F0117D22904EC5E3
 :10088000EEF0A3EFF0A3EBF0A3EAF0A3E9F0904EB3
-:10089000C8E0FF14F0EF6027904EC5E0FBA3E475BD
-:1008A000F001120424A9F0FA1203B6FF904EC3E43B
+:10089000CAE0FF14F0EF6027904EC7E0FBA3E475B9
+:1008A000F001120424A9F0FA1203B6FF904EC5E439
 :1008B00075F00112042485F082F583EFF080CF22D9
-:1008C000904EC9EBF0A3EAF0A3E9F0E4A3F0A3F0A3
-:1008D000904DE5F0904DDDF0904DDAF0904ECDF07A
-:1008E000904ECDE0FFC39405504D904EC9E0FBA360
+:1008C000904ECBEBF0A3EAF0A3E9F0E4A3F0A3F0A1
+:1008D000904DE6F0904DDEF0904DDBF0904ECFF075
+:1008E000904ECFE0FFC39405504D904ECBE0FBA35C
 :1008F000E0FAA3E02401F9E43AFA7E00E92FF9EEE8
-:100900003AFA1203B6FFB4A506904DE57401F0EF74
-:10091000B42906904DDD7401F0904EC9E0FBA3E0D0
-:10092000FAA3E0F91203B66006904DDA7401F09074
-:100930004ECDE004F080A9904EC9E0FBA3E0FAA3FD
-:10094000E0F9122C27EF6002811D904EC9E0A3E070
-:10095000FAA3E04A703A904E4FE064026002811DB3
-:10096000904DE7E06002811D904E4FF0904DF0F009
-:10097000904DECE0600AE4F0904E507406F0800672
-:10098000904E507402F07B017A4E79507D03811EA7
-:10099000904D01E06008E4F0904D467403F0904DF6
-:1009A0007DE06008E4F0904D467403F0904CC7E0A1
-:1009B000B404069042137403F0904DE9740AF0E415
-:1009C000904CE3F0A3F0904CD5E0B40112E4904DCC
-:1009D00040F0A37448F0A37412F0E4A3F08010E494
-:1009E000904D40F0A37448F0A3745DF0E4A3F07B55
+:100900003AFA1203B6FFB47F06904DE67401F0EF99
+:10091000B42906904DDE7401F0904ECBE0FBA3E0CD
+:10092000FAA3E0F91203B66006904DDB7401F09073
+:100930004ECFE004F080A9904ECBE0FBA3E0FAA3F9
+:10094000E0F9122EC0EF6002811C904ECBE0A3E0D4
+:10095000FAA3E04A703A904E51E064026002811CB2
+:10096000904DE9E06002811C904E51F0904DF2F004
+:10097000904DEEE0600AE4F0904E527406F080066E
+:10098000904E527402F07B017A4E79527D03811DA4
+:10099000904CCAE06008E4F0904CF57403F0904D80
+:1009A00027E06008E4F0904CF57403F0904C8BE085
+:1009B000B404069042137403F0904DEB740AF0E413
+:1009C000904CABF0A3F0904C9CE0B40112E4904C3E
+:1009D000EFF0A37448F0A37412F0E4A3F08010E4E5
+:1009E000904CEFF0A37448F0A3745DF0E4A3F07BA7
 :1009F000017A4879007D097C00B1017B017A4E794A
-:100A0000507D097C00B101904EC9E0FBA3E0FAA340
+:100A0000527D097C00B101904ECBE0FBA3E0FAA33C
 :100A1000E0F99000011203CFFFB40E0A9000021219
-:100A200003CF6429600EEF64297020900002120346
-:100A3000CFB40E17904CC3E0FF6003B4FE0D121745
-:100A4000C67F0A1216F37F0A1210D7904CB67401B3
-:100A5000F0904CF4E0FF64017002811DEF640470BB
-:100A600002811DEF64027002811D904CC5E0640399
-:100A70007045904ECDF0904ECDE0FFC394055037B9
-:100A8000904EC9E0FBA3E0FAA3E02401F9E43AFAAE
-:100A90007E00E92FF9EE3AFA1203B6FF64396009D5
-:100AA000EF64536004EFB44706904D467403F09032
-:100AB0004ECDE004F080BF904EC9E0FBA3E0FAA366
-:100AC000E0F912267F904E4FE0B401117402F090CD
-:100AD0004E50F07B017A4E79507D03811E904E4F2F
-:100AE000E0B404137402F0904E507406F07B017A67
-:100AF0004E79507D03811E904E4FE06403600BE001
-:100B00006402702F904DE7E07029E4904E4FF09012
-:100B10004DF0F0904DECE0600AE4F0904E50740619
-:100B2000F08006904E507402F07B017A4E79507D31
-:100B300003811E904DE7E07016904EC9E0FBA3E0E4
-:100B4000FAA3E02401F9E43AFA7D067C00B10190B1
-:100B500048007401F0904EC9E0FBA3E0FAA3E0F96D
-:100B60001203B6904801F0904CC5E0B4030A904DD2
-:100B700046E0904802F08005E4904802F0E4904D91
-:100B8000E2F0904E59E0706F9000011203CFB4A5CF
-:100B9000157E487F03E92402F9E43AFA904EC874BE
-:100BA00005F0117D801C7E487F03904EC9E0FBA3B9
-:100BB000E0FAA3E02401F9E43AFA904EC87406F092
-:100BC000117D904ECD7403F0904ECDE0FFC394099B
-:100BD000504174002FF582E43448F583E0B4A50F4A
-:100BE000904ECDE02400F582E43448F583E4F090A3
-:100BF0004ECDE004F080D17E487F03904EC9E0FBEB
-:100C0000A3E0FAA3E02401F9E43AFA904EC874068E
-:100C1000F0117D7B017A4879007D09911E22904E6A
-:100C20007EEBF0A3EAF0A3E9F0A3EDF0E4FF904E31
-:100C300081E0FEEFC39E5023904E7EE0FBA3E0FADE
-:100C4000A3E0F98F827583001203CFFE74822FF523
-:100C500082E4344EF583EEF00F80D312184BEF7020
-:100C600002A100904CEBE06002A100904CC7E0FFB5
-:100C70006404600AEFB4031E904DD3E06018904EF8
-:100C800082E0B406037403F07B017A4E7982904EC1
-:100C900081E0FD123874904CC5E064037062904EA0
-:100CA00082E0640170237404F0A3E07014904E8518
-:100CB000E0700EA3E0700AA3E07006904DE0F080B3
-:100CC00032904DE07401F0802A904E82E0B4021917
-:100CD0007405F0A3E0700AA3E07006904DE0F08088
-:100CE00012904DE07401F0800A904E82E0B403034C
-:100CF0007407F07B017A4E7982904E81E0FDF1EE2F
-:100D000022904EF6EBF0A3EAF0A3E9F0ED1DAE045D
-:100D100070011C4E6016904EF6E0FBA3E475F001E6
+:100A200003CF6429600EEF6429701F900002120347
+:100A3000CFB40E16904C87E0FF6003B4FE0C121882
+:100A4000C77F0AF1727F0A1211E2904C7A7401F0AA
+:100A5000904CBDE0FF64017002811CEF64047002E1
+:100A6000811CEF64027002811C904C89E064037069
+:100A700045904ECFF0904ECFE0FFC3940550379095
+:100A80004ECBE0FBA3E0FAA3E02401F9E43AFA7EBE
+:100A900000E92FF9EE3AFA1203B6FF64396009EF64
+:100AA00064536004EFB44706904CF57403F0904E25
+:100AB000CFE004F080BF904ECBE0FBA3E0FAA3E0D0
+:100AC000F9122589904E51E0B401117402F0904E54
+:100AD00052F07B017A4E79527D03811D904E51E098
+:100AE000B404137402F0904E527406F07B017A4EF7
+:100AF00079527D03811D904E51E06403600BE064E8
+:100B000002702F904DE9E07029E4904E51F0904D25
+:100B1000F2F0904DEEE0600AE4F0904E527406F070
+:100B20008006904E527402F07B017A4E79527D031A
+:100B3000811D904DE9E07016904ECBE0FBA3E0FAEA
+:100B4000A3E02401F9E43AFA7D067C00B101904863
+:100B5000007401F0904ECBE0FBA3E0FAA3E0F912A1
+:100B600003B6904801F0904C89E0B4030A904CF52C
+:100B7000E0904802F08005E4904802F0E4904DE3F4
+:100B8000F0904E5BE0706F9000011203CFB47F15C0
+:100B90007E487F03E92402F9E43AFA904ECA7405CC
+:100BA000F0117D801C7E487F03904ECBE0FBA3E0DC
+:100BB000FAA3E02401F9E43AFA904ECA7406F0115F
+:100BC0007D904ECF7403F0904ECFE0FFC394095058
+:100BD0004174002FF582E43448F583E0B47F0F9030
+:100BE0004ECFE02400F582E43448F583E4F0904EE3
+:100BF000CFE004F080D17E487F03904ECBE0FBA392
+:100C0000E0FAA3E02401F9E43AFA904ECA7406F03F
+:100C1000117D7B017A4879007D09911D22904E80DB
+:100C2000EBF0A3EAF0A3E9F0A3EDF0E4FF904E832C
+:100C3000E0FEEFC39E5023904E80E0FBA3E0FAA3BA
+:100C4000E0F98F827583001203CFFE74842FF58242
+:100C5000E4344EF583EEF00F80D3121835EF7002B6
+:100C6000A100904CB4E06002A100904C8BE0FF64C6
+:100C700004600AEFB4031E904DD3E06018904E84D8
+:100C8000E0B406037403F07B017A4E7984904E83BE
+:100C9000E0FD1235E6904C89E064037063904E8469
+:100CA000E0640170237404F0A3E07014904E87E0B8
+:100CB000700EA3E0700AA3E07006904DE1F0803260
+:100CC000904DE17401F0802A904E84E0B4021974D2
+:100CD00005F0A3E0700AA3E07006904DE1F08012E9
+:100CE000904DE17401F0800A904E84E0B4030374E7
+:100CF00007F07B017A4E7984904E83E0FD1235D463
+:100D000022904EF5EBF0A3EAF0A3E9F0ED1DAE045E
+:100D100070011C4E6016904EF5E0FBA3E475F001E7
 :100D2000120424A9F0FAE41203FC80E0227B017A89
-:100D30004C79BF7D527C00B1017B017A4D79937D66
+:100D30004C79837D537C00B1017B017A4D79937DA1
 :100D4000147C00B1017B017A4D79A87D147C00B13F
 :100D5000017B017A4D79BC7D147C00B1017B017A65
-:100D60004879007D097C00B1017B017A4E79507D84
-:100D7000097C00B101E4904DE9F0904DEFF0904D09
-:100D8000DBF0904DE4F0904DE1F0904DEEF0904DA1
-:100D9000E0F0904DD6F0904DE8F0904DE6F0904E9A
-:100DA0004FF0904DDFF0904DE2F0904DE5F0904D1A
-:100DB000EAF0904DF0F0904CB774F0F0904DE3F005
-:100DC000E4904D38F0904DD5F022904EFFEFF0A317
-:100DD000EDF07B017A4879007D097C00B1019048F3
-:100DE000007401F0A3E0FF904EFFE0FEEF4E90484C
-:100DF00001F0904F00E0904803F07B017A487900C1
-:100E00007D09811E904CC8E0B402030229B4904CC5
-:100E1000F4E0FF600D64036009EF64056004EFB463
-:100E2000080302239F904CF4E0B4010EA3E0FFE41A
-:100E3000FDB1CA904CF47402F022904CF4E06402CC
-:100E4000702C904D0DE06016E4F0904CF47407F0B7
-:100E5000904CF87403F0904D0C7401F08006904CA7
-:100E6000F47403F0904CF5E0FFA3E0FDA1CA904CB0
-:100E7000F4E0B40427E4904CF6F0904CF5E0FFE485
-:100E8000FDB1CAE4904CF5F0904CF8E07007904C3E
-:100E9000F47406F022904CF47405F022904CF4E0C7
-:100EA000B40616E4904CF6F0904CF5F0A3E0FDE4A7
-:100EB000FFB1CAE4904CF4F022904CF4E0B4091A6B
-:100EC000E4904CF6F0904CF5E0FFE4FDB1CA904C94
-:100ED000F47408F0904CF8740AF022904DDEE06053
-:100EE0000FE014F0E0700990413104F0904DDCF017
-:100EF000904CC7E0FF64047056EF64047039904D65
-:100F00007EE06033904DDCE07010904CE3E0FEA397
-:100F1000E0FF4E6022EF541F701DE4904DDCF09016
-:100F20004E507404F0904CF9E0904E51F07B017AF1
-:100F30004E79507D02911E904CE3E07004A3E06472
-:100F4000146002E1C71217C6904CEC7401F02290B5
-:100F50004CC5E064037039904CE4E0541F64107099
-:100F60001E7B017A4879007D09FCB101E4904E4F67
-:100F7000F090480004F0FB7A4879007D09911EC387
-:100F8000904CE4E09414904CE3E0940040398038B5
-:100F9000904CC5E0B40111C3904CE4E09478904CBF
-:100FA000E3E0940040218020C3904CE4E094129050
-:100FB0004CE3E094004010904DE8E06007E4F07FDF
-:100FC0000E1210AD1217BD22121CD7904BEF74FFFA
-:100FD000F0904D017401F0904CB774F0F0904DE337
-:100FE000F0904D4074FFF0A3F0A3F0A3F022900B1B
-:100FF000E77406F0904F10EDF0E0FD900BE8F07E06
-:101000000B7FE9904EC8EDF012087D7B017A0B79D9
-:10101000E7904F10E02402FD904EBDEBF0A3EAF004
-:10102000A3E9F0A3EDF0904B9CE0FFA3E0904EC14C
-:10103000CFF0A3EFF0904B9AE0FEA3E0FF904B9C23
-:10104000E0FCA3E0FD7B641235A8904EC0E0FEEF0B
-:10105000C39E40E1904EC0E0FF14F0EF603F904E21
-:10106000BDE0FBA3E475F001120424A9F0FA120319
-:10107000B6FF904EC1E475F00112042485F082F5AC
-:1010800083EFF0904EC1E0FEA3E0FFBE4BC6BF363B
-:10109000C3904EC1744AF0A374A0F080B7904EC1C3
-:1010A000E0FFA3E0904B9CCFF0A3EFF022904EE046
-:1010B000EFF078E17C4E7D017BFF7A0779347E008A
-:1010C0007F03120390904EE0E0904EE3F07B017AB4
-:1010D0004E79E17D030118904F09EFF014B40D0033
-:1010E000400241B59010F275F003A4C58325F0C508
-:1010F00083730211190211190211190212B502119A
-:101100005C0211A80211B00211FD0211FD0212656C
-:101110000212B50212B5021158904CC5E0FF6403EB
-:101120006004EFB4020D7F2211AD904F09E0904CA6
-:10113000EDF022904F09E014904DD7F090421374D7
-:1011400005F0904CF0F07F0411AD7F0AD1F37F2AB7
-:1011500011ADE4904CEDF0227F0E01ADE4904CF027
-:10116000F0F1C6EF700C1218CBEF70061218E7EF13
-:10117000600F904F09E0904CEDF0904DEF7403F04C
-:10118000221218DDE4904DD5F0904DD3F0904E59D9
-:10119000F01218FE7F0D11AD904CE974F0F0E49060
-:1011A0004CEEF0904CEDF022F1C6E4904CEDF022C4
-:1011B0007B017A4D79F27D5D7C001220CE904CC08F
-:1011C00074FFF0A3F07FC8D1F3C2017FFF51BB7B56
-:1011D000017A4D79F27D5D7C007F607E7F121A94EA
-:1011E0007B017A4C79C07D017C007FBD7E7F121A25
-:1011F00094D2017FFF51BBE4904CEDF022E4904C7F
-:10120000F0F01218CBEF6009904F09E0904CEDF030
-:10121000227B017A4C79007D047C007F527E7F1214
-:1012200019417F0AD1F3E4904E59F0904C00E0F45C
-:101230007021A3E0B4FF1CA3E0B4FF17A3E0B4FF48
-:1012400012904C00740FF0A3F0A3F0A3F0904E594D
-:101250007401F07F2111AD904CC57402F0E4A3F04D
-:10126000904CEDF022E4904CF0F0F1C6EF700612D5
-:1012700018CBEF6009904F09E0904CEDF022904CB4
-:10128000C5E064016029E4904E59F07F2311AD90D0
-:101290004CC57401F0E4A3F0904CEE74F0F0C20180
-:1012A0007FFF51BBC2017F1F51BBE4904CE9F0E4CA
-:1012B000904CEDF022E4904CEDF022EFF4600D7BC9
-:1012C000017A807974A2019200121F7922904DEE6A
-:1012D000E06402600261BB904CE9E0600261A290B0
-:1012E0004CEEE0600261A2904CD5E0B40204F1BD86
-:1012F0008037904CD5E0B40114904CF7E0702A9000
-:101300004CE2740CF0904CF77401F0801C904CF798
-:10131000E0B401159041317401F0E4904CF7F09085
-:101320004CE2F0C2017F1F51BB121836EF6061C35F
-:10133000904CE4E0940C904CE3E094005040904CCE
-:10134000B7E030E00E904CE5E07014D2017F0F5111
-:10135000BB800C904CE5E07006C2017F0F51BB9042
-:101360004CB7E030E10C904CE5E0704FD2017F10BB
-:1013700041BB904CE5E07043C2017F1041BB904CF3
-:10138000E5E07006C2017F0F51BBC2017F1041BB77
-:10139000904CE5E07006C2017F0F51BBC2017F1087
-:1013A00041BB904CB7E054FCF0904CE9E07006C2B1
-:1013B000017F0F51BBC2017F1051BB22904F0EEF36
-:1013C000F01205B315DD1416AE1514C127167529D4
-:1013D00013F22F14BB3015123115863213F2331667
-:1013E0004F34168F35150A3714C13915123C0000D9
-:1013F00016F2121F311230507B017A4C79FF7D01B9
-:101400007C007FC07E7F121941904CFFE064017028
-:101410003E904C91E0FEA3E0FFC3904C96E09F907D
-:101420004C95E09E5005121ED080E6904CE0E0FE08
-:10143000A3E0FFC3904C96E09F904C95E09E500F28
-:10144000904CD57402F0E4904CE5F07F1901AD7F2B
-:101450001EF1F15017904CC07401F0904D0BF090BC
-:101460004D0AF0C2057F1E121F02800DE4904CC091
-:10147000F0904D0BF0904D0AF0904CC0E0904CC3B2
-:10148000F0122E907F0AD1F37B017A4C79F27D0223
-:101490007C007FBE7E7F121941904CF2E0B4FF19B0
-:1014A000A3E0B4FF14904C93E0A3E0904CF2F090D2
-:1014B0004C91E0A3E0904CF3F0E10B12303D021FA1
-:1014C0003E904CC3E0D394005002C1F2E09404403B
-:1014D00002C1F2E075F01FA424D3F9744D35F0FA7F
-:1014E0007B017D1F7C001220CE7FC8D1F3C2017F1B
-:1014F000FF51BB7B017A4D79F27D5D7C007F607E80
-:101500007F121A94D2017FFF41BB904DD7E0FF02BA
-:101510000737904CC57403F0E4A3F01218DDE49093
-:101520004CEEF0904CEBF0904DD4F0904CC074FE2B
-:10153000F0904CC3F0904D467403F0904DE9740A5E
-:10154000F0904F0EE064317034904DEAF0904E59B7
-:10155000F0904CC1F0904CE5741EF0904BEBE0B471
-:101560000F12A3E0B40F0DA3E0B40F08A3E0640FC3
-:101570007002C1F2904CBF7402F0021B42904CE525
-:10158000E06002C1F222E4904CC5F0A3F0904CE37D
-:10159000F0A3F0904CEB04F0904C00E0B40F13A3D8
-:1015A000E0B40F0EA3E0B40F09A3E0B40F047F0A68
-:1015B00001D7904CEDE0600A1218DD904CEDE0FF91
-:1015C00001D7904CECE0B40104E4F0E1BD904CF0A4
-:1015D000E07002C1F2904DD7E0FF020737904CC790
-:1015E0007403F0A37401F0E4A3F0A3F07F0E11AD37
-:1015F0007F0211AD904CE9E06034E4904DEAF09048
-:101600004CC1F0904CC3E075F01FA424F0F582E4C7
-:10161000344DF583E4F0904DEAE0FF904CC3E07563
-:10162000F01FA424F1F582E4344DF583EFF0904DE2
-:10163000E8E07006904DD57414F0904CE5E070032E
-:10164000122EC1E4904CE9F0904CE3F0A3F022900C
-:101650004CC77404F0E4A3F01218DDE4904CEBF0F6
-:10166000904DDE740AF0904CC3E0904CC0F0904C6A
-:10167000BF7403F022904CC3E014FD7F01120803F5
-:10168000904CC3E0904CC0F0904CBF7403F022909B
-:101690004D3912058200000000E4904DD8F0904DC5
-:1016A000E104F0904CC804F0904CC704F022904C38
-:1016B000C7E0904CCBF0E4904CC7F0A3F0904CEB1B
-:1016C00004F0E4904D3DF0904CECE0B40104E4F003
-:1016D000E1BD904CEDE06003FF01D7904CF0E0607D
-:1016E00008904DD7E0FF020737F1BDE4904CE3F0DE
-:1016F000A3F022EFD394004011E4FDFC0DBD0001E6
-:101700000CBC04F8BDA6F51F80E922904DEE7402D2
-:10171000F07B017A4D79F27D5D7C007F607E7F12E7
-:1017200019417F0AD1F37B017A4C79007D047C005A
-:101730007F527E7F1219417F0AD1F37B017A4D7966
-:10174000EA7D017C007F567E7F1219417F0AD1F32A
-:101750007B017A4C79C17D017C007F577E7F121915
-:10176000417F0AD1F3904CC3E0FFD394035033EF91
-:10177000C39401402DEF75F01FA424F0F582E434EA
-:101780004DF583E0904CC1F0904CC3E075F01FA480
-:1017900024F1F582E4344DF583E0904DEAF011D761
-:1017A00080047F0811D7904DEAE0D394014002E411
-:1017B000F0904CC1E0D394024002E4F022E4904D5A
-:1017C00038F07F1901AD904CC7E0FF64046004EF6E
-:1017D000B403077F1111AD7F0122904CC5E0FF6477
-:1017E000036004EFB402077F2211AD7F01227F0066
-:1017F000227B017A81791CAD07E4904F11F0FEEF56
-:101800005407F0EF1313135403FEF582758300128F
-:1018100003CFFD3395E0FC904F11E0FF74017E0093
-:10182000A807088005C333CE33CED8F9FFEE5CFE9F
-:10183000EF5D4E24FF22904CC7E064046007904C9B
-:10184000C5E0B403037F01227F0022E4904F07F03C
-:10185000904CC8E0B40206904F07E0FF229047F595
-:10186000E030E306904F07E0FF22904CEEE0600688
-:10187000904F07E0FF22904CC7E0703F904CC5E0CE
-:1018800064036037904CEFE0703B740AF0A3E070A3
-:1018900034904DEEE06402702C904CC3E0FFC39492
-:1018A00001400BEFD3940350051210D780177F0926
-:1018B0001210D7904F077401F0800AE4904CEBF0BF
-:1018C000904F0704F0904F07E0FF22904CC7E0B420
-:1018D00002087F0E1210AD7F01227F0022E4904C9F
-:1018E000F0F0904DE8F022904CC0E0FF64FE600301
-:1018F000EF70087F221210AD7F01227F00227B0152
-:101900007A4C79F27D027C007FBE7E7F3141904C23
-:10191000F2E004F0A3E004F0904CF2E09044FAF01E
-:10192000904CF3E09044FBF0904DD0E09044FCF0FC
-:10193000904DD1E09044FDF0904DD2E09044FEF007
-:1019400022904ED3ECF0A3EDF0A3EBF0A3EAF0A3CA
-:10195000E9F09080987404F0A3E4F0900CAF74A0C8
-:10196000F0A3EEF0A3EFF0900CB274A1F07A0C7932
-:10197000AF7E0C7FAF74AFFC740CFFECFEEF908079
-:101980009AEEF0A3EFF0904ED3E0FCA3E0FAECFF68
-:10199000EAFEEF90809EEEF0A3EFF07A0B79837E63
-:1019A0000B7F837483FC740BFFECFEEF90809CEE46
-:1019B000F0A3EFF09080907402F090809CA3E02060
-:1019C000E707908090E04401F0908006E04404F046
-:1019D00031F1904ED5E0A3E0FAA3E0AE02FF7B0127
-:1019E0007A0B7983904ED3E0A3E0904EC8F00208C2
-:1019F0007D90812CE030E5F922904EB6EEF0A3EF19
-:101A0000F0904EBAEBF0A3EAF0A3E9F0904EB8ECF8
-:101A1000F0A3EDF0A3E0F9A3E0FAA3E0904EA3C990
-:101A2000F0A3EAF0A3E9F0A3ECF0A3EDF07B017AD8
-:101A30000B798612388A900B8374A0F0904EB6E032
-:101A4000FFA3E0900B84CFF0A3EFF0904EB9E02419
-:101A500003FD904EB8E03400FCEDFAECFFEAFEEF37
-:101A6000908098EEF0A3EFF07A0B79837E0B7F8362
-:101A70007483FC740BFFECFEEFA3EEF0A3EFF09089
-:101A8000809EE4F0A3F090809004F0908006E04403
-:101A900004F021F1904E97EEF0A3EFF0A3ECF0A349
-:101AA000EDF0A3EBF0A3EAF0A3E9F0904E99E0701B
-:101AB00002A3E070026141904E97E0FEA3E0FF4474
-:101AC0000F2401FDE43EFCC3ED9FFFEC9EFE904E13
-:101AD0009EF0A3EFF0904E99E0FCA3E0FDD39FECC5
-:101AE0009E400A904E9EE0FEA3E0FF8004AE04AF4D
-:101AF00005904E9EEEF0FCA3EFF0FDC3904E9AE0F1
-:101B00009DF0904E99E09CF0904E97E0FEA3E0FF90
-:101B1000904E9BE0FBA3E0FAA3E0F931F97F0A12B3
-:101B200016F3904E9EE0FEA3E0FF904E9CEE8FF0E9
-:101B300012040E904E98E02FF0904E97E03EF04148
-:101B4000AB22904CBFE0FF700261DC640160057F56
-:101B5000C81216F3C2017FFF1212BB904CBFE064A3
-:101B60000270317B017A4C79007D04FC7F527E7FCC
-:101B700051947B017A4C79C17D017C007F577E7F37
-:101B800051947B017A4D79EA7D017C007F567E7FFE
-:101B900051948017904CBFE0B403107B017A4D79CB
-:101BA000F27D5D7C007F607E7F51947B017A4C7971
-:101BB000C07D017C007FBD7E7F51947B017A4C7992
-:101BC000F27D027C007FBE7E7F5194D2017FFF12A6
-:101BD00012BB7F0A1216F3E4904CBFF022904CCE59
-:101BE000E030E13E904CD0E0C394FA5003E004F0C2
-:101BF000904CD0E064B47037904DE6E004F0E0D350
-:101C000094025007E4904CD0F08024904DE6E0B46C
-:101C1000031D904DDF7401F0E4904CD0F01217BD1D
-:101C2000800DE4904DE6F0904DDFF0904CD0F090B8
-:101C30004CCEE030E439904CEA740AF0904CD1E09C
-:101C4000C394FA5003E004F0904CD1E0640670496C
-:101C5000904CC3E0FF600464FE703EE4904CCDF015
-:101C60001217C67F0A1216F37F0A1210D7802A9025
-:101C70004CCDE0601FE4F07F0D1210D7904CEB7458
-:101C800001F0904CC3E0904CC0F0904CBF7401F058
-:101C90007142D1C7E4904CD1F0904CCEE020E336B5
-:101CA000904CCCE0602BE4F0904CC3E0FF904CC033
-:101CB000E06F601D904CEB7401F091D7904CC3E045
-:101CC000904CC0F0904CBF7401F01217C67142D115
-:101CD000C7E4904CD2F022C2067F0F91FFC2067F6C
-:101CE0001091FFC2067F1F91FFC2067FFF91FFC2C6
-:101CF000067F1F91FFC2067F1F91FFC2067FFFACC8
-:101D000007ECF46015AF04D204F120AF04A20692F0
-:101D1000011212BBAF04C202D1F122D1DE1236523F
-:101D2000120E0471421212CD904D7DE06003120F2D
-:101D3000C8900B7EE014601D24FE70E1B18E7F1E02
-:101D4000D12791D77F1E1217F14006D2057F1EF1D1
-:101D500002D1D080FE904CEAE0701E904CECE07016
-:101D600018904CE5E07012904DDAE0700C904DE563
-:101D7000E07006904CF8E06004F1DC80A0B18E9039
-:101D80004D01E0600291D7D1D08092809022E4FF93
-:101D9000904F0DF0FEFDEF900681936049EF93FDAB
-:101DA000131313541FFEED5407FD7401A80508809A
-:101DB00002C333D8FCFDEE2478FBE434808B82F53B
-:101DC00083E0FCEDF4FBEC5BF0EE2470F582E43490
-:101DD00080F583E04DF0EE2474F582E43480F583E1
-:101DE000E05BF00F80B012390D90811CE0904F0D38
-:101DF000F0904DDFE06020E4FFD1277F01D1277F05
-:101E000002D1277F03D1277F04D1277F05D1277FE8
-:101E100006D1277F078010904F0DE0FF9000A3F0C0
-:101E2000EFF49000A7F022904F12EFF01217F1920A
-:101E300008904F12E0FFA208B39207EFF47002C1BE
-:101E4000C6EF5407FEEF1313135403FF3007432468
-:101E5000A3F582E43400F583C083C082E0FD740101
-:101E6000A806088002C333D8FCF45DD082D083F08A
-:101E700074A72FF582E43400F583C083C082E0FFAD
-:101E80007401A806088002C333D8FC4FD082D083E7
-:101E9000F02274A32FF582E43400F583C083C0825E
-:101EA000E0FD7401A806088002C333D8FCFC4DD0C5
-:101EB00082D083F074A72FF582E43400F583E0FF2D
-:101EC000ECF4FEEF5EF0229080107401F080FE22B0
-:101ED000E4900B7FF0900B7EF07F010216F37B0104
-:101EE0007A4E795A786C7C4E7D017E007F12020317
-:101EF00090EFF4600C7B017A807978A2029200F175
-:101F00007922AC07ECF46017AF04A2059203F168E4
-:101F1000AF04A205B39202D1F1AF04C204F12022B2
-:101F2000EFF4600C7B017A807970A2049200F17961
-:101F30002212303DF13ED2057F1EF10281D7908002
-:101F400080E4F0A3F0A3F0122CDFE4904F0CF0F04B
-:101F5000904F0CE090068193FF600CC205F1029057
-:101F60004F0CE004F080E922EFF4600C7B017A80F2
-:101F7000797CA2039200F17922904EFCEBF0A3EA67
-:101F8000F0A3E9F0E4FEFDEF5407FEEF1313135442
-:101F900003FD300022904EFCE0FBA3E0FAA3E02D0D
-:101FA000F9E43AFA1203B6FF7401A806088002C3E6
-:101FB00033D8FC4F0203FC904EFCE0FBA3E0FAA3F5
-:101FC000E02DF9E43AFA1203B6FF7401A80608807E
-:101FD00002C333D8FCF45F0203FCA11B900B7F7497
-:101FE00001F0E4900B7EF022904CC3E014904F0877
-:101FF000F0E4904DE1F0904F08E0FD7F02120803FD
-:10200000904F08E0FF603C904DF2E064027034EFC6
-:1020100075F01FA424F3F9744D35F0FA904EB274A4
-:1020200001F0A3EAF0A3E9F0A37406F07B017A4D76
-:1020300079F311FBEF600C7B017A4D79F27D1F7C07
-:102040000011CE904F08E0FF6401603C904E11E01B
-:1020500064027034EF75F01FA424F3F9744D35F069
-:10206000FA904EB27401F0A3EAF0A3E9F0A374066B
-:10207000F07B017A4E791211FBEF600C7B017A4EF6
-:1020800079117D1F7C0011CE904F08E0FF64026043
-:102090003C904E30E064027034EF75F01FA424F3DE
-:1020A000F9744D35F0FA904EB27401F0A3EAF0A342
-:1020B000E9F0A37406F07B017A4E793111FBEF60F1
-:1020C0000C7B017A4E79307D1F7C0011CE22904E20
-:1020D000F9EBF0A3EAF0A3E9F0ED1DAE0470011CEA
-:1020E0004E6017904EF9E0FBA3E475F00112042452
-:1020F000A9F0FA74FF1203FC80DF22904EAFEBF0E0
-:10210000A3EAF0A3E9F0E4FF904EB5E0FEEFC39E32
-:102110005030904EB2E0FBA3E0FAA3E0F98F827555
-:1021200083001203CFFE904EAFE0FBA3E0FAA3E0E2
-:10213000F98F827583001203CF6E60037F00220F38
-:1021400080C67F0122E4904E8CF0A3F0A3F0A3F0B0
-:10215000A3F0A3F0A3F0A3F0A3F0A3F0A3F0122C3C
-:10216000FD7A4D79A8904EB27401F0A3744DF0A39E
-:1021700074A8F0A37414F07B017A4D79BC11FBEFC5
-:1021800060167B017A4D79BC7D1471EAEF7009907D
-:102190004CCEE04402F0800C904CCEE054FDF0E4D4
-:1021A000904CD0F0E4904E8CF0904E8CE0FF900676
-:1021B00081937002417674BC2FF582E4344DF5832F
-:1021C000E0904E8FF0E0FF7191904E96EFF0C39447
-:1021D000025002415FE4904E8DF0904E8DE0FFC3BF
-:1021E0009408507B74017E00A807088005C333CE95
-:1021F00033CED8F9FF904E8FE0FDE4EF5D6058E4F8
-:10220000904E8EF0904E8EE0FF9006819360489045
-:102210004E8CE0FEEF6E6037904E8EE024BCF5826F
-:10222000E4344DF583E0FD7C00904E8DE0FF7401B9
-:102230007E00A807088005C333CE33CED8F9FFEE61
-:102240005CFEEF5D4E6008904E957401F080089042
-:102250004E8EE004F080AD904E8DE004F021DA90D7
-:102260004E8FE0FF60087191904E93E02FF0904EFA
-:102270008CE004F021A9904E93E0904DE7F0E490BB
-:102280004E8CF0904E8CE0FF900681937002616559
-:1022900074932FF582E4344DF583E0FE74BC2FF582
-:1022A00082E4344DF583E06E904E8FF0904E8CE0DA
-:1022B000FF24BCF582E4344DF583E0904E92F0901B
-:1022C0004E8FE07004615D615D904E95E060077B2C
-:1022D000007A0079002274BC2FF582E4344DF58336
-:1022E000E0FE74932FF582E4344DF583EEF0E49034
-:1022F0004E8DF0904E8DE0FFC39408505A904E8F53
-:10230000E030E03B904E8CE0FE33333354F8FEEF88
-:102310004E904E91F0A3E0FF904E91E09006969380
-:10232000FDB16D904E94EFF0904E92E030E0099048
-:102330004E94E0FF916D8007904E94E0FF91C39022
-:102340004E8FE0FFC313F0904E92E0FFC313F09066
-:102350004E8DE004F0809C904E907401F0904E8C75
-:10236000E004F04183904E4FE0B4030A904DE2E068
-:10237000B401037402F0904E90E07007904DE2E0DB
-:10238000B402077B017A4E79A8227B007A0079009B
-:1023900022E4FEEF6006145FFF0E80F7AF06229086
-:1023A0004EE7E4F0A3F0A3F071D250253145904EF2
-:1023B000E7EBF0A3EAF0A3E9F04A7007904CB6040B
-:1023C000F08057904EE7E0FBA3E0FAA3E0F9120893
-:1023D000C022904B9CE0FEA3E0FF904B9AE0B50634
-:1023E00007A3E0B50702D322C322904EF0EBF0A37F
-:1023F000EAF0A3E9F0E4FFEFC39D501B904EF0E03C
-:10240000FBA3E0FAA3E0F98F827583001203CF608B
-:10241000037F00220F80E07F0122904D46E0604C58
-:10242000904DE0E07046904CC5E06403703E904DE6
-:10243000E9E0FF904DF1E06F602A7B017A48790076
-:102440007D097C00120D01E4904E4FF0904800048D
-:10245000F0904D46E0904802F07B017A4879007D8B
-:1024600009120C1E904DE9E0904DF1F022E4FEEFD0
-:10247000C394E04020EFD394E7501A904EA8E0FEBA
-:10248000EF5407FF7401A807088002C333D8FC4E3D
-:10249000904EA8F022E4FE74A92EF582E4344EF5A5
-:1024A00083E0FD6F601CED7014904DF0E06F6012E2
-:1024B00074A92EF582E4344EF583EFF0220EEEB4CB
-:1024C00006D522E4FEFDEF54F064F06007EF54D02F
-:1024D000FCBCD00C904E4FE0B4020B7403F08006AD
-:1024E000904DE27401F0EFC394E04021EFD394E704
-:1024F000501B904EA8E0FEEF5407FF7401A8070898
-:102500008002C333D8FCF45E904EA8F022E4FEEDC6
-:10251000702174A92EF582E4344EF583E06F704784
-:10252000EEB4050B24A9F582E4344EF583E4F07D86
-:1025300001803474A92EF582E4344EF583E0FC74F6
-:10254000A82EF582E4344EF583ECF074A92EF582C2
-:10255000E4344EF583E06014EEB4050B24A9F58253
-:10256000E4344EF583E4F00EEEB406A322E4904F7B
-:102570000AF0EF30E005E4904CF8F0904F0AEDF0EF
-:10258000904CC1E0602EEDB4E608904F0A74E7F07D
-:102590008022EDB4E408904F0A74E6F08016EDB4A2
-:1025A000E308904F0A74E2F0800AEDB4E206904F1F
-:1025B0000A74E3F0904E59E06002C15E904DE5E090
-:1025C0007002C15EED24C6B40C004002C15E9025CD
-:1025D000DC75F003A4C58325F0C5837302260002D1
-:1025E0002608022610022618022620022628022685
-:1025F000300226380226400226480226500226587B
-:10260000904F0A74F9F08056904F0A74D6F0804EBD
-:10261000904F0A74FAF08046904F0A74FBF0803EA7
-:10262000904F0A74F1F08036904F0A74F3F0802EC8
-:10263000904F0A74F4F08026904F0A74F2F0801ED6
-:10264000904F0A74F5F08016904F0A74F8F0800EDF
-:10265000904F0A74F6F08006904F0A74F7F0904F8E
-:102660000AE0FF22AD07AC06904E4FE06402600E18
-:102670007401F0904E5004F0EFA3F0EEA3F022901E
-:102680004ED8EBF0A3EAF0A3E9F0E4A3F0F0904E0B
-:10269000DBE0FFC394064003022998904ED8E0FB8C
-:1026A000A3E0FAA3E02401F9E43AFA7E00E92FF965
-:1026B000EE3AFA1203B6FF54F064F0600AEF54D019
-:1026C00064D0600302298F1203B6FBB4F1097F8343
-:1026D0007E01D164022964EBB4F2097FCD7E00D182
-:1026E00064022964904ED8E0FBA3E0FAA3E0240141
-:1026F000F9E43AFAA3E07E0029F9EE3AFA1203B6B9
-:10270000FBB4F3077FB7D164022964EBB4F4097F0B
-:10271000B67E00D164022964904ED8E0FBA3E0FAB3
-:10272000A3E02401F9E43AFAA3E07E0029F9EE3AA5
-:10273000FA1203B6FBB4F5077FB5D164022964EB46
-:10274000B4F6097FEA7E00D164022964904ED8E095
-:10275000FBA3E0FAA3E02401F9E43AFAA3E07E0047
-:1027600029F9EE3AFA1203B6FBB4F7077FE9D16410
-:10277000022964EBB4F8097FE27E00D16402296487
-:10278000904ED8E0FBA3E0FAA3E02401F9E43AFA82
-:10279000A3E07E0029F9EE3AFA1203B6FBB4F90879
-:1027A0007F940ED164022964EBB4FA097F8A7E011A
-:1027B000D164022964904ED8E0FBA3E0FAA3E024A0
-:1027C00001F9E43AFAA3E07E0029F9EE3AFA12039D
-:1027D000B6FBB4FB087F920ED164022964EBB4D03F
-:1027E000097F2A7E02D164022964904ED8E0FBA3BF
-:1027F000E0FAA3E02401F9E43AFAA3E07E0029F923
-:10280000EE3AFA1203B6FBB4D1097F257E021226F6
-:10281000642164EBB4D3097F267E0212266421640E
-:10282000904ED8E0FBA3E0FAA3E02401F9E43AFAE1
-:10283000A3E07E0029F9EE3AFA1203B6FBB4D209FE
-:102840007F247E021226642164EBB4D4097F277EA4
-:10285000021226642164904ED8E0FBA3E0FAA3E0C4
-:102860002401F9E43AFAA3E07E0029F9EE3AFA12DB
-:1028700003B6FBB4D5097F217E021226642164EBE6
-:10288000B4D6097F237E021226642164904ED8E0DC
-:10289000FBA3E0FAA3E02401F9E43AFAA3E07E0006
-:1028A00029F9EE3AFA1203B6FBB4D7077F70122665
-:1028B000642164EBB4D8097F6F7E00122664216422
-:1028C000904ED8E0FBA3E0FAA3E02401F9E43AFA41
-:1028D000A3E07E0029F9EE3AFA1203B6FBB4D90759
-:1028E0007FB8122664807DEBB4DA097F307E001257
-:1028F00026648070904ED8E0FBA3E0FAA3E02401A8
-:10290000F9E43AFAA3E07E0029F9EE3AFA1203B6A6
-:10291000FBB4DB097F067E031226648047EBB4DC40
-:10292000097F077E03122664803A904ED8E0FBA30D
-:10293000E0FAA3E02401F9E43AFAA3E07E0029F9E1
-:10294000EE3AFA1203B6FEB4DD067F013199801427
-:10295000EEB4DE067F023199800A1203B6B4DF04BA
-:102960007F043199904E4FE0B40224904ED8E0FBA2
-:10297000A3E0FAA3E02401F9E43AFAA3E07E0029F7
-:10298000F9EE3AFA1203B6904DF0F0E41203FC901F
-:102990004EDBE004F002268E22904E4FE06402608F
-:1029A000127404F0904DEC7401F0904E507406F0E7
-:1029B000A3EFF022904EE4E4F0A3F0A3F01221453F
-:1029C000904EE4EBF0A3EAF0A3E9F04A700281260E
-:1029D000904EE4E0FBA3E0FAA3E0F99000011203BB
-:1029E000CFFF7002812664286005EF645870329032
-:1029F0004CC8E0B402107F291210AD904CC874038B
-:102A0000F0E4904DD8F0904CCAE064026002812658
-:102A100090425E04F07F0A1210AD904CCA7403F02D
-:102A200022904EE4E0FBA3E0FAA3E0F9900001124B
-:102A300003CFFFD39462400241F2EFC39459500296
-:102A400041F2EFB4623890054FE0FF04F074502F6C
-:102A5000F582E43405F5837430F0904D39E0FCA341
-:102A6000E0FDA3E0FEA3E0FFE47B0AFAF9F812041C
-:102A70003A904D39120576904DD8E004F022904EF0
-:102A8000E4E0FBA3E0FAA3E0F99000011203CF24F5
-:102A9000D8FF90054FE0FE04F074502EF582E43428
-:102AA00005F583EFF09000011203CF24A8FFE43472
-:102AB000FFFEE4FCFDC004C005C006C0077F0AFE9F
-:102AC000904D39E0F8A3E0F9A3E0FAA3E0FB12048B
-:102AD0003AD003D002D001D000EF2BFFEE3AFEED4A
-:102AE00039FDEC38FC904D39120576904DD8E00454
-:102AF000F022904EE4E0FBA3E0FAA3E0F99000019D
-:102B00001203CFFFD39427400261C3EFC3941E503A
-:102B10000261C3EFB4273890054FE0FF04F0745012
-:102B20002FF582E43405F5837430F0904D39E0FCE4
-:102B3000A3E0FDA3E0FEA3E0FFE47B0AFAF9F812AC
-:102B4000043A904D39120576904DD8E004F0229069
-:102B50004EE4E0FBA3E0FAA3E0F99000011203CFFA
-:102B60002413FF90054FE0FE04F074502EF582E42C
-:102B70003405F583EFF09000011203CF24E3FFE466
-:102B800034FFFEE4FCFDC004C005C006C0077F0A98
-:102B9000FE904D39E0F8A3E0F9A3E0FAA3E0FB12C0
-:102BA000043AD003D002D001D000EF2BFFEE3AFE62
-:102BB000ED39FDEC38FC904D39120576904DD8E09A
-:102BC00004F022904EE4E0FBA3E0FAA3E0F99000C9
-:102BD000011203CF642A704090054FE06010E0FFBF
-:102BE00014F074502FF582E43405F583E4F0904D31
-:102BF000D8E06032904D39E0FCA3E0FDA3E0FEA3F5
-:102C0000E0FFE47B0AFAF9F81204C5904D39120589
-:102C100076904DD8E014F022904EE4E0FBA3E0FA69
-:102C2000A3E0F91208C022904EEAEBF0A3EAF0A369
-:102C3000E9F0E4FFFE904DE5E064016008904DDDB1
-:102C4000E0640170687E05AD061EED606A904EEA94
-:102C5000E0FBA3E0FAA3E02401F9E43AFAEE7C00F9
-:102C600029F9EC3AFA1203B6FFB41EDB904DE5E009
-:102C7000B401D41217C67F0A1216F3904CE974F00F
-:102C8000F0E4904CEEF07F051210D7121CD7E490C0
-:102C90004CCCF0904CEB04F0904CC0E0904CC4F065
-:102CA000904CC3E0904CC0F07F0122800A904CCE43
-:102CB000E054E7F054DFF07F0022904CF5EDF0A3F4
-:102CC000EBF0EF30E012904CF4E0B403047402F047
-:102CD00022904CF47401F022904CF47404F022E43D
-:102CE000904F0BF0F0904F0BE0FFC39408500DC2D3
-:102CF00005121F02904F0BE004F080E922E4FF90E0
-:102D00004EEDF0FEFDA3F0A3F0EF90068193607C02
-:102D1000EF93FD131313541FFEED5407FD7401A828
-:102D200005088002C333D8FCFDEE2478FBE4348030
-:102D30008B82F583E0FCEDF4FBEC5BF0EE2470F5A8
-:102D400082E43480F583E04DF0EE2474F582E434BF
-:102D500080F583E05BF090811CE0F4FC74BC2FF5FF
-:102D600082E4344DF583ECF0EE2478FBE434808B80
-:102D700082F583E04DF0EE2470FBE434808B82F525
-:102D800083E0FCEDF4FBEC5BF00FA109E4FFEF90B6
-:102D9000068193607CEF93FD131313541FFEED54D3
-:102DA00007FD7401A805088002C333D8FCFDEE249A
-:102DB00078FBE434808B82F583E0FCEDF4FBEC5B84
-:102DC000F0EE2470F582E43480F583E04DF0EE24DB
-:102DD00074F582E43480F583E05BF090811CE0F4CC
-:102DE000FC74A82FF582E4344DF583ECF0EE2478E2
-:102DF000FBE434808B82F583E04DF0EE2470FBE43D
-:102E000034808B82F583E0FCEDF4FBEC5BF00FA1EA
-:102E10008EE4FFEF90068193604074BC2FF582E44E
-:102E2000344DF583E0FE74A82FF582E4344DF5832C
-:102E3000E06E602374BC2FF582E4344DF583C083CB
-:102E4000C082E0FE74A82FF582E4344DF583E0FDE6
-:102E5000EE5DD082D083F00F80B97F1E1217F1E4AF
-:102E600033FF904CC3F0BF010F904CC0E0FF64FEF5
-:102E70006003EF7003021EC7904CC3E06007904CE4
-:102E8000C0E0B4FE0A904CC0E0B40103121EC72299
-:102E9000904CC3E0B40107D2017F1F0212BB904CDB
-:102EA000C3E0B40207D2017FFF0212BB904CC3E023
-:102EB000B40307D2067FFF021CFFD2017F1F02125C
-:102EC000BB904CC3E0B40107C2017F1F0212BB904C
-:102ED0004CC3E0B40207C2017FFF0212BB904CC397
-:102EE000E0B40307C2017FFF0212BBC2017F1F02D1
-:102EF00012BB12324C904CEAE0600214F0904CEF9E
-:102F0000E0600214F0904CF8E0602A14F0E07025C4
-:102F1000904D0CE0FFB4010E904CF47409F0904D0C
-:102F20000C7402F0800FEFB4020B904CF47406F0B6
-:102F3000E4904D0CF0904CE5E06024904CEEE07095
-:102F400006904CE9E06006E4904CE5F022904CE5F8
-:102F5000E014F0D190904CE5E07050D1C1804C90DD
-:102F60004CE9E07046904CEEE07040904CE2E0603E
-:102F70003A14F0E0FFC39408501BE4904131F0EFA5
-:102F800030E109D2017F1F1212BB8016C2017F1FE0
-:102F90001212BB800D9041317401F0C2017F1F12EB
-:102FA00012BB904CE2E07003740CF0904DDFE070C7
-:102FB00036904DE0E06401702E904CE3F0A3F09069
-:102FC0004DE0F0904E50E0600D7B017A4E79507DDF
-:102FD00003120C1E8011904800E0600B7B017A48C0
-:102FE00079007D09120C1E904DDBE06009E014F0C1
-:102FF000E07003121EC7904DD5E06011E014F0E0C0
-:10300000700B904D3DE070057F1B1210AD904DE9A7
-:10301000E06029E014F0E07023904D46E06002E4A7
-:10302000F0904CC7E0B40407904213740CF0229067
-:103030004CC9E0B40406904213743AF02290809197
-:10304000740DF0A304F0A3F0A3F0A3F0A314F022F6
-:10305000120D2D1185904CEB7401F0904CE5741E0F
-:10306000F0E4904CF0F0904D1074FFF09044FCE0D0
-:10307000904DD0F09044FDE0904DD1F09044FEE0B2
-:10308000904DD2F022904CD37405F0E4A3F0904D13
-:103090000BE060022168904F0FF0904F0FE0FFC3EC
-:1030A00094045019EF25E024D6F582E4344CF583DE
-:1030B0007451F0A3F0904F0FE004F080DD904C933A
-:1030C000E0FFA3E0904CFACFF0A3EFF0904C91E03A
-:1030D000FEA3E0FFC3904C94E09FFD904C93E09ED4
-:1030E000FCE41202067B297A5C794F783F1200FBE0
-:1030F000C004C005C006C007904C91E0FCA3E0FDF1
-:10310000E4120206D003D002D001D00012000A124D
-:10311000023F904CDEEEF0A3EFF0904C91E0FEA366
-:10312000E0FFC3904C94E09FFD904C93E09EFCE444
-:103130001202067433FBFAF9783F1200FBC004C098
-:1031400005C006C007904C91E0FCA3E0FDE412022C
-:1031500006D003D002D001D00012000A12023F9024
-:103160004CE0EEF0A3EFF022E4904F0FF0904F0F01
-:10317000E0FFC394045019EF25E024D6F582E4342F
-:103180004CF5837451F0A3F0904F0FE004F080DD14
-:10319000904C93E0FFA3E0904CFACFF0A3EFF090B7
-:1031A0004C91E0FEA3E0FFC3904C94E09FFD904C57
-:1031B00093E09EFCE41202067BB87A1E7985783F84
-:1031C0001200FBC004C005C006C007904C91E0FC93
-:1031D000A3E0FDE4120206D003D002D001D0001219
-:1031E000000A12023F904CDEEEF0A3EFF0904C91FB
-:1031F000E0FEA3E0FFC3904C94E09FFD904C93E071
-:103200009EFCE41202067B337A337973783F120016
-:10321000FBC004C005C006C007904C91E0FCA3E0D1
-:10322000FDE4120206D003D002D001D00012000A41
-:1032300012023F904CE0EEF0A3EFF022904F01ED30
-:10324000F09000011203CF904F02F022904DEEE07B
-:103250006402704F904CE9E0603F904CCCE0640118
-:103260006022904CC3E0B401047F1F8037904CC3B0
-:10327000E0B402047FFF802C904CC3E06403702311
-:103280007FFF8020C2017F1F1212BBC2017FFF128D
-:1032900012BBC2017FFF0212BB904CEEE060047FC4
-:1032A0001F51A422904F13EFF07B017A80797412A2
-:1032B00017F79209904F13E0FFA209B3920102128F
-:1032C000BB904DEFE06039E014F0E07033904CEDCE
-:1032D000E0B4052C9047F5E020E325E4904DD5F0CF
-:1032E000904CE974F0F0E4904CEEF0904E59F09070
-:1032F0004DD3F01218FE7F0D1210ADE4904CEDF09E
-:1033000022904CE4E004F07006904CE3E004F0718D
-:103310002A120EDB121BDD51C1713B904CC8E0B488
-:103320000207E4904CE3F0A3F022904CD3E0600A53
-:1033300014F0E070057405F0718822904CE9E060AB
-:1033400028E4904CE3F0A3F0904CFCF0904CE9E0C2
-:1033500014F0E07014904CC4E0904CC3F0904CC05A
-:10336000F07F0D1210D71217BD904CEEE06018E4FC
-:10337000904CE3F0A3F0904CEEE014F0E070087F86
-:103380000A1216F31217BD22904ECF1205820000CA
-:103390000000904C91E0FEA3E0FFC3904C96E09FAC
-:1033A000904C95E09E5002A1A7904C95E0FEA3E0C2
-:1033B000FF904CD4E0FD04F0ED25E024D6F582E446
-:1033C000344CF583EEF0A3EFF0904CD4E0C39404BA
-:1033D0004002E4F0E4904ECEF0904ECFE0F8A3E04F
-:1033E000F9A3E0FAA3E0FB904ECEE025E024D6F569
-:1033F00082E4344CF583E0FEA3E0FFE4FCFDEB2F18
-:10340000FFEA3EFEED39FDEC38FC904ECF1205761A
-:10341000904ECEE004F0E0B404BF904ECFE0FCA3A9
-:10342000E0FDA3E0FEA3E0FFE47B04FAF9F8120458
-:10343000C5904ECF120576904CE0E0FEA3E0FFE48D
-:10344000FCFD904ECFE0F8A3E0F9A3E0FAA3E0FB87
-:10345000D31205655007E4904CF9F081DF904CFAE7
-:10346000E0FEA3E0FFE4FCFD904ECFE0F8A3E0F91E
-:10347000A3E0FAA3E0FBC31205654008904CF97481
-:1034800064F0805B904CE0E0FEA3E0FFFBAA06E462
-:10349000904ECFE0FCA3E0FDA3E0FEA3E0C39BFFC2
-:1034A000EE9AFEED9400FDEC9400FCE47B64FAF9E6
-:1034B000F812043AC006C007904CE0E0FEA3E0FF1B
-:1034C000C3904CFBE09FFF904CFAE09EFEAB07FAE6
-:1034D000E4F9F8D007D0061204C5904CF9EFF0904B
-:1034E0004CE0E0FEA3E0FFE4FCFD904ECFE0F8A34B
-:1034F000E0F9A3E0FAA3E0FBC31205655027904C66
-:10350000D57402F0904D00E064027002A19F904CCF
-:10351000FF7401F0FB7A4C79FFFD7C007FC07E7F59
-:10352000121A94807A904D00E064026007904CFF7C
-:10353000E0B40115E4904CFFF07B017A4C79FF7DFB
-:1035400001FC7FC07E7F121A94904CDEE0FEA3E067
-:10355000FFE4FCFD904ECFE0F8A3E0F9A3E0FAA36E
-:10356000E0FBC3120565501D904CD57401F0904DE1
-:1035700001E0702B904D40F0A37448F0A37412F05A
-:10358000E4A3F0801AE4904CD5F0904D01E0700F68
-:10359000904D40F0A37448F0A3745DF0E4A3F09064
-:1035A0004CD5E0904D00F022904EDCEEF0A3EFF011
-:1035B000904EDEECF0A3EDF0904EDEE0FEA3E0FFD7
-:1035C000D3904EDDE09F904EDCE09E4016904EDEA4
-:1035D000E0FEA3E0FF904EDDE09FFF904EDCE09E1A
-:1035E000FE801E904EDCE0FEA3E0FFC3904EDFE0C5
-:1035F0009FFF904EDEE09EFEAD03C3EB9FFFE49E77
-:10360000FE22904F03EEF0A3EFF0A905904B9EE051
-:10361000FEA3E0FFAD0119ED602F0FEFAC067001C6
-:103620000E14F5828C83E0FD904F03E475F00112D7
-:10363000042485F082F583EDF0AD07AC06BC4BD4D5
-:10364000BD9AD17E4B7F3680CB904B9EEEF0A3EFA0
-:10365000F0227A0C794B904EF37401F0A3740CF0C5
-:10366000A3744BF0904BA0E0FEA3E0FF904B9EE0D4
-:103670006E7003A3E06F70030238047E0C7F4B7DF5
-:1036800003D102904EF3E0FBA3E0FAA3E0F91203AA
-:10369000B6B4022C904EF4E475F00212040E904E73
-:1036A000F3E0FBA3E0FAA3E0F91203B6FF904E6C3F
-:1036B000E0A3E0FAA3E0F5828A831205DD02380474
-:1036C000904EF3E0FBA3E0FAA3E0F91203B6640422
-:1036D000705A904EF475F00112040E7E0C7F4E90DD
-:1036E0004EF3E0FBA3E0FAA3E0F91203B614FDD118
-:1036F00002904EF3E0FBA3E0FAA3E02401F9E43AE0
-:10370000FAC002C001904EF3E0A3E0FAA3E0F91280
-:1037100003B6FD7C00904E6FE0A3E0FAA3E0F582D3
-:103720008A83D001D0021205DD023804904EF3E006
-:10373000FBA3E0FAA3E0F91203B664057059904EBA
-:10374000F475F00112040E7E0C7F4E904EF3E0FBF8
-:10375000A3E0FAA3E0F91203B614FDD102904EF3F0
-:10376000E0FBA3E0FAA3E02401F9E43AFAC002C0C6
-:1037700001904EF3E0A3E0FAA3E0F91203B6FD7C5A
-:1037800000904E78E0A3E0FAA3E0F5828A83D001AE
-:10379000D0021205DD806D904EF3E0FBA3E0FAA3AA
-:1037A000E0F91203B664037059904EF475F00112FB
-:1037B000040E7E0C7F4E904EF3E0FBA3E0FAA3E0F4
-:1037C000F91203B614FDD102904EF3E0FBA3E0FA28
-:1037D000A3E02401F9E43AFAC002C001904EF3E0FC
-:1037E000A3E0FAA3E0F91203B6FD7C00904E7BE063
-:1037F000A3E0FAA3E0F5828A83D001D0021205DDAE
-:10380000800280FE904BA5E0FEA3E0FF904C5EE0BE
-:103810006E7003A3E06F6022904E72E0FBA3E0FAAB
-:10382000A3E0F94A60371205D9904BA5E0FFA3E069
-:10383000904C5ECFF0A3EFF080CA904C8DE0FFA3D8
-:10384000E06F6019904E75E0FBA3E0FAA3E0F94A3F
-:10385000600B1205D9904C8DE0A3F080DD22900B17
-:10386000E77403F0ED6003120FF422900BE7740489
-:10387000F0020FF4900BE77405F0020FF490044689
-:10388000E0FF229082807401F022904EA0EBF0A322
-:10389000EAF0A3E9F0904EA674FFF5F01204244577
-:1038A000F0602A904EA3E0FBA3E475F0011204241B
-:1038B000A9F0FA1203B6FF904EA0E0FBA3E475F066
-:1038C00001120424A9F0FAEF1203FC80C822EFF4DD
-:1038D000603AEF5407FEEF1313135403FF24A3F5CC
-:1038E00082E43400F583C083C082E0FD7401A80641
-:1038F000088002C333D8FCF4FC5DD082D083F0741E
-:10390000A72FF582E43400F583E05CF022E4FFEFBA
-:10391000FD7C002478FBEC34808B82F583E0FEEDA7
-:103920002470FDEC34808D82F583E04EF4FEEF24AC
-:103930007CFDEC34808D82F583EEF00FEFB404CF84
-:013940002264
+:100D60004879007D097C00B1017B017A4E79527D82
+:100D7000097C00B101E4904DEBF0904DF1F0904D05
+:100D8000F0F0904DE1F0904DD6F0904DEAF0904D9E
+:100D9000E8F0904E51F0904DE0F0904DE3F0904D22
+:100DA000E6F0904DEFF0904DD9F0904DECF0904D75
+:100DB000F2F0904CE7F0904DD5F0904D49F0904D09
+:100DC000DAF0904DE7F022904EFEEFF0A3EDF07BCD
+:100DD000017A4879007D097C00B1019048007401D6
+:100DE000F0A3E0FF904EFEE0FEEF4E904801F09041
+:100DF0004EFFE0904803F07B017A4879007D09813D
+:100E00001D904CBDE0FF600864036004EFB405036F
+:100E100002290F904CBDE0B4010EA3E0FFE4FDB148
+:100E2000C7904CBD7402F022904CBDE0B4020B742C
+:100E300003F0A3E0FFA3E0FD808D904CBDE0B4047F
+:100E400027E4904CBFF0904CBEE0FFE4FDB1C7E456
+:100E5000904CBEF0904CC1E07007904CBD7406F011
+:100E600022904CBD7405F022904CBDE0B40615E410
+:100E7000904CBFF0904CBEF0A3E0FDE4FFB1C7E49E
+:100E8000904CBDF022904DDFE0600FE014F0E07078
+:100E90000990413104F0904DDDF0904C8BE0FF64FF
+:100EA000047056EF64047039904D29E06033904D22
+:100EB000DDE07010904CABE0FEA3E0FF4E6022EF4F
+:100EC000541F701DE4904DDDF0904E527404F0906C
+:100ED0004CC2E0904E53F07B017A4E79527D0291E4
+:100EE0001D904CABE07004A3E064146002E1711249
+:100EF00018C7904CB57401F022904C89E0640370DF
+:100F000039904CACE0541F6410701E7B017A487914
+:100F1000007D09FCB101E4904E51F090480004F0CE
+:100F2000FB7A4879007D09911DC3904CACE0945840
+:100F3000904CABE094024039805D904C89E0B40164
+:100F400011C3904CACE09478904CABE094004021FD
+:100F50008045C3904CACE09412904CABE0940040C0
+:100F600010904DEAE06007E4F07F0E1213C91217EB
+:100F70009622EFD394004011E4FDFC0DBD00010C5E
+:100F8000BC04F8BDA6F51F80E922E4900B7FF09029
+:100F90000B7EF07F0180DB1217BC904BEF74FFF0EB
+:100FA000904CCA7401F0904CEF74FFF0A3F0A3F0E2
+:100FB000A3F022904F0FEDF0E0FD900BE8F07E0BD8
+:100FC0007FE9904ECAEDF0117D7B017A0B79E790B5
+:100FD0004F0FE02402FD904EBFEBF0A3EAF0A3E92F
+:100FE000F0A3EDF0904B9CE0FFA3E0904EC3CFF058
+:100FF000A3EFF0904B9AE0FEA3E0FF904B9CE0FC47
+:10100000A3E0FD7B6412106B904EC2E0FEEFC39E26
+:1010100040E1904EC2E0FF14F0EF603F904EBFE021
+:10102000FBA3E475F001120424A9F0FA1203B6FF41
+:10103000904EC3E475F00112042485F082F583EF2D
+:10104000F0904EC3E0FEA3E0FFBE4BC6BF36C39098
+:101050004EC3744AF0A374A0F080B7904EC3E0FF73
+:10106000A3E0904B9CCFF0A3EFF022904EDEEEF089
+:10107000A3EFF0904EE0ECF0A3EDF0904EE0E0FE38
+:10108000A3E0FFD3904EDFE09F904EDEE09E40163F
+:10109000904EE0E0FEA3E0FF904EDFE09FFF904E19
+:1010A000DEE09EFE801E904EDEE0FEA3E0FFC390D9
+:1010B0004EE1E09FFF904EE0E09EFEAD03C3EB9F4C
+:1010C000FFE49EFE22904C8BE064046007904C8904
+:1010D000E0B403037F01227F0022904DF0E0640220
+:1010E000600221CF904CB1E07002A3E0600221B217
+:1010F000904CB7E0600221B2904C9CE0B40204F145
+:10110000968037904C9CE0B40114904CC0E0702A5B
+:10111000904CAA740CF0904CC07401F0801C904C60
+:10112000C0E0B401159041317401F0E4904CC0F07E
+:10113000904CAAF0C2017F1F31D011C5EF6061C38E
+:10114000904CACE0940C904CABE094005040904C30
+:101150007BE030E00E904CADE07014D2017F0F3197
+:10116000D0800C904CADE07006C2017F0F31D09062
+:101170004C7BE030E10C904CADE07053D2017F101D
+:10118000804E904CADE07047C2017F108042904C81
+:10119000ADE07006C2017F0F31D0C2017F108030F8
+:1011A000904CADE07006C2017F0F31D0C2017F10BC
+:1011B000801E904C7BE054FCF0904CB1E07002A398
+:1011C000E07006C2017F0F31D0C2017F1031D02202
+:1011D000EFF4600D7B017A807974A20192001236DF
+:1011E0002922904F09EFF014B40D00400261C39022
+:1011F00011FD75F003A4C58325F0C5837302122485
+:101200000212240212240213C302126E0212B0024E
+:1012100012B90213070213070213700213C3021359
+:10122000C302126A904C89E0FF64036004EFB402C9
+:101230000D7F2271C9904F09E0904CB6F022904F7B
+:1012400009E014904DD7F09042137405F0904CB91A
+:10125000F0904CD27401F07F0471C97F0A120F72B2
+:101260007F2A71C9E4904CB6F0227F0E61C9E490E8
+:101270004CB9F01218C7EF700C1218B5EF700612C7
+:101280001FFBEF600F904F09E0904CB6F0904DF1CE
+:101290007403F022F1E6E4904DD5F0904DD3F09038
+:1012A0004E5BF01222027F0D71C9E4904CB6F02221
+:1012B0001218C7E4904CB6F0227B017A4D79F47D88
+:1012C0005D7C001235FC904C8474FFF0A3F07FC865
+:1012D000120F72C2017FFF31D07B017A4D79F47D0C
+:1012E0005D7C007F607E7F121A887B017A4C798456
+:1012F0007D017C007FBD7E7F121A88D2017FFF3185
+:10130000D0E4904CB6F022E4904CB9F01218B5EF4E
+:101310006009904F09E0904CB6F0227B017A4C793D
+:10132000007D047C007F527E7F1220B07F0A120F66
+:1013300072E4904E5BF0904C00E0F47021A3E0B4B6
+:10134000FF1CA3E0B4FF17A3E0B4FF12904C00749D
+:101350000FF0A3F0A3F0A3F0904E5B7401F07F2197
+:1013600071C9904C897402F0E4A3F0904CB6F0225D
+:10137000E4904CB9F01218C7EF70061218B5EF6080
+:1013800009904F09E0904CB6F022904C89E064013E
+:10139000602BE4904E5BF07F2371C9904C897401FF
+:1013A000F0E4A3F0904CB77414F0C2017FFF31D089
+:1013B000C2017F1F31D0E4904CB1F0A3F0E4904C17
+:1013C000B6F022E4904CB6F022904EE2EFF078E3D3
+:1013D0007C4E7D017BFF7A0779347E007F03120308
+:1013E00090904EE2E0904EE5F07B017A4E79E37DFD
+:1013F00003020FD6904F0DEFF01205B3162B141603
+:10140000F71514FE2716BE29142D2F14F830155089
+:101410003115D532142D3316993416D83515483771
+:1014200014FE3915503C173C3E00001795121FC39F
+:101430001233C57B017A4C79C87D017C007FC07E68
+:101440007F1220B0904CC8E06401703E904C71E077
+:10145000FEA3E0FFC3904C76E09F904C75E09E5059
+:1014600005120F8A80E6904CA7E0FEA3E0FFC39030
+:101470004C76E09F904C75E09E500F904C9C74020F
+:10148000F0E4904CADF07F1961C97F1EF1F0501768
+:10149000904C847401F0904CCCF0904CCBF0C20591
+:1014A0007F1E121F61800DE4904C84F0904CCCF0B4
+:1014B000904CCBF0904C84E0904C87F01231677FD9
+:1014C0000A120F727B017A4C79BB7D027C007FBED1
+:1014D0007E7F1220B0904CBBE0B4FF19A3E0B4FFB4
+:1014E00014904C73E0A3E0904CBBF0904C71E0A3DF
+:1014F000E0904CBCF00220121233B2021FD1904C8B
+:1015000087E0D394005002E195E094044002E19515
+:10151000E075F01FA424D5F9744D35F0FA7B017DF8
+:101520001F7C001235FC7FC8120F72C2017FFF3191
+:10153000D07B017A4D79F47D5D7C007F607E7F12E7
+:101540001A88D2017FFF21D0904DD7E0FF020737E4
+:10155000904C897403F0E4A3F0F1E6E4904CB7F00A
+:10156000904CB4F0904C8474FEF0904C87F0904C0A
+:10157000F57403F0904DEB740AF0904CCE7406F0C5
+:10158000E4904CCDF0904CD37405F0E4904C85F091
+:10159000904F0DE064317034904DECF0904E5BF064
+:1015A000904C85F0904CAD741EF0904BEBE0B40F76
+:1015B00012A3E0B40F0DA3E0B40F08A3E0640F7012
+:1015C00002E195904C837402F00219ED904CADE06D
+:1015D0006002E19522E4904C89F0A3F0904CABF0CE
+:1015E000A3F0904CB404F0904C00E0B40F13A3E0CF
+:1015F000B40F0EA3E0B40F09A3E0B40F047F0A21D7
+:10160000E2904CB6E06009F1E6904CB6E0FF21E2D2
+:10161000904CB5E0B40104E4F0E196904CB9E07070
+:1016200002E195904DD7E0FF020737904C8B740391
+:10163000F0A37401F0E4A3F0A3F07F0E71C97F0260
+:1016400071C9904CB1E07002A3E0601AE4904DECD7
+:10165000F0E0FF904C87E075F01FA424F3F582E4DE
+:10166000344DF583EFF0904DEAE07006904DD5745F
+:1016700014F0904CADE07003123381904CCE7406A0
+:10168000F0904CD47401F0E4904CCDF0904CB1F05B
+:10169000A3F0904CABF0A3F022904C8B7404F0E4D8
+:1016A000A3F0F1E6E4904CB4F0904DDF740AF090B2
+:1016B0004C87E0904C84F0904C837403F022904C63
+:1016C00087E014FD7F01120803904C87E0904C8462
+:1016D000F0904C837403F022904CE81205820000D5
+:1016E0000000E4904DD8F0904DE204F0904C8C0452
+:1016F000F0904C8B04F022904C8BE0904C8FF0E4F7
+:10170000904C8BF0A3F0904CB404F0E4904CECF0CF
+:10171000904CB5E0B40104E4F0807B904CB6E060FE
+:1017200003FF21E2904CB9E06008904DD7E0FF0242
+:101730000737F196E4904CABF0A3F022E4904D5EB5
+:10174000F0904D3DE024FD601114601614601B24E0
+:1017500003701FE4904C85F0801D904C857401F05F
+:101760008015904C857404F0800D904C857403F0C6
+:101770008005E4904C85F0904C85E0FF904C87E02C
+:1017800075F01FA424F2F582E4344DF583EFF09058
+:101790004C837403F022E4904CE7F07F1961C9ACEC
+:1017A00007ECF46016AF04D204121FA3AF04A20624
+:1017B000920131D0AF04C202121F7F22C2067F0FF6
+:1017C000F19FC2067F10F19FC2067F1FF19FC206E4
+:1017D0007FFFF19FC2067F1FF19FC2067F1FF19F0F
+:1017E000C2067FFF80B9E4904CB9F0904DEAF02238
+:1017F0007B017A81791CAD07E4904F10F0FEEF5425
+:1018000007F0EF1313135403FEF5827583001203E0
+:10181000CFFD3395E0FC904F10E0FF74017E00A8EF
+:1018200007088005C333CE33CED8F9FFEE5CFEEF58
+:101830005D4E24FF22E4904F08F0904C8CE0B402FF
+:1018400006904F08E0FF229047F5E030E306904F06
+:1018500008E0FF22904CB7E06006904F08E0FF22BE
+:10186000904C8BE0703F904C89E064036037904C63
+:10187000B8E0703B740AF0A3E07034904DF0E0647F
+:1018800002702C904C87E0FFC39401400BEFD3947F
+:101890000350051211E280177F091211E2904F08E0
+:1018A0007401F0800AE4904CB4F0904F0804F0907A
+:1018B0004F08E0FF22904C8BE0B402087F0E121319
+:1018C000C97F01227F0022904C8BE0FF64046004FA
+:1018D000EFB403087F111213C97F0122904C89E0F5
+:1018E000FF64036004EFB402087F221213C97F0172
+:1018F000227F0022904C92E030E13E904C94E0C375
+:1019000094FA5003E004F0904C94E064B470379083
+:101910004DE8E004F0E0D394025007E4904C94F0DA
+:101920008024904DE8E0B4031D904DE07401F0E494
+:10193000904C94F0121796800DE4904DE8F0904D85
+:10194000E0F0904C94F0904C92E030E438904CB33E
+:10195000740AF0904C95E0C394FA5003E004F090C0
+:101960004C95E064067048904C87E0FF600464FE8C
+:10197000703DE4904C91F011C77F0A120F727F0AFC
+:101980001211E2802A904C91E0601FE4F07F0D126A
+:1019900011E2904CB47401F0904C87E0904C84F0CC
+:1019A000904C837401F031ED7137E4904C95F090D8
+:1019B0004C92E020E336904C90E0602BE4F0904CA9
+:1019C00087E0FF904C84E06F601D1217BC904CB410
+:1019D0007401F0904C87E0904C84F0904C8374013B
+:1019E000F011C731ED7137E4904C96F022904C83A2
+:1019F000E0FF70024187640160057FC8120F72C268
+:101A0000017FFF1211D0904C83E0640270317B01A2
+:101A10007A4C79007D04FC7F527E7F51887B017A6D
+:101A20004C79857D017C007F577E7F51887B017AD0
+:101A30004D79EC7D017C007F567E7F518880179028
+:101A40004C83E0B403107B017A4D79F47D5D7C001A
+:101A50007F607E7F51887B017A4C79847D017C0098
+:101A60007FBD7E7F51887B017A4C79BB7D027C00F3
+:101A70007FBE7E7F5188D2017FFF1211D07F0A1274
+:101A80000F72E4904C83F022904E99EEF0A3EFF0A9
+:101A9000A3ECF0A3EDF0A3EBF0A3EAF0A3E9F09040
+:101AA0004E9BE07002A3E070026136904E99E0FE1A
+:101AB000A3E0FF440F2401FDE43EFCC3ED9FFFECD7
+:101AC0009EFE904EA0F0A3EFF0904E9BE0FCA3E0B2
+:101AD000FDD39FEC9E400A904EA0E0FEA3E0FF8065
+:101AE00004AE04AF05904EA0EEF0FCA3EFF0FDC3F2
+:101AF000904E9CE09DF0904E9BE09CF0904E99E0C3
+:101B0000FEA3E0FF904E9DE0FBA3E0FAA3E0F912F4
+:101B100021687F0A120F72904EA0E0FEA3E0FF90B2
+:101B20004E9EEE8FF012040E904E9AE02FF0904EE3
+:101B300099E03EF0419F229080107401F080FE22D7
+:101B4000F14E91F5120E0131ED1210DA904D27E0B1
+:101B50006003120F97900B7EE014601F24FE70E26A
+:101B600071BC7F1E91551217BC7F1E1217F04006E4
+:101B7000D2057F1EF161120F8A80FE904CB3E07097
+:101B800024904CB5E0701E904CADE07018904DDB89
+:101B9000E07012904DE6E0700C904CC1E070069041
+:101BA0004CD3E06004F1B7809971BC904CCAE060FE
+:101BB000031217BC120F8A8089808722E4FF904F9E
+:101BC0000CF0FEFDEF900681936049EF93FD131337
+:101BD00013541FFEED5407FD7401A805088002C3CD
+:101BE00033D8FCFDEE2478FBE434808B82F583E06F
+:101BF000FCEDF4FBEC5BF0EE2470F582E43480F550
+:101C000083E04DF0EE2474F582E43480F583E05BEC
+:101C1000F00F80B01236C990811CE0904F0CF0900C
+:101C20004DE0E06020E4FF91557F0191557F0291E6
+:101C3000557F0391557F0491557F0591557F0691FE
+:101C4000557F078010904F0CE0FF9000A3F0EFF459
+:101C50009000A7F022904F11EFF01217F092089029
+:101C60004F11E0FFA208B39207EFF4700281F4EF86
+:101C70005407FEEF1313135403FF30074324A3F557
+:101C800082E43400F583C083C082E0FD7401A806BD
+:101C9000088002C333D8FCF45DD082D083F074A7EF
+:101CA0002FF582E43400F583C083C082E0FF740125
+:101CB000A806088002C333D8FC4FD082D083F0221C
+:101CC00074A32FF582E43400F583C083C082E0FD65
+:101CD0007401A806088002C333D8FCFC4DD082D022
+:101CE00083F074A72FF582E43400F583E0FFECF471
+:101CF000FEEF5EF0227A0C794B904EF27401F0A365
+:101D0000740CF0A3744BF0904BA0E0FEA3E0FF90A6
+:101D10004B9EE06E7003A3E06F7002C1A47E0C7F47
+:101D20004B7D03D1FE904EF2E0FBA3E0FAA3E0F975
+:101D30001203B6B4022B904EF3E475F00212040EB7
+:101D4000904EF2E0FBA3E0FAA3E0F91203B6FF9095
+:101D50004E6EE0A3E0FAA3E0F5828A831205DDC1AE
+:101D6000A4904EF2E0FBA3E0FAA3E0F91203B664FC
+:101D7000047059904EF375F00112040E7E0C7F4EE4
+:101D8000904EF2E0FBA3E0FAA3E0F91203B614FDD3
+:101D9000D1FE904EF2E0FBA3E0FAA3E02401F9E4C7
+:101DA0003AFAC002C001904EF2E0A3E0FAA3E0F9D3
+:101DB0001203B6FD7C00904E71E0A3E0FAA3E0F5BB
+:101DC000828A83D001D0021205DDC1A4904EF2E0D8
+:101DD000FBA3E0FAA3E0F91203B664057059904E34
+:101DE000F375F00112040E7E0C7F4E904EF2E0FB74
+:101DF000A3E0FAA3E0F91203B614FDD1FE904EF26F
+:101E0000E0FBA3E0FAA3E02401F9E43AFAC002C03F
+:101E100001904EF2E0A3E0FAA3E0F91203B6FD7CD4
+:101E200000904E7AE0A3E0FAA3E0F5828A83D00125
+:101E3000D0021205DD806D904EF2E0FBA3E0FAA324
+:101E4000E0F91203B664037059904EF375F0011275
+:101E5000040E7E0C7F4E904EF2E0FBA3E0FAA3E06E
+:101E6000F91203B614FDD1FE904EF2E0FBA3E0FAA6
+:101E7000A3E02401F9E43AFAC002C001904EF2E076
+:101E8000A3E0FAA3E0F91203B6FD7C00904E7DE0DA
+:101E9000A3E0FAA3E0F5828A83D001D0021205DD27
+:101EA000800280FE904BA5E0FEA3E0FF904C3EE058
+:101EB0006E7003A3E06F6022904E74E0FBA3E0FA23
+:101EC000A3E0F94A60371205D9904BA5E0FFA3E0E3
+:101ED000904C3ECFF0A3EFF080CA904C6DE0FFA392
+:101EE000E06F6019904E77E0FBA3E0FAA3E0F94AB7
+:101EF000600B1205D9904C6DE0A3F080DD22904F6D
+:101F000004EEF0A3EFF0A905904B9EE0FEA3E0FFE6
+:101F1000AD0119ED602F0FEFAC0670010E14F582C4
+:101F20008C83E0FD904F04E475F00112042485F0E9
+:101F300082F583EDF0AD07AC06BC4BD4BD9AD17EE3
+:101F40004B7F3680CB904B9EEEF0A3EFF0227B01CF
+:101F50007A4E795C786E7C4E7D017E007F120203A2
+:101F600090AC07ECF46017AF04A2059203F191AFB7
+:101F700004A205B39202F17FAF04C204F1A322EFE1
+:101F8000F4600D7B017A807978A2029200123629E2
+:101F900022EFF4600D7B017A80797CA2039200121B
+:101FA000362922EFF4600D7B017A807970A20492C9
+:101FB00000123629226140900B7F7401F0E4900BEF
+:101FC0007EF0221233B2F1D1D2057F1EF1610217E9
+:101FD000BC908080E4F0A3F0A3F0123149E4904F6C
+:101FE0000BF0F0904F0BE090068193FF600CC20560
+:101FF000F161904F0BE004F080E922904C84E0FF07
+:1020000064FE6003EF70087F221213C97F01227FF4
+:102010000022904DF07402F07B017A4D79F47D5DE1
+:102020007C007F607E7F11B07F0A120F727B017A85
+:102030004C79007D047C007F527E7F11B07F0A12B4
+:102040000F727B017A4D79EC7D017C007F567E7F9B
+:1020500011B07F0A120F727B017A4C79857D017C69
+:10206000007F577E7F11B07F0A120F72904C87E07D
+:10207000FFD39403501EEFC394014018E075F01F86
+:10208000A424F3F582E4344DF583E0904DECF01296
+:1020900011E280057F081211E2904DECE0D394012B
+:1020A0004002E4F0904C85E0D394044002E4F02236
+:1020B000904ED5ECF0A3EDF0A3EBF0A3EAF0A3E98A
+:1020C000F09080987404F0A3E4F0900CAF74A0F04A
+:1020D000A3EEF0A3EFF0900CB274A1F07A0C79AFFC
+:1020E0007E0C7FAF74AFFC740CFFECFEEF90809A17
+:1020F000EEF0A3EFF0904ED5E0FCA3E0FAECFFEA9F
+:10210000FEEF90809EEEF0A3EFF07A0B79837E0BCA
+:102110007F837483FC740BFFECFEEF90809CEEF0E9
+:10212000A3EFF09080907402F090809CA3E020E7F1
+:1021300007908090E04401F0908006E04404F03184
+:1021400060904ED7E0A3E0FAA3E0AE02FF7B017AF5
+:102150000B7983904ED5E0A3E0904ECAF002087D43
+:1021600090812CE030E5F922904EB8EEF0A3EFF02C
+:10217000904EBCEBF0A3EAF0A3E9F0904EBAECF07D
+:10218000A3EDF0A3E0F9A3E0FAA3E0904EA5C9F017
+:10219000A3EAF0A3E9F0A3ECF0A3EDF07B017A0B46
+:1021A0007986710A900B8374A0F0904EB8E0FFA37B
+:1021B000E0900B84CFF0A3EFF0904EBBE02403FD42
+:1021C000904EBAE03400FCEDFAECFFEAFEEF9080AE
+:1021D00098EEF0A3EFF07A0B79837E0B7F83748304
+:1021E000FC740BFFECFEEFA3EEF0A3EFF090809EEB
+:1021F000E4F0A3F090809004F0908006E04404F0B6
+:1022000021607B017A4C79BB7D027C007FBE7E7FA2
+:1022100011B0904CBBE004F0A3E004F0904CBBE0A4
+:102220009044FAF0904CBCE09044FBF0904DD0E02C
+:102230009044FCF0904DD1E09044FDF0904DD2E000
+:102240009044FEF022904DF1E0603CE014F0E0702C
+:1022500036904CB6E0B4052F9047F5E020E328E433
+:10226000904DD5F0904CB17404F0A374B0F0E490AC
+:102270004CB7F0904E5BF0904DD3F051027F0D12B1
+:1022800013C9E4904CB6F022904CACE004F0700618
+:10229000904CABE004F051F9120E851218F4514540
+:1022A000904CB1E07002A3E06030E4904CABF0A33E
+:1022B000F0904CB2E024FFF0904CB1E034FFF0E03D
+:1022C0007002A3E07014904C88E0904C87F0904C22
+:1022D00084F07F0D1211E2121796904CB7E060184F
+:1022E000E4904CABF0A3F0904CB7E014F0E0700831
+:1022F0007F0A120F7212179622904C9AE0600A140D
+:10230000F0E070057405F0714E22904EA2EBF0A340
+:10231000EAF0A3E9F0904EA874FFF5F0120424450A
+:10232000F0602A904EA5E0FBA3E475F001120424AE
+:10233000A9F0FA1203B6FF904EA2E0FBA3E475F0F9
+:1023400001120424A9F0FAEF1203FC80C822904E77
+:10235000D112058200000000904C71E0FEA3E0FF66
+:10236000C3904C76E09F904C75E09E5002A16D901A
+:102370004C75E0FEA3E0FF904C9BE0FD04F0ED25E2
+:10238000E0249DF582E4344CF583EEF0A3EFF09069
+:102390004C9BE0C394044002E4F0E4904ED0F090F3
+:1023A0004ED1E0F8A3E0F9A3E0FAA3E0FB904ED011
+:1023B000E025E0249DF582E4344CF583E0FEA3E0C3
+:1023C000FFE4FCFDEB2FFFEA3EFEED39FDEC38FCAF
+:1023D000904ED1120576904ED0E004F0E0B404BFE8
+:1023E000904ED1E0FCA3E0FDA3E0FEA3E0FFE47B80
+:1023F00004FAF9F81204C5904ED1120576904CA754
+:10240000E0FEA3E0FFE4FCFD904ED1E0F8A3E0F98C
+:10241000A3E0FAA3E0FBD31205655007E4904CC299
+:10242000F081A5904CC3E0FEA3E0FFE4FCFD904EDC
+:10243000D1E0F8A3E0F9A3E0FAA3E0FBC31205653D
+:102440004008904CC27464F0805B904CA7E0FEA3FF
+:10245000E0FFFBAA06E4904ED1E0FCA3E0FDA3E080
+:10246000FEA3E0C39BFFEE9AFEED9400FDEC94000A
+:10247000FCE47B64FAF9F812043AC006C007904CF9
+:10248000A7E0FEA3E0FFC3904CC4E09FFF904CC3C5
+:10249000E09EFEAB07FAE4F9F8D007D0061204C5B7
+:1024A000904CC2EFF0904CA7E0FEA3E0FFE4FCFDEF
+:1024B000904ED1E0F8A3E0F9A3E0FAA3E0FBC31249
+:1024C00005655027904C9C7402F0904CC9E0640262
+:1024D0007002A165904CC87401F0FB7A4C79C8FD7C
+:1024E0007C007FC07E7F121A88807A904CC9E0649D
+:1024F000026007904CC8E0B40115E4904CC8F07B32
+:10250000017A4C79C87D01FC7FC07E7F121A8890C9
+:102510004CA5E0FEA3E0FFE4FCFD904ED1E0F8A363
+:10252000E0F9A3E0FAA3E0FBC3120565501D904C4F
+:102530009C7401F0904CCAE0702B904CEFF0A374A7
+:1025400048F0A37412F0E4A3F0801AE4904C9CF0DD
+:10255000904CCAE0700F904CEFF0A37448F0A37455
+:102560005DF0E4A3F0904C9CE0904CC9F022AD07E4
+:10257000AC06904E51E06402600E7401F0904E5231
+:1025800004F0EFA3F0EEA3F022904EDAEBF0A3EA12
+:10259000F0A3E9F0E4A3F0F0904EDDE0FFC3940671
+:1025A00040030228A0904EDAE0FBA3E0FAA3E02467
+:1025B00001F9E43AFA7E00E92FF9EE3AFA1203B68D
+:1025C000FF54F064F0600AEF54D064D06003022836
+:1025D000971203B6FBB4F1097F837E01B16E022826
+:1025E0006CEBB4F2097FCD7E00B16E02286C904E88
+:1025F000DAE0FBA3E0FAA3E02401F9E43AFAA3E06D
+:102600007E0029F9EE3AFA1203B6FBB4F3077FB75E
+:10261000B16E02286CEBB4F4097FB67E00B16E0295
+:10262000286C904EDAE0FBA3E0FAA3E02401F9E481
+:102630003AFAA3E07E0029F9EE3AFA1203B6FBB4A7
+:10264000F5077FB5B16E02286CEBB4F6097FEA7E20
+:1026500000B16E02286C904EDAE0FBA3E0FAA3E032
+:102660002401F9E43AFAA3E07E0029F9EE3AFA12DD
+:1026700003B6FBB4F7077FE9B16E02286CEBB4F840
+:10268000097FE27E00B16E02286C904EDAE0FBA377
+:10269000E0FAA3E02401F9E43AFAA3E07E0029F984
+:1026A000EE3AFA1203B6FBB4F9087F940EB16E024B
+:1026B000286CEBB4FA097F8A7E01B16E02286C9017
+:1026C0004EDAE0FBA3E0FAA3E02401F9E43AFAA32E
+:1026D000E07E0029F9EE3AFA1203B6FBB4FB087F5C
+:1026E000920EB16E02286CEBB4D0097F2A7E02B143
+:1026F0006E02286C904EDAE0FBA3E0FAA3E024011E
+:10270000F9E43AFAA3E07E0029F9EE3AFA1203B6A8
+:10271000FBB4D1097F257E02B16E02286CEBB4D3E5
+:10272000097F267E02B16E02286C904EDAE0FBA390
+:10273000E0FAA3E02401F9E43AFAA3E07E0029F9E3
+:10274000EE3AFA1203B6FBB4D2097F247E02B16ED0
+:1027500002286CEBB4D4097F277E02B16E02286C8C
+:10276000904EDAE0FBA3E0FAA3E02401F9E43AFAA0
+:10277000A3E07E0029F9EE3AFA1203B6FBB4D509BC
+:102780007F217E02B16E02286CEBB4D6097F237ED6
+:1027900002B16E02286C904EDAE0FBA3E0FAA3E0EF
+:1027A0002401F9E43AFAA3E07E0029F9EE3AFA129C
+:1027B00003B6FBB4D7077F70B16E02286CEBB4D8B8
+:1027C000097F6F7E00B16E02286C904EDAE0FBA3A9
+:1027D000E0FAA3E02401F9E43AFAA3E07E0029F943
+:1027E000EE3AFA1203B6FBB4D9067FB8B16E807C1C
+:1027F000EBB4DA087F307E00B16E8070904EDAE084
+:10280000FBA3E0FAA3E02401F9E43AFAA3E07E0096
+:1028100029F9EE3AFA1203B6FBB4DB097F067E0310
+:1028200012256E8047EBB4DC097F077E0312256E0C
+:10283000803A904EDAE0FBA3E0FAA3E02401F9E449
+:102840003AFAA3E07E0029F9EE3AFA1203B6FEB492
+:10285000DD067F0111A18014EEB4DE067F0211A116
+:10286000800A1203B6B4DF047F0411A1904E51E038
+:10287000B40224904EDAE0FBA3E0FAA3E02401F9CD
+:10288000E43AFAA3E07E0029F9EE3AFA1203B69090
+:102890004DF2F0E41203FC904EDDE004F0022598C6
+:1028A00022904E51E0640260127404F0904DEE7478
+:1028B00001F0904E527406F0A3EFF022904CF5E038
+:1028C000604C904DE1E07046904C89E06403703EAE
+:1028D000904DEBE0FF904DF3E06F602A7B017A486A
+:1028E00079007D097C00120D01E4904E51F0904872
+:1028F0000004F0904CF5E0904802F07B017A4879B2
+:10290000007D09120C1D904DEBE0904DF3F02290EC
+:102910004EE6E4F0A3F0A3F0719B50253142904EB7
+:10292000E6EBF0A3EAF0A3E9F04A7007904C7A04D2
+:10293000F08089904EE6E0FBA3E0FAA3E0F91208EC
+:10294000C022E4904E8EF0A3F0A3F0A3F0A3F0A376
+:10295000F0A3F0A3F0A3F0A3F0A3F0B12D7A4D798A
+:10296000A8904EB47401F0A3744DF0A374A8F0A322
+:102970007414F07B017A4D79BC71E3EF60167B0132
+:102980007A4D79BC7D1471B3EF7009904C92E0449C
+:1029900002F0800C904C92E054FDF0E4904C94F0E6
+:1029A000E4904E8EF0904E8EE0FF90068193700280
+:1029B000417274BC2FF582E4344DF583E0904E9162
+:1029C000F0E0FF718D904E98EFF0C39402500241F9
+:1029D0005BE4904E8FF0904E8FE0FFC39408507BE5
+:1029E00074017E00A807088005C333CE33CED8F922
+:1029F000FF904E91E0FDE4EF5D6058E4904E90F062
+:102A0000904E90E0FF900681936048904E8EE0FEDD
+:102A1000EF6E6037904E90E024BCF582E4344DF5C3
+:102A200083E0FD7C00904E8FE0FF74017E00A807DC
+:102A3000088005C333CE33CED8F9FFEE5CFEEF5DE0
+:102A40004E6008904E977401F08008904E90E0041C
+:102A5000F080AD904E8FE004F021D6904E91E0FFD3
+:102A60006008718D904E95E02FF0904E8EE004F04E
+:102A700021A5904E95E0904DE9F0E4904E8EF090B7
+:102A80004E8EE0FF900681937002616174932FF582
+:102A900082E4344DF583E0FE74BC2FF582E4344DBE
+:102AA000F583E06E904E91F0904E8EE0FF24BCF5E1
+:102AB00082E4344DF583E0904E94F0904E91E070B6
+:102AC0000461596159904E97E060077B007A007964
+:102AD000002274BC2FF582E4344DF583E0FE74933C
+:102AE0002FF582E4344DF583EEF0E4904E8FF090B4
+:102AF0004E8FE0FFC39408505A904E91E030E03B77
+:102B0000904E8EE0FE33333354F8FEEF4E904E93EA
+:102B1000F0A3E0FF904E93E090069693FDF179903C
+:102B20004E96EFF0904E94E030E009904E96E0FF24
+:102B3000912D8007904E96E0FF9183904E91E0FF9B
+:102B4000C313F0904E94E0FFC313F0904E8FE00457
+:102B5000F0809C904E927401F0904E8EE004F04113
+:102B60007F904E51E0B4030A904DE3E0B40103744A
+:102B700002F0904E92E07007904DE3E0B402077BC4
+:102B8000017A4E79AA227B007A00790022E4FEEFD6
+:102B90006006145FFF0E80F7AF0622904B9CE0FEAC
+:102BA000A3E0FF904B9AE0B50607A3E0B50702D378
+:102BB00022C322904EEFEBF0A3EAF0A3E9F0E4FF8A
+:102BC000EFC39D501B904EEFE0FBA3E0FAA3E0F9AA
+:102BD0008F827583001203CF60037F00220F80E095
+:102BE0007F0122904EB1EBF0A3EAF0A3E9F0E4FFFD
+:102BF000904EB7E0FEEFC39E5030904EB4E0FBA382
+:102C0000E0FAA3E0F98F827583001203CFFE904EA5
+:102C1000B1E0FBA3E0FAA3E0F98F82758300120311
+:102C2000CF6E60037F00220F80C67F0122E4FEEF9B
+:102C3000C394E04020EFD394E7501A904EAAE0FEF0
+:102C4000EF5407FF7401A807088002C333D8FC4E75
+:102C5000904EAAF022E4FE74AB2EF582E4344EF5D9
+:102C600083E0FD6F601CED7014904DF2E06F601218
+:102C700074AB2EF582E4344EF583EFF0220EEEB401
+:102C800006D522E4FEFDEF54F064F06007EF54D067
+:102C9000FCBCD00C904E51E0B4020B7403F08006E3
+:102CA000904DE37401F0EFC394E04021EFD394E73B
+:102CB000501B904EAAE0FEEF5407FF7401A80708CE
+:102CC0008002C333D8FCF45E904EAAF022E4FEEDFD
+:102CD000702174AB2EF582E4344EF583E06F7047BB
+:102CE000EEB4050B24ABF582E4344EF583E4F07DBD
+:102CF00001803474AB2EF582E4344EF583E0FC742D
+:102D0000AA2EF582E4344EF583ECF074AB2EF582F6
+:102D1000E4344EF583E06014EEB4050B24ABF58289
+:102D2000E4344EF583E4F00EEEB406A322E4FF9003
+:102D30004EECF0FEFDA3F0A3F0EF90068193607CD3
+:102D4000EF93FD131313541FFEED5407FD7401A8F8
+:102D500005088002C333D8FCFDEE2478FBE4348000
+:102D60008B82F583E0FCEDF4FBEC5BF0EE2470F578
+:102D700082E43480F583E04DF0EE2474F582E4348F
+:102D800080F583E05BF090811CE0F4FC74BC2FF5CF
+:102D900082E4344DF583ECF0EE2478FBE434808B50
+:102DA00082F583E04DF0EE2470FBE434808B82F5F5
+:102DB00083E0FCEDF4FBEC5BF00FA139E4FFEF9056
+:102DC000068193607CEF93FD131313541FFEED54A3
+:102DD00007FD7401A805088002C333D8FCFDEE246A
+:102DE00078FBE434808B82F583E0FCEDF4FBEC5B54
+:102DF000F0EE2470F582E43480F583E04DF0EE24AB
+:102E000074F582E43480F583E05BF090811CE0F49B
+:102E1000FC74A82FF582E4344DF583ECF0EE2478B1
+:102E2000FBE434808B82F583E04DF0EE2470FBE40C
+:102E300034808B82F583E0FCEDF4FBEC5BF00FA1BA
+:102E4000BEE4FFEF90068193604074BC2FF582E4EE
+:102E5000344DF583E0FE74A82FF582E4344DF583FC
+:102E6000E06E602374BC2FF582E4344DF583C0839B
+:102E7000C082E0FE74A82FF582E4344DF583E0FDB6
+:102E8000EE5DD082D083F00F80B97F1E1217F0E480
+:102E900033FF904C87F0BF010F904C84E0FF64FE3D
+:102EA0006003EF7003021B37904C87E06007904C83
+:102EB00084E0B4FE0A904C84E0B40103121B372274
+:102EC000904EE9EBF0A3EAF0A3E9F0E4FFFE904DA9
+:102ED000E6E064016008904DDEE06401706C7E0500
+:102EE000AD061EED606B904EE9E0FBA3E0FAA3E0B7
+:102EF0002401F9E43AFAEE7C0029F9EC3AFA1203DB
+:102F0000B6FFB41EDB904DE6E0B401D41218C77FC3
+:102F10000A120F72904CB17404F0A374B0F0E490F4
+:102F20004CB7F07F051211E21217BCE4904C90F000
+:102F3000904CB404F0904C84E0904C88F0904C8716
+:102F4000E0904C84F07F01228007904C92E054E79F
+:102F5000F07F0022904CBEEDF0A3EBF0EF30E012DA
+:102F6000904CBDE0B403047402F022904CBD740197
+:102F7000F022904CBD7404F022904F00EDF0E4A3D9
+:102F8000F0EF30E005E4904CC1F0904F00E0FEA37C
+:102F9000F0904C85E0FD64046005ED64037030EE54
+:102FA000B4E608904F0174E7F08024904F00E0FEF3
+:102FB000B4E406A374E6F08016EEB4E308904F0183
+:102FC00074E2F0800AEEB4E206904F0174E3F090F0
+:102FD0004DE6E064017040904F00E0FEB41A1BEF34
+:102FE00030E010904DDAE06004E4F08006904DDAB5
+:102FF0007401F0E4904F01F0801DEEB4E319EF305E
+:10300000E010904DE7E06004E4F08006904DE77436
+:1030100001F0E4904F01F0904E5BE0600201C4903B
+:103020004DE6E0700201C4904F00E024C6B40C00ED
+:10303000400201C490304275F003A4C58325F0C559
+:10304000837302306602306E02307602307E0230C8
+:103050008602308E02309602309E0230A60230AEDA
+:103060000230B60230BE904F0174F9F08056904F96
+:103070000174D6F0804E904F0174FAF08046904F64
+:103080000174FBF0803E904F0174F1F08036904F58
+:103090000174F3F0802E904F0174F4F08026904F6D
+:1030A0000174F2F0801E904F0174F5F08016904F7D
+:1030B0000174F8F0800E904F0174F6F08006904F86
+:1030C0000174F7F0904DDAE0605F904F00E024FC6F
+:1030D000602124FD602D24F1602124C76045146027
+:1030E000321460371460242438703E904F017452BB
+:1030F000F08036904F017450F0802E904F01745143
+:10310000F08026904F01744FF0801E904F01741A8A
+:10311000F08016904F017404F0800E904F017416E9
+:10312000F08006904F017407F0904DE7E060149036
+:103130004F00E0FFB4E303E4A3F0EFB46505E490CF
+:103140004F01F0904F01E0FF22E4904F0AF0F09021
+:103150004F0AE0FFC39408500DC205121F61904F43
+:103160000AE004F080E922904C87E0B40107D20124
+:103170007F1F0211D0904C87E0B40207D2017FFF7D
+:103180000211D0904C87E0B40307D2067FFF0217EC
+:103190009FD2017F1F0211D07125904C87E0FF6004
+:1031A0000464FE701F904CD3E0601914F0E07014BA
+:1031B000904C7BE030E708904C857403F08005E488
+:1031C000904C85F0904CB3E0600214F0904CB8E065
+:1031D000600214F0904CC1E0600B14F0E0700690B7
+:1031E0004CBD7406F0904CADE06028904CB7E07098
+:1031F0000A904CB1E07002A3E06006E4904CADF0A0
+:1032000022904CADE014F03167904CADE070497104
+:10321000818045904CB1E07002A3E0703B904CB7C8
+:10322000E07035904CAAE0602F14F0E0FFC39408E2
+:103230005016EF30E109D2017F1F1211D08010C269
+:10324000017F1F1211D08007C2017F1F1211D09081
+:103250004CAAE07003740CF0904D49E0600BE01450
+:10326000F0E070057F2D1213C9904CCFE060157F00
+:103270001F7108904CCFE014F0E07008904C83046C
+:10328000F01219ED904DE0E07036904DE1E06401F0
+:10329000702E904CABF0A3F0904DE1F0904E52E0C8
+:1032A000600D7B017A4E79527D03120C1D801190C6
+:1032B0004800E0600B7B017A4879007D09120C1D03
+:1032C000904DDCE06009E014F0E07003121B3790D1
+:1032D0004DD5E06011E014F0E0700B904CECE07024
+:1032E000057F1B1213C9904DEBE0601BE014F0E06A
+:1032F0007015904CF5E06002E4F0904C8BE0B40463
+:1033000006904213740CF022904F12EFF07B017A7A
+:103310008079741217F69209904F12E0FFA209B358
+:1033200092010211D0904DF0E064027053904CB1C4
+:10333000E07002A3E0603F904C90E0640160229056
+:103340004C87E0B401047F1F80BE904C87E0B4023C
+:10335000047FFF80B3904C87E0640370237FFF807D
+:10336000A7C2017F1F1211D0C2017FFF1211D0C26C
+:10337000017FFF0211D0904CB7E060047F1F7108FD
+:1033800022904C87E0B40107C2017F1F0211D09048
+:103390004C87E0B40207C2017FFF0211D0904C8736
+:1033A000E0B40307C2017FFF0211D0C2017F1F02F8
+:1033B00011D0908091740DF0A304F0A3F0A3F0A3BA
+:1033C000F0A314F022120D2D71FE904CB47401F094
+:1033D000904CAD741EF0E4904CB9F0904CD574FF55
+:1033E000F0904CA9F09044FCE0904DD0F09044FD5A
+:1033F000E0904DD1F09044FEE0904DD2F022904C00
+:103400009A7405F0E4A3F0904CCCE0640160028172
+:10341000E3904F0EF0904F0EE0FFC394045019EF6D
+:1034200025E0249DF582E4344CF5837451F0A3F03B
+:10343000904F0EE004F080DD904C73E0FFA3E0902D
+:103440004CC3CFF0A3EFF0904C71E0FEA3E0FFC3BC
+:10345000904C74E09FFD904C73E09EFCE4120206D9
+:103460007B297A5C794F783F1200FBC004C005C00D
+:1034700006C007904C71E0FCA3E0FDE4120206D008
+:1034800003D002D001D00012000A12023F904CA5D6
+:10349000EEF0A3EFF0904C71E0FEA3E0FFC3904C80
+:1034A00074E09FFD904C73E09EFCE41202067433BE
+:1034B000FBFAF9783F1200FBC004C005C006C00744
+:1034C000904C71E0FCA3E0FDE4120206D003D002B0
+:1034D000D001D00012000A12023F904CA7EEF0A3D8
+:1034E000EFF022E4904F0EF0904F0EE0FFC39404F3
+:1034F0005019EF25E0249DF582E4344CF583745196
+:10350000F0A3F0904F0EE004F080DD904C73E0FFEC
+:10351000A3E0904CC3CFF0A3EFF0904C71E0FEA37A
+:10352000E0FFC3904C74E09FFD904C73E09EFCE480
+:103530001202067BB87A1E7985783F1200FBC00420
+:10354000C005C006C007904C71E0FCA3E0FDE4128A
+:103550000206D003D002D001D00012000A12023FAE
+:10356000904CA5EEF0A3EFF0904C71E0FEA3E0FFCD
+:10357000C3904C74E09FFD904C73E09EFCE41202FB
+:10358000067B337A337973783F1200FBC004C005A1
+:10359000C006C007904C71E0FCA3E0FDE4120206F7
+:1035A000D003D002D001D00012000A12023F904C8A
+:1035B000A7EEF0A3EFF022904F02EDF09000011281
+:1035C00003CF904F03F022900BE77403F0ED6003FC
+:1035D000120FB322900BE77406F0020FB3900BE7C3
+:1035E0007404F0020FB3900BE77405F0020FB39070
+:1035F0000446E0FF229082807401F022904EF8EBA6
+:10360000F0A3EAF0A3E9F0ED1DAE0470011C4E60DA
+:1036100017904EF8E0FBA3E475F001120424A9F022
+:10362000FA74FF1203FC80DF22904EFBEBF0A3EA5A
+:10363000F0A3E9F0E4FEFDEF5407FEEF131313547B
+:1036400003FD300022904EFBE0FBA3E0FAA3E02D47
+:10365000F9E43AFA1203B6FF7401A806088002C31F
+:1036600033D8FC4F0203FC904EFBE0FBA3E0FAA32F
+:10367000E02DF9E43AFA1203B6FF7401A8060880B7
+:1036800002C333D8FCF45F0203FCEFF4603AEF545A
+:1036900007FEEF1313135403FF24A3F582E4340051
+:1036A000F583C083C082E0FD7401A806088002C3D0
+:1036B00033D8FCF4FC5DD082D083F074A72FF58260
+:1036C000E43400F583E05CF022E4FFEFFD7C0024AD
+:1036D00078FBEC34808B82F583E0FEED2470FDEC0A
+:1036E00034808D82F583E04EF4FEEF247CFDEC34D3
+:0D36F000808D82F583EEF00FEFB404CF2241
 :00000001FF
Index: c51/output/fwram.rom
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/output/fwram.rom	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/output/fwram.rom	(working copy)
@@ -1515,7 +1515,7 @@
 26
 02
 1f
-da
+b5
 e4
 93
 a3
@@ -1643,25 +1643,25 @@
 be
 52
 4e
-5a
+5c
 ff
 13
-bc
+f4
 00
 00
 00
 ff
-33
-01
+22
+88
 ff
-2e
-f2
+31
+98
 00
 00
 00
 ff
-32
-3c
+35
+b7
 00
 1a
 08
@@ -1763,7 +1763,7 @@
 30
 26
 34
-a5
+7f
 44
 3a
 1a
@@ -1788,7 +1788,7 @@
 27
 32
 36
-76
+65
 33
 52
 53
@@ -1847,12 +1847,12 @@
 00
 90
 4f
-05
+06
 ef
 f0
 90
 4c
-f0
+b9
 e0
 70
 03
@@ -1861,22 +1861,22 @@
 02
 90
 4c
-f0
+b9
 e0
 14
 f0
 e4
 90
 4d
-e8
+ea
 f0
 90
 4e
-59
+5b
 f0
 90
 4f
-05
+06
 e0
 ff
 75
@@ -1884,7 +1884,7 @@
 1f
 a4
 24
-f2
+f4
 f5
 82
 e4
@@ -1903,7 +1903,7 @@
 1f
 a4
 24
-f3
+f5
 f9
 74
 4d
@@ -1918,7 +1918,7 @@
 74
 90
 4e
-c8
+ca
 74
 06
 f0
@@ -1927,14 +1927,14 @@
 7d
 90
 4f
-05
+06
 e0
 75
 f0
 1f
 a4
 24
-f9
+fb
 f9
 74
 4d
@@ -1949,7 +1949,7 @@
 7b
 90
 4e
-c8
+ca
 74
 10
 f0
@@ -1958,14 +1958,14 @@
 7d
 90
 4f
-05
+06
 e0
 75
 f0
 1f
 a4
 24
-09
+0b
 f9
 74
 4e
@@ -1980,7 +1980,7 @@
 f9
 90
 4e
-c8
+ca
 74
 06
 f0
@@ -1990,18 +1990,18 @@
 7f
 2b
 12
-10
-ad
+13
+c9
 90
 4d
-e8
+ea
 74
 01
 f0
 e4
 90
 4c
-f0
+b9
 f0
 90
 44
@@ -2011,7 +2011,7 @@
 22
 90
 4e
-59
+5b
 74
 01
 f0
@@ -2040,8 +2040,8 @@
 7f
 2b
 12
-10
-ad
+13
+c9
 90
 42
 5e
@@ -2051,7 +2051,7 @@
 22
 90
 4f
-06
+07
 ed
 f0
 ef
@@ -2066,7 +2066,7 @@
 1f
 a4
 24
-f2
+f4
 f5
 82
 e4
@@ -2083,7 +2083,7 @@
 1f
 a4
 24
-f3
+f5
 f5
 82
 e4
@@ -2100,7 +2100,7 @@
 d0
 90
 4e
-c8
+ca
 74
 06
 f0
@@ -2108,14 +2108,14 @@
 7d
 90
 4f
-06
+07
 e0
 75
 f0
 1f
 a4
 24
-f9
+fb
 f5
 82
 e4
@@ -2132,7 +2132,7 @@
 7b
 90
 4e
-c8
+ca
 74
 10
 f0
@@ -2140,14 +2140,14 @@
 7d
 90
 4f
-06
+07
 e0
 75
 f0
 1f
 a4
 24
-09
+0b
 f5
 82
 e4
@@ -2164,7 +2164,7 @@
 f9
 90
 4e
-c8
+ca
 74
 06
 f0
@@ -2173,7 +2173,7 @@
 22
 90
 4e
-c3
+c5
 ee
 f0
 a3
@@ -2190,7 +2190,7 @@
 f0
 90
 4e
-c8
+ca
 e0
 ff
 14
@@ -2200,7 +2200,7 @@
 27
 90
 4e
-c5
+c7
 e0
 fb
 a3
@@ -2220,7 +2220,7 @@
 ff
 90
 4e
-c3
+c5
 e4
 75
 f0
@@ -2240,7 +2240,7 @@
 22
 90
 4e
-c9
+cb
 eb
 f0
 a3
@@ -2256,23 +2256,23 @@
 f0
 90
 4d
-e5
+e6
 f0
 90
 4d
-dd
+de
 f0
 90
 4d
-da
+db
 f0
 90
 4e
-cd
+cf
 f0
 90
 4e
-cd
+cf
 e0
 ff
 c3
@@ -2282,7 +2282,7 @@
 4d
 90
 4e
-c9
+cb
 e0
 fb
 a3
@@ -2309,11 +2309,11 @@
 b6
 ff
 b4
-a5
+7f
 06
 90
 4d
-e5
+e6
 74
 01
 f0
@@ -2323,13 +2323,13 @@
 06
 90
 4d
-dd
+de
 74
 01
 f0
 90
 4e
-c9
+cb
 e0
 fb
 a3
@@ -2345,13 +2345,13 @@
 06
 90
 4d
-da
+db
 74
 01
 f0
 90
 4e
-cd
+cf
 e0
 04
 f0
@@ -2359,7 +2359,7 @@
 a9
 90
 4e
-c9
+cb
 e0
 fb
 a3
@@ -2369,16 +2369,16 @@
 e0
 f9
 12
-2c
-27
+2e
+c0
 ef
 60
 02
 81
-1d
+1c
 90
 4e
-c9
+cb
 e0
 a3
 e0
@@ -2390,33 +2390,33 @@
 3a
 90
 4e
-4f
+51
 e0
 64
 02
 60
 02
 81
-1d
+1c
 90
 4d
-e7
+e9
 e0
 60
 02
 81
-1d
+1c
 90
 4e
-4f
+51
 f0
 90
 4d
-f0
+f2
 f0
 90
 4d
-ec
+ee
 e0
 60
 0a
@@ -2424,7 +2424,7 @@
 f0
 90
 4e
-50
+52
 74
 06
 f0
@@ -2432,7 +2432,7 @@
 06
 90
 4e
-50
+52
 74
 02
 f0
@@ -2441,42 +2441,42 @@
 7a
 4e
 79
-50
+52
 7d
 03
 81
-1e
+1d
 90
-4d
-01
+4c
+ca
 e0
 60
 08
 e4
 f0
 90
-4d
-46
+4c
+f5
 74
 03
 f0
 90
 4d
-7d
+27
 e0
 60
 08
 e4
 f0
 90
-4d
-46
+4c
+f5
 74
 03
 f0
 90
 4c
-c7
+8b
 e0
 b4
 04
@@ -2489,28 +2489,28 @@
 f0
 90
 4d
-e9
+eb
 74
 0a
 f0
 e4
 90
 4c
-e3
+ab
 f0
 a3
 f0
 90
 4c
-d5
+9c
 e0
 b4
 01
 12
 e4
 90
-4d
-40
+4c
+ef
 f0
 a3
 74
@@ -2527,8 +2527,8 @@
 10
 e4
 90
-4d
-40
+4c
+ef
 f0
 a3
 74
@@ -2558,7 +2558,7 @@
 7a
 4e
 79
-50
+52
 7d
 09
 7c
@@ -2567,7 +2567,7 @@
 01
 90
 4e
-c9
+cb
 e0
 fb
 a3
@@ -2600,7 +2600,7 @@
 64
 29
 70
-20
+1f
 90
 00
 02
@@ -2609,39 +2609,38 @@
 cf
 b4
 0e
-17
+16
 90
 4c
-c3
+87
 e0
 ff
 60
 03
 b4
 fe
-0d
+0c
 12
-17
-c6
+18
+c7
 7f
 0a
-12
-16
-f3
+f1
+72
 7f
 0a
 12
-10
-d7
+11
+e2
 90
 4c
-b6
+7a
 74
 01
 f0
 90
 4c
-f4
+bd
 e0
 ff
 64
@@ -2649,24 +2648,24 @@
 70
 02
 81
-1d
+1c
 ef
 64
 04
 70
 02
 81
-1d
+1c
 ef
 64
 02
 70
 02
 81
-1d
+1c
 90
 4c
-c5
+89
 e0
 64
 03
@@ -2674,11 +2673,11 @@
 45
 90
 4e
-cd
+cf
 f0
 90
 4e
-cd
+cf
 e0
 ff
 c3
@@ -2688,7 +2687,7 @@
 37
 90
 4e
-c9
+cb
 e0
 fb
 a3
@@ -2728,14 +2727,14 @@
 47
 06
 90
-4d
-46
+4c
+f5
 74
 03
 f0
 90
 4e
-cd
+cf
 e0
 04
 f0
@@ -2743,7 +2742,7 @@
 bf
 90
 4e
-c9
+cb
 e0
 fb
 a3
@@ -2753,11 +2752,11 @@
 e0
 f9
 12
-26
-7f
+25
+89
 90
 4e
-4f
+51
 e0
 b4
 01
@@ -2767,21 +2766,21 @@
 f0
 90
 4e
-50
+52
 f0
 7b
 01
 7a
 4e
 79
-50
+52
 7d
 03
 81
-1e
+1d
 90
 4e
-4f
+51
 e0
 b4
 04
@@ -2791,7 +2790,7 @@
 f0
 90
 4e
-50
+52
 74
 06
 f0
@@ -2800,14 +2799,14 @@
 7a
 4e
 79
-50
+52
 7d
 03
 81
-1e
+1d
 90
 4e
-4f
+51
 e0
 64
 03
@@ -2820,22 +2819,22 @@
 2f
 90
 4d
-e7
+e9
 e0
 70
 29
 e4
 90
 4e
-4f
+51
 f0
 90
 4d
-f0
+f2
 f0
 90
 4d
-ec
+ee
 e0
 60
 0a
@@ -2843,7 +2842,7 @@
 f0
 90
 4e
-50
+52
 74
 06
 f0
@@ -2851,7 +2850,7 @@
 06
 90
 4e
-50
+52
 74
 02
 f0
@@ -2860,20 +2859,20 @@
 7a
 4e
 79
-50
+52
 7d
 03
 81
-1e
+1d
 90
 4d
-e7
+e9
 e0
 70
 16
 90
 4e
-c9
+cb
 e0
 fb
 a3
@@ -2901,7 +2900,7 @@
 f0
 90
 4e
-c9
+cb
 e0
 fb
 a3
@@ -2919,14 +2918,14 @@
 f0
 90
 4c
-c5
+89
 e0
 b4
 03
 0a
 90
-4d
-46
+4c
+f5
 e0
 90
 48
@@ -2942,11 +2941,11 @@
 e4
 90
 4d
-e2
+e3
 f0
 90
 4e
-59
+5b
 e0
 70
 6f
@@ -2957,7 +2956,7 @@
 03
 cf
 b4
-a5
+7f
 15
 7e
 48
@@ -2972,7 +2971,7 @@
 fa
 90
 4e
-c8
+ca
 74
 05
 f0
@@ -2986,7 +2985,7 @@
 03
 90
 4e
-c9
+cb
 e0
 fb
 a3
@@ -3002,7 +3001,7 @@
 fa
 90
 4e
-c8
+ca
 74
 06
 f0
@@ -3010,13 +3009,13 @@
 7d
 90
 4e
-cd
+cf
 74
 03
 f0
 90
 4e
-cd
+cf
 e0
 ff
 c3
@@ -3036,11 +3035,11 @@
 83
 e0
 b4
-a5
+7f
 0f
 90
 4e
-cd
+cf
 e0
 24
 00
@@ -3055,7 +3054,7 @@
 f0
 90
 4e
-cd
+cf
 e0
 04
 f0
@@ -3067,7 +3066,7 @@
 03
 90
 4e
-c9
+cb
 e0
 fb
 a3
@@ -3083,7 +3082,7 @@
 fa
 90
 4e
-c8
+ca
 74
 06
 f0
@@ -3098,11 +3097,11 @@
 7d
 09
 91
-1e
+1d
 22
 90
 4e
-7e
+80
 eb
 f0
 a3
@@ -3118,7 +3117,7 @@
 ff
 90
 4e
-81
+83
 e0
 fe
 ef
@@ -3128,7 +3127,7 @@
 23
 90
 4e
-7e
+80
 e0
 fb
 a3
@@ -3147,7 +3146,7 @@
 cf
 fe
 74
-82
+84
 2f
 f5
 82
@@ -3163,7 +3162,7 @@
 d3
 12
 18
-4b
+35
 ef
 70
 02
@@ -3171,7 +3170,7 @@
 00
 90
 4c
-eb
+b4
 e0
 60
 02
@@ -3179,7 +3178,7 @@
 00
 90
 4c
-c7
+8b
 e0
 ff
 64
@@ -3198,7 +3197,7 @@
 18
 90
 4e
-82
+84
 e0
 b4
 06
@@ -3211,26 +3210,26 @@
 7a
 4e
 79
-82
+84
 90
 4e
-81
+83
 e0
 fd
 12
-38
-74
+35
+e6
 90
 4c
-c5
+89
 e0
 64
 03
 70
-62
+63
 90
 4e
-82
+84
 e0
 64
 01
@@ -3245,7 +3244,7 @@
 14
 90
 4e
-85
+87
 e0
 70
 0e
@@ -3259,13 +3258,13 @@
 06
 90
 4d
-e0
+e1
 f0
 80
 32
 90
 4d
-e0
+e1
 74
 01
 f0
@@ -3273,7 +3272,7 @@
 2a
 90
 4e
-82
+84
 e0
 b4
 02
@@ -3291,13 +3290,13 @@
 06
 90
 4d
-e0
+e1
 f0
 80
 12
 90
 4d
-e0
+e1
 74
 01
 f0
@@ -3305,7 +3304,7 @@
 0a
 90
 4e
-82
+84
 e0
 b4
 03
@@ -3318,18 +3317,19 @@
 7a
 4e
 79
-82
+84
 90
 4e
-81
+83
 e0
 fd
-f1
-ee
+12
+35
+d4
 22
 90
 4e
-f6
+f5
 eb
 f0
 a3
@@ -3350,7 +3350,7 @@
 16
 90
 4e
-f6
+f5
 e0
 fb
 a3
@@ -3376,9 +3376,9 @@
 7a
 4c
 79
-bf
+83
 7d
-52
+53
 7c
 00
 b1
@@ -3436,7 +3436,7 @@
 7a
 4e
 79
-50
+52
 7d
 09
 7c
@@ -3446,19 +3446,15 @@
 e4
 90
 4d
-e9
+eb
 f0
 90
 4d
-ef
+f1
 f0
 90
 4d
-db
 f0
-90
-4d
-e4
 f0
 90
 4d
@@ -3466,71 +3462,72 @@
 f0
 90
 4d
-ee
+d6
 f0
 90
 4d
-e0
+ea
 f0
 90
 4d
-d6
+e8
 f0
 90
-4d
-e8
+4e
+51
 f0
 90
 4d
-e6
+e0
 f0
 90
-4e
-4f
+4d
+e3
 f0
 90
 4d
-df
+e6
 f0
 90
 4d
-e2
+ef
 f0
 90
 4d
-e5
+d9
 f0
 90
 4d
-ea
+ec
 f0
 90
 4d
-f0
+f2
 f0
 90
 4c
-b7
-74
+e7
 f0
+90
+4d
+d5
 f0
 90
 4d
-e3
+49
 f0
-e4
 90
 4d
-38
+da
 f0
 90
 4d
-d5
+e7
 f0
 22
 90
 4e
-ff
+fe
 ef
 f0
 a3
@@ -3559,7 +3556,7 @@
 ff
 90
 4e
-ff
+fe
 e0
 fe
 ef
@@ -3569,8 +3566,8 @@
 01
 f0
 90
-4f
-00
+4e
+ff
 e0
 90
 48
@@ -3585,43 +3582,28 @@
 7d
 09
 81
-1e
-90
-4c
-c8
-e0
-b4
-02
-03
-02
-29
-b4
+1d
 90
 4c
-f4
+bd
 e0
 ff
 60
-0d
+08
 64
 03
 60
-09
-ef
-64
-05
-60
 04
 ef
 b4
-08
+05
 03
 02
-23
-9f
+29
+0f
 90
 4c
-f4
+bd
 e0
 b4
 01
@@ -3632,69 +3614,35 @@
 e4
 fd
 b1
-ca
+c7
 90
 4c
-f4
+bd
 74
 02
 f0
 22
 90
 4c
-f4
+bd
 e0
-64
+b4
 02
-70
-2c
-90
-4d
-0d
-e0
-60
-16
-e4
-f0
-90
-4c
-f4
-74
-07
-f0
-90
-4c
-f8
-74
-03
-f0
-90
-4d
-0c
-74
-01
-f0
-80
-06
-90
-4c
-f4
+0b
 74
 03
 f0
-90
-4c
-f5
+a3
 e0
 ff
 a3
 e0
 fd
-a1
-ca
+80
+8d
 90
 4c
-f4
+bd
 e0
 b4
 04
@@ -3702,57 +3650,57 @@
 e4
 90
 4c
-f6
+bf
 f0
 90
 4c
-f5
+be
 e0
 ff
 e4
 fd
 b1
-ca
+c7
 e4
 90
 4c
-f5
+be
 f0
 90
 4c
-f8
+c1
 e0
 70
 07
 90
 4c
-f4
+bd
 74
 06
 f0
 22
 90
 4c
-f4
+bd
 74
 05
 f0
 22
 90
 4c
-f4
+bd
 e0
 b4
 06
-16
+15
 e4
 90
 4c
-f6
+bf
 f0
 90
 4c
-f5
+be
 f0
 a3
 e0
@@ -3760,50 +3708,16 @@
 e4
 ff
 b1
-ca
-e4
-90
-4c
-f4
-f0
-22
-90
-4c
-f4
-e0
-b4
-09
-1a
-e4
-90
-4c
-f6
-f0
-90
-4c
-f5
-e0
-ff
+c7
 e4
-fd
-b1
-ca
 90
 4c
-f4
-74
-08
-f0
-90
-4c
-f8
-74
-0a
+bd
 f0
 22
 90
 4d
-de
+df
 e0
 60
 0f
@@ -3820,11 +3734,11 @@
 f0
 90
 4d
-dc
+dd
 f0
 90
 4c
-c7
+8b
 e0
 ff
 64
@@ -3838,19 +3752,19 @@
 39
 90
 4d
-7e
+29
 e0
 60
 33
 90
 4d
-dc
+dd
 e0
 70
 10
 90
 4c
-e3
+ab
 e0
 fe
 a3
@@ -3867,35 +3781,35 @@
 e4
 90
 4d
-dc
+dd
 f0
 90
 4e
-50
+52
 74
 04
 f0
 90
 4c
-f9
+c2
 e0
 90
 4e
-51
+53
 f0
 7b
 01
 7a
 4e
 79
-50
+52
 7d
 02
 91
-1e
+1d
 90
 4c
-e3
+ab
 e0
 70
 04
@@ -3906,20 +3820,20 @@
 60
 02
 e1
-c7
+71
 12
-17
-c6
+18
+c7
 90
 4c
-ec
+b5
 74
 01
 f0
 22
 90
 4c
-c5
+89
 e0
 64
 03
@@ -3927,7 +3841,7 @@
 39
 90
 4c
-e4
+ac
 e0
 54
 1f
@@ -3949,7 +3863,7 @@
 e4
 90
 4e
-4f
+51
 f0
 90
 48
@@ -3964,27 +3878,27 @@
 7d
 09
 91
-1e
+1d
 c3
 90
 4c
-e4
+ac
 e0
 94
-14
+58
 90
 4c
-e3
+ab
 e0
 94
-00
+02
 40
 39
 80
-38
+5d
 90
 4c
-c5
+89
 e0
 b4
 01
@@ -3992,30 +3906,30 @@
 c3
 90
 4c
-e4
+ac
 e0
 94
 78
 90
 4c
-e3
+ab
 e0
 94
 00
 40
 21
 80
-20
+45
 c3
 90
 4c
-e4
+ac
 e0
 94
 12
 90
 4c
-e3
+ab
 e0
 94
 00
@@ -4023,7 +3937,7 @@
 10
 90
 4d
-e8
+ea
 e0
 60
 07
@@ -4032,15 +3946,52 @@
 7f
 0e
 12
-10
-ad
+13
+c9
 12
 17
+96
+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
+e4
+90
+0b
+7f
+f0
+90
+0b
+7e
+f0
+7f
+01
+80
+db
 12
-1c
-d7
+17
+bc
 90
 4b
 ef
@@ -4048,24 +3999,14 @@
 ff
 f0
 90
-4d
-01
+4c
+ca
 74
 01
 f0
 90
 4c
-b7
-74
-f0
-f0
-90
-4d
-e3
-f0
-90
-4d
-40
+ef
 74
 ff
 f0
@@ -4077,14 +4018,8 @@
 f0
 22
 90
-0b
-e7
-74
-06
-f0
-90
 4f
-10
+0f
 ed
 f0
 e0
@@ -4099,11 +4034,10 @@
 e9
 90
 4e
-c8
+ca
 ed
 f0
-12
-08
+11
 7d
 7b
 01
@@ -4113,14 +4047,14 @@
 e7
 90
 4f
-10
+0f
 e0
 24
 02
 fd
 90
 4e
-bd
+bf
 eb
 f0
 a3
@@ -4141,7 +4075,7 @@
 e0
 90
 4e
-c1
+c3
 cf
 f0
 a3
@@ -4166,11 +4100,11 @@
 7b
 64
 12
-35
-a8
+10
+6b
 90
 4e
-c0
+c2
 e0
 fe
 ef
@@ -4180,7 +4114,7 @@
 e1
 90
 4e
-c0
+c2
 e0
 ff
 14
@@ -4190,7 +4124,7 @@
 3f
 90
 4e
-bd
+bf
 e0
 fb
 a3
@@ -4210,7 +4144,7 @@
 ff
 90
 4e
-c1
+c3
 e4
 75
 f0
@@ -4227,7 +4161,7 @@
 f0
 90
 4e
-c1
+c3
 e0
 fe
 a3
@@ -4241,7 +4175,7 @@
 c3
 90
 4e
-c1
+c3
 74
 4a
 f0
@@ -4253,7 +4187,7 @@
 b7
 90
 4e
-c1
+c3
 e0
 ff
 a3
@@ -4269,853 +4203,978 @@
 22
 90
 4e
-e0
+de
+ee
+f0
+a3
 ef
 f0
-78
-e1
-7c
-4e
-7d
-01
-7b
-ff
-7a
-07
-79
-34
-7e
-00
-7f
-03
-12
-03
-90
 90
 4e
 e0
-e0
+ec
+f0
+a3
+ed
+f0
 90
 4e
-e3
-f0
-7b
-01
-7a
+e0
+e0
+fe
+a3
+e0
+ff
+d3
+90
+4e
+df
+e0
+9f
+90
+4e
+de
+e0
+9e
+40
+16
+90
+4e
+e0
+e0
+fe
+a3
+e0
+ff
+90
+4e
+df
+e0
+9f
+ff
+90
+4e
+de
+e0
+9e
+fe
+80
+1e
+90
+4e
+de
+e0
+fe
+a3
+e0
+ff
+c3
+90
 4e
-79
 e1
-7d
+e0
+9f
+ff
+90
+4e
+e0
+e0
+9e
+fe
+ad
 03
-01
-18
+c3
+eb
+9f
+ff
+e4
+9e
+fe
+22
 90
-4f
-09
-ef
-f0
-14
+4c
+8b
+e0
+64
+04
+60
+07
+90
+4c
+89
+e0
 b4
-0d
+03
+03
+7f
+01
+22
+7f
 00
-40
-02
-41
-b5
+22
 90
-10
-f2
-75
-f0
-03
-a4
-c5
-83
-25
+4d
 f0
-c5
-83
-73
-02
-11
-19
-02
-11
-19
-02
-11
-19
-02
-12
-b5
-02
-11
-5c
-02
-11
-a8
-02
-11
-b0
-02
-11
-fd
-02
-11
-fd
+e0
+64
 02
-12
-65
+60
 02
-12
-b5
+21
+cf
+90
+4c
+b1
+e0
+70
 02
-12
-b5
+a3
+e0
+60
 02
-11
-58
+21
+b2
 90
 4c
-c5
+b7
 e0
-ff
-64
-03
 60
-04
-ef
-b4
 02
-0d
-7f
-22
-11
-ad
+21
+b2
 90
-4f
-09
+4c
+9c
 e0
+b4
+02
+04
+f1
+96
+80
+37
 90
 4c
-ed
-f0
-22
-90
-4f
-09
+9c
 e0
+b4
+01
 14
 90
-4d
-d7
-f0
+4c
+c0
+e0
+70
+2a
 90
-42
-13
+4c
+aa
 74
-05
+0c
 f0
 90
 4c
+c0
+74
+01
 f0
-f0
-7f
-04
-11
-ad
-7f
-0a
-d1
-f3
-7f
-2a
-11
-ad
-e4
+80
+1c
 90
 4c
-ed
-f0
-22
-7f
-0e
+c0
+e0
+b4
 01
-ad
+15
+90
+41
+31
+74
+01
+f0
 e4
 90
 4c
+c0
 f0
+90
+4c
+aa
 f0
-f1
-c6
-ef
-70
-0c
-12
-18
-cb
-ef
-70
-06
-12
-18
-e7
+c2
+01
+7f
+1f
+31
+d0
+11
+c5
 ef
 60
-0f
+61
+c3
 90
-4f
-09
+4c
+ac
 e0
+94
+0c
 90
 4c
-ed
-f0
-90
-4d
-ef
-74
-03
-f0
-22
-12
-18
-dd
-e4
-90
-4d
-d5
-f0
+ab
+e0
+94
+00
+50
+40
 90
-4d
-d3
-f0
+4c
+7b
+e0
+30
+e0
+0e
 90
-4e
-59
-f0
-12
-18
-fe
-7f
-0d
-11
+4c
 ad
+e0
+70
+14
+d2
+01
+7f
+0f
+31
+d0
+80
+0c
 90
 4c
-e9
-74
-f0
-f0
-e4
+ad
+e0
+70
+06
+c2
+01
+7f
+0f
+31
+d0
 90
 4c
-ee
-f0
+7b
+e0
+30
+e1
+0c
 90
 4c
-ed
-f0
-22
-f1
-c6
-e4
+ad
+e0
+70
+53
+d2
+01
+7f
+10
+80
+4e
 90
 4c
-ed
-f0
-22
-7b
+ad
+e0
+70
+47
+c2
 01
-7a
-4d
-79
-f2
-7d
-5d
-7c
-00
-12
-20
-ce
+7f
+10
+80
+42
 90
 4c
-c0
-74
-ff
-f0
-a3
-f0
-7f
-c8
-d1
-f3
+ad
+e0
+70
+06
 c2
 01
 7f
-ff
-51
-bb
-7b
+0f
+31
+d0
+c2
 01
-7a
-4d
-79
-f2
-7d
-5d
-7c
-00
-7f
-60
-7e
 7f
-12
-1a
-94
-7b
-01
-7a
+10
+80
+30
+90
 4c
-79
-c0
-7d
+ad
+e0
+70
+06
+c2
 01
-7c
-00
 7f
-bd
-7e
-7f
-12
-1a
-94
-d2
+0f
+31
+d0
+c2
 01
 7f
-ff
-51
-bb
-e4
+10
+80
+1e
 90
 4c
-ed
+7b
+e0
+54
+fc
 f0
-22
-e4
 90
 4c
-f0
-f0
-12
-18
-cb
-ef
-60
-09
-90
-4f
-09
+b1
 e0
-90
-4c
-ed
-f0
-22
-7b
+70
+02
+a3
+e0
+70
+06
+c2
 01
-7a
-4c
-79
-00
-7d
-04
-7c
-00
 7f
-52
-7e
+0f
+31
+d0
+c2
+01
 7f
+10
+31
+d0
+22
+ef
+f4
+60
+0d
+7b
+01
+7a
+80
+79
+74
+a2
+01
+92
+00
 12
-19
-41
-7f
-0a
-d1
-f3
-e4
+36
+29
+22
 90
-4e
-59
+4f
+09
+ef
 f0
-90
-4c
+14
+b4
+0d
 00
-e0
-f4
+40
+02
+61
+c3
+90
+11
+fd
+75
+f0
+03
+a4
+c5
+83
+25
+f0
+c5
+83
+73
+02
+12
+24
+02
+12
+24
+02
+12
+24
+02
+13
+c3
+02
+12
+6e
+02
+12
+b0
+02
+12
+b9
+02
+13
+07
+02
+13
+07
+02
+13
 70
-21
-a3
+02
+13
+c3
+02
+13
+c3
+02
+12
+6a
+90
+4c
+89
 e0
-b4
 ff
-1c
-a3
-e0
+64
+03
+60
+04
+ef
 b4
-ff
-17
-a3
+02
+0d
+7f
+22
+71
+c9
+90
+4f
+09
 e0
-b4
-ff
-12
 90
 4c
-00
-74
-0f
-f0
-a3
-f0
-a3
+b6
 f0
-a3
+22
+90
+4f
+09
+e0
+14
+90
+4d
+d7
 f0
 90
-4e
-59
+42
+13
 74
-01
+05
 f0
-7f
-21
-11
-ad
 90
 4c
-c5
+b9
+f0
+90
+4c
+d2
 74
-02
+01
 f0
+7f
+04
+71
+c9
+7f
+0a
+12
+0f
+72
+7f
+2a
+71
+c9
 e4
-a3
-f0
 90
 4c
-ed
+b6
 f0
 22
+7f
+0e
+61
+c9
 e4
 90
 4c
+b9
 f0
-f0
-f1
-c6
+12
+18
+c7
 ef
 70
-06
+0c
 12
 18
-cb
+b5
+ef
+70
+06
+12
+1f
+fb
 ef
 60
-09
+0f
 90
 4f
 09
 e0
 90
 4c
-ed
+b6
 f0
-22
 90
-4c
-c5
-e0
-64
-01
-60
-29
+4d
+f1
+74
+03
+f0
+22
+f1
+e6
 e4
 90
+4d
+d5
+f0
+90
+4d
+d3
+f0
+90
 4e
-59
+5b
 f0
+12
+22
+02
 7f
-23
-11
-ad
+0d
+71
+c9
+e4
 90
 4c
-c5
-74
-01
+b6
 f0
+22
+12
+18
+c7
 e4
-a3
-f0
 90
 4c
-ee
-74
+b6
+f0
+22
+7b
+01
+7a
+4d
+79
+f4
+7d
+5d
+7c
+00
+12
+35
+fc
+90
+4c
+84
+74
+ff
 f0
+a3
 f0
+7f
+c8
+12
+0f
+72
 c2
 01
 7f
 ff
-51
-bb
-c2
+31
+d0
+7b
 01
+7a
+4d
+79
+f4
+7d
+5d
+7c
+00
 7f
-1f
-51
-bb
-e4
-90
+60
+7e
+7f
+12
+1a
+88
+7b
+01
+7a
 4c
-e9
-f0
+79
+84
+7d
+01
+7c
+00
+7f
+bd
+7e
+7f
+12
+1a
+88
+d2
+01
+7f
+ff
+31
+d0
 e4
 90
 4c
-ed
+b6
 f0
 22
 e4
 90
 4c
-ed
+b9
 f0
-22
+12
+18
+b5
 ef
-f4
 60
-0d
+09
+90
+4f
+09
+e0
+90
+4c
+b6
+f0
+22
 7b
 01
 7a
-80
+4c
 79
-74
-a2
-01
-92
 00
+7d
+04
+7c
+00
+7f
+52
+7e
+7f
 12
-1f
-79
-22
-90
-4d
-ee
-e0
-64
-02
-60
-02
-61
-bb
+20
+b0
+7f
+0a
+12
+0f
+72
+e4
 90
-4c
-e9
-e0
-60
-02
-61
-a2
+4e
+5b
+f0
 90
 4c
-ee
+00
 e0
-60
-02
-61
-a2
-90
-4c
-d5
+f4
+70
+21
+a3
 e0
 b4
-02
-04
-f1
-bd
-80
-37
-90
-4c
-d5
+ff
+1c
+a3
 e0
 b4
-01
-14
-90
-4c
-f7
+ff
+17
+a3
 e0
-70
-2a
+b4
+ff
+12
 90
 4c
-e2
+00
 74
-0c
+0f
+f0
+a3
+f0
+a3
+f0
+a3
 f0
 90
-4c
-f7
+4e
+5b
 74
 01
 f0
-80
-1c
+7f
+21
+71
+c9
 90
 4c
-f7
-e0
-b4
-01
-15
-90
-41
-31
+89
 74
-01
+02
 f0
 e4
+a3
+f0
 90
 4c
-f7
+b6
 f0
+22
+e4
 90
 4c
-e2
+b9
 f0
-c2
-01
-7f
-1f
-51
-bb
 12
 18
-36
+c7
+ef
+70
+06
+12
+18
+b5
 ef
 60
-61
-c3
+09
 90
-4c
-e4
+4f
+09
 e0
-94
-0c
 90
 4c
-e3
-e0
-94
-00
-50
-40
+b6
+f0
+22
 90
 4c
-b7
-e0
-30
+89
 e0
-0e
-90
-4c
-e5
-e0
-70
-14
-d2
-01
-7f
-0f
-51
-bb
-80
-0c
-90
-4c
-e5
-e0
-70
-06
-c2
+64
 01
-7f
-0f
-51
-bb
-90
-4c
-b7
-e0
-30
-e1
-0c
+60
+2b
+e4
 90
-4c
-e5
-e0
-70
-4f
-d2
-01
+4e
+5b
+f0
 7f
-10
-41
-bb
+23
+71
+c9
 90
 4c
-e5
-e0
-70
-43
-c2
+89
+74
 01
-7f
-10
-41
-bb
+f0
+e4
+a3
+f0
 90
 4c
-e5
-e0
-70
-06
+b7
+74
+14
+f0
 c2
 01
 7f
-0f
-51
-bb
+ff
+31
+d0
 c2
 01
 7f
-10
-41
-bb
+1f
+31
+d0
+e4
 90
 4c
-e5
-e0
-70
-06
-c2
-01
-7f
-0f
-51
-bb
-c2
-01
-7f
-10
-41
-bb
+b1
+f0
+a3
+f0
+e4
 90
 4c
-b7
-e0
-54
-fc
+b6
 f0
+22
+e4
 90
 4c
-e9
-e0
-70
-06
-c2
+b6
+f0
+22
+90
+4e
+e2
+ef
+f0
+78
+e3
+7c
+4e
+7d
 01
+7b
+ff
+7a
+07
+79
+34
+7e
+00
 7f
-0f
-51
-bb
-c2
+03
+12
+03
+90
+90
+4e
+e2
+e0
+90
+4e
+e5
+f0
+7b
 01
-7f
-10
-51
-bb
-22
+7a
+4e
+79
+e3
+7d
+03
+02
+0f
+d6
 90
 4f
-0e
+0d
 ef
 f0
 12
 05
 b3
-15
-dd
+16
+2b
 14
 16
-ae
+f7
 15
 14
-c1
+fe
 27
 16
-75
+be
 29
-13
-f2
+14
+2d
 2f
 14
-bb
+f8
 30
 15
-12
+50
 31
 15
-86
+d5
 32
-13
-f2
+14
+2d
 33
 16
-4f
+99
 34
 16
-8f
+d8
 35
 15
-0a
+48
 37
 14
-c1
+fe
 39
 15
-12
+50
 3c
+17
+3c
+3e
 00
 00
-16
-f2
+17
+95
 12
 1f
-31
+c3
 12
-30
-50
+33
+c5
 7b
 01
 7a
 4c
 79
-ff
+c8
 7d
 01
 7c
@@ -5125,11 +5184,11 @@
 7e
 7f
 12
-19
-41
+20
+b0
 90
 4c
-ff
+c8
 e0
 64
 01
@@ -5137,7 +5196,7 @@
 3e
 90
 4c
-91
+71
 e0
 fe
 a3
@@ -5146,24 +5205,24 @@
 c3
 90
 4c
-96
+76
 e0
 9f
 90
 4c
-95
+75
 e0
 9e
 50
 05
 12
-1e
-d0
+0f
+8a
 80
 e6
 90
 4c
-e0
+a7
 e0
 fe
 a3
@@ -5172,50 +5231,50 @@
 c3
 90
 4c
-96
+76
 e0
 9f
 90
 4c
-95
+75
 e0
 9e
 50
 0f
 90
 4c
-d5
+9c
 74
 02
 f0
 e4
 90
 4c
-e5
+ad
 f0
 7f
 19
-01
-ad
+61
+c9
 7f
 1e
 f1
-f1
+f0
 50
 17
 90
 4c
-c0
+84
 74
 01
 f0
 90
-4d
-0b
+4c
+cc
 f0
 90
-4d
-0a
+4c
+cb
 f0
 c2
 05
@@ -5223,43 +5282,44 @@
 1e
 12
 1f
-02
+61
 80
 0d
 e4
 90
 4c
-c0
+84
 f0
 90
-4d
-0b
+4c
+cc
 f0
 90
-4d
-0a
+4c
+cb
 f0
 90
 4c
-c0
+84
 e0
 90
 4c
-c3
+87
 f0
 12
-2e
-90
+31
+67
 7f
 0a
-d1
-f3
+12
+0f
+72
 7b
 01
 7a
 4c
 79
-f2
+bb
 7d
 02
 7c
@@ -5269,11 +5329,11 @@
 7e
 7f
 12
-19
-41
+20
+b0
 90
 4c
-f2
+bb
 e0
 b4
 ff
@@ -5285,57 +5345,58 @@
 14
 90
 4c
-93
+73
 e0
 a3
 e0
 90
 4c
-f2
+bb
 f0
 90
 4c
-91
+71
 e0
 a3
 e0
 90
 4c
-f3
+bc
 f0
-e1
-0b
+02
+20
 12
-30
-3d
+12
+33
+b2
 02
 1f
-3e
+d1
 90
 4c
-c3
+87
 e0
 d3
 94
 00
 50
 02
-c1
-f2
+e1
+95
 e0
 94
 04
 40
 02
-c1
-f2
+e1
+95
 e0
 75
 f0
 1f
 a4
 24
-d3
+d5
 f9
 74
 4d
@@ -5349,24 +5410,25 @@
 7c
 00
 12
-20
-ce
+35
+fc
 7f
 c8
-d1
-f3
+12
+0f
+72
 c2
 01
 7f
 ff
-51
-bb
+31
+d0
 7b
 01
 7a
 4d
 79
-f2
+f4
 7d
 5d
 7c
@@ -5377,13 +5439,13 @@
 7f
 12
 1a
-94
+88
 d2
 01
 7f
 ff
-41
-bb
+21
+d0
 90
 4d
 d7
@@ -5394,54 +5456,71 @@
 37
 90
 4c
-c5
+89
 74
 03
 f0
 e4
 a3
 f0
-12
-18
-dd
+f1
+e6
 e4
 90
 4c
-ee
+b7
 f0
 90
 4c
-eb
-f0
-90
-4d
-d4
+b4
 f0
 90
 4c
-c0
+84
 74
 fe
 f0
 90
 4c
-c3
+87
 f0
 90
-4d
-46
+4c
+f5
 74
 03
 f0
 90
 4d
-e9
+eb
 74
 0a
 f0
 90
+4c
+ce
+74
+06
+f0
+e4
+90
+4c
+cd
+f0
+90
+4c
+d3
+74
+05
+f0
+e4
+90
+4c
+85
+f0
+90
 4f
-0e
+0d
 e0
 64
 31
@@ -5449,19 +5528,19 @@
 34
 90
 4d
-ea
+ec
 f0
 90
 4e
-59
+5b
 f0
 90
 4c
-c1
+85
 f0
 90
 4c
-e5
+ad
 74
 1e
 f0
@@ -5488,42 +5567,42 @@
 0f
 70
 02
-c1
-f2
+e1
+95
 90
 4c
-bf
+83
 74
 02
 f0
 02
-1b
-42
+19
+ed
 90
 4c
-e5
+ad
 e0
 60
 02
-c1
-f2
+e1
+95
 22
 e4
 90
 4c
-c5
+89
 f0
 a3
 f0
 90
 4c
-e3
+ab
 f0
 a3
 f0
 90
 4c
-eb
+b4
 04
 f0
 90
@@ -5550,27 +5629,26 @@
 04
 7f
 0a
-01
-d7
+21
+e2
 90
 4c
-ed
+b6
 e0
 60
-0a
-12
-18
-dd
+09
+f1
+e6
 90
 4c
-ed
+b6
 e0
 ff
-01
-d7
+21
+e2
 90
 4c
-ec
+b5
 e0
 b4
 01
@@ -5578,15 +5656,15 @@
 e4
 f0
 e1
-bd
+96
 90
 4c
-f0
+b9
 e0
 70
 02
-c1
-f2
+e1
+95
 90
 4d
 d7
@@ -5597,7 +5675,7 @@
 37
 90
 4c
-c7
+8b
 74
 03
 f0
@@ -5612,61 +5690,39 @@
 f0
 7f
 0e
-11
-ad
+71
+c9
 7f
 02
-11
-ad
+71
+c9
 90
 4c
-e9
+b1
+e0
+70
+02
+a3
 e0
 60
-34
+1a
 e4
 90
 4d
-ea
-f0
-90
-4c
-c1
-f0
-90
-4c
-c3
-e0
-75
-f0
-1f
-a4
-24
-f0
-f5
-82
-e4
-34
-4d
-f5
-83
-e4
+ec
 f0
-90
-4d
-ea
 e0
 ff
 90
 4c
-c3
+87
 e0
 75
 f0
 1f
 a4
 24
-f1
+f3
 f5
 82
 e4
@@ -5678,7 +5734,7 @@
 f0
 90
 4d
-e8
+ea
 e0
 70
 06
@@ -5690,66 +5746,83 @@
 f0
 90
 4c
-e5
+ad
 e0
 70
 03
 12
-2e
-c1
+33
+81
+90
+4c
+ce
+74
+06
+f0
+90
+4c
+d4
+74
+01
+f0
 e4
 90
 4c
-e9
+cd
 f0
 90
 4c
-e3
+b1
+f0
+a3
+f0
+90
+4c
+ab
 f0
 a3
 f0
 22
 90
 4c
-c7
+8b
 74
 04
 f0
 e4
 a3
 f0
-12
-18
-dd
+f1
+e6
 e4
 90
 4c
-eb
+b4
 f0
 90
 4d
-de
+df
 74
 0a
 f0
 90
 4c
-c3
+87
 e0
 90
 4c
-c0
+84
 f0
 90
 4c
-bf
+83
 74
 03
 f0
 22
 90
 4c
-c3
+87
 e0
 14
 fd
@@ -5760,22 +5833,22 @@
 03
 90
 4c
-c3
+87
 e0
 90
 4c
-c0
+84
 f0
 90
 4c
-bf
+83
 74
 03
 f0
 22
 90
-4d
-39
+4c
+e8
 12
 05
 82
@@ -5790,68 +5863,68 @@
 f0
 90
 4d
-e1
+e2
 04
 f0
 90
 4c
-c8
+8c
 04
 f0
 90
 4c
-c7
+8b
 04
 f0
 22
 90
 4c
-c7
+8b
 e0
 90
 4c
-cb
+8f
 f0
 e4
 90
 4c
-c7
+8b
 f0
 a3
 f0
 90
 4c
-eb
+b4
 04
 f0
 e4
 90
-4d
-3d
+4c
+ec
 f0
 90
 4c
-ec
+b5
 e0
 b4
 01
 04
 e4
 f0
-e1
-bd
+80
+7b
 90
 4c
-ed
+b6
 e0
 60
 03
 ff
-01
-d7
+21
+e2
 90
 4c
-f0
+b9
 e0
 60
 08
@@ -5864,268 +5937,194 @@
 07
 37
 f1
-bd
+96
 e4
 90
 4c
-e3
+ab
 f0
 a3
 f0
 22
-ef
-d3
-94
-00
-40
-11
 e4
+90
+4d
+5e
+f0
+90
+4d
+3d
+e0
+24
 fd
-fc
-0d
-bd
-00
+60
+11
+14
+60
+16
+14
+60
+1b
+24
+03
+70
+1f
+e4
+90
+4c
+85
+f0
+80
+1d
+90
+4c
+85
+74
 01
-0c
-bc
+f0
+80
+15
+90
+4c
+85
+74
 04
-f8
-bd
-a6
-f5
-1f
+f0
 80
-e9
-22
+0d
 90
-4d
-ee
+4c
+85
 74
-02
+03
 f0
-7b
-01
-7a
-4d
-79
+80
+05
+e4
+90
+4c
+85
+f0
+90
+4c
+85
+e0
+ff
+90
+4c
+87
+e0
+75
+f0
+1f
+a4
+24
 f2
-7d
-5d
-7c
-00
+f5
+82
+e4
+34
+4d
+f5
+83
+ef
+f0
+90
+4c
+83
+74
+03
+f0
+22
+e4
+90
+4c
+e7
+f0
 7f
+19
+61
+c9
+ac
+07
+ec
+f4
 60
-7e
-7f
+16
+af
+04
+d2
+04
 12
-19
-41
-7f
-0a
-d1
-f3
-7b
+1f
+a3
+af
+04
+a2
+06
+92
 01
-7a
-4c
-79
-00
-7d
+31
+d0
+af
 04
-7c
-00
-7f
-52
-7e
-7f
+c2
+02
 12
-19
-41
+1f
 7f
-0a
-d1
-f3
-7b
-01
-7a
-4d
-79
-ea
-7d
-01
-7c
-00
-7f
-56
-7e
-7f
-12
-19
-41
+22
+c2
+06
 7f
-0a
-d1
-f3
-7b
-01
-7a
-4c
-79
-c1
-7d
-01
-7c
-00
+0f
+f1
+9f
+c2
+06
 7f
-57
-7e
+10
+f1
+9f
+c2
+06
 7f
-12
-19
-41
+1f
+f1
+9f
+c2
+06
 7f
-0a
-d1
-f3
-90
-4c
-c3
-e0
 ff
-d3
-94
-03
-50
-33
-ef
-c3
-94
-01
-40
-2d
-ef
-75
-f0
+f1
+9f
+c2
+06
+7f
 1f
-a4
-24
-f0
-f5
-82
-e4
-34
-4d
-f5
-83
-e0
-90
-4c
-c1
-f0
-90
-4c
-c3
-e0
-75
-f0
+f1
+9f
+c2
+06
+7f
 1f
-a4
-24
 f1
-f5
-82
-e4
-34
-4d
-f5
-83
-e0
-90
-4d
-ea
-f0
-11
-d7
-80
-04
+9f
+c2
+06
 7f
-08
-11
-d7
-90
-4d
-ea
-e0
-d3
-94
-01
-40
-02
+ff
+80
+b9
 e4
-f0
 90
 4c
-c1
-e0
-d3
-94
-02
-40
-02
-e4
+b9
 f0
-22
-e4
 90
 4d
-38
+ea
 f0
-7f
-19
-01
-ad
-90
-4c
-c7
-e0
-ff
-64
-04
-60
-04
-ef
-b4
-03
-07
-7f
-11
-11
-ad
-7f
-01
-22
-90
-4c
-c5
-e0
-ff
-64
-03
-60
-04
-ef
-b4
-02
-07
-7f
-22
-11
-ad
-7f
-01
-22
-7f
-00
 22
 7b
 01
@@ -6138,7 +6137,7 @@
 e4
 90
 4f
-11
+10
 f0
 fe
 ef
@@ -6167,7 +6166,7 @@
 fc
 90
 4f
-11
+10
 e0
 ff
 74
@@ -6196,42 +6195,21 @@
 24
 ff
 22
-90
-4c
-c7
-e0
-64
-04
-60
-07
-90
-4c
-c5
-e0
-b4
-03
-03
-7f
-01
-22
-7f
-00
-22
 e4
 90
 4f
-07
+08
 f0
 90
 4c
-c8
+8c
 e0
 b4
 02
 06
 90
 4f
-07
+08
 e0
 ff
 22
@@ -6244,31 +6222,31 @@
 06
 90
 4f
-07
+08
 e0
 ff
 22
 90
 4c
-ee
+b7
 e0
 60
 06
 90
 4f
-07
+08
 e0
 ff
 22
 90
 4c
-c7
+8b
 e0
 70
 3f
 90
 4c
-c5
+89
 e0
 64
 03
@@ -6276,7 +6254,7 @@
 37
 90
 4c
-ef
+b8
 e0
 70
 3b
@@ -6289,7 +6267,7 @@
 34
 90
 4d
-ee
+f0
 e0
 64
 02
@@ -6297,7 +6275,7 @@
 2c
 90
 4c
-c3
+87
 e0
 ff
 c3
@@ -6312,18 +6290,18 @@
 50
 05
 12
-10
-d7
+11
+e2
 80
 17
 7f
 09
 12
-10
-d7
-90
+11
+e2
+90
 4f
-07
+08
 74
 01
 f0
@@ -6332,22 +6310,22 @@
 e4
 90
 4c
-eb
+b4
 f0
 90
 4f
-07
+08
 04
 f0
 90
 4f
-07
+08
 e0
 ff
 22
 90
 4c
-c7
+8b
 e0
 b4
 02
@@ -6355,456 +6333,466 @@
 7f
 0e
 12
-10
-ad
+13
+c9
 7f
 01
 22
 7f
 00
 22
-e4
 90
 4c
-f0
-f0
-90
-4d
-e8
-f0
+8b
+e0
+ff
+64
+04
+60
+04
+ef
+b4
+03
+08
+7f
+11
+12
+13
+c9
+7f
+01
 22
 90
 4c
-c0
+89
 e0
 ff
 64
-fe
-60
 03
+60
+04
 ef
-70
+b4
+02
 08
 7f
 22
 12
-10
-ad
+13
+c9
 7f
 01
 22
 7f
 00
 22
-7b
-01
-7a
-4c
-79
-f2
-7d
-02
-7c
-00
-7f
-be
-7e
-7f
-31
-41
 90
 4c
-f2
-e0
-04
-f0
-a3
+92
 e0
-04
-f0
+30
+e1
+3e
 90
 4c
-f2
+94
 e0
-90
-44
+c3
+94
 fa
+50
+03
+e0
+04
 f0
 90
 4c
-f3
+94
 e0
-90
-44
-fb
-f0
+64
+b4
+70
+37
 90
 4d
-d0
+e8
 e0
-90
-44
-fc
+04
 f0
-90
-4d
-d1
 e0
+d3
+94
+02
+50
+07
+e4
 90
-44
-fd
+4c
+94
 f0
+80
+24
 90
 4d
-d2
+e8
 e0
+b4
+03
+1d
 90
-44
-fe
+4d
+e0
+74
+01
 f0
-22
+e4
 90
-4e
-d3
-ec
-f0
-a3
-ed
-f0
-a3
-eb
-f0
-a3
-ea
-f0
-a3
-e9
+4c
+94
 f0
-90
+12
+17
+96
 80
-98
-74
-04
-f0
-a3
+0d
 e4
-f0
 90
-0c
-af
-74
-a0
+4d
+e8
 f0
-a3
-ee
+90
+4d
+e0
 f0
-a3
-ef
+90
+4c
+94
 f0
 90
-0c
-b2
+4c
+92
+e0
+30
+e4
+38
+90
+4c
+b3
 74
-a1
+0a
 f0
-7a
-0c
-79
-af
-7e
-0c
-7f
-af
-74
-af
-fc
-74
-0c
-ff
-ec
-fe
-ef
 90
-80
-9a
-ee
-f0
-a3
-ef
+4c
+95
+e0
+c3
+94
+fa
+50
+03
+e0
+04
 f0
 90
-4e
-d3
+4c
+95
 e0
-fc
-a3
+64
+06
+70
+48
+90
+4c
+87
 e0
-fa
-ec
 ff
-ea
+60
+04
+64
 fe
-ef
+70
+3d
+e4
 90
-80
-9e
-ee
+4c
+91
 f0
-a3
-ef
-f0
-7a
-0b
-79
-83
-7e
-0b
+11
+c7
 7f
-83
-74
-83
-fc
-74
-0b
-ff
-ec
-fe
-ef
-90
+0a
+12
+0f
+72
+7f
+0a
+12
+11
+e2
 80
-9c
-ee
-f0
-a3
-ef
-f0
+2a
 90
-80
+4c
+91
+e0
+60
+1f
+e4
+f0
+7f
+0d
+12
+11
+e2
 90
+4c
+b4
 74
-02
+01
 f0
 90
-80
-9c
-a3
+4c
+87
 e0
-20
-e7
-07
 90
-80
+4c
+84
+f0
 90
-e0
-44
+4c
+83
+74
 01
 f0
+31
+ed
+71
+37
+e4
 90
-80
-06
-e0
-44
-04
+4c
+95
 f0
-31
-f1
 90
-4e
-d5
+4c
+92
 e0
-a3
+20
+e3
+36
+90
+4c
+90
 e0
-fa
-a3
+60
+2b
+e4
+f0
+90
+4c
+87
 e0
-ae
-02
 ff
-7b
-01
-7a
-0b
-79
-83
 90
-4e
-d3
-e0
-a3
+4c
+84
 e0
+6f
+60
+1d
+12
+17
+bc
 90
-4e
-c8
+4c
+b4
+74
+01
 f0
-02
-08
-7d
 90
-81
-2c
+4c
+87
 e0
-30
-e5
-f9
-22
-90
-4e
-b6
-ee
-f0
-a3
-ef
-f0
 90
-4e
-ba
-eb
-f0
-a3
-ea
-f0
-a3
-e9
+4c
+84
 f0
 90
-4e
-b8
-ec
+4c
+83
+74
+01
 f0
-a3
+11
+c7
+31
 ed
-f0
-a3
-e0
-f9
-a3
-e0
-fa
-a3
-e0
+71
+37
+e4
 90
-4e
-a3
-c9
-f0
-a3
-ea
-f0
-a3
-e9
-f0
-a3
-ec
-f0
-a3
-ed
+4c
+96
 f0
-7b
-01
-7a
-0b
-79
-86
-12
-38
-8a
+22
 90
-0b
+4c
 83
-74
-a0
-f0
-90
-4e
-b6
 e0
 ff
-a3
-e0
-90
-0b
-84
-cf
-f0
-a3
-ef
-f0
+70
+02
+41
+87
+64
+01
+60
+05
+7f
+c8
+12
+0f
+72
+c2
+01
+7f
+ff
+12
+11
+d0
 90
-4e
-b9
+4c
+83
 e0
-24
-03
-fd
-90
-4e
-b8
-e0
-34
+64
+02
+70
+31
+7b
+01
+7a
+4c
+79
 00
+7d
+04
 fc
-ed
-fa
+7f
+52
+7e
+7f
+51
+88
+7b
+01
+7a
+4c
+79
+85
+7d
+01
+7c
+00
+7f
+57
+7e
+7f
+51
+88
+7b
+01
+7a
+4d
+79
 ec
-ff
-ea
-fe
-ef
-90
+7d
+01
+7c
+00
+7f
+56
+7e
+7f
+51
+88
 80
-98
-ee
-f0
-a3
-ef
-f0
+17
+90
+4c
+83
+e0
+b4
+03
+10
+7b
+01
 7a
-0b
+4d
 79
-83
+f4
+7d
+5d
+7c
+00
+7f
+60
 7e
-0b
 7f
-83
-74
-83
-fc
-74
-0b
+51
+88
+7b
+01
+7a
+4c
+79
+84
+7d
+01
+7c
+00
+7f
+bd
+7e
+7f
+51
+88
+7b
+01
+7a
+4c
+79
+bb
+7d
+02
+7c
+00
+7f
+be
+7e
+7f
+51
+88
+d2
+01
+7f
 ff
-ec
-fe
-ef
-a3
-ee
-f0
-a3
-ef
-f0
-90
-80
-9e
+12
+11
+d0
+7f
+0a
+12
+0f
+72
 e4
-f0
-a3
-f0
 90
-80
-90
-04
-f0
-90
-80
-06
-e0
-44
-04
+4c
+83
 f0
-21
-f1
+22
 90
 4e
-97
+99
 ee
 f0
 a3
@@ -6827,7 +6815,7 @@
 f0
 90
 4e
-99
+9b
 e0
 70
 02
@@ -6836,10 +6824,10 @@
 70
 02
 61
-41
+36
 90
 4e
-97
+99
 e0
 fe
 a3
@@ -6862,14 +6850,14 @@
 fe
 90
 4e
-9e
+a0
 f0
 a3
 ef
 f0
 90
 4e
-99
+9b
 e0
 fc
 a3
@@ -6883,7 +6871,7 @@
 0a
 90
 4e
-9e
+a0
 e0
 fe
 a3
@@ -6897,7 +6885,7 @@
 05
 90
 4e
-9e
+a0
 ee
 f0
 fc
@@ -6908,19 +6896,19 @@
 c3
 90
 4e
-9a
+9c
 e0
 9d
 f0
 90
 4e
-99
+9b
 e0
 9c
 f0
 90
 4e
-97
+99
 e0
 fe
 a3
@@ -6928,7 +6916,7 @@
 ff
 90
 4e
-9b
+9d
 e0
 fb
 a3
@@ -6937,16 +6925,17 @@
 a3
 e0
 f9
-31
-f9
+12
+21
+68
 7f
 0a
 12
-16
-f3
+0f
+72
 90
 4e
-9e
+a0
 e0
 fe
 a3
@@ -6954,7 +6943,7 @@
 ff
 90
 4e
-9c
+9e
 ee
 8f
 f0
@@ -6963,639 +6952,364 @@
 0e
 90
 4e
-98
+9a
 e0
 2f
 f0
 90
 4e
-97
+99
 e0
 3e
 f0
 41
-ab
+9f
 22
 90
-4c
-bf
-e0
-ff
-70
-02
-61
-dc
-64
+80
+10
+74
 01
-60
-05
-7f
-c8
+f0
+80
+fe
+22
+f1
+4e
+91
+f5
 12
-16
-f3
-c2
+0e
 01
-7f
-ff
-12
+31
+ed
 12
-bb
+10
+da
 90
-4c
-bf
+4d
+27
 e0
-64
-02
-70
-31
-7b
-01
-7a
-4c
-79
-00
-7d
-04
-fc
-7f
-52
-7e
-7f
-51
-94
-7b
-01
-7a
-4c
-79
-c1
-7d
-01
-7c
-00
-7f
-57
-7e
-7f
-51
-94
-7b
-01
-7a
-4d
-79
-ea
-7d
-01
-7c
-00
-7f
-56
-7e
-7f
-51
-94
-80
-17
+60
+03
+12
+0f
+97
 90
-4c
-bf
+0b
+7e
 e0
-b4
-03
-10
-7b
-01
-7a
-4d
-79
-f2
-7d
-5d
-7c
-00
-7f
+14
 60
-7e
-7f
-51
-94
-7b
-01
-7a
-4c
-79
-c0
-7d
-01
-7c
-00
-7f
-bd
-7e
-7f
-51
-94
-7b
-01
-7a
-4c
-79
-f2
-7d
-02
-7c
-00
-7f
-be
-7e
-7f
-51
-94
-d2
-01
+1f
+24
+fe
+70
+e2
+71
+bc
 7f
-ff
+1e
+91
+55
 12
+17
+bc
+7f
+1e
 12
-bb
+17
+f0
+40
+06
+d2
+05
 7f
-0a
+1e
+f1
+61
 12
-16
-f3
-e4
+0f
+8a
+80
+fe
 90
 4c
-bf
-f0
-22
+b3
+e0
+70
+24
 90
 4c
-ce
+b5
 e0
-30
-e1
-3e
+70
+1e
 90
 4c
-d0
-e0
-c3
-94
-fa
-50
-03
+ad
 e0
-04
-f0
+70
+18
 90
-4c
-d0
+4d
+db
 e0
-64
-b4
 70
-37
+12
 90
 4d
 e6
 e0
-04
-f0
+70
+0c
+90
+4c
+c1
 e0
-d3
-94
-02
-50
-07
-e4
+70
+06
 90
 4c
-d0
-f0
+d3
+e0
+60
+04
+f1
+b7
 80
-24
+99
+71
+bc
 90
-4d
-e6
+4c
+ca
 e0
-b4
+60
 03
-1d
-90
-4d
-df
-74
-01
-f0
-e4
-90
-4c
-d0
-f0
 12
 17
-bd
+bc
+12
+0f
+8a
 80
-0d
+89
+80
+87
+22
 e4
+ff
 90
-4d
-e6
-f0
-90
-4d
-df
-f0
-90
-4c
-d0
+4f
+0c
 f0
+fe
+fd
+ef
 90
-4c
-ce
-e0
-30
-e4
-39
-90
-4c
-ea
-74
-0a
-f0
-90
-4c
-d1
-e0
-c3
-94
-fa
-50
-03
-e0
-04
-f0
-90
-4c
-d1
-e0
-64
 06
-70
+81
+93
+60
 49
-90
-4c
+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
+82
+f5
+83
 e0
-ff
-60
-04
-64
-fe
+fc
+ed
+f4
+fb
+ec
+5b
+f0
+ee
+24
 70
-3e
+f5
+82
 e4
-90
-4c
-cd
-f0
-12
-17
-c6
-7f
-0a
-12
-16
-f3
-7f
-0a
-12
-10
-d7
+34
 80
-2a
-90
-4c
-cd
+f5
+83
 e0
-60
-1f
-e4
+4d
 f0
-7f
-0d
-12
-10
-d7
-90
-4c
-eb
+ee
+24
 74
-01
-f0
-90
-4c
-c3
+f5
+82
+e4
+34
+80
+f5
+83
 e0
-90
-4c
-c0
+5b
 f0
+0f
+80
+b0
+12
+36
+c9
 90
-4c
-bf
-74
-01
-f0
-71
-42
-d1
-c7
-e4
+81
+1c
+e0
 90
-4c
-d1
+4f
+0c
 f0
 90
-4c
-ce
+4d
 e0
-20
-e3
-36
-90
-4c
-cc
 e0
 60
-2b
+20
 e4
-f0
-90
-4c
-c3
-e0
 ff
-90
-4c
-c0
-e0
-6f
-60
-1d
-90
-4c
-eb
-74
-01
-f0
 91
-d7
-90
-4c
-c3
-e0
-90
-4c
-c0
-f0
-90
-4c
-bf
-74
-01
-f0
-12
-17
-c6
-71
-42
-d1
-c7
-e4
-90
-4c
-d2
-f0
-22
-c2
-06
+55
 7f
-0f
+01
 91
-ff
-c2
-06
+55
 7f
-10
+02
 91
-ff
-c2
-06
+55
 7f
-1f
+03
 91
-ff
-c2
-06
+55
 7f
-ff
+04
 91
-ff
-c2
-06
+55
 7f
-1f
+05
 91
-ff
-c2
-06
+55
 7f
-1f
-91
-ff
-c2
 06
+91
+55
 7f
-ff
-ac
 07
-ec
-f4
-60
-15
-af
-04
-d2
-04
-f1
-20
-af
-04
-a2
-06
-92
-01
-12
-12
-bb
-af
-04
-c2
-02
-d1
-f1
-22
-d1
-de
-12
-36
-52
-12
-0e
-04
-71
-42
-12
-12
-cd
-90
-4d
-7d
-e0
-60
-03
-12
-0f
-c8
-90
-0b
-7e
-e0
-14
-60
-1d
-24
-fe
-70
-e1
-b1
-8e
-7f
-1e
-d1
-27
-91
-d7
-7f
-1e
-12
-17
-f1
-40
-06
-d2
-05
-7f
-1e
-f1
-02
-d1
-d0
 80
-fe
-90
-4c
-ea
-e0
-70
-1e
-90
-4c
-ec
-e0
-70
-18
-90
-4c
-e5
-e0
-70
-12
+10
 90
-4d
-da
-e0
-70
+4f
 0c
-90
-4d
-e5
-e0
-70
-06
-90
-4c
-f8
 e0
-60
-04
-f1
-dc
-80
-a0
-b1
-8e
+ff
 90
-4d
-01
-e0
-60
-02
-91
-d7
-d1
-d0
-80
-92
-80
+00
+a3
+f0
+ef
+f4
 90
+00
+a7
+f0
 22
-e4
-ff
 90
 4f
-0d
-f0
-fe
-fd
+11
 ef
+f0
+12
+17
+f0
+92
+08
 90
-06
+4f
+11
+e0
+ff
+a2
+08
+b3
+92
+07
+ef
+f4
+70
+02
 81
-93
-60
-49
+f4
+ef
+54
+07
+fe
 ef
-93
-fd
 13
 13
 13
 54
-1f
-fe
-ed
-54
+03
+ff
+30
 07
+43
+24
+a3
+f5
+82
+e4
+34
+00
+f5
+83
+c0
+83
+c0
+82
+e0
 fd
 74
 01
 a8
-05
+06
 08
 80
 02
@@ -7603,214 +7317,34 @@
 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
+5d
+d0
 82
-e4
-34
-80
-f5
+d0
 83
-e0
-4d
 f0
-ee
-24
 74
+a7
+2f
 f5
 82
 e4
 34
-80
+00
 f5
 83
+c0
+83
+c0
+82
 e0
-5b
-f0
-0f
-80
-b0
-12
-39
-0d
-90
-81
-1c
-e0
-90
-4f
-0d
-f0
-90
-4d
-df
-e0
-60
-20
-e4
-ff
-d1
-27
-7f
-01
-d1
-27
-7f
-02
-d1
-27
-7f
-03
-d1
-27
-7f
-04
-d1
-27
-7f
-05
-d1
-27
-7f
-06
-d1
-27
-7f
-07
-80
-10
-90
-4f
-0d
-e0
-ff
-90
-00
-a3
-f0
-ef
-f4
-90
-00
-a7
-f0
-22
-90
-4f
-12
-ef
-f0
-12
-17
-f1
-92
-08
-90
-4f
-12
-e0
-ff
-a2
-08
-b3
-92
-07
-ef
-f4
-70
-02
-c1
-c6
-ef
-54
-07
-fe
-ef
-13
-13
-13
-54
-03
-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
-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
+ff
+74
+01
+a8
+06
+08
 80
 02
 c3
@@ -7877,215 +7411,166 @@
 5e
 f0
 22
+7a
+0c
+79
+4b
 90
-80
-10
+4e
+f2
 74
 01
 f0
-80
-fe
-22
-e4
-90
-0b
-7f
+a3
+74
+0c
 f0
-90
-0b
-7e
+a3
+74
+4b
 f0
-7f
-01
+90
+4b
+a0
+e0
+fe
+a3
+e0
+ff
+90
+4b
+9e
+e0
+6e
+70
+03
+a3
+e0
+6f
+70
 02
-16
-f3
-7b
-01
-7a
-4e
-79
-5a
-78
-6c
-7c
-4e
-7d
-01
+c1
+a4
 7e
-00
+0c
 7f
-12
-02
+4b
+7d
 03
+d1
+fe
 90
-ef
-f4
-60
-0c
-7b
-01
-7a
-80
-79
-78
-a2
+4e
+f2
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+f9
+12
+03
+b6
+b4
 02
-92
-00
-f1
-79
-22
-ac
-07
-ec
-f4
-60
-17
-af
-04
-a2
-05
-92
-03
-f1
-68
-af
-04
-a2
-05
-b3
-92
-02
-d1
-f1
-af
-04
-c2
-04
-f1
-20
-22
-ef
-f4
-60
-0c
-7b
-01
-7a
-80
-79
-70
-a2
-04
-92
-00
-f1
-79
-22
-12
-30
-3d
-f1
-3e
-d2
-05
-7f
-1e
-f1
-02
-81
-d7
+2b
 90
-80
-80
+4e
+f3
 e4
+75
 f0
+02
+12
+04
+0e
+90
+4e
+f2
+e0
+fb
 a3
-f0
+e0
+fa
 a3
-f0
+e0
+f9
 12
-2c
-df
-e4
-90
-4f
-0c
-f0
-f0
+03
+b6
+ff
 90
-4f
-0c
+4e
+6e
 e0
-90
-06
-81
-93
-ff
-60
-0c
-c2
+a3
+e0
+fa
+a3
+e0
+f5
+82
+8a
+83
+12
 05
-f1
-02
+dd
+c1
+a4
 90
-4f
-0c
+4e
+f2
+e0
+fb
+a3
 e0
+fa
+a3
+e0
+f9
+12
+03
+b6
+64
 04
+70
+59
+90
+4e
+f3
+75
 f0
-80
-e9
-22
-ef
-f4
-60
-0c
-7b
 01
-7a
-80
-79
-7c
-a2
-03
-92
-00
-f1
-79
-22
+12
+04
+0e
+7e
+0c
+7f
+4e
 90
 4e
-fc
-eb
-f0
+f2
+e0
+fb
 a3
-ea
-f0
+e0
+fa
 a3
-e9
-f0
-e4
-fe
-fd
-ef
-54
-07
-fe
-ef
-13
-13
-13
-54
+e0
+f9
+12
 03
+b6
+14
 fd
-30
-00
-22
+d1
+fe
 90
 4e
-fc
+f2
 e0
 fb
 a3
@@ -8093,380 +7578,293 @@
 fa
 a3
 e0
-2d
+24
+01
 f9
 e4
 3a
 fa
-12
-03
-b6
-ff
-74
-01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
-4f
+c0
 02
-03
-fc
+c0
+01
 90
 4e
-fc
+f2
 e0
-fb
 a3
 e0
 fa
 a3
 e0
-2d
 f9
-e4
-3a
-fa
 12
 03
 b6
-ff
-74
+fd
+7c
+00
+90
+4e
+71
+e0
+a3
+e0
+fa
+a3
+e0
+f5
+82
+8a
+83
+d0
 01
-a8
-06
-08
-80
-02
-c3
-33
-d8
-fc
-f4
-5f
+d0
 02
+12
+05
+dd
+c1
+a4
+90
+4e
+f2
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+f9
+12
 03
-fc
-a1
-1b
+b6
+64
+05
+70
+59
 90
-0b
-7f
-74
-01
+4e
+f3
+75
 f0
-e4
-90
-0b
+01
+12
+04
+0e
 7e
-f0
-22
+0c
+7f
+4e
 90
-4c
-c3
+4e
+f2
 e0
-14
-90
-4f
-08
-f0
-e4
-90
-4d
-e1
-f0
-90
-4f
-08
+fb
+a3
 e0
-fd
-7f
-02
+fa
+a3
+e0
+f9
 12
-08
 03
+b6
+14
+fd
+d1
+fe
 90
-4f
-08
-e0
-ff
-60
-3c
-90
-4d
+4e
 f2
 e0
-64
-02
-70
-34
-ef
-75
-f0
-1f
-a4
+fb
+a3
+e0
+fa
+a3
+e0
 24
-f3
+01
 f9
-74
-4d
-35
-f0
+e4
+3a
 fa
+c0
+02
+c0
+01
 90
 4e
-b2
-74
-01
-f0
-a3
-ea
-f0
+f2
+e0
 a3
-e9
-f0
+e0
+fa
 a3
-74
-06
-f0
-7b
-01
-7a
-4d
-79
-f3
-11
-fb
-ef
-60
-0c
-7b
-01
-7a
-4d
-79
-f2
-7d
-1f
+e0
+f9
+12
+03
+b6
+fd
 7c
 00
-11
-ce
 90
-4f
-08
+4e
+7a
 e0
-ff
-64
+a3
+e0
+fa
+a3
+e0
+f5
+82
+8a
+83
+d0
 01
-60
-3c
+d0
+02
+12
+05
+dd
+80
+6d
 90
 4e
-11
+f2
 e0
+fb
+a3
+e0
+fa
+a3
+e0
+f9
+12
+03
+b6
 64
-02
+03
 70
-34
-ef
-75
-f0
-1f
-a4
-24
-f3
-f9
-74
-4d
-35
-f0
-fa
+59
 90
 4e
-b2
-74
-01
-f0
-a3
-ea
-f0
-a3
-e9
-f0
-a3
-74
-06
+f3
+75
 f0
-7b
 01
-7a
-4e
-79
 12
-11
-fb
-ef
-60
+04
+0e
+7e
 0c
-7b
-01
-7a
+7f
 4e
-79
-11
-7d
-1f
-7c
-00
-11
-ce
 90
-4f
-08
+4e
+f2
 e0
-ff
-64
-02
-60
-3c
+fb
+a3
+e0
+fa
+a3
+e0
+f9
+12
+03
+b6
+14
+fd
+d1
+fe
 90
 4e
-30
+f2
+e0
+fb
+a3
+e0
+fa
+a3
 e0
-64
-02
-70
-34
-ef
-75
-f0
-1f
-a4
 24
-f3
+01
 f9
-74
-4d
-35
-f0
+e4
+3a
 fa
+c0
+02
+c0
+01
 90
 4e
-b2
-74
-01
-f0
-a3
-ea
-f0
+f2
+e0
 a3
-e9
-f0
+e0
+fa
 a3
-74
-06
-f0
-7b
-01
-7a
-4e
-79
-31
-11
-fb
-ef
-60
-0c
-7b
-01
-7a
-4e
-79
-30
-7d
-1f
+e0
+f9
+12
+03
+b6
+fd
 7c
 00
-11
-ce
-22
 90
 4e
-f9
-eb
-f0
-a3
-ea
-f0
+7d
+e0
 a3
-e9
-f0
-ed
-1d
-ae
-04
-70
-01
-1c
-4e
-60
-17
-90
-4e
-f9
 e0
-fb
+fa
 a3
-e4
-75
-f0
+e0
+f5
+82
+8a
+83
+d0
 01
+d0
+02
 12
-04
-24
-a9
-f0
-fa
-74
-ff
-12
-03
-fc
+05
+dd
 80
-df
-22
+02
+80
+fe
 90
-4e
-af
-eb
-f0
-a3
-ea
-f0
+4b
+a5
+e0
+fe
 a3
-e9
-f0
-e4
+e0
 ff
 90
-4e
-b5
+4c
+3e
 e0
-fe
-ef
-c3
-9e
-50
-30
+6e
+70
+03
+a3
+e0
+6f
+60
+22
 90
 4e
-b2
+74
 e0
 fb
 a3
@@ -8475,18 +7873,42 @@
 a3
 e0
 f9
-8f
-82
-75
-83
-00
+4a
+60
+37
 12
-03
+05
+d9
+90
+4b
+a5
+e0
+ff
+a3
+e0
+90
+4c
+3e
 cf
-fe
+f0
+a3
+ef
+f0
+80
+ca
+90
+4c
+6d
+e0
+ff
+a3
+e0
+6f
+60
+19
 90
 4e
-af
+77
 e0
 fb
 a3
@@ -8495,243 +7917,410 @@
 a3
 e0
 f9
-8f
-82
-75
-83
-00
-12
-03
-cf
-6e
+4a
 60
-03
-7f
-00
-22
-0f
-80
-c6
-7f
-01
-22
-e4
+0b
+12
+05
+d9
 90
-4e
-8c
-f0
+4c
+6d
+e0
 a3
 f0
-a3
-f0
-a3
-f0
-a3
+80
+dd
+22
+90
+4f
+04
+ee
 f0
 a3
+ef
 f0
+a9
+05
+90
+4b
+9e
+e0
+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
+4f
+04
+e4
+75
 f0
-a3
+01
+12
+04
+24
+85
 f0
-a3
+82
+f5
+83
+ed
 f0
-a3
+ad
+07
+ac
+06
+bc
+4b
+d4
+bd
+9a
+d1
+7e
+4b
+7f
+36
+80
+cb
+90
+4b
+9e
+ee
 f0
 a3
+ef
 f0
-12
-2c
-fd
+22
+7b
+01
 7a
-4d
+4e
 79
-a8
-90
+5c
+78
+6e
+7c
 4e
-b2
-74
+7d
 01
-f0
-a3
-74
-4d
-f0
-a3
-74
-a8
-f0
+7e
+00
+7f
+12
+02
+03
+90
+ac
+07
+ec
+f4
+60
+17
+af
+04
+a2
+05
+92
+03
+f1
+91
+af
+04
+a2
+05
+b3
+92
+02
+f1
+7f
+af
+04
+c2
+04
+f1
 a3
-74
-14
-f0
+22
+ef
+f4
+60
+0d
 7b
 01
 7a
-4d
+80
 79
-bc
-11
-fb
+78
+a2
+02
+92
+00
+12
+36
+29
+22
 ef
+f4
 60
-16
+0d
 7b
 01
 7a
-4d
+80
 79
-bc
-7d
-14
-71
-ea
+7c
+a2
+03
+92
+00
+12
+36
+29
+22
 ef
+f4
+60
+0d
+7b
+01
+7a
+80
+79
 70
-09
+a2
+04
+92
+00
+12
+36
+29
+22
+61
+40
 90
-4c
-ce
-e0
-44
-02
+0b
+7f
+74
+01
 f0
-80
-0c
+e4
 90
-4c
-ce
-e0
-54
-fd
+0b
+7e
 f0
-e4
+22
+12
+33
+b2
+f1
+d1
+d2
+05
+7f
+1e
+f1
+61
+02
+17
+bc
 90
-4c
-d0
+80
+80
+e4
 f0
+a3
+f0
+a3
+f0
+12
+31
+49
 e4
 90
-4e
-8c
+4f
+0b
+f0
 f0
 90
-4e
-8c
+4f
+0b
 e0
-ff
 90
 06
 81
 93
-70
-02
-41
-76
-74
-bc
-2f
-f5
-82
-e4
-34
-4d
-f5
-83
-e0
-90
-4e
-8f
-f0
-e0
 ff
-71
-91
-90
-4e
-96
-ef
-f0
-c3
-94
-02
-50
-02
-41
-5f
-e4
+60
+0c
+c2
+05
+f1
+61
 90
-4e
-8d
+4f
+0b
+e0
+04
 f0
+80
+e9
+22
 90
-4e
-8d
+4c
+84
 e0
 ff
-c3
-94
+64
+fe
+60
+03
+ef
+70
 08
-50
-7b
-74
+7f
+22
+12
+13
+c9
+7f
 01
-7e
+22
+7f
 00
-a8
-07
-08
-80
-05
-c3
-33
-ce
-33
-ce
-d8
-f9
-ff
+22
 90
-4e
-8f
-e0
-fd
-e4
-ef
+4d
+f0
+74
+02
+f0
+7b
+01
+7a
+4d
+79
+f4
+7d
 5d
+7c
+00
+7f
 60
-58
-e4
-90
-4e
-8e
-f0
+7e
+7f
+11
+b0
+7f
+0a
+12
+0f
+72
+7b
+01
+7a
+4c
+79
+00
+7d
+04
+7c
+00
+7f
+52
+7e
+7f
+11
+b0
+7f
+0a
+12
+0f
+72
+7b
+01
+7a
+4d
+79
+ec
+7d
+01
+7c
+00
+7f
+56
+7e
+7f
+11
+b0
+7f
+0a
+12
+0f
+72
+7b
+01
+7a
+4c
+79
+85
+7d
+01
+7c
+00
+7f
+57
+7e
+7f
+11
+b0
+7f
+0a
+12
+0f
+72
 90
-4e
-8e
+4c
+87
 e0
 ff
-90
-06
-81
-93
-60
-48
-90
-4e
-8c
-e0
-fe
+d3
+94
+03
+50
+1e
 ef
-6e
-60
-37
-90
-4e
-8e
+c3
+94
+01
+40
+18
 e0
+75
+f0
+1f
+a4
 24
-bc
+f3
 f5
 82
 e4
@@ -8740,1805 +8329,1315 @@
 f5
 83
 e0
-fd
-7c
-00
 90
-4e
-8d
-e0
-ff
-74
-01
-7e
-00
-a8
-07
-08
+4d
+ec
+f0
+12
+11
+e2
 80
 05
-c3
-33
-ce
-33
-ce
-d8
-f9
-ff
-ee
-5c
-fe
-ef
-5d
-4e
-60
+7f
 08
+12
+11
+e2
 90
-4e
-95
-74
+4d
+ec
+e0
+d3
+94
 01
+40
+02
+e4
 f0
-80
-08
 90
-4e
-8e
+4c
+85
 e0
+d3
+94
 04
+40
+02
+e4
 f0
-80
-ad
+22
 90
 4e
-8d
-e0
-04
+d5
+ec
 f0
-21
-da
-90
-4e
-8f
-e0
-ff
-60
-08
-71
-91
-90
-4e
-93
-e0
-2f
+a3
+ed
+f0
+a3
+eb
+f0
+a3
+ea
+f0
+a3
+e9
 f0
 90
-4e
-8c
-e0
+80
+98
+74
 04
 f0
-21
-a9
+a3
+e4
+f0
 90
-4e
-93
-e0
+0c
+af
+74
+a0
+f0
+a3
+ee
+f0
+a3
+ef
+f0
 90
-4d
-e7
+0c
+b2
+74
+a1
 f0
-e4
+7a
+0c
+79
+af
+7e
+0c
+7f
+af
+74
+af
+fc
+74
+0c
+ff
+ec
+fe
+ef
 90
-4e
-8c
+80
+9a
+ee
+f0
+a3
+ef
 f0
 90
 4e
-8c
+d5
 e0
+fc
+a3
+e0
+fa
+ec
 ff
+ea
+fe
+ef
 90
-06
-81
-93
-70
-02
-61
-65
-74
-93
-2f
-f5
-82
-e4
-34
-4d
-f5
+80
+9e
+ee
+f0
+a3
+ef
+f0
+7a
+0b
+79
+83
+7e
+0b
+7f
 83
-e0
-fe
 74
-bc
-2f
-f5
-82
-e4
-34
-4d
-f5
 83
-e0
-6e
+fc
+74
+0b
+ff
+ec
+fe
+ef
 90
-4e
-8f
+80
+9c
+ee
+f0
+a3
+ef
 f0
 90
-4e
-8c
-e0
-ff
-24
-bc
-f5
-82
-e4
-34
-4d
-f5
-83
+80
+90
+74
+02
+f0
+90
+80
+9c
+a3
 e0
+20
+e7
+07
 90
-4e
-92
+80
+90
+e0
+44
+01
 f0
 90
-4e
-8f
+80
+06
 e0
-70
+44
 04
-61
-5d
-61
-5d
+f0
+31
+60
 90
 4e
-95
+d7
 e0
-60
-07
+a3
+e0
+fa
+a3
+e0
+ae
+02
+ff
 7b
-00
+01
 7a
-00
+0b
 79
-00
-22
-74
-bc
-2f
-f5
-82
-e4
-34
-4d
-f5
-83
-e0
-fe
-74
-93
-2f
-f5
-82
-e4
-34
-4d
-f5
 83
-ee
-f0
-e4
 90
 4e
-8d
-f0
+d5
+e0
+a3
+e0
 90
 4e
-8d
-e0
-ff
-c3
-94
+ca
+f0
+02
 08
-50
-5a
+7d
 90
-4e
-8f
+81
+2c
 e0
 30
-e0
-3b
+e5
+f9
+22
 90
 4e
-8c
-e0
-fe
-33
-33
-33
-54
-f8
-fe
+b8
+ee
+f0
+a3
 ef
-4e
+f0
 90
 4e
-91
+bc
+eb
 f0
 a3
-e0
-ff
-90
-4e
-91
-e0
-90
-06
-96
-93
-fd
-b1
-6d
-90
-4e
-94
-ef
+ea
+f0
+a3
+e9
 f0
 90
 4e
-92
-e0
-30
+ba
+ec
+f0
+a3
+ed
+f0
+a3
 e0
-09
-90
-4e
-94
+f9
+a3
 e0
-ff
-91
-6d
-80
-07
-90
-4e
-94
+fa
+a3
 e0
-ff
-91
-c3
 90
 4e
-8f
-e0
-ff
-c3
-13
+a5
+c9
 f0
-90
-4e
-92
-e0
-ff
-c3
-13
+a3
+ea
 f0
-90
-4e
-8d
-e0
-04
+a3
+e9
 f0
-80
-9c
-90
-4e
+a3
+ec
+f0
+a3
+ed
+f0
+7b
+01
+7a
+0b
+79
+86
+71
+0a
 90
+0b
+83
 74
-01
+a0
 f0
 90
 4e
-8c
+b8
 e0
-04
+ff
+a3
+e0
+90
+0b
+84
+cf
+f0
+a3
+ef
 f0
-41
-83
 90
 4e
-4f
+bb
 e0
-b4
+24
 03
-0a
+fd
 90
-4d
-e2
+4e
+ba
 e0
-b4
-01
-03
+34
+00
+fc
+ed
+fa
+ec
+ff
+ea
+fe
+ef
+90
+80
+98
+ee
+f0
+a3
+ef
+f0
+7a
+0b
+79
+83
+7e
+0b
+7f
+83
 74
-02
+83
+fc
+74
+0b
+ff
+ec
+fe
+ef
+a3
+ee
+f0
+a3
+ef
 f0
 90
-4e
+80
+9e
+e4
+f0
+a3
+f0
 90
-e0
-70
-07
+80
 90
-4d
-e2
+04
+f0
+90
+80
+06
 e0
-b4
-02
-07
+44
+04
+f0
+21
+60
 7b
 01
 7a
-4e
-79
-a8
-22
-7b
-00
-7a
-00
+4c
 79
+bb
+7d
+02
+7c
 00
-22
-e4
-fe
-ef
-60
-06
-14
-5f
-ff
-0e
-80
-f7
-af
-06
-22
-90
-4e
-e7
-e4
-f0
-a3
-f0
-a3
-f0
-71
-d2
-50
-25
-31
-45
+7f
+be
+7e
+7f
+11
+b0
 90
-4e
-e7
-eb
-f0
-a3
-ea
+4c
+bb
+e0
+04
 f0
 a3
-e9
+e0
+04
 f0
-4a
-70
-07
 90
 4c
-b6
-04
+bb
+e0
+90
+44
+fa
 f0
-80
-57
 90
-4e
-e7
+4c
+bc
 e0
+90
+44
 fb
-a3
-e0
-fa
-a3
-e0
-f9
-12
-08
-c0
-22
+f0
 90
-4b
-9c
-e0
-fe
-a3
+4d
+d0
 e0
-ff
 90
-4b
-9a
-e0
-b5
-06
-07
-a3
+44
+fc
+f0
+90
+4d
+d1
 e0
-b5
-07
-02
-d3
-22
-c3
-22
 90
-4e
-f0
-eb
-f0
-a3
-ea
-f0
-a3
-e9
+44
+fd
 f0
-e4
-ff
-ef
-c3
-9d
-50
-1b
 90
-4e
-f0
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-f9
-8f
-82
-75
-83
-00
-12
-03
-cf
-60
-03
-7f
-00
-22
-0f
-80
+4d
+d2
 e0
-7f
-01
+90
+44
+fe
+f0
 22
 90
 4d
-46
+f1
 e0
 60
-4c
-90
-4d
+3c
 e0
+14
+f0
 e0
 70
-46
+36
 90
 4c
-c5
-e0
-64
-03
-70
-3e
-90
-4d
-e9
+b6
 e0
-ff
+b4
+05
+2f
 90
-4d
-f1
+47
+f5
 e0
-6f
-60
-2a
-7b
-01
-7a
-48
-79
-00
-7d
-09
-7c
-00
-12
-0d
-01
+20
+e3
+28
 e4
 90
-4e
-4f
+4d
+d5
 f0
 90
-48
-00
+4c
+b1
+74
 04
 f0
+a3
+74
+b0
+f0
+e4
 90
-4d
-46
-e0
-90
-48
-02
+4c
+b7
 f0
-7b
-01
-7a
-48
-79
-00
-7d
-09
-12
-0c
-1e
 90
-4d
-e9
-e0
+4e
+5b
+f0
 90
 4d
-f1
+d3
 f0
-22
+51
+02
+7f
+0d
+12
+13
+c9
 e4
-fe
-ef
-c3
-94
+90
+4c
+b6
+f0
+22
+90
+4c
+ac
 e0
-40
-20
-ef
-d3
-94
-e7
-50
-1a
+04
+f0
+70
+06
 90
-4e
-a8
+4c
+ab
 e0
-fe
-ef
-54
-07
-ff
-74
-01
-a8
-07
-08
-80
+04
+f0
+51
+f9
+12
+0e
+85
+12
+18
+f4
+51
+45
+90
+4c
+b1
+e0
+70
 02
-c3
-33
-d8
-fc
-4e
+a3
+e0
+60
+30
+e4
 90
-4e
-a8
+4c
+ab
 f0
-22
-e4
-fe
-74
-a9
-2e
-f5
-82
-e4
+a3
+f0
+90
+4c
+b2
+e0
+24
+ff
+f0
+90
+4c
+b1
+e0
 34
-4e
-f5
-83
+ff
+f0
+e0
+70
+02
+a3
 e0
-fd
-6f
-60
-1c
-ed
 70
 14
 90
-4d
+4c
+88
+e0
+90
+4c
+87
 f0
+90
+4c
+84
+f0
+7f
+0d
+12
+11
+e2
+12
+17
+96
+90
+4c
+b7
 e0
-6f
 60
-12
-74
-a9
-2e
-f5
-82
+18
 e4
-34
-4e
-f5
-83
-ef
+90
+4c
+ab
 f0
-22
-0e
-ee
-b4
-06
-d5
-22
-e4
-fe
-fd
-ef
-54
+a3
 f0
-64
+90
+4c
+b7
+e0
+14
 f0
-60
-07
-ef
-54
-d0
-fc
-bc
-d0
-0c
+e0
+70
+08
+7f
+0a
+12
+0f
+72
+12
+17
+96
+22
 90
-4e
-4f
+4c
+9a
 e0
-b4
-02
-0b
+60
+0a
+14
+f0
+e0
+70
+05
 74
-03
+05
 f0
-80
-06
+71
+4e
+22
 90
-4d
-e2
-74
-01
+4e
+a2
+eb
+f0
+a3
+ea
+f0
+a3
+e9
 f0
-ef
-c3
-94
-e0
-40
-21
-ef
-d3
-94
-e7
-50
-1b
 90
 4e
 a8
-e0
-fe
-ef
-54
-07
-ff
 74
-01
-a8
-07
-08
-80
-02
-c3
-33
-d8
-fc
-f4
-5e
-90
-4e
-a8
-f0
-22
-e4
-fe
-ed
-70
-21
-74
-a9
-2e
+ff
 f5
-82
-e4
-34
+f0
+12
+04
+24
+45
+f0
+60
+2a
+90
 4e
-f5
-83
+a5
 e0
-6f
-70
-47
-ee
-b4
-05
-0b
+fb
+a3
+e4
+75
+f0
+01
+12
+04
 24
 a9
-f5
-82
-e4
-34
+f0
+fa
+12
+03
+b6
+ff
+90
 4e
-f5
-83
+a2
+e0
+fb
+a3
 e4
+75
 f0
-7d
 01
-80
-34
-74
+12
+04
+24
 a9
-2e
-f5
-82
-e4
-34
+f0
+fa
+ef
+12
+03
+fc
+80
+c8
+22
+90
 4e
-f5
-83
+d1
+12
+05
+82
+00
+00
+00
+00
+90
+4c
+71
 e0
-fc
-74
-a8
-2e
+fe
+a3
+e0
+ff
+c3
+90
+4c
+76
+e0
+9f
+90
+4c
+75
+e0
+9e
+50
+02
+a1
+6d
+90
+4c
+75
+e0
+fe
+a3
+e0
+ff
+90
+4c
+9b
+e0
+fd
+04
+f0
+ed
+25
+e0
+24
+9d
 f5
 82
 e4
 34
-4e
+4c
 f5
 83
-ec
+ee
 f0
-74
-a9
-2e
-f5
-82
+a3
+ef
+f0
+90
+4c
+9b
+e0
+c3
+94
+04
+40
+02
 e4
-34
+f0
+e4
+90
 4e
-f5
-83
+d0
+f0
+90
+4e
+d1
+e0
+f8
+a3
+e0
+f9
+a3
+e0
+fa
+a3
+e0
+fb
+90
+4e
+d0
+e0
+25
 e0
-60
-14
-ee
-b4
-05
-0b
 24
-a9
+9d
 f5
 82
 e4
 34
-4e
+4c
 f5
 83
-e4
-f0
-0e
-ee
-b4
-06
+e0
+fe
 a3
-22
-e4
-90
-4f
-0a
-f0
-ef
-30
 e0
-05
+ff
 e4
+fc
+fd
+eb
+2f
+ff
+ea
+3e
+fe
+ed
+39
+fd
+ec
+38
+fc
 90
-4c
-f8
-f0
+4e
+d1
+12
+05
+76
 90
-4f
-0a
-ed
+4e
+d0
+e0
+04
 f0
-90
-4c
-c1
 e0
-60
-2e
-ed
 b4
-e6
-08
-90
-4f
-0a
-74
-e7
-f0
-80
-22
-ed
-b4
-e4
-08
-90
-4f
-0a
-74
-e6
-f0
-80
-16
-ed
-b4
-e3
-08
-90
-4f
-0a
-74
-e2
-f0
-80
-0a
-ed
-b4
-e2
-06
-90
-4f
-0a
-74
-e3
-f0
-90
-4e
-59
-e0
-60
-02
-c1
-5e
-90
-4d
-e5
-e0
-70
-02
-c1
-5e
-ed
-24
-c6
-b4
-0c
-00
-40
-02
-c1
-5e
-90
-25
-dc
-75
-f0
-03
-a4
-c5
-83
-25
-f0
-c5
-83
-73
-02
-26
-00
-02
-26
-08
-02
-26
-10
-02
-26
-18
-02
-26
-20
-02
-26
-28
-02
-26
-30
-02
-26
-38
-02
-26
-40
-02
-26
-48
-02
-26
-50
-02
-26
-58
-90
-4f
-0a
-74
-f9
-f0
-80
-56
-90
-4f
-0a
-74
-d6
-f0
-80
-4e
-90
-4f
-0a
-74
-fa
-f0
-80
-46
-90
-4f
-0a
-74
-fb
-f0
-80
-3e
-90
-4f
-0a
-74
-f1
-f0
-80
-36
-90
-4f
-0a
-74
-f3
-f0
-80
-2e
-90
-4f
-0a
-74
-f4
-f0
-80
-26
-90
-4f
-0a
-74
-f2
-f0
-80
-1e
-90
-4f
-0a
-74
-f5
-f0
-80
-16
-90
-4f
-0a
-74
-f8
-f0
-80
-0e
-90
-4f
-0a
-74
-f6
-f0
-80
-06
-90
-4f
-0a
-74
-f7
-f0
-90
-4f
-0a
-e0
-ff
-22
-ad
-07
-ac
-06
-90
-4e
-4f
-e0
-64
-02
-60
-0e
-74
-01
-f0
-90
-4e
-50
-04
-f0
-ef
-a3
-f0
-ee
-a3
-f0
-22
-90
-4e
-d8
-eb
-f0
-a3
-ea
-f0
-a3
-e9
-f0
-e4
-a3
-f0
-f0
-90
-4e
-db
-e0
-ff
-c3
-94
-06
-40
-03
-02
-29
-98
-90
-4e
-d8
-e0
-fb
-a3
-e0
-fa
-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
-02
-29
-8f
-12
-03
-b6
-fb
-b4
-f1
-09
-7f
-83
-7e
-01
-d1
-64
-02
-29
-64
-eb
-b4
-f2
-09
-7f
-cd
-7e
-00
-d1
-64
-02
-29
-64
-90
-4e
-d8
-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
-07
-7f
-b7
-d1
-64
-02
-29
-64
-eb
-b4
-f4
-09
-7f
-b6
-7e
-00
-d1
-64
-02
-29
-64
+04
+bf
 90
 4e
-d8
+d1
 e0
-fb
+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
-f5
-07
-7f
-b5
-d1
-64
-02
-29
-64
-eb
-b4
-f6
-09
-7f
-ea
-7e
-00
-d1
-64
-02
-29
-64
+04
+c5
 90
 4e
-d8
+d1
+12
+05
+76
+90
+4c
+a7
 e0
-fb
+fe
 a3
 e0
-fa
+ff
+e4
+fc
+fd
+90
+4e
+d1
+e0
+f8
 a3
 e0
-24
-01
 f9
-e4
-3a
-fa
 a3
 e0
-7e
-00
-29
-f9
-ee
-3a
 fa
-12
-03
-b6
+a3
+e0
 fb
-b4
-f7
+d3
+12
+05
+65
+50
 07
-7f
-e9
-d1
-64
-02
-29
-64
-eb
-b4
-f8
-09
-7f
-e2
-7e
-00
-d1
-64
-02
-29
-64
+e4
 90
-4e
-d8
-e0
-fb
-a3
+4c
+c2
+f0
+81
+a5
+90
+4c
+c3
 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
-f9
-08
-7f
-94
-0e
-d1
-64
-02
-29
-64
-eb
-b4
-fa
-09
-7f
-8a
-7e
-01
-d1
-64
-02
-29
-64
+fc
+fd
 90
 4e
-d8
+d1
 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
 fb
+c3
+12
+05
+65
+40
 08
-7f
-92
-0e
-d1
-64
-02
-29
-64
-eb
-b4
-d0
-09
-7f
-2a
-7e
-02
-d1
-64
-02
-29
+90
+4c
+c2
+74
 64
+f0
+80
+5b
+90
+4c
+a7
+e0
+fe
+a3
+e0
+ff
+fb
+aa
+06
+e4
 90
 4e
-d8
+d1
 e0
-fb
+fc
 a3
 e0
-fa
+fd
 a3
 e0
-24
-01
-f9
-e4
-3a
-fa
+fe
 a3
 e0
-7e
-00
-29
-f9
+c3
+9b
+ff
 ee
-3a
-fa
-12
-03
-b6
-fb
-b4
-d1
-09
-7f
-25
-7e
-02
-12
-26
-64
-21
+9a
+fe
+ed
+94
+00
+fd
+ec
+94
+00
+fc
+e4
+7b
 64
-eb
-b4
-d3
-09
-7f
-26
-7e
-02
+fa
+f9
+f8
 12
-26
-64
-21
-64
+04
+3a
+c0
+06
+c0
+07
 90
-4e
-d8
+4c
+a7
 e0
-fb
+fe
 a3
 e0
-fa
-a3
+ff
+c3
+90
+4c
+c4
 e0
-24
-01
-f9
-e4
-3a
-fa
-a3
+9f
+ff
+90
+4c
+c3
 e0
-7e
-00
-29
-f9
-ee
-3a
+9e
+fe
+ab
+07
 fa
+e4
+f9
+f8
+d0
+07
+d0
+06
 12
-03
-b6
-fb
-b4
-d2
-09
-7f
-24
-7e
-02
-12
-26
-64
-21
-64
-eb
-b4
-d4
-09
-7f
-27
-7e
-02
-12
-26
-64
-21
-64
+04
+c5
 90
-4e
-d8
+4c
+c2
+ef
+f0
+90
+4c
+a7
 e0
-fb
+fe
 a3
 e0
-fa
+ff
+e4
+fc
+fd
+90
+4e
+d1
+e0
+f8
 a3
 e0
-24
-01
 f9
-e4
-3a
-fa
 a3
 e0
-7e
-00
-29
-f9
-ee
-3a
 fa
+a3
+e0
+fb
+c3
 12
-03
-b6
+05
+65
+50
+27
+90
+4c
+9c
+74
+02
+f0
+90
+4c
+c9
+e0
+64
+02
+70
+02
+a1
+65
+90
+4c
+c8
+74
+01
+f0
 fb
-b4
-d5
-09
+7a
+4c
+79
+c8
+fd
+7c
+00
 7f
-21
+c0
 7e
-02
+7f
 12
-26
-64
-21
+1a
+88
+80
+7a
+90
+4c
+c9
+e0
 64
-eb
+02
+60
+07
+90
+4c
+c8
+e0
 b4
-d6
-09
+01
+15
+e4
+90
+4c
+c8
+f0
+7b
+01
+7a
+4c
+79
+c8
+7d
+01
+fc
 7f
-23
+c0
 7e
-02
+7f
 12
-26
-64
-21
-64
+1a
+88
 90
-4e
-d8
+4c
+a5
 e0
-fb
+fe
 a3
 e0
-fa
+ff
+e4
+fc
+fd
+90
+4e
+d1
+e0
+f8
 a3
 e0
-24
-01
 f9
-e4
-3a
-fa
 a3
 e0
-7e
-00
-29
-f9
-ee
-3a
 fa
-12
-03
-b6
+a3
+e0
 fb
-b4
-d7
-07
-7f
-70
-12
-26
-64
-21
-64
-eb
-b4
-d8
-09
-7f
-6f
-7e
-00
+c3
 12
-26
-64
-21
-64
+05
+65
+50
+1d
 90
-4e
-d8
+4c
+9c
+74
+01
+f0
+90
+4c
+ca
 e0
-fb
+70
+2b
+90
+4c
+ef
+f0
 a3
-e0
-fa
+74
+48
+f0
+a3
+74
+12
+f0
+e4
 a3
+f0
+80
+1a
+e4
+90
+4c
+9c
+f0
+90
+4c
+ca
 e0
-24
-01
-f9
+70
+0f
+90
+4c
+ef
+f0
+a3
+74
+48
+f0
+a3
+74
+5d
+f0
 e4
-3a
-fa
 a3
+f0
+90
+4c
+9c
 e0
-7e
-00
-29
-f9
-ee
-3a
-fa
-12
-03
-b6
-fb
-b4
-d9
+90
+4c
+c9
+f0
+22
+ad
 07
-7f
-b8
-12
-26
-64
-80
-7d
-eb
-b4
-da
-09
-7f
-30
-7e
-00
-12
-26
-64
-80
-70
+ac
+06
 90
 4e
-d8
+51
 e0
-fb
+64
+02
+60
+0e
+74
+01
+f0
+90
+4e
+52
+04
+f0
+ef
 a3
-e0
-fa
+f0
+ee
 a3
-e0
-24
-01
-f9
+f0
+22
+90
+4e
+da
+eb
+f0
+a3
+ea
+f0
+a3
+e9
+f0
 e4
-3a
-fa
 a3
+f0
+f0
+90
+4e
+dd
 e0
-7e
-00
-29
-f9
-ee
-3a
-fa
-12
-03
-b6
-fb
-b4
-db
-09
-7f
+ff
+c3
+94
 06
-7e
-03
-12
-26
-64
-80
-47
-eb
-b4
-dc
-09
-7f
-07
-7e
+40
 03
-12
-26
-64
-80
-3a
+02
+28
+a0
 90
 4e
-d8
+da
 e0
 fb
 a3
@@ -10552,11 +9651,10 @@
 e4
 3a
 fa
-a3
-e0
 7e
 00
-29
+e9
+2f
 f9
 ee
 3a
@@ -10564,46 +9662,55 @@
 12
 03
 b6
-fe
-b4
-dd
-06
-7f
-01
-31
-99
-80
-14
-ee
-b4
-de
-06
-7f
-02
-31
-99
-80
+ff
+54
+f0
+64
+f0
+60
 0a
+ef
+54
+d0
+64
+d0
+60
+03
+02
+28
+97
 12
 03
 b6
+fb
 b4
-df
-04
+f1
+09
 7f
-04
-31
-99
-90
-4e
-4f
-e0
+83
+7e
+01
+b1
+6e
+02
+28
+6c
+eb
 b4
+f2
+09
+7f
+cd
+7e
+00
+b1
+6e
 02
-24
+28
+6c
 90
 4e
-d8
+da
 e0
 fb
 a3
@@ -10629,82 +9736,33 @@
 12
 03
 b6
-90
-4d
-f0
-f0
-e4
-12
-03
-fc
-90
-4e
-db
-e0
-04
-f0
-02
-26
-8e
-22
-90
-4e
-4f
-e0
-64
+fb
+b4
+f3
+07
+7f
+b7
+b1
+6e
 02
-60
-12
-74
-04
-f0
-90
-4d
-ec
-74
-01
-f0
-90
-4e
-50
-74
-06
-f0
-a3
-ef
-f0
-22
-90
-4e
-e4
-e4
-f0
-a3
-f0
-a3
-f0
-12
-21
-45
-90
-4e
-e4
+28
+6c
 eb
-f0
-a3
-ea
-f0
-a3
-e9
-f0
-4a
-70
+b4
+f4
+09
+7f
+b6
+7e
+00
+b1
+6e
 02
-81
-26
+28
+6c
 90
 4e
-e4
+da
 e0
 fb
 a3
@@ -10712,80 +9770,51 @@
 fa
 a3
 e0
+24
+01
 f9
-90
+e4
+3a
+fa
+a3
+e0
+7e
 00
-01
+29
+f9
+ee
+3a
+fa
 12
 03
-cf
-ff
-70
-02
-81
-26
-64
-28
-60
-05
-ef
-64
-58
-70
-32
-90
-4c
-c8
-e0
+b6
+fb
 b4
-02
-10
+f5
+07
 7f
-29
-12
-10
-ad
-90
-4c
-c8
-74
-03
-f0
-e4
-90
-4d
-d8
-f0
-90
-4c
-ca
-e0
-64
-02
-60
+b5
+b1
+6e
 02
-81
-26
-90
-42
-5e
-04
-f0
-7f
-0a
-12
-10
-ad
-90
-4c
-ca
-74
-03
-f0
-22
+28
+6c
+eb
+b4
+f6
+09
+7f
+ea
+7e
+00
+b1
+6e
+02
+28
+6c
 90
 4e
-e4
+da
 e0
 fb
 a3
@@ -10793,92 +9822,104 @@
 fa
 a3
 e0
+24
+01
 f9
-90
+e4
+3a
+fa
+a3
+e0
+7e
 00
-01
+29
+f9
+ee
+3a
+fa
 12
 03
-cf
-ff
-d3
-94
-62
-40
-02
-41
-f2
-ef
-c3
-94
-59
-50
+b6
+fb
+b4
+f7
+07
+7f
+e9
+b1
+6e
 02
-41
-f2
-ef
+28
+6c
+eb
 b4
-62
-38
-90
-05
-4f
-e0
-ff
-04
-f0
-74
-50
-2f
-f5
-82
-e4
-34
-05
-f5
-83
-74
-30
-f0
+f8
+09
+7f
+e2
+7e
+00
+b1
+6e
+02
+28
+6c
 90
-4d
-39
-e0
-fc
-a3
+4e
+da
 e0
-fd
+fb
 a3
 e0
-fe
+fa
 a3
 e0
-ff
+24
+01
+f9
 e4
-7b
-0a
+3a
 fa
+a3
+e0
+7e
+00
+29
 f9
-f8
-12
-04
+ee
 3a
-90
-4d
-39
+fa
 12
-05
-76
-90
-4d
-d8
-e0
-04
-f0
-22
+03
+b6
+fb
+b4
+f9
+08
+7f
+94
+0e
+b1
+6e
+02
+28
+6c
+eb
+b4
+fa
+09
+7f
+8a
+7e
+01
+b1
+6e
+02
+28
+6c
 90
 4e
-e4
+da
 e0
 fb
 a3
@@ -10886,115 +9927,106 @@
 fa
 a3
 e0
-f9
-90
-00
-01
-12
-03
-cf
 24
-d8
-ff
-90
-05
-4f
-e0
-fe
-04
-f0
-74
-50
-2e
-f5
-82
+01
+f9
 e4
-34
-05
-f5
-83
-ef
-f0
-90
+3a
+fa
+a3
+e0
+7e
 00
-01
+29
+f9
+ee
+3a
+fa
 12
 03
-cf
-24
-a8
-ff
-e4
-34
-ff
-fe
-e4
-fc
-fd
-c0
-04
-c0
-05
-c0
-06
-c0
-07
+b6
+fb
+b4
+fb
+08
 7f
-0a
-fe
+92
+0e
+b1
+6e
+02
+28
+6c
+eb
+b4
+d0
+09
+7f
+2a
+7e
+02
+b1
+6e
+02
+28
+6c
 90
-4d
-39
-e0
-f8
-a3
+4e
+da
 e0
-f9
+fb
 a3
 e0
 fa
 a3
 e0
-fb
-12
-04
-3a
-d0
-03
-d0
-02
-d0
+24
 01
-d0
+f9
+e4
+3a
+fa
+a3
+e0
+7e
 00
-ef
-2b
-ff
+29
+f9
 ee
 3a
-fe
-ed
-39
-fd
-ec
-38
-fc
-90
-4d
-39
+fa
 12
-05
-76
-90
-4d
-d8
-e0
-04
-f0
-22
+03
+b6
+fb
+b4
+d1
+09
+7f
+25
+7e
+02
+b1
+6e
+02
+28
+6c
+eb
+b4
+d3
+09
+7f
+26
+7e
+02
+b1
+6e
+02
+28
+6c
 90
 4e
-e4
+da
 e0
 fb
 a3
@@ -11002,92 +10034,159 @@
 fa
 a3
 e0
+24
+01
 f9
-90
+e4
+3a
+fa
+a3
+e0
+7e
 00
-01
+29
+f9
+ee
+3a
+fa
 12
 03
-cf
-ff
-d3
-94
-27
-40
+b6
+fb
+b4
+d2
+09
+7f
+24
+7e
 02
-61
-c3
-ef
-c3
-94
-1e
-50
+b1
+6e
 02
-61
-c3
-ef
+28
+6c
+eb
 b4
+d4
+09
+7f
 27
-38
+7e
+02
+b1
+6e
+02
+28
+6c
 90
-05
-4f
+4e
+da
 e0
-ff
-04
-f0
-74
-50
-2f
-f5
-82
-e4
-34
-05
-f5
-83
-74
-30
-f0
-90
-4d
-39
+fb
+a3
 e0
-fc
+fa
 a3
 e0
-fd
+24
+01
+f9
+e4
+3a
+fa
 a3
 e0
-fe
+7e
+00
+29
+f9
+ee
+3a
+fa
+12
+03
+b6
+fb
+b4
+d5
+09
+7f
+21
+7e
+02
+b1
+6e
+02
+28
+6c
+eb
+b4
+d6
+09
+7f
+23
+7e
+02
+b1
+6e
+02
+28
+6c
+90
+4e
+da
+e0
+fb
 a3
 e0
-ff
+fa
+a3
+e0
+24
+01
+f9
 e4
-7b
-0a
+3a
 fa
+a3
+e0
+7e
+00
+29
 f9
-f8
-12
-04
+ee
 3a
-90
-4d
-39
+fa
 12
-05
-76
-90
-4d
+03
+b6
+fb
+b4
+d7
+07
+7f
+70
+b1
+6e
+02
+28
+6c
+eb
+b4
 d8
-e0
-04
-f0
-22
+09
+7f
+6f
+7e
+00
+b1
+6e
+02
+28
+6c
 90
 4e
-e4
+da
 e0
 fb
 a3
@@ -11095,115 +10194,103 @@
 fa
 a3
 e0
-f9
-90
-00
-01
-12
-03
-cf
 24
-13
-ff
-90
-05
-4f
-e0
-fe
-04
-f0
-74
-50
-2e
-f5
-82
+01
+f9
 e4
-34
-05
-f5
-83
-ef
-f0
-90
+3a
+fa
+a3
+e0
+7e
 00
-01
+29
+f9
+ee
+3a
+fa
 12
 03
-cf
-24
-e3
-ff
-e4
-34
-ff
-fe
-e4
-fc
-fd
-c0
-04
-c0
-05
-c0
+b6
+fb
+b4
+d9
 06
-c0
-07
 7f
-0a
-fe
+b8
+b1
+6e
+80
+7c
+eb
+b4
+da
+08
+7f
+30
+7e
+00
+b1
+6e
+80
+70
 90
-4d
-39
+4e
+da
 e0
-f8
+fb
 a3
 e0
-f9
+fa
 a3
 e0
+24
+01
+f9
+e4
+3a
 fa
 a3
 e0
-fb
-12
-04
-3a
-d0
-03
-d0
-02
-d0
-01
-d0
+7e
 00
-ef
-2b
-ff
+29
+f9
 ee
 3a
-fe
-ed
-39
-fd
-ec
-38
-fc
-90
-4d
-39
+fa
 12
-05
-76
-90
-4d
-d8
-e0
-04
-f0
-22
+03
+b6
+fb
+b4
+db
+09
+7f
+06
+7e
+03
+12
+25
+6e
+80
+47
+eb
+b4
+dc
+09
+7f
+07
+7e
+03
+12
+25
+6e
+80
+3a
 90
 4e
-e4
+da
 e0
 fb
 a3
@@ -11211,408 +10298,484 @@
 fa
 a3
 e0
+24
+01
 f9
-90
+e4
+3a
+fa
+a3
+e0
+7e
 00
-01
+29
+f9
+ee
+3a
+fa
 12
 03
-cf
-64
-2a
-70
-40
-90
-05
-4f
-e0
-60
-10
-e0
-ff
+b6
+fe
+b4
+dd
+06
+7f
+01
+11
+a1
+80
 14
-f0
-74
-50
-2f
-f5
-82
-e4
-34
-05
-f5
-83
-e4
-f0
-90
-4d
-d8
-e0
-60
-32
+ee
+b4
+de
+06
+7f
+02
+11
+a1
+80
+0a
+12
+03
+b6
+b4
+df
+04
+7f
+04
+11
+a1
 90
-4d
-39
+4e
+51
 e0
-fc
-a3
+b4
+02
+24
+90
+4e
+da
 e0
-fd
+fb
 a3
 e0
-fe
+fa
 a3
 e0
-ff
+24
+01
+f9
 e4
-7b
-0a
+3a
 fa
+a3
+e0
+7e
+00
+29
 f9
-f8
+ee
+3a
+fa
 12
-04
-c5
+03
+b6
 90
 4d
-39
+f2
+f0
+e4
 12
-05
-76
+03
+fc
 90
-4d
-d8
+4e
+dd
 e0
-14
+04
 f0
+02
+25
+98
 22
 90
 4e
-e4
-e0
-fb
-a3
-e0
-fa
-a3
+51
 e0
-f9
+64
+02
+60
 12
-08
-c0
-22
+74
+04
+f0
 90
-4e
-ea
-eb
+4d
+ee
+74
+01
 f0
-a3
-ea
+90
+4e
+52
+74
+06
 f0
 a3
-e9
+ef
 f0
-e4
-ff
-fe
+22
 90
-4d
-e5
+4c
+f5
 e0
-64
-01
 60
-08
+4c
 90
 4d
-dd
+e1
 e0
-64
-01
 70
-68
-7e
-05
-ad
-06
-1e
-ed
-60
-6a
+46
 90
-4e
-ea
-e0
-fb
-a3
-e0
-fa
-a3
+4c
+89
 e0
-24
-01
-f9
-e4
-3a
-fa
-ee
-7c
-00
-29
-f9
-ec
-3a
-fa
-12
+64
 03
-b6
+70
+3e
+90
+4d
+eb
+e0
 ff
-b4
-1e
-db
 90
 4d
-e5
+f3
 e0
-b4
+6f
+60
+2a
+7b
 01
-d4
-12
-17
-c6
-7f
-0a
+7a
+48
+79
+00
+7d
+09
+7c
+00
 12
-16
-f3
+0d
+01
+e4
 90
-4c
-e9
-74
+4e
+51
 f0
+90
+48
+00
+04
 f0
-e4
 90
 4c
-ee
+f5
+e0
+90
+48
+02
 f0
-7f
-05
-12
-10
-d7
+7b
+01
+7a
+48
+79
+00
+7d
+09
 12
-1c
-d7
-e4
+0c
+1d
 90
-4c
-cc
+4d
+eb
+e0
+90
+4d
+f3
 f0
+22
 90
-4c
-eb
-04
+4e
+e6
+e4
+f0
+a3
+f0
+a3
 f0
+71
+9b
+50
+25
+31
+42
 90
-4c
-c0
-e0
+4e
+e6
+eb
+f0
+a3
+ea
+f0
+a3
+e9
+f0
+4a
+70
+07
 90
 4c
-c4
+7a
+04
 f0
+80
+89
 90
-4c
-c3
+4e
+e6
+e0
+fb
+a3
+e0
+fa
+a3
 e0
-90
-4c
+f9
+12
+08
 c0
-f0
-7f
-01
 22
-80
-0a
+e4
 90
-4c
-ce
-e0
-54
-e7
+4e
+8e
 f0
-54
-df
+a3
 f0
-7f
-00
-22
+a3
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+a3
+f0
+b1
+2d
+7a
+4d
+79
+a8
 90
-4c
-f5
-ed
+4e
+b4
+74
+01
 f0
 a3
-eb
+74
+4d
+f0
+a3
+74
+a8
+f0
+a3
+74
+14
 f0
+7b
+01
+7a
+4d
+79
+bc
+71
+e3
 ef
-30
-e0
-12
+60
+16
+7b
+01
+7a
+4d
+79
+bc
+7d
+14
+71
+b3
+ef
+70
+09
 90
 4c
-f4
+92
 e0
-b4
-03
-04
-74
+44
 02
 f0
-22
+80
+0c
 90
 4c
-f4
-74
-01
+92
+e0
+54
+fd
 f0
-22
+e4
 90
 4c
-f4
-74
-04
+94
 f0
-22
 e4
 90
-4f
-0b
-f0
+4e
+8e
 f0
 90
-4f
-0b
+4e
+8e
 e0
 ff
-c3
-94
-08
-50
-0d
-c2
-05
-12
-1f
-02
 90
-4f
-0b
+06
+81
+93
+70
+02
+41
+72
+74
+bc
+2f
+f5
+82
+e4
+34
+4d
+f5
+83
 e0
-04
+90
+4e
+91
 f0
-80
-e9
-22
-e4
+e0
 ff
+71
+8d
 90
 4e
-ed
-f0
-fe
-fd
-a3
+98
+ef
 f0
-a3
+c3
+94
+02
+50
+02
+41
+5b
+e4
+90
+4e
+8f
 f0
-ef
 90
-06
-81
-93
-60
-7c
-ef
-93
-fd
-13
-13
-13
-54
-1f
-fe
-ed
-54
-07
-fd
+4e
+8f
+e0
+ff
+c3
+94
+08
+50
+7b
 74
 01
+7e
+00
 a8
-05
+07
 08
 80
-02
+05
 c3
 33
+ce
+33
+ce
 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
+f9
+ff
+90
+4e
+91
 e0
-4d
-f0
-ee
-24
-74
-f5
-82
+fd
 e4
-34
-80
-f5
-83
-e0
-5b
+ef
+5d
+60
+58
+e4
+90
+4e
+90
 f0
 90
+4e
+90
+e0
+ff
+90
+06
 81
-1c
+93
+60
+48
+90
+4e
+8e
 e0
-f4
-fc
-74
+fe
+ef
+6e
+60
+37
+90
+4e
+90
+e0
+24
 bc
-2f
 f5
 82
 e4
@@ -11620,188 +10783,115 @@
 4d
 f5
 83
-ec
-f0
-ee
-24
-78
-fb
-e4
-34
-80
-8b
-82
-f5
-83
 e0
-4d
-f0
-ee
-24
-70
-fb
-e4
-34
-80
-8b
-82
-f5
-83
+fd
+7c
+00
+90
+4e
+8f
 e0
-fc
-ed
-f4
-fb
-ec
-5b
-f0
-0f
-a1
-09
-e4
 ff
-ef
-90
-06
-81
-93
-60
-7c
-ef
-93
-fd
-13
-13
-13
-54
-1f
-fe
-ed
-54
-07
-fd
 74
 01
+7e
+00
 a8
-05
+07
 08
 80
-02
+05
 c3
 33
+ce
+33
+ce
 d8
-fc
-fd
+f9
+ff
 ee
-24
-78
-fb
-e4
-34
-80
-8b
-82
-f5
-83
-e0
-fc
-ed
-f4
-fb
-ec
-5b
+5c
+fe
+ef
+5d
+4e
+60
+08
+90
+4e
+97
+74
+01
 f0
-ee
-24
-70
-f5
-82
-e4
-34
 80
-f5
-83
+08
+90
+4e
+90
 e0
-4d
+04
 f0
-ee
-24
-74
-f5
-82
-e4
-34
 80
-f5
-83
+ad
+90
+4e
+8f
 e0
-5b
+04
 f0
+21
+d6
 90
-81
-1c
+4e
+91
+e0
+ff
+60
+08
+71
+8d
+90
+4e
+95
 e0
-f4
-fc
-74
-a8
 2f
-f5
-82
-e4
-34
-4d
-f5
-83
-ec
 f0
-ee
-24
-78
-fb
-e4
-34
-80
-8b
-82
-f5
-83
+90
+4e
+8e
+e0
+04
+f0
+21
+a5
+90
+4e
+95
 e0
+90
 4d
+e9
 f0
-ee
-24
-70
-fb
 e4
-34
-80
-8b
-82
-f5
-83
-e0
-fc
-ed
-f4
-fb
-ec
-5b
+90
+4e
+8e
 f0
-0f
-a1
+90
+4e
 8e
-e4
+e0
 ff
-ef
 90
 06
 81
 93
-60
-40
+70
+02
+61
+61
 74
-bc
+93
 2f
 f5
 82
@@ -11813,7 +10903,7 @@
 e0
 fe
 74
-a8
+bc
 2f
 f5
 82
@@ -11824,8 +10914,52 @@
 83
 e0
 6e
+90
+4e
+91
+f0
+90
+4e
+8e
+e0
+ff
+24
+bc
+f5
+82
+e4
+34
+4d
+f5
+83
+e0
+90
+4e
+94
+f0
+90
+4e
+91
+e0
+70
+04
+61
+59
+61
+59
+90
+4e
+97
+e0
 60
-23
+07
+7b
+00
+7a
+00
+79
+00
+22
 74
 bc
 2f
@@ -11836,14 +10970,10 @@
 4d
 f5
 83
-c0
-83
-c0
-82
 e0
 fe
 74
-a8
+93
 2f
 f5
 82
@@ -11852,2581 +10982,2788 @@
 4d
 f5
 83
-e0
-fd
 ee
-5d
-d0
-82
-d0
-83
 f0
-0f
-80
-b9
-7f
-1e
-12
-17
-f1
 e4
-33
-ff
 90
-4c
-c3
+4e
+8f
 f0
-bf
-01
-0f
 90
-4c
-c0
+4e
+8f
 e0
 ff
-64
-fe
-60
-03
-ef
-70
-03
-02
-1e
-c7
-90
-4c
-c3
-e0
-60
-07
-90
-4c
-c0
-e0
-b4
-fe
-0a
-90
-4c
-c0
-e0
-b4
-01
-03
-12
-1e
-c7
-22
-90
-4c
 c3
-e0
-b4
-01
-07
-d2
-01
-7f
-1f
-02
-12
-bb
+94
+08
+50
+5a
 90
-4c
-c3
+4e
+91
 e0
-b4
-02
-07
-d2
-01
-7f
-ff
-02
-12
-bb
-90
-4c
-c3
+30
 e0
-b4
-03
-07
-d2
-06
-7f
-ff
-02
-1c
-ff
-d2
-01
-7f
-1f
-02
-12
-bb
+3b
 90
-4c
-c3
+4e
+8e
 e0
-b4
-01
-07
-c2
-01
-7f
-1f
-02
-12
-bb
+fe
+33
+33
+33
+54
+f8
+fe
+ef
+4e
 90
-4c
-c3
+4e
+93
+f0
+a3
 e0
-b4
-02
-07
-c2
-01
-7f
 ff
-02
-12
-bb
 90
-4c
-c3
+4e
+93
 e0
-b4
-03
-07
-c2
-01
-7f
-ff
-02
-12
-bb
-c2
-01
-7f
-1f
-02
-12
-bb
-12
-32
-4c
 90
-4c
-ea
-e0
-60
-02
-14
-f0
+06
+96
+93
+fd
+f1
+79
 90
-4c
+4e
+96
 ef
-e0
-60
-02
-14
 f0
 90
-4c
-f8
+4e
+94
 e0
-60
-2a
-14
-f0
+30
 e0
-70
-25
+09
 90
-4d
-0c
+4e
+96
 e0
 ff
-b4
-01
-0e
+91
+2d
+80
+07
 90
-4c
-f4
-74
-09
+4e
+96
+e0
+ff
+91
+83
+90
+4e
+91
+e0
+ff
+c3
+13
 f0
 90
-4d
-0c
-74
-02
+4e
+94
+e0
+ff
+c3
+13
+f0
+90
+4e
+8f
+e0
+04
 f0
 80
-0f
-ef
-b4
-02
-0b
+9c
 90
-4c
-f4
+4e
+92
 74
-06
+01
 f0
-e4
 90
-4d
-0c
+4e
+8e
+e0
+04
 f0
+41
+7f
 90
-4c
-e5
+4e
+51
 e0
-60
-24
+b4
+03
+0a
 90
-4c
-ee
+4d
+e3
+e0
+b4
+01
+03
+74
+02
+f0
+90
+4e
+92
 e0
 70
-06
+07
 90
-4c
-e9
+4d
+e3
 e0
+b4
+02
+07
+7b
+01
+7a
+4e
+79
+aa
+22
+7b
+00
+7a
+00
+79
+00
+22
+e4
+fe
+ef
 60
 06
-e4
-90
-4c
-e5
-f0
-22
-90
-4c
-e5
-e0
 14
-f0
-d1
-90
-90
-4c
-e5
-e0
-70
-50
-d1
-c1
+5f
+ff
+0e
 80
-4c
+f7
+af
+06
+22
 90
-4c
-e9
+4b
+9c
 e0
-70
-46
-90
-4c
-ee
+fe
+a3
 e0
-70
-40
+ff
 90
-4c
-e2
+4b
+9a
 e0
-60
-3a
-14
-f0
+b5
+06
+07
+a3
 e0
-ff
+b5
+07
+02
+d3
+22
 c3
-94
-08
-50
-1b
-e4
+22
 90
-41
-31
-f0
+4e
 ef
-30
-e1
-09
-d2
-01
-7f
-1f
-12
-12
-bb
-80
-16
-c2
-01
-7f
-1f
-12
-12
-bb
-80
-0d
-90
-41
-31
-74
-01
+eb
 f0
-c2
-01
-7f
-1f
-12
-12
-bb
-90
-4c
-e2
-e0
-70
-03
-74
-0c
+a3
+ea
+f0
+a3
+e9
 f0
+e4
+ff
+ef
+c3
+9d
+50
+1b
 90
-4d
-df
+4e
+ef
 e0
-70
-36
-90
-4d
+fb
+a3
 e0
+fa
+a3
 e0
-64
+f9
+8f
+82
+75
+83
+00
+12
+03
+cf
+60
+03
+7f
+00
+22
+0f
+80
+e0
+7f
 01
-70
-2e
+22
 90
-4c
-e3
+4e
+b1
+eb
 f0
 a3
+ea
 f0
-90
-4d
-e0
+a3
+e9
 f0
+e4
+ff
 90
 4e
-50
+b7
 e0
-60
-0d
-7b
-01
-7a
-4e
-79
+fe
+ef
+c3
+9e
 50
-7d
-03
-12
-0c
-1e
-80
-11
+30
 90
-48
-00
+4e
+b4
 e0
-60
-0b
-7b
-01
-7a
-48
-79
+fb
+a3
+e0
+fa
+a3
+e0
+f9
+8f
+82
+75
+83
 00
-7d
-09
 12
-0c
-1e
+03
+cf
+fe
 90
-4d
-db
+4e
+b1
 e0
-60
-09
+fb
+a3
 e0
-14
-f0
+fa
+a3
 e0
-70
-03
+f9
+8f
+82
+75
+83
+00
 12
-1e
-c7
-90
-4d
-d5
-e0
+03
+cf
+6e
 60
-11
-e0
-14
-f0
+03
+7f
+00
+22
+0f
+80
+c6
+7f
+01
+22
+e4
+fe
+ef
+c3
+94
 e0
-70
-0b
+40
+20
+ef
+d3
+94
+e7
+50
+1a
 90
-4d
-3d
+4e
+aa
 e0
-70
-05
-7f
-1b
-12
-10
-ad
+fe
+ef
+54
+07
+ff
+74
+01
+a8
+07
+08
+80
+02
+c3
+33
+d8
+fc
+4e
 90
-4d
-e9
-e0
-60
-29
-e0
-14
+4e
+aa
 f0
+22
+e4
+fe
+74
+ab
+2e
+f5
+82
+e4
+34
+4e
+f5
+83
 e0
+fd
+6f
+60
+1c
+ed
 70
-23
+14
 90
 4d
-46
+f2
 e0
+6f
 60
-02
+12
+74
+ab
+2e
+f5
+82
 e4
+34
+4e
+f5
+83
+ef
 f0
-90
-4c
-c7
-e0
+22
+0e
+ee
 b4
-04
-07
-90
-42
-13
-74
-0c
+06
+d5
+22
+e4
+fe
+fd
+ef
+54
+f0
+64
 f0
-22
+60
+07
+ef
+54
+d0
+fc
+bc
+d0
+0c
 90
-4c
-c9
+4e
+51
 e0
 b4
-04
-06
-90
-42
-13
+02
+0b
 74
-3a
+03
 f0
-22
-90
 80
-91
-74
-0d
-f0
-a3
-04
-f0
-a3
-f0
-a3
-f0
-a3
-f0
-a3
-14
-f0
-22
-12
-0d
-2d
-11
-85
+06
 90
-4c
-eb
+4d
+e3
 74
 01
 f0
+ef
+c3
+94
+e0
+40
+21
+ef
+d3
+94
+e7
+50
+1b
 90
-4c
-e5
+4e
+aa
+e0
+fe
+ef
+54
+07
+ff
 74
-1e
-f0
-e4
+01
+a8
+07
+08
+80
+02
+c3
+33
+d8
+fc
+f4
+5e
 90
-4c
-f0
+4e
+aa
 f0
-90
-4d
-10
+22
+e4
+fe
+ed
+70
+21
 74
-ff
-f0
-90
-44
-fc
+ab
+2e
+f5
+82
+e4
+34
+4e
+f5
+83
 e0
-90
-4d
-d0
+6f
+70
+47
+ee
+b4
+05
+0b
+24
+ab
+f5
+82
+e4
+34
+4e
+f5
+83
+e4
 f0
-90
-44
-fd
+7d
+01
+80
+34
+74
+ab
+2e
+f5
+82
+e4
+34
+4e
+f5
+83
 e0
-90
-4d
-d1
+fc
+74
+aa
+2e
+f5
+82
+e4
+34
+4e
+f5
+83
+ec
 f0
-90
-44
-fe
+74
+ab
+2e
+f5
+82
+e4
+34
+4e
+f5
+83
 e0
-90
-4d
-d2
+60
+14
+ee
+b4
+05
+0b
+24
+ab
+f5
+82
+e4
+34
+4e
+f5
+83
+e4
 f0
+0e
+ee
+b4
+06
+a3
 22
+e4
+ff
 90
-4c
-d3
-74
-05
+4e
+ec
 f0
-e4
+fe
+fd
 a3
 f0
-90
-4d
-0b
-e0
-60
-02
-21
-68
-90
-4f
-0f
+a3
 f0
+ef
 90
-4f
-0f
-e0
-ff
+06
+81
+93
+60
+7c
+ef
+93
+fd
+13
+13
+13
+54
+1f
+fe
+ed
+54
+07
+fd
+74
+01
+a8
+05
+08
+80
+02
 c3
-94
-04
-50
-19
-ef
-25
+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
-d6
+70
 f5
 82
 e4
 34
-4c
+80
 f5
 83
-74
-51
-f0
-a3
-f0
-90
-4f
-0f
 e0
-04
+4d
 f0
+ee
+24
+74
+f5
+82
+e4
+34
 80
-dd
-90
-4c
-93
-e0
-ff
-a3
+f5
+83
 e0
-90
-4c
-fa
-cf
-f0
-a3
-ef
+5b
 f0
 90
-4c
-91
-e0
-fe
-a3
-e0
-ff
-c3
-90
-4c
-94
-e0
-9f
-fd
-90
-4c
-93
+81
+1c
 e0
-9e
+f4
 fc
+74
+bc
+2f
+f5
+82
 e4
-12
-02
-06
-7b
-29
-7a
-5c
-79
-4f
+34
+4d
+f5
+83
+ec
+f0
+ee
+24
 78
-3f
-12
-00
 fb
-c0
-04
-c0
-05
-c0
-06
-c0
-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
-02
-3f
-90
-4c
-de
-ee
-f0
-a3
-ef
-f0
-90
-4c
-91
-e0
-fe
-a3
-e0
-ff
-c3
-90
-4c
-94
-e0
-9f
-fd
-90
-4c
-93
+34
+80
+8b
+82
+f5
+83
 e0
-9e
-fc
-e4
-12
-02
-06
-74
-33
-fb
-fa
-f9
-78
-3f
-12
-00
+4d
+f0
+ee
+24
+70
 fb
-c0
-04
-c0
-05
-c0
-06
-c0
-07
-90
-4c
-91
+e4
+34
+80
+8b
+82
+f5
+83
 e0
 fc
-a3
-e0
-fd
+ed
+f4
+fb
+ec
+5b
+f0
+0f
+a1
+39
 e4
-12
-02
+ff
+ef
+90
 06
-d0
-03
-d0
-02
-d0
+81
+93
+60
+7c
+ef
+93
+fd
+13
+13
+13
+54
+1f
+fe
+ed
+54
+07
+fd
+74
 01
-d0
-00
-12
-00
-0a
-12
+a8
+05
+08
+80
 02
-3f
-90
-4c
-e0
+c3
+33
+d8
+fc
+fd
 ee
-f0
-a3
-ef
-f0
-22
+24
+78
+fb
 e4
-90
-4f
-0f
-f0
-90
-4f
-0f
-e0
-ff
-c3
-94
-04
-50
-19
-ef
-25
+34
+80
+8b
+82
+f5
+83
 e0
+fc
+ed
+f4
+fb
+ec
+5b
+f0
+ee
 24
-d6
+70
 f5
 82
 e4
 34
-4c
+80
 f5
 83
-74
-51
-f0
-a3
-f0
-90
-4f
-0f
 e0
-04
+4d
 f0
+ee
+24
+74
+f5
+82
+e4
+34
 80
-dd
-90
-4c
-93
-e0
-ff
-a3
+f5
+83
 e0
-90
-4c
-fa
-cf
-f0
-a3
-ef
+5b
 f0
 90
-4c
-91
-e0
-fe
-a3
-e0
-ff
-c3
-90
-4c
-94
-e0
-9f
-fd
-90
-4c
-93
+81
+1c
 e0
-9e
+f4
 fc
+74
+a8
+2f
+f5
+82
 e4
-12
-02
-06
-7b
-b8
-7a
-1e
-79
-85
+34
+4d
+f5
+83
+ec
+f0
+ee
+24
 78
-3f
-12
-00
 fb
-c0
-04
-c0
-05
-c0
-06
-c0
-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
-02
-3f
-90
-4c
-de
+34
+80
+8b
+82
+f5
+83
+e0
+4d
+f0
 ee
+24
+70
+fb
+e4
+34
+80
+8b
+82
+f5
+83
+e0
+fc
+ed
+f4
+fb
+ec
+5b
 f0
-a3
+0f
+a1
+be
+e4
+ff
 ef
-f0
 90
-4c
-91
+06
+81
+93
+60
+40
+74
+bc
+2f
+f5
+82
+e4
+34
+4d
+f5
+83
 e0
 fe
-a3
-e0
-ff
-c3
-90
-4c
-94
-e0
-9f
-fd
-90
-4c
-93
+74
+a8
+2f
+f5
+82
+e4
+34
+4d
+f5
+83
 e0
-9e
-fc
+6e
+60
+23
+74
+bc
+2f
+f5
+82
 e4
-12
-02
-06
-7b
-33
-7a
-33
-79
-73
-78
-3f
-12
-00
-fb
-c0
-04
-c0
-05
+34
+4d
+f5
+83
 c0
-06
+83
 c0
-07
-90
-4c
-91
+82
 e0
-fc
-a3
+fe
+74
+a8
+2f
+f5
+82
+e4
+34
+4d
+f5
+83
 e0
 fd
-e4
-12
-02
-06
-d0
-03
-d0
-02
+ee
+5d
 d0
-01
+82
 d0
-00
-12
-00
-0a
-12
-02
-3f
-90
-4c
-e0
-ee
+83
 f0
-a3
-ef
+0f
+80
+b9
+7f
+1e
+12
+17
 f0
-22
+e4
+33
+ff
 90
-4f
-01
-ed
+4c
+87
 f0
-90
-00
+bf
 01
-12
-03
-cf
-90
-4f
-02
-f0
-22
+0f
 90
-4d
-ee
+4c
+84
 e0
+ff
 64
-02
+fe
+60
+03
+ef
 70
-4f
+03
+02
+1b
+37
 90
 4c
-e9
+87
 e0
 60
-3f
+07
 90
 4c
-cc
+84
 e0
-64
-01
-60
-22
+b4
+fe
+0a
 90
 4c
-c3
+84
 e0
 b4
 01
-04
-7f
-1f
-80
+03
+12
+1b
 37
+22
 90
-4c
-c3
-e0
-b4
-02
-04
-7f
+4e
+e9
+eb
+f0
+a3
+ea
+f0
+a3
+e9
+f0
+e4
 ff
-80
-2c
+fe
 90
-4c
-c3
+4d
+e6
 e0
 64
-03
-70
-23
-7f
-ff
-80
-20
-c2
-01
-7f
-1f
-12
-12
-bb
-c2
-01
-7f
-ff
-12
-12
-bb
-c2
 01
-7f
-ff
-02
-12
-bb
+60
+08
 90
-4c
-ee
+4d
+de
 e0
+64
+01
+70
+6c
+7e
+05
+ad
+06
+1e
+ed
 60
-04
-7f
-1f
-51
-a4
-22
+6b
 90
-4f
-13
-ef
-f0
-7b
+4e
+e9
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+24
 01
-7a
-80
-79
-74
+f9
+e4
+3a
+fa
+ee
+7c
+00
+29
+f9
+ec
+3a
+fa
 12
-17
-f7
-92
-09
+03
+b6
+ff
+b4
+1e
+db
 90
-4f
-13
+4d
+e6
 e0
-ff
-a2
-09
-b3
-92
+b4
 01
-02
+d4
 12
-bb
+18
+c7
+7f
+0a
+12
+0f
+72
 90
-4d
-ef
-e0
-60
-39
-e0
-14
+4c
+b1
+74
+04
 f0
-e0
-70
-33
+a3
+74
+b0
+f0
+e4
 90
 4c
-ed
-e0
-b4
+b7
+f0
+7f
 05
-2c
-90
-47
-f5
-e0
-20
-e3
-25
+12
+11
+e2
+12
+17
+bc
 e4
 90
-4d
-d5
+4c
+90
 f0
 90
 4c
-e9
-74
-f0
+b4
+04
 f0
-e4
 90
 4c
-ee
-f0
+84
+e0
 90
-4e
-59
+4c
+88
 f0
 90
-4d
-d3
-f0
-12
-18
-fe
-7f
-0d
-12
-10
-ad
-e4
+4c
+87
+e0
 90
 4c
-ed
+84
 f0
+7f
+01
 22
+80
+07
 90
 4c
-e4
+92
 e0
-04
+54
+e7
 f0
-70
-06
+7f
+00
+22
 90
 4c
-e3
-e0
-04
+be
+ed
 f0
-71
-2a
-12
-0e
-db
+a3
+eb
+f0
+ef
+30
+e0
 12
-1b
-dd
-51
-c1
-71
-3b
 90
 4c
-c8
+bd
 e0
 b4
+03
+04
+74
 02
-07
-e4
+f0
+22
 90
 4c
-e3
-f0
-a3
+bd
+74
+01
 f0
 22
 90
 4c
-d3
-e0
-60
-0a
-14
-f0
-e0
-70
-05
+bd
 74
-05
+04
 f0
-71
-88
 22
 90
-4c
-e9
+4f
+00
+ed
+f0
+e4
+a3
+f0
+ef
+30
 e0
-60
-28
+05
 e4
 90
 4c
-e3
+c1
 f0
+90
+4f
+00
+e0
+fe
 a3
 f0
 90
 4c
-fc
+85
+e0
+fd
+64
+04
+60
+05
+ed
+64
+03
+70
+30
+ee
+b4
+e6
+08
+90
+4f
+01
+74
+e7
 f0
+80
+24
 90
-4c
-e9
+4f
+00
 e0
-14
+fe
+b4
+e4
+06
+a3
+74
+e6
+f0
+80
+16
+ee
+b4
+e3
+08
+90
+4f
+01
+74
+e2
+f0
+80
+0a
+ee
+b4
+e2
+06
+90
+4f
+01
+74
+e3
 f0
+90
+4d
+e6
+e0
+64
+01
+70
+40
+90
+4f
+00
+e0
+fe
+b4
+1a
+1b
+ef
+30
 e0
-70
-14
+10
 90
-4c
-c4
+4d
+da
 e0
+60
+04
+e4
+f0
+80
+06
 90
-4c
-c3
+4d
+da
+74
+01
 f0
+e4
 90
-4c
-c0
+4f
+01
 f0
-7f
-0d
-12
+80
+1d
+ee
+b4
+e3
+19
+ef
+30
+e0
 10
-d7
-12
-17
-bd
 90
-4c
-ee
+4d
+e7
 e0
 60
-18
+04
 e4
+f0
+80
+06
 90
-4c
-e3
+4d
+e7
+74
+01
 f0
-a3
+e4
+90
+4f
+01
 f0
 90
-4c
-ee
+4e
+5b
 e0
-14
-f0
+60
+02
+01
+c4
+90
+4d
+e6
 e0
 70
-08
-7f
-0a
-12
-16
-f3
-12
-17
-bd
-22
+02
+01
+c4
 90
-4e
-cf
-12
-05
-82
-00
-00
-00
+4f
 00
-90
-4c
-91
 e0
-fe
-a3
-e0
-ff
-c3
+24
+c6
+b4
+0c
+00
+40
+02
+01
+c4
 90
-4c
+30
+42
+75
+f0
+03
+a4
+c5
+83
+25
+f0
+c5
+83
+73
+02
+30
+66
+02
+30
+6e
+02
+30
+76
+02
+30
+7e
+02
+30
+86
+02
+30
+8e
+02
+30
 96
-e0
-9f
-90
-4c
-95
-e0
+02
+30
 9e
-50
 02
-a1
-a7
-90
-4c
-95
-e0
-fe
-a3
-e0
-ff
+30
+a6
+02
+30
+ae
+02
+30
+b6
+02
+30
+be
 90
-4c
-d4
-e0
-fd
-04
+4f
+01
+74
+f9
 f0
-ed
-25
-e0
-24
+80
+56
+90
+4f
+01
+74
 d6
+f0
+80
+4e
+90
+4f
+01
+74
+fa
+f0
+80
+46
+90
+4f
+01
+74
+fb
+f0
+80
+3e
+90
+4f
+01
+74
+f1
+f0
+80
+36
+90
+4f
+01
+74
+f3
+f0
+80
+2e
+90
+4f
+01
+74
+f4
+f0
+80
+26
+90
+4f
+01
+74
+f2
+f0
+80
+1e
+90
+4f
+01
+74
 f5
-82
-e4
-34
-4c
-f5
-83
-ee
 f0
-a3
-ef
+80
+16
+90
+4f
+01
+74
+f8
 f0
+80
+0e
 90
-4c
-d4
-e0
-c3
-94
-04
-40
-02
-e4
+4f
+01
+74
+f6
 f0
-e4
+80
+06
 90
-4e
-ce
+4f
+01
+74
+f7
 f0
 90
-4e
-cf
-e0
-f8
-a3
-e0
-f9
-a3
-e0
-fa
-a3
+4d
+da
 e0
-fb
+60
+5f
 90
-4e
-ce
-e0
-25
+4f
+00
 e0
 24
-d6
-f5
-82
-e4
-34
-4c
-f5
-83
-e0
-fe
-a3
-e0
-ff
-e4
 fc
+60
+21
+24
 fd
-eb
-2f
-ff
-ea
-3e
-fe
-ed
-39
-fd
-ec
+60
+2d
+24
+f1
+60
+21
+24
+c7
+60
+45
+14
+60
+32
+14
+60
+37
+14
+60
+24
+24
 38
-fc
-90
-4e
-cf
-12
-05
-76
+70
+3e
 90
-4e
-ce
-e0
-04
+4f
+01
+74
+52
 f0
-e0
-b4
-04
-bf
-90
-4e
-cf
-e0
-fc
-a3
-e0
-fd
-a3
-e0
-fe
-a3
-e0
-ff
-e4
-7b
-04
-fa
-f9
-f8
-12
-04
-c5
-90
-4e
-cf
-12
-05
-76
-90
-4c
-e0
-e0
-fe
-a3
-e0
-ff
-e4
-fc
-fd
+80
+36
 90
-4e
-cf
-e0
-f8
-a3
-e0
-f9
-a3
-e0
-fa
-a3
-e0
-fb
-d3
-12
-05
-65
+4f
+01
+74
 50
-07
-e4
+f0
+80
+2e
 90
-4c
-f9
+4f
+01
+74
+51
 f0
-81
-df
+80
+26
 90
-4c
-fa
-e0
-fe
-a3
-e0
-ff
-e4
-fc
-fd
+4f
+01
+74
+4f
+f0
+80
+1e
 90
-4e
-cf
-e0
-f8
-a3
-e0
-f9
-a3
-e0
-fa
-a3
-e0
-fb
-c3
-12
-05
-65
-40
-08
+4f
+01
+74
+1a
+f0
+80
+16
 90
-4c
-f9
+4f
+01
+74
+04
+f0
+80
+0e
+90
+4f
+01
 74
-64
+16
 f0
 80
-5b
-90
-4c
-e0
-e0
-fe
-a3
-e0
-ff
-fb
-aa
 06
-e4
 90
-4e
-cf
-e0
-fc
-a3
-e0
-fd
-a3
-e0
-fe
-a3
-e0
-c3
-9b
-ff
-ee
-9a
-fe
-ed
-94
-00
-fd
-ec
-94
-00
-fc
-e4
-7b
-64
-fa
-f9
-f8
-12
-04
-3a
-c0
-06
-c0
+4f
+01
+74
 07
+f0
 90
-4c
-e0
-e0
-fe
-a3
+4d
+e7
 e0
-ff
-c3
+60
+14
 90
-4c
-fb
+4f
+00
 e0
-9f
 ff
-90
-4c
-fa
-e0
-9e
-fe
-ab
-07
-fa
+b4
+e3
+03
 e4
-f9
-f8
-d0
-07
-d0
-06
-12
-04
-c5
-90
-4c
-f9
+a3
+f0
 ef
+b4
+65
+05
+e4
+90
+4f
+01
 f0
 90
-4c
-e0
-e0
-fe
-a3
+4f
+01
 e0
 ff
+22
 e4
-fc
-fd
 90
-4e
-cf
-e0
-f8
-a3
-e0
-f9
-a3
-e0
-fa
-a3
+4f
+0a
+f0
+f0
+90
+4f
+0a
 e0
-fb
+ff
 c3
-12
-05
-65
+94
+08
 50
-27
-90
-4c
-d5
-74
-02
-f0
+0d
+c2
+05
+12
+1f
+61
 90
-4d
-00
+4f
+0a
 e0
-64
-02
-70
-02
-a1
-9f
-90
-4c
-ff
-74
-01
+04
 f0
-fb
-7a
-4c
-79
-ff
-fd
-7c
-00
-7f
-c0
-7e
-7f
-12
-1a
-94
 80
-7a
+e9
+22
 90
-4d
-00
+4c
+87
 e0
-64
-02
-60
+b4
+01
 07
+d2
+01
+7f
+1f
+02
+11
+d0
 90
 4c
-ff
+87
 e0
 b4
+02
+07
+d2
 01
-15
-e4
-90
-4c
+7f
 ff
-f0
-7b
-01
-7a
+02
+11
+d0
+90
 4c
-79
+87
+e0
+b4
+03
+07
+d2
+06
+7f
 ff
-7d
+02
+17
+9f
+d2
 01
-fc
-7f
-c0
-7e
 7f
-12
-1a
-94
+1f
+02
+11
+d0
+71
+25
 90
 4c
-de
+87
 e0
+ff
+60
+04
+64
 fe
-a3
-e0
-ff
-e4
-fc
-fd
+70
+1f
 90
-4e
-cf
-e0
-f8
-a3
-e0
-f9
-a3
+4c
+d3
 e0
-fa
-a3
+60
+19
+14
+f0
 e0
-fb
-c3
-12
-05
-65
-50
-1d
+70
+14
 90
 4c
-d5
-74
-01
-f0
-90
-4d
-01
+7b
 e0
-70
-2b
+30
+e7
+08
 90
-4d
-40
-f0
-a3
-74
-48
-f0
-a3
+4c
+85
 74
-12
-f0
-e4
-a3
+03
 f0
 80
-1a
+05
 e4
 90
 4c
-d5
+85
 f0
 90
-4d
-01
+4c
+b3
 e0
-70
-0f
-90
-4d
-40
-f0
-a3
-74
-48
-f0
-a3
-74
-5d
-f0
-e4
-a3
+60
+02
+14
 f0
 90
 4c
-d5
+b8
 e0
-90
-4d
-00
+60
+02
+14
 f0
-22
 90
-4e
-dc
-ee
-f0
-a3
-ef
+4c
+c1
+e0
+60
+0b
+14
 f0
+e0
+70
+06
 90
-4e
-de
-ec
-f0
-a3
-ed
+4c
+bd
+74
+06
 f0
 90
-4e
-de
-e0
-fe
-a3
-e0
-ff
-d3
-90
-4e
-dd
+4c
+ad
 e0
-9f
+60
+28
 90
-4e
-dc
+4c
+b7
 e0
-9e
-40
-16
+70
+0a
 90
-4e
-de
+4c
+b1
 e0
-fe
+70
+02
 a3
 e0
-ff
+60
+06
+e4
 90
-4e
-dd
+4c
+ad
+f0
+22
+90
+4c
+ad
 e0
-9f
-ff
+14
+f0
+31
+67
 90
-4e
-dc
+4c
+ad
 e0
-9e
-fe
+70
+49
+71
+81
 80
-1e
+45
 90
-4e
-dc
+4c
+b1
 e0
-fe
+70
+02
 a3
 e0
-ff
-c3
+70
+3b
 90
-4e
-df
+4c
+b7
 e0
-9f
-ff
+70
+35
 90
-4e
-de
+4c
+aa
+e0
+60
+2f
+14
+f0
 e0
-9e
-fe
-ad
-03
-c3
-eb
-9f
 ff
-e4
-9e
-fe
-22
+c3
+94
+08
+50
+16
+ef
+30
+e1
+09
+d2
+01
+7f
+1f
+12
+11
+d0
+80
+10
+c2
+01
+7f
+1f
+12
+11
+d0
+80
+07
+c2
+01
+7f
+1f
+12
+11
+d0
 90
-4f
+4c
+aa
+e0
+70
 03
-ee
+74
+0c
 f0
-a3
-ef
+90
+4d
+49
+e0
+60
+0b
+e0
+14
 f0
-a9
+e0
+70
 05
+7f
+2d
+12
+13
+c9
 90
-4b
-9e
-e0
-fe
-a3
+4c
+cf
 e0
-ff
-ad
-01
-19
-ed
 60
-2f
-0f
-ef
-ac
-06
-70
-01
-0e
+15
+7f
+1f
+71
+08
+90
+4c
+cf
+e0
 14
-f5
-82
-8c
-83
+f0
 e0
-fd
+70
+08
 90
-4f
-03
-e4
-75
-f0
-01
-12
+4c
+83
 04
-24
-85
 f0
-82
-f5
-83
+12
+19
 ed
-f0
-ad
-07
-ac
-06
-bc
-4b
-d4
-bd
-9a
-d1
-7e
-4b
-7f
+90
+4d
+e0
+e0
+70
 36
-80
-cb
 90
-4b
-9e
-ee
+4d
+e1
+e0
+64
+01
+70
+2e
+90
+4c
+ab
 f0
 a3
-ef
 f0
-22
+90
+4d
+e1
+f0
+90
+4e
+52
+e0
+60
+0d
+7b
+01
 7a
-0c
+4e
 79
-4b
+52
+7d
+03
+12
+0c
+1d
+80
+11
 90
-4e
-f3
-74
+48
+00
+e0
+60
+0b
+7b
 01
-f0
-a3
-74
+7a
+48
+79
+00
+7d
+09
+12
 0c
+1d
+90
+4d
+dc
+e0
+60
+09
+e0
+14
 f0
-a3
-74
-4b
-f0
+e0
+70
+03
+12
+1b
+37
 90
-4b
-a0
+4d
+d5
 e0
-fe
-a3
+60
+11
 e0
-ff
+14
+f0
+e0
+70
+0b
 90
-4b
-9e
+4c
+ec
 e0
-6e
 70
-03
-a3
+05
+7f
+1b
+12
+13
+c9
+90
+4d
+eb
+e0
+60
+1b
+e0
+14
+f0
 e0
-6f
 70
-03
+15
+90
+4c
+f5
+e0
+60
 02
-38
+e4
+f0
+90
+4c
+8b
+e0
+b4
 04
-7e
+06
+90
+42
+13
+74
 0c
-7f
-4b
-7d
-03
-d1
-02
+f0
+22
+90
+4f
+12
+ef
+f0
+7b
+01
+7a
+80
+79
+74
+12
+17
+f6
+92
+09
 90
-4e
-f3
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-f9
+4f
 12
-03
-b6
-b4
+e0
+ff
+a2
+09
+b3
+92
+01
 02
-2c
+11
+d0
 90
-4e
-f4
-e4
-75
+4d
 f0
+e0
+64
 02
-12
-04
-0e
+70
+53
 90
-4e
-f3
-e0
-fb
-a3
+4c
+b1
 e0
-fa
+70
+02
 a3
 e0
-f9
-12
-03
-b6
-ff
+60
+3f
+90
+4c
 90
-4e
-6c
 e0
-a3
+64
+01
+60
+22
+90
+4c
+87
 e0
-fa
-a3
+b4
+01
+04
+7f
+1f
+80
+be
+90
+4c
+87
 e0
-f5
-82
-8a
-83
-12
-05
-dd
+b4
 02
-38
 04
+7f
+ff
+80
+b3
 90
-4e
-f3
-e0
-fb
-a3
-e0
-fa
-a3
+4c
+87
 e0
-f9
-12
-03
-b6
 64
-04
+03
 70
-5a
-90
-4e
-f4
-75
-f0
+23
+7f
+ff
+80
+a7
+c2
 01
+7f
+1f
 12
-04
-0e
-7e
-0c
+11
+d0
+c2
+01
 7f
-4e
-90
-4e
-f3
-e0
-fb
-a3
-e0
-fa
-a3
-e0
-f9
+ff
 12
-03
-b6
-14
-fd
-d1
+11
+d0
+c2
+01
+7f
+ff
 02
+11
+d0
 90
-4e
-f3
-e0
-fb
-a3
+4c
+b7
 e0
-fa
-a3
+60
+04
+7f
+1f
+71
+08
+22
+90
+4c
+87
 e0
-24
+b4
 01
-f9
-e4
-3a
-fa
-c0
-02
-c0
+07
+c2
 01
+7f
+1f
+02
+11
+d0
 90
-4e
-f3
-e0
-a3
-e0
-fa
-a3
+4c
+87
 e0
-f9
-12
-03
-b6
-fd
-7c
-00
+b4
+02
+07
+c2
+01
+7f
+ff
+02
+11
+d0
 90
-4e
-6f
-e0
-a3
-e0
-fa
-a3
+4c
+87
 e0
-f5
-82
-8a
-83
-d0
+b4
+03
+07
+c2
 01
-d0
+7f
+ff
 02
-12
-05
-dd
+11
+d0
+c2
+01
+7f
+1f
 02
-38
+11
+d0
+90
+80
+91
+74
+0d
+f0
+a3
 04
-90
-4e
-f3
-e0
-fb
+f0
 a3
-e0
-fa
+f0
 a3
-e0
-f9
+f0
+a3
+f0
+a3
+14
+f0
+22
 12
-03
-b6
-64
-05
-70
-59
+0d
+2d
+71
+fe
 90
-4e
-f4
-75
-f0
+4c
+b4
+74
 01
-12
-04
-0e
-7e
-0c
-7f
-4e
+f0
 90
-4e
-f3
-e0
-fb
-a3
-e0
-fa
-a3
+4c
+ad
+74
+1e
+f0
+e4
+90
+4c
+b9
+f0
+90
+4c
+d5
+74
+ff
+f0
+90
+4c
+a9
+f0
+90
+44
+fc
 e0
-f9
-12
-03
-b6
-14
+90
+4d
+d0
+f0
+90
+44
 fd
+e0
+90
+4d
 d1
-02
+f0
 90
-4e
-f3
-e0
-fb
-a3
+44
+fe
 e0
-fa
+90
+4d
+d2
+f0
+22
+90
+4c
+9a
+74
+05
+f0
+e4
 a3
+f0
+90
+4c
+cc
 e0
-24
+64
 01
-f9
-e4
-3a
-fa
-c0
+60
 02
-c0
-01
+81
+e3
 90
-4e
-f3
-e0
-a3
-e0
-fa
-a3
-e0
-f9
-12
-03
-b6
-fd
-7c
-00
+4f
+0e
+f0
 90
-4e
-78
-e0
-a3
+4f
+0e
 e0
-fa
-a3
+ff
+c3
+94
+04
+50
+19
+ef
+25
 e0
+24
+9d
 f5
 82
-8a
+e4
+34
+4c
+f5
 83
-d0
-01
-d0
-02
-12
-05
-dd
+74
+51
+f0
+a3
+f0
+90
+4f
+0e
+e0
+04
+f0
 80
-6d
+dd
 90
-4e
-f3
+4c
+73
 e0
-fb
+ff
 a3
 e0
-fa
+90
+4c
+c3
+cf
+f0
 a3
+ef
+f0
+90
+4c
+71
 e0
-f9
-12
-03
-b6
-64
-03
-70
-59
+fe
+a3
+e0
+ff
+c3
 90
-4e
-f4
-75
-f0
-01
-12
-04
-0e
-7e
-0c
-7f
-4e
+4c
+74
+e0
+9f
+fd
 90
-4e
-f3
+4c
+73
 e0
+9e
+fc
+e4
+12
+02
+06
+7b
+29
+7a
+5c
+79
+4f
+78
+3f
+12
+00
 fb
-a3
+c0
+04
+c0
+05
+c0
+06
+c0
+07
+90
+4c
+71
 e0
-fa
+fc
 a3
 e0
-f9
+fd
+e4
 12
+02
+06
+d0
 03
-b6
-14
-fd
-d1
+d0
+02
+d0
+01
+d0
+00
+12
+00
+0a
+12
 02
+3f
 90
-4e
-f3
-e0
-fb
+4c
+a5
+ee
+f0
 a3
+ef
+f0
+90
+4c
+71
 e0
-fa
+fe
 a3
 e0
-24
-01
-f9
+ff
+c3
+90
+4c
+74
+e0
+9f
+fd
+90
+4c
+73
+e0
+9e
+fc
 e4
-3a
+12
+02
+06
+74
+33
+fb
 fa
+f9
+78
+3f
+12
+00
+fb
 c0
-02
+04
 c0
-01
+05
+c0
+06
+c0
+07
 90
-4e
-f3
-e0
-a3
+4c
+71
 e0
-fa
+fc
 a3
 e0
-f9
+fd
+e4
 12
+02
+06
+d0
 03
-b6
-fd
-7c
+d0
+02
+d0
+01
+d0
+00
+12
 00
+0a
+12
+02
+3f
 90
-4e
-7b
-e0
+4c
+a7
+ee
+f0
 a3
+ef
+f0
+22
+e4
+90
+4f
+0e
+f0
+90
+4f
+0e
 e0
-fa
-a3
+ff
+c3
+94
+04
+50
+19
+ef
+25
 e0
+24
+9d
 f5
 82
-8a
+e4
+34
+4c
+f5
 83
-d0
-01
-d0
-02
-12
-05
-dd
-80
-02
+74
+51
+f0
+a3
+f0
+90
+4f
+0e
+e0
+04
+f0
 80
-fe
+dd
 90
-4b
-a5
+4c
+73
 e0
-fe
+ff
 a3
 e0
-ff
 90
 4c
-5e
-e0
-6e
-70
-03
+c3
+cf
+f0
 a3
-e0
-6f
-60
-22
+ef
+f0
 90
-4e
-72
+4c
+71
 e0
-fb
+fe
 a3
 e0
-fa
-a3
+ff
+c3
+90
+4c
+74
 e0
-f9
-4a
-60
-37
+9f
+fd
+90
+4c
+73
+e0
+9e
+fc
+e4
+12
+02
+06
+7b
+b8
+7a
+1e
+79
+85
+78
+3f
 12
+00
+fb
+c0
+04
+c0
 05
-d9
+c0
+06
+c0
+07
 90
-4b
-a5
+4c
+71
 e0
-ff
+fc
 a3
 e0
+fd
+e4
+12
+02
+06
+d0
+03
+d0
+02
+d0
+01
+d0
+00
+12
+00
+0a
+12
+02
+3f
 90
 4c
-5e
-cf
+a5
+ee
 f0
 a3
 ef
 f0
-80
-ca
 90
 4c
-8d
+71
 e0
-ff
+fe
 a3
 e0
-6f
-60
-19
+ff
+c3
 90
-4e
-75
+4c
+74
+e0
+9f
+fd
+90
+4c
+73
 e0
+9e
+fc
+e4
+12
+02
+06
+7b
+33
+7a
+33
+79
+73
+78
+3f
+12
+00
 fb
-a3
+c0
+04
+c0
+05
+c0
+06
+c0
+07
+90
+4c
+71
 e0
-fa
+fc
 a3
 e0
-f9
-4a
-60
-0b
+fd
+e4
 12
-05
-d9
+02
+06
+d0
+03
+d0
+02
+d0
+01
+d0
+00
+12
+00
+0a
+12
+02
+3f
 90
 4c
-8d
-e0
+a7
+ee
+f0
 a3
+ef
+f0
+22
+90
+4f
+02
+ed
+f0
+90
+00
+01
+12
+03
+cf
+90
+4f
+03
 f0
-80
-dd
 22
 90
 0b
@@ -14439,17 +13776,26 @@
 03
 12
 0f
-f4
+b3
 22
 90
 0b
 e7
 74
+06
+f0
+02
+0f
+b3
+90
+0b
+e7
+74
 04
 f0
 02
 0f
-f4
+b3
 90
 0b
 e7
@@ -14458,7 +13804,7 @@
 f0
 02
 0f
-f4
+b3
 90
 04
 46
@@ -14474,7 +13820,7 @@
 22
 90
 4e
-a0
+f8
 eb
 f0
 a3
@@ -14483,23 +13829,19 @@
 a3
 e9
 f0
-90
-4e
-a6
-74
-ff
-f5
-f0
-12
+ed
+1d
+ae
 04
-24
-45
-f0
+70
+01
+1c
+4e
 60
-2a
+17
 90
 4e
-a3
+f8
 e0
 fb
 a3
@@ -14513,33 +13855,111 @@
 a9
 f0
 fa
+74
+ff
+12
+03
+fc
+80
+df
+22
+90
+4e
+fb
+eb
+f0
+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
+fb
+e0
+fb
+a3
+e0
+fa
+a3
+e0
+2d
+f9
+e4
+3a
+fa
 12
 03
 b6
 ff
+74
+01
+a8
+06
+08
+80
+02
+c3
+33
+d8
+fc
+4f
+02
+03
+fc
 90
 4e
-a0
+fb
 e0
 fb
 a3
+e0
+fa
+a3
+e0
+2d
+f9
 e4
-75
-f0
-01
-12
-04
-24
-a9
-f0
+3a
 fa
-ef
 12
 03
-fc
+b6
+ff
+74
+01
+a8
+06
+08
 80
-c8
-22
+02
+c3
+33
+d8
+fc
+f4
+5f
+02
+03
+fc
 ef
 f4
 60
Index: c51/output/ramcode.rom
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/output/ramcode.rom	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/output/ramcode.rom	(working copy)
@@ -1,160 +1,111 @@
-c512801a
-c0000045
-c0018049
-c0028055
-c003032e
-c005034f
-c0138353
-c0140365
-c015836b
-c0210376
-c021837a
-c0280382
-c02a0391
-c0188041
-c019803e
-c0480224
-c04901ea
-c04a01f0
-c04a81da
-c058032c
-c058819e
-c05901b2
-c05981cc
-c05b01d5
-c05c81a6
+c5128010
+c000002c
+c0010030
+c0018038
+c0028043
+c04801c2
+c0490188
+c04a018e
+c04a8175
+c05802a8
+c0588139
+c059014d
+c0598167
+c05b0170
+c05c8141
 20203bf1
-c00c039d
-c00d83a5
-c01183c4
-c01203e0
-c019045a
+c01902b6
 c01dd3b0
-c01f02a1
-c01f82a5
-c02504a5
-c0258453
-c026045d
-c0270463
-c02b046a
-c0308471
-c0318476
-c032049a
-c03284cf
-c0348632
-c0350617
-c0358619
-c037063d
-c03784b0
-c0438139
-c04682c0
-c04702d9
-c04782a9
-c05e82b7
-c0668231
-c0678145
-c068015a
-c04e03e4
-c04f83fa
-c0710407
-c0718419
-c0730431
+c01f0239
+c01f823d
+c025037b
+c02582af
+c02602b9
+c02702bf
+c02b02c6
+c02d02d2
+c03082cd
+c03182f2
+c032033a
+c03283da
+c0348581
+c035054e
+c0358550
+c037058c
+c0378386
+c043810a
+c0468258
+c0470270
+c0478241
+c05e824f
+c06681cc
+c0678116
+c0680123
 20203bf1
-da204040
-18007201
-20203305
-d8a04040
-df20000a
-20407e3b
-202032d8
 6810813b
 60008b81
 70800608
 20203003
-204000d3
-204000c5
-2040005a
-2040004e
+20407719
+2055bcf1
+20407813
+6800c7dc
+203a3013
+6800c793
+203a0032
+20203013
+204000a4
+20400096
+20400048
+2040003e
+20400764
 20203015
 680947f4
 6800c3d8
 7d3a040b
-6800c133
-7d3a0406
 600947f4
 20600000
 20403392
 20403407
 20403024
-2040065e
+204005cd
 20203022
 6800c7dc
-203a005e
+203a004c
 6800c793
 207a0000
-20400134
+20400105
 20740000
 1ff0fe00
 1fe20c00
-20400115
+204000e6
 6000cba7
-c0008073
-c003007d
+c0008060
+c003006a
 1fe20400
 18c22200
 6800c040
-c3000070
+c300005d
 1a220c00
 c6848000
 18427e00
-c001807f
-c002809d
+c002806c
 20203bf1
 1a220c00
 d8a000f8
-2020010d
-20400115
-20400115
+202000de
+204000e6
+204000e6
 60008b7d
-20400078
+20400065
 20207c33
-20400118
+204000e9
 18c20400
 18508400
 60094b9a
 20600000
-d8a04d57
-2020010d
-20400115
-1fe22200
-18c27e00
-600102b7
-2040527c
-243a0088
-1a20a201
-20404b2c
-2020008d
-d8a04bad
-1a227200
-680102b7
-1fe20c00
-2020010f
-18a0a5fe
-680142b7
-e0a10000
-580000a1
-e0a08000
-1a20f3ff
-680102b7
-1fe20c00
-2040010f
-1a420c00
-e8c10000
-60014c9b
-1fe0f202
-20407e45
-704c9a64
-20600000
+d8a04d01
+202000de
 18c22200
 6800cba9
 1fe08401
@@ -164,52 +115,54 @@
 d8a04bad
 98a08a00
 1a220c00
-20400115
+204000e6
 18c22200
 1fe0ffff
 1fe27200
 1fe0fe07
-6000cc82
+6000cc62
 1a220c00
-20400115
+204000e6
 18c22200
-c00080b3
-c00100b9
-c00180bb
-c00200bd
-68014cb8
-204000c2
+c0008082
+c001008a
+c001808c
+c002008e
+68014c7c
+20400093
 2040561e
 247a0000
+6800cd5e
+247a0000
 700b7d1b
 20205620
-68014cba
-202000b4
-68014cbc
-202000b4
-68014d3e
-204000c2
-6800cd7e
+68014c7e
+20200083
+68014c80
+20200083
+68014ced
+20400093
+6800cd29
 207a0000
-202000b5
+20200084
 e0a10000
 1a220c00
-2020010f
-680a4d4b
+202000e0
+680a4cfa
 1c427e00
 98467e00
-68094d4f
+68094cfe
 9846fc00
 20407efd
 1807fe00
 207a0000
 1c420400
-600a4d4b
-6800cd51
+600a4cfa
+6800cd00
 1fe0fe01
-6000cd51
+6000cd00
 20600000
-680a4c59
+680a4c3a
 1c427e00
 98467e00
 d8400640
@@ -218,7 +171,7 @@
 1807fe00
 207a0000
 1c420400
-600a4c59
+600a4c3a
 68094ba5
 18508400
 9840fe00
@@ -227,19 +180,19 @@
 1ff0fe00
 1fe17e03
 c1800000
-6800cc8f
-c28000f0
-c28080f2
+6800cc6f
+c28000c1
+c28080c3
 da200000
-20400104
+204000d5
 7089718f
-6800cc90
+6800cc70
 60108973
-204000f3
+204000c4
 da200001
-20200104
+202000d5
 708971bf
-202000f3
+202000c4
 708971af
 68108053
 79207e07
@@ -256,26 +209,26 @@
 793ffe07
 60108053
 18508400
-60094c95
+60094c75
 20600000
 d8400021
-6800cc90
+6800cc70
 98460400
 1a227e00
 79200407
-243a010b
+243a00dc
 793f8407
 d8a08078
 202069f4
-20400115
+204000e6
 1fe27200
-20400111
-20200078
-20400115
+204000e2
+20200065
+204000e6
 e0a08000
-c2000111
+c20000e2
 20600000
-20400118
+204000e9
 e8c08000
 20600000
 58004b36
@@ -292,8 +245,8 @@
 1a220c00
 e8c08000
 e0a08000
-2040012c
-c2000124
+204000fd
+c20000f5
 18a27e00
 1ff0fe00
 60014ba0
@@ -305,120 +258,66 @@
 20600000
 68014b9e
 68094ba0
-20200136
+20200107
 68014b9a
 68094b9c
 98467c00
 2022e9b1
 2020320b
 1c427e00
-60024d47
+60024cf6
 6808c7ef
-6800cd4a
+6800ccf9
 98467c00
-24410140
+24410111
 20207c06
-680a4d47
+680a4cf6
 600a47ec
-600a4c59
-600a4d4b
+600a4c3a
+600a4cfa
 20600000
 da2047df
 20407f9f
 207a0000
 1fe22600
-2040014b
+2040011c
 20203ea5
 c10c0000
-c00a064f
-c00a8654
-c0036614
-c0010151
+c00a05c0
+c01e8121
+c00a82ad
 20203e7d
-70429d00
-680147f4
-c283bf08
-2fec0001
-20408157
-20203f08
-68008450
-c1010000
-20203e7b
+704d4905
+20600000
 60088259
-6800cc8d
+6800cc6d
 1fe0fe01
-6000cc8d
+6000cc6d
 68008259
 207a0000
 1fe0ffff
 60008259
-2040017a
-20400181
-20400166
-2020015e
-6800ccbe
-247a0000
-6800cc9a
-207a0000
-1fe0ffff
-6000cc9a
-c1808000
-704c9a64
-680147f4
-c4028000
-68014c9b
-207a0000
-2040527e
-247a0000
-68014c9b
-1fe22200
-20404b2c
-1a20f202
-d8c04c9d
-20207e45
-6800c7f2
-207a0000
-1fe0ffff
-6000c7f2
-247a0000
-20403ebd
-20204b22
-6800cc15
+2040012d
+20200127
+6800cc0b
 207a0000
 1fe0ffff
-6000cc15
+6000cc0b
 20600000
 1a627e00
 1fe17ef0
 c1280000
-2040018e
 1a627e00
 207a0000
 6000cba4
-2020011d
-1a627e00
-c0058192
-c001019a
-20600000
-704c9a28
-5800000a
-60014c9b
-680142b7
-e0a10000
-580001a1
-e0a10000
-20600000
-704c9a00
-df200014
-d8a04c9b
-20207e3f
+202000ee
 70416e7f
 20403cf3
-6800cc97
+6800cc77
 207a0000
-704c9700
+704c7700
 1c427e00
-60024c59
+60024c3a
 20600000
 6800c219
 247a0000
@@ -450,32 +349,35 @@
 6800c793
 207a0000
 20203d25
-20400134
+20400105
 24740000
-20400131
+20400102
 24740000
 700b7f01
 700b7e01
-204001d1
-20200134
-204001c4
+2040016c
+20200105
+2040015f
 24740000
 68008b7f
 247a0000
 20203d2d
 68008b7e
 2000000a
-c08001d1
+c080016c
 20600000
-204001c4
+2040015f
 24740000
 68008b7f
 247a0000
 20203d4f
-204001dc
-20203aaf
+2040017a
+20403aaf
+70895cc0
+70895a4e
+20600000
 6800c219
-243a01e2
+243a0180
 20403d91
 20007530
 20007530
@@ -494,7 +396,7 @@
 60088017
 1840a200
 20203ab6
-204001ed
+2040018b
 58000500
 20403bf3
 70890601
@@ -509,21 +411,21 @@
 2000000a
 7089027d
 6800cbef
-c0ff8208
+c0ff81a6
 6802ca91
 e0a28000
 e8c28000
 e0a28000
 708956df
-20400213
+204001b1
 708955df
 20600000
 6802ca87
 e0a28000
 e8c28000
 e0a28000
-6800cc7d
-205a0211
+6800cc5d
+205a01af
 60108956
 708955d0
 20600000
@@ -547,11 +449,8 @@
 708956c0
 20600000
 2030ba6f
-2040021b
+204001b9
 20203a6f
-2040527c
-247a0000
-2020005a
 78347c00
 68120138
 79347e1a
@@ -559,23 +458,20 @@
 20403db0
 7000a201
 20600000
-6800c419
-1fe0fe02
+58000000
 6000c3f9
 700b7e00
 70017706
 20403fa4
-58000227
-6001428e
-58000230
+580001cb
 6001428a
-58000186
+58000132
 60014292
-580002a8
+58000240
 60014290
-5800005a
+58000048
 6001428c
-5800022a
+580001c5
 60014288
 58004aa0
 1ff0fe00
@@ -586,41 +482,41 @@
 1ff0fe00
 60014b9e
 60014ba0
-6800cc97
-c02d0264
-20358262
-68014c91
+6800cc77
+c02d01fc
+203581fa
+68014c71
 1ff0fe00
-60014c91
-68014c93
+60014c71
+68014c73
 1ff0fe00
-60014c93
-2040026f
+60014c73
+20400207
 680402a0
-243a025c
+243a01f4
 68014ad4
 1ff0fe00
-203a025c
-60014c93
-2040065b
+203a01f4
+60014c73
+204005ca
 704ba42f
-2040011d
-704c9700
+204000ee
+704c7700
 70828003
 20600000
 704ba430
-2020025e
+202001f6
 1ce27e00
-203a02af
+203a0247
 20405b63
 20404d99
 58000000
 60044040
 600147f4
 1c427e00
-60024c59
+60024c3a
 704ba433
-2020025e
+202001f6
 2040688a
 580007e0
 da2002a0
@@ -628,32 +524,32 @@
 204068d3
 2040688d
 680082a0
-c2803bf1
+c280bbf1
 680402a2
 207a0000
-6800cc8f
-c2800283
-c2808291
+6800cc6f
+c280021b
+c2808229
 680102a2
 1ff0fe00
-60014c91
+60014c71
 680102a8
 1ff0fe00
-60014c93
+60014c73
 20600000
 680902a6
 680102ac
 18422400
 1fe22200
 1ff0fe00
-60014c93
+60014c73
 1a227e00
 98462600
 1a63a600
 1a427e00
 9a667e00
 1ff0fe00
-60014c91
+60014c71
 20600000
 680902a4
 680102aa
@@ -664,12 +560,12 @@
 1a427e00
 9a667e00
 1ff0fe00
-60014c91
+60014c71
 1a63a600
 1a227e00
 9a667e00
 1ff0fe00
-60014c93
+60014c73
 20600000
 70001627
 70890f36
@@ -684,8 +580,8 @@
 68014b9c
 60014b9a
 700b7e03
-204001d1
-704c975a
+2040016c
+704c775a
 20403db8
 68120138
 793ffe0f
@@ -695,7 +591,7 @@
 20203cda
 ea2a8000
 18417eff
-243a02bc
+243a0254
 184cfe00
 e2228000
 1a20a204
@@ -709,402 +605,86 @@
 20407c24
 18427e00
 207a0000
-c01082d2
-c01102d4
-c01186ee
-c0008314
-c00682ef
-c01602ee
-c01582fa
-c0018317
-c0150320
+c0108269
+c011026b
+c0118659
+c0068279
+c0160279
+c0158285
+c01502a0
 c0097c85
+c01683e8
 20207c5a
 704befff
-20200721
+2020068c
 793f8023
 704befff
-202006d9
+20200644
 700b7d22
 20205620
 6800807c
-203a02de
+203a0275
 204061d9
 6800807c
 243a7c8c
 68008b7d
 c584fc87
-c00202e4
-c00882d7
-c01402ea
+c008826e
 20207c7b
-680147f4
-c30182e7
-20207ca4
-5800000a
-60020051
-20207ca4
-70007c37
-68014c98
-60010051
-20600000
-20400314
 20403eff
 20407cd5
 70413100
+704d5e01
 180a7e00
 6000c4f9
 7043dc05
 58181203
 6001c3e2
 d8400007
-20400300
+2040028a
 20207cae
 7043dc04
 580000ff
 6001c3e2
-d8400000
-20400300
+7043d90b
 20207cae
-6800c3f9
+6800c419
+1fe0fe02
 9840fe00
 1fe0fe0b
 1fe67c1f
-24210310
+2421029c
 6000c3d9
 d8a043e5
 18427e00
-245a030d
-6800c3f9
+245a0299
+6800c419
+1fe0fe02
 1fe27200
 d8c043fa
 20207e45
 1fe27200
-d8c04d6b
+d8c04d15
 20207e45
 6800c3f9
 1fe0fe0b
 6000c3d9
 20600000
-20403eff
-70017706
-20207c97
-20403bfa
-20404d98
-20405b62
-70017706
-6800c7dc
-c000031e
-70017717
-70425e01
-20207ca2
 680147f4
 c284bf90
-c2800329
 c283fcd5
-c51186d9
+c5118644
 7043d800
 20403f7e
 700b7d37
 20207c27
-20403eff
-20407cd5
-20203f77
 20403b36
 20203cdc
-20400330
-2020302c
-da600332
-20203301
-c300b307
-2040333d
-2040033f
-98467e00
-1fe0fe01
-20210339
-20203325
-98002400
-1a208c02
-e8c10000
-203a3327
-20403349
-20200333
-1ff11600
-196c9600
-20228349
-29601e0f
-24608000
-18511600
-196c9600
-24628000
-7920041c
-20600000
-18511600
-196c9600
-29601e0f
-24608000
-79207e1c
-20600000
-600c02a0
-20407e53
-680c02a0
-2020307c
-78547c00
-68010032
-d840ffff
-98467c00
-24628000
-68020034
-2038035c
-9d067e00
-2020035d
-9c467e00
-1fe67c04
-24610000
-18007e00
-60010032
-202034df
-700b7d20
-20407c27
-20200366
-600a0034
-70474801
-5800ffff
-60010032
-70007301
-20600000
-20403baa
-2040036e
-20203267
-1c40c201
-20403a54
-18004803
-20403a42
-20403bae
-20403bb4
-20403bc5
-2020375c
-20403e25
-20406dec
-204035d6
-20203480
-20403d61
-20403be2
-20213498
-20403204
-24343498
-20403812
-243a0377
-20600000
-204032df
-2422b568
-68008047
-c301b571
-6800c165
-c009b562
-68014c43
-1fe67c14
-24213562
-60010091
-6800cc42
-60008090
-58004c45
-60010179
-20203562
-68010091
-60014c43
-1fe67c14
-2421358f
-98007200
-68008090
-6000cc42
-68010179
-98000c00
-d8a04c45
-20407e45
-2020358f
-680102cd
-203a4dfc
-680082cf
-c00083a2
-20204dbb
-2040527a
-247a0000
-20204dc3
-e8c08000
-c00503a8
-20204e14
-e8c08000
-1fe20e00
-e8c10000
-1fe22200
-1a627e00
-9a262600
-5800000b
-e0a08000
-18e27e00
-e0a08000
-e8c10000
-c00103b6
-c00183bd
-20203bf1
-58020008
-e0a30000
-58000200
-e0a20000
-18007e0c
-9a40a400
-20204e20
-5803000c
-e0a30000
-58000006
-e0a40000
-18007e10
-9a40a400
-20204e20
-204052c4
-18002400
-204052d0
-1fe20a00
-680102cd
-1fe22600
-680102cb
-98000c00
-204003ce
-20205110
-e8c08000
-c00503d1
-20205116
-e8c08000
-1fe20e00
-e8c10000
-1fe22200
-e8c10000
-600102a0
-1a627e00
-9a262600
-204052d0
-5800000b
-e0a08000
-18e27e00
-e0a08000
-680102a0
-202003b3
-da400000
-2040527a
-247a0000
-2020524d
-680102cb
-1fe20c00
 e8c08000
-1fe1040f
-1ff1fe00
-c00503f7
-c00283f5
-c00083ee
-c0024b18
-20204aff
-18427e00
-c002cb09
-704cbe01
-c001cb18
-704cbe00
-c0024b18
-20600000
-204003f7
-20204b11
-e8c08000
-c0008450
-20600000
-2040527a
-247a0000
-204003fe
-20206dfd
-6800c132
-c1008000
-6800c3cd
-207a0000
-1fe22200
-7043cd00
-1a227e00
-c0284ddc
-20600000
-6800807d
-c001840b
-c0038416
-20205b92
-680084df
-60008445
-c0098362
-c0198410
-20205c58
-6800844d
-79207e00
-6000844d
-700b7d01
-20407c27
-20205c83
-680084df
-60008446
-20205cf3
-78547c00
-204061d9
-68008048
-207a0000
-c283df10
-c0010421
-c003842e
-20205ee0
-18007e11
-204061b5
-68008049
-1fe20400
-c0000429
-c0070429
-c00e0429
-20600000
-e0a08000
-6800c702
-e0a08000
-5800000e
-20205fa6
-20406055
-70007264
-20600000
-6800807c
-203a0436
-204061d9
-6800807c
-247a0000
-68008055
-207a0000
-c0030445
-c008043b
-2020623e
-6800c748
-c1000000
-c0008443
-d8e0000a
-20407e53
-247a0000
-70474800
-2020629b
-20748000
-20200445
-68008177
-c281629b
-c2800448
-6800c25e
-203a62c7
-6800844d
-c4018000
-c4010000
-68020465
-d8400320
-202062c2
-e8c08000
-6000ccb7
+6000cc7b
 20600000
+704d2800
+202005c4
 204054bd
 68088017
 20403a82
@@ -1116,15 +696,15 @@
 70443f00
 2020534e
 204053dd
-20400460
+204002bc
 202054c1
-203681f3
+20368191
 204053ee
 20203a91
-6800cc60
+6800cc40
 600246f9
 6800c4db
-c0008468
+c00082c4
 202054e0
 7044db00
 202054ef
@@ -1140,12 +720,46 @@
 68008341
 203a5626
 20205890
+680883d7
+284c0005
+20608000
+68008340
+1fe3fe00
+9842fe00
+c4018000
+793f8405
+79400403
+600883d7
+28400603
+24608000
+6800c440
+c00282e3
+6800cd28
+c00082e7
+20600000
+680083c0
+79207e04
+600083c0
+20600000
+704d2800
+dfe00000
+6002446f
+6000c48b
+6002c465
+79207e27
+6002c46a
+680083c0
+793ffe04
+600083c0
+20600000
 6800c440
-c003848f
-c0078493
-c0030482
-c001047f
-c009847d
+c0038322
+c0078326
+c0030300
+c002030d
+c00102fd
+c00982fb
+c00582fb
 2020563a
 18000401
 20205892
@@ -1158,35 +772,123 @@
 2034d892
 700b7d34
 20407c27
-6800cc69
-c001048b
-2020048d
+6800cc49
+c0010309
+2020030b
 700b7d46
 20405620
 18000401
 20205892
-6800cc68
+18a20400
+d8a00388
+18007208
+20406227
+68040388
+e0440000
+18a20400
+d8a04477
+18007204
+20406227
+68024477
+e0420000
+68044d34
+60040380
+204074b6
+6800c48b
+c000031f
+202056b3
+700b7d2d
+20405620
+202056b5
+6800cc48
 e0a08000
 18000402
 20205892
 18a08bff
-68044c6c
+68044c4c
 e0a40000
 e8c40000
 e0a40000
 18000202
 2020588a
+58112233
+6001c47b
+58445566
+e0a18000
+58778899
+e0a18000
+58001122
+e0a18000
+58334455
+e0a18000
+58000066
+e0a08000
+20600000
 6800c444
 c004d719
-c001049f
+c0010348
 c003d70d
+c0030340
 20205656
+700b7d29
+20407c27
+700b7d47
+20405620
+2040032d
+6804447b
+20405723
+20205892
 59000302
 6001c4b5
 58000001
 e0a08000
 58010010
 202056f0
+da2003b0
+20348351
+da20449c
+1a220a00
+20406226
+20200354
+680344f9
+680b03d0
+20348359
+680303d0
+680b44f9
+18007008
+18425e00
+1f00f001
+184f5e00
+1ff07e00
+9de1de00
+1f00f001
+1fef5e00
+1f00f001
+18005e00
+18007e00
+6800c4e6
+6808c4dc
+24348369
+6800c4ed
+6808c4e6
+6000c4ac
+6008c4ad
+18007000
+da4044ac
+18007204
+ea220000
+ea4a0000
+9842de00
+1f00f001
+1a20a204
+1a40a404
+c200036e
+2040759e
+1f00f1fc
+68024ce8
+1fe25e00
+1f00f004
+20207573
 09800018
 78287c00
 db600664
@@ -1200,27 +902,80 @@
 202054af
 e8c18000
 600183f9
-c02904b6
-c00104cd
-c00904bc
+c02903c1
+c00103d8
+c00903c7
+c0038390
+c00483a5
+c000839d
+c00583b8
 20205907
-704d3801
+6800cd3c
+c00103a1
+704d3d04
+700b7d3e
+20207c27
+6800c4e6
+c000039a
+704d3d03
+700b7d3e
+20207c27
+704d3d02
+700b7d3e
+20207c27
+6800cd3c
+c0010395
+704d3c02
+202003e9
+68020347
+60024d5a
+700b7d08
+20205620
+68010342
+1fe0fffe
+1fe6fc07
+20407efd
+1807f200
+d8c00348
+18c08c03
+e8c10000
+1fe22600
+e8c10000
+d8402a29
+98467c00
+202283b4
+c20003ab
+20200395
+1a627e00
+60014d5a
+700b7d0a
+20205620
+df200009
+da200347
+da404d40
+20407f25
+202283be
+20200395
+704d3d05
+700b7d3e
+20207c27
+704ce701
 680103fa
-c01084ba
+c01083c5
 202059ed
 d8c00349
-20200450
+202002aa
 680103fa
 1fe67c21
-204284ba
+204283c5
 680103fa
 1fe67c2d
-204284cb
+204283d6
 680103fa
-68094cbc
+68094c80
 18408401
 98467c00
-202284c8
+202283d3
 202059ca
 700b7d34
 20407c27
@@ -1230,38 +985,78 @@
 700b7d03
 20205620
 6800c444
-c00d8609
-c00e8609
-c008859f
-c0048551
-c002853f
-c00384f3
+c00d8540
+c00e8540
+c00884d6
+c0048484
+c0028472
+c0038426
 c009d85c
-c00184e0
-c00584e3
-c00684db
+c0018413
+c0058416
+c00303eb
+c0040403
+c005040a
 20205666
+704d3c01
+700b7d06
+20205620
+6800cd3c
+c00103f8
+d8a04445
+58000001
+e0a10000
+5800ffff
+e0a10000
+58002800
+e0a10000
+d8c04d4a
+20407e35
+d840001b
+20205892
+d8a04445
+58000001
+e0a10000
+5800ffff
+e0a10000
+58002800
+e0a10000
+68014d3e
+e0a10000
+d840000d
+20205892
+68024d5a
+d8a04445
+e0a20000
+58002803
+e0a10000
+1800040b
+20205892
+68014d5a
+60014445
+18000407
+20205892
 680103fa
-c00384de
+c0038411
 202057d6
 7003fc07
 20205729
-68014c6a
+68014c4a
 e0a10000
 2020588a
 680103fa
-c01604e7
-c00704ea
+c016041a
+c007041d
 202057c6
-6800cd7e
+6800cd29
 203a5728
 202057c6
-6800cc69
+6800cc49
 c08057c6
-6800cc7c
+6800cc5c
 c001d7c6
 18a20400
-704c6901
+704c4901
 18420a00
 7003fc05
 20205729
@@ -1270,40 +1065,40 @@
 680944c0
 58001812
 98467c00
-2022850c
+2022843f
 5800180f
 98467c00
-2022850e
+20228441
 5800180a
 98467c00
-20228512
+20228445
 58001801
 98467c00
-20228510
+20228443
 20205754
-6800cc7f
+6800cc5f
 d8400000
 f9200400
 98417e00
 c0805728
-6800cc7f
+6800cc5f
 f9207e00
-6000cc7f
-20200514
+6000cc5f
+20200447
 d8e00000
-20200503
+20200436
 d8e00001
-20200503
+20200436
 d8e00003
-20200503
+20200436
 d8e00002
-20200503
+20200436
 680144c0
 1fe22200
 680944c4
 18422400
-2040051b
-20228526
+2040044e
+20228459
 20205728
 d8c04504
 e8c10000
@@ -1315,18 +1110,18 @@
 18c08dfd
 e8c08000
 98c08c00
-2020051c
+2020044f
 18c08df9
 e8c10000
-60014c61
-20400534
+60014c41
+20400467
 203a5728
 18c08dfc
 e8c10000
 1fe0ffff
-60014c63
+60014c43
 70444407
-68024c61
+68024c41
 60024445
 18000409
 20205892
@@ -1340,14 +1135,14 @@
 20628000
 e8c08000
 98c08c00
-20200537
+2020046a
 d9600003
 18007e01
 6000c445
 20405a74
 20405a7d
 203a5746
-2421054f
+24210482
 78547c00
 e0a10000
 e8c10000
@@ -1356,54 +1151,54 @@
 2022d746
 e8c08000
 98c08c00
-20200543
+20200476
 18c08c02
-2020054c
+2020047f
 680944c0
 58002a00
 98467c00
-20228591
+202284c4
 58002a50
 98467c00
-2022859c
+202284d3
 58002803
 98467c00
 2422d728
 680144bc
 600102a0
 78347c00
-204005e3
-2421056d
+2040051a
+242104a0
 680902a0
-204005eb
-c000856d
-204005e7
-2422856b
+20400522
+c00084a0
+2040051e
+2422849e
 78547c00
-2040056f
-204005d1
-204005eb
-20400577
-2020056d
-204005d1
-2020055e
+204004a2
+20400508
+20400522
+204004aa
+202004a0
+20400508
+20200491
 20345728
-20200607
+2020053e
 680102a0
 60014446
-6800cc67
+6800cc47
 1fe27200
-20400601
+20400538
 d8a04448
 20407e45
-20200604
-68094c65
+2020053b
+68094c45
 184cfe00
-c0828589
-204005fe
+c08284bc
+20400535
 680102a0
 e0a10000
-20400604
+2040053b
 58004504
 98408c00
 e8c08000
@@ -1411,20 +1206,24 @@
 1fe27200
 1fe0fe05
 6000c445
-204005fe
+20400535
 18420c00
 20407e45
-20200604
-204005fe
+2020053b
+20400535
 680102a0
 e0a10000
-68014c65
+68014c45
 e0a10000
-20400604
+2040053b
 70444507
 20600000
 20405b08
 e8c08000
+58000013
+1fe27200
+202004cb
+e8c08000
 1fe27200
 1fe0fe02
 6000c445
@@ -1436,67 +1235,67 @@
 2020588a
 d8402a50
 20405b0c
-20200592
+202004c9
 d9600002
 680144bc
 600102a0
 700d5c00
 78347c00
-204005e3
-242105c7
+2040051a
+242104fe
 680902a0
-204005eb
-c00085ca
-204005e7
-242285c3
+20400522
+c0008501
+2040051e
+242284fa
 68008d5c
-c00085ca
-243405b4
+c0008501
+243404eb
 78547c00
-6800cc67
+6800cc47
 1fe0fe04
 6000c445
-20400604
-202005be
-6800cc67
+2040053b
+202004f5
+6800cc47
 1fe67c10
-202285ca
+20228501
 6800c445
 1fe67c10
-202285ca
+20228501
 680102a0
 1fe0ffff
 60010d5a
-204005da
+20400511
 680102a0
 60010d58
-204005d5
+2040050c
 196097ff
-202285c5
-204005d1
-202005a4
+202284fc
+20400508
+202004db
 700d5c01
-202005c3
+202004fa
 680102a0
 60010d5a
-202005ce
+20200505
 680102a0
 1fe0ffff
 60010d5a
-202005ce
+20200505
 20345728
-204005da
-20200607
+20400511
+2020053e
 680902a0
 18408401
 600902a0
 20600000
-6800cc67
+6800cc47
 60008103
 1fe27200
-20400601
+20400538
 20207e45
-204005fe
+20400535
 68010d58
 e0a10000
 68010d5a
@@ -1504,30 +1303,30 @@
 68008103
 1fe27200
 20407e45
-20200604
+2020053b
 680902a0
 680144be
 98467c00
 20600000
 680144c0
-68094c65
+68094c45
 98467c00
 20600000
 d8c04504
 18422200
 e8c10000
-203a05f6
+203a052d
 e8c90000
-60094c65
+60094c45
 9a267c00
-202285f8
+2022852f
 e8c08000
 98c08c00
-202005ed
+20200524
 58000001
 20600000
 e8c08000
-6000cc67
+6000cc47
 18c27e00
 600102b7
 58000000
@@ -1541,7 +1340,7 @@
 18a27e00
 600102b9
 20600000
-204005fe
+20400535
 2020588a
 6800cbab
 1fe08401
@@ -1550,35 +1349,59 @@
 1feffe07
 d8c04bad
 98c08c00
-6800cc82
+6800cc62
 1fe0fffb
 1fe27200
 d8a04445
 20407e45
-6808cc82
+6808cc62
 20205892
 2040561c
 202058b0
 1a627e00
-c0018629
-c005062d
-c0000624
-c009062b
-c001062f
+c0018565
+c005057b
+c0000560
+c0090579
+c001057e
+c003055c
 1fe67c0d
 202158c0
-6000cc68
+6000cc48
 700b7d27
 20205620
+20748000
+700b7d3d
+20407c27
+2020594a
 20405924
 68014437
 1fef8404
-60094d4f
+60094cfe
+20600000
+e8c40000
+60024d2c
+e8c10000
+60014d2a
+20405939
+6800cc49
+c001056d
+20400570
+68040380
+60044d34
+20600000
+68034d2a
+203a0576
+704c5c03
+2040032d
+70448b01
+20600000
+704c5c01
+70448b00
 20600000
-704c7c00
-20205938
 700b7d33
 20205620
+704d2801
 700b7d2b
 20205620
 58000014
@@ -1586,61 +1409,92 @@
 20600000
 6800c43e
 28200601
-20208636
+20208585
 202058a7
 6800c43f
-203a0639
+203a0588
 202058a7
 6800c43e
 793ffe04
 6000c43e
 20600000
 e8c08000
-c0008644
-c002064a
-c0048642
+c0008593
+c0020599
+c0048591
 202058f8
-704c6903
+704c4903
 20205974
-704d3d01
+704cec01
 6000c4ae
 e8c30000
 e0a30000
 700b7d42
 20205620
-204074a8
-2022864d
+204005a0
+2022859c
 20205968
-704c6902
-2020596a
-704c7d00
+704c4902
+204005a8
+70448b01
+2020596b
+d8a0449c
+203485a3
+d8a003b0
+18c22200
+20407e35
+20400354
+d8c0448c
+202075bc
+204005ab
+d8a0447b
+202075a3
+18007000
+680203b0
+98005e00
+1f00f001
+e8c20000
+98005e00
+1f00f001
+6802449c
+98005e00
+1f00f001
+e8c20000
+98005e00
+1f00f001
+2040759e
+1f00f1fc
+68024ce8
+1fe25e00
+1f00f004
+18006c38
+18006c08
+2020752f
 20403f86
 20403f7e
 20403fa4
 20203ecc
 70421300
 70448b00
-704c7c00
-704c6900
-704c7f00
-704c7d00
+704c5c00
+704c4900
+704c5f00
 20203ed0
 58000000
 60024ba9
 20600000
 c6918000
-68024d40
-60024d72
-20400684
-24340677
-704c150a
-204006a6
+68024cef
+60024d1c
+204005f2
+243405e5
+704c0b0a
+20400613
 6800cbef
 c1ff8000
-704c3d02
-6800cd45
+6800ccf4
 247a0000
-204001c4
+2040015f
 24740000
 68008b7f
 247a0000
@@ -1649,11 +1503,11 @@
 207a0000
 6800c131
 207a0000
-6801cd7a
+6801cd24
 20407e8a
 600a41fc
 20203cda
-204001c4
+2040015f
 24740000
 68008b7f
 247a0000
@@ -1662,83 +1516,80 @@
 207a0000
 6800c131
 207a0000
-6800cc15
-243a0673
-68024d72
-20200674
+6800cc0b
+243a05e1
+68024d1c
+202005e2
 6800cbef
-c0ff86f7
-2040068b
-205406a2
-20540766
+c0ff8662
+204005f9
+2054060f
+205406cc
 704be601
 20600000
 78547c00
 704be202
-6800cd57
-c0020695
-c0028698
-c003869e
-c003069b
-6800cd45
+6800cd01
+c0020603
+c0028606
+c003860c
+c0030609
+6800ccf4
 245a34df
 20600000
-704d5700
+704d0100
 704be10a
-202006a0
-704d5703
+2020060e
+704d0103
 704be104
-202006a0
-704d5702
+2020060e
+704d0102
 704be103
-202006a0
+2020060e
 704be201
 704be108
-704be700
 202034df
 df200009
-d8c04d57
+d8c04d01
 d8a00cd5
 20207e45
 704be800
-204006cb
-243786b4
-204006dc
+58000000
+60014c04
+20400636
+24378624
+20400647
 6800cbe0
 1fe0fe01
 6000cbe0
-704d4500
+704cf400
 6800cbef
-c0ff86ca
-204006c6
-704be700
+c0ff867c
+20400632
+58000000
+60014c04
 704be600
 20600000
-704d4501
-6800cbe7
+704cf401
+68014c04
 1fe0fe01
-6000cbe7
+60014c04
 6800cbef
-c0ff86d7
-6800cbe7
-c07f86d9
-6800cbe7
-d8400010
-98467c00
-20210785
+c0ff8642
+68014c04
+c3850000
 6800cbe8
 1fe0fe01
 6000cbe8
-2000000a
-c08206a7
-20200785
+1fe17e01
+205a06eb
+20200616
 58000000
 60048cd5
-6004cd57
+6004cd01
 20600000
-20200711
 7857fc00
-204007dd
+20400743
 200004b0
 18002a00
 68024c00
@@ -1746,15 +1597,15 @@
 68088017
 20403a82
 20403a87
-2040079d
-205787d7
+20400703
+2057873d
 20600000
-704d4500
+704cf400
 20600000
-704d4500
+704cf400
 700b7d32
 20207c27
-20400746
+204006b1
 68008cb3
 c1810000
 6800cbdf
@@ -1767,34 +1618,34 @@
 2fe1f008
 24608000
 68008cb5
-c07f86ec
-6000ccb7
+c07f8657
+6000cc7b
 20600000
-704d7d01
+704d2701
 20600000
 79200023
-204006f3
-204006b0
+2040065e
+2040061f
 704bef01
 20600000
 704be000
 704be94e
 68024beb
-20200758
-204006f3
+202006be
+2040065e
 6800cbe6
 c000b4df
 6800cbef
-c00086ff
-c0010702
-c0018705
+c000866a
+c001066d
+c0018670
 20203bf1
 704bef11
 700d37aa
-20200707
+20200672
 704bef12
 700d3755
-20200707
+20200672
 704bef13
 700d3722
 700d3802
@@ -1803,41 +1654,41 @@
 700d3d00
 da200d37
 d8400007
-20400741
-20400766
-20400689
+204006ac
+204006cc
+204005f7
 202034df
 6800cbef
 c17f8000
-c0088717
-c0090719
-c009871b
+c0088682
+c0090684
+c0098686
 20600000
 704bef02
-202006b0
+2020061f
 704bef03
-202006b0
+2020061f
 704befff
 700b7d31
 20407c27
 68020d19
-20400758
-202006b0
+204006be
+2020061f
 79200023
-20400759
-20400785
+204006bf
+204006eb
 6800cbef
 c1ff8000
-20400733
+2040069e
 58000000
 60014c04
 20403cab
 200007d0
 6800cc04
-c07f86d9
-204006cb
-2437873c
-204006c6
+c07f8644
+20400636
+243786a7
+20400632
 79200023
 700b7d3c
 20207c27
@@ -1848,13 +1699,13 @@
 60020d39
 d8400006
 da200d37
-20400741
-20200766
+204006ac
+202006cc
 68014c04
 1fe0fe01
 60014c04
-20400785
-20200729
+204006eb
+20200694
 6008cbe1
 18427200
 d8a00cd5
@@ -1863,20 +1714,15 @@
 68008cb4
 1fe97e00
 6000cbdf
-1fe0fe01
-d8c00cb4
-98c08c00
-e8c18000
-6001cc0b
 20600000
-6808cc3c
-58004c2b
+6808cc22
+58004c11
 98408a00
 1a227e00
 e0a08000
 18408401
 18410407
-6008cc3c
+6008cc22
 20600000
 60024c00
 da200000
@@ -1884,13 +1730,13 @@
 d8c04c00
 e8c08000
 9a20a200
-c200075c
+c20006c2
 1a227e00
-60014c16
-6800cc16
-6808cc17
+60014c0c
+6800cc0c
+6808cc0d
 9840fe00
-6000cc18
+6000cc0e
 20600000
 6800cbe1
 1fe0fe02
@@ -1907,24 +1753,24 @@
 9840fe00
 e0a08000
 6800cbef
-c0ff8778
+c0ff86de
 6800cbe2
 e0a08000
 6800cbe1
 98007200
 6800cbe2
-c0008783
+c00086e9
 d8c00cd5
 20407e45
 68008cd5
-c0018781
+c00186e7
 20600000
 700cd502
 20600000
 d8c00cd6
 20207e45
 6808cbea
-2040078b
+204006f1
 18408401
 18410403
 6008cbea
@@ -1947,7 +1793,7 @@
 79200401
 18431c00
 20600000
-20400794
+204006fa
 7826fc00
 7830fc00
 78507c00
@@ -1955,38 +1801,38 @@
 68014be4
 98003600
 37c18400
-242c07d7
+242c073d
 7846fc00
 7825fc00
 7823fc00
 7824fc00
 09800008
 19897e00
-6000cc19
-6808cc18
+6000cc0f
+6808cc0e
 98467c00
-242287d7
+2422873d
 09800008
 19897e00
 60008cb3
 68008cb3
 6808cbe2
 a8400e00
-242087d7
+2420873d
 09800008
 19897e00
 e0a08000
 1fe97e00
 1fe1721f
-202287c1
+20228727
 09800008
 19897e00
 e0a08000
-c20007bd
+c2000723
 18a22200
 09800008
 19897e00
-6000cc2a
+6000cc10
 1a220a00
 09800018
 78287c00
@@ -1995,16 +1841,16 @@
 1ff17e00
 e0a18000
 7845fc00
-202307d7
+2023073d
 7837fc00
 68008017
 1fe0a200
 20403ab6
 7846fc00
 20403a7a
-6800cc2a
+6800cc10
 1fe22200
-2020074f
+202006b5
 784dfc00
 7845fc00
 2020375c
@@ -2014,8 +1860,8 @@
 204053d2
 68024c00
 98001200
-20400794
-204007da
+204006fa
+20400740
 79202a00
 782efc00
 78307c00
@@ -2028,14 +1874,14 @@
 782dfc00
 7823fc00
 7824fc00
-6800cc18
+6800cc0e
 08008608
 6800cbe3
 98007200
 d8c00cf5
 e8c08000
 08008608
-c20007f3
+c2000759
 78247c00
 08008618
 78447c00
@@ -2044,3 +1890,140 @@
 784efc00
 784dfc00
 20203a7a
+6800cd7b
+207a0000
+704befff
+704d7c2e
+704be92e
+704d8202
+6800cd83
+c00087b3
+6808cd7d
+1841040f
+6008cd7d
+18417e07
+c0008774
+c0018774
+c0038774
+704d7d09
+6800cd7c
+d8400051
+98467c00
+24210779
+704d7c00
+6801cd7c
+6001cd7f
+70890700
+6808cd7f
+20400793
+2040018e
+20400191
+7843fc00
+782efc00
+78307c00
+6808cd80
+18412a07
+68108908
+284ffe03
+7920fe05
+60108908
+6800cd83
+243a076a
+6800cd81
+08008608
+2040079a
+68014d7f
+68094d7c
+98467c00
+20228789
+2020076c
+70890477
+70890303
+2000000a
+70890383
+7089047f
+708903a7
+20600000
+6800cdbe
+2feffe06
+204087a6
+6800cdbf
+2feffe06
+204087a9
+6800cdbf
+2feffe01
+204087ac
+68014dbe
+60014d95
+20600000
+6800cd95
+c3830000
+202007d9
+6800cd96
+c3830000
+202007d3
+6800cd96
+c3808000
+6800cd83
+1fe0fe01
+1fe17e01
+6000cd83
+20600000
+2040079a
+6800cd83
+203a076a
+58cccccc
+60018d37
+e0a18000
+e0a18000
+e0a18000
+e0a18000
+e0a18000
+e0a18000
+e0a18000
+da200d37
+d8400019
+204006ac
+204006cc
+20403a6d
+20001770
+20400636
+20403a6d
+20001770
+20400636
+20403a6d
+20001770
+20400636
+20403a6d
+20001770
+20400636
+20403a6d
+20001770
+20400636
+202007b3
+6800cd82
+c00187ea
+1fe0fe01
+1fe17e03
+6000cd82
+202007e0
+6800cd82
+c00087e3
+c00007e3
+1fe0ffff
+1fe17e03
+6000cd82
+202007e0
+c00087e3
+c00107e7
+c00187ea
+704d8201
+704d7c02
+704be902
+20600000
+704d7c2e
+704be92e
+20600000
+704d7c4f
+704be94f
+20600000
Index: c51/output/sched.rom
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/output/sched.rom	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/output/sched.rom	(working copy)
@@ -1,15 +1,15 @@
 4000:
-69   #mem_patch00
-04   #mem_patch01
+2d   #mem_patch00
+00   #mem_patch01
 00   #mem_patch02
 00   #mem_patch03
-80   #mem_patch04
-09   #mem_patch05
-0a   #mem_patch06
+00   #mem_patch04
+00   #mem_patch05
+00   #mem_patch06
 00   #mem_patch07
-0c   #mem_patch08
+00   #mem_patch08
 00   #mem_patch09
-11   #mem_patch0A
+00   #mem_patch0A
 00   #mem_patch0B
 00   #mem_patch0C
 00   #mem_patch0D
@@ -34,15 +34,15 @@
 00   #mem_patch20
 00   #mem_patch21
 00   #mem_patch22
-09   #mem_patch23
-18   #mem_patch24
+00   #mem_patch23
+00   #mem_patch24
 00   #mem_patch25
 04   #mem_patch26
 c8   #mem_patch27
 00   #mem_patch28
 5c   #mem_patch29
 40   #mem_patch2A
-00   #mem_patch2B
+04   #mem_patch2B
 3a   #mem_patch2C
 ce   #mem_patch2D
 00   #mem_patch2E
@@ -50,7 +50,7 @@
 80   #mem_patch30
 e0   #mem_patch31
 00   #mem_patch32
-90   #mem_patch33
+00   #mem_patch33
 00   #mem_patch34
 00   #mem_patch35
 00   #mem_patch36
@@ -59,13 +59,13 @@
 a0   #mem_patch39
 01   #mem_patch3A
 00   #mem_patch3B
-4c   #mem_patch3C
+00   #mem_patch3C
 00   #mem_patch3D
 00   #mem_patch3E
 00   #mem_patch3F
 
 
-4d4f:  20 00		# 20:10ms  30:15ms
+4cfe:  20 00		# 20:10ms  30:15ms
 
 4131:01
 4213:40
@@ -73,13 +73,12 @@
 41f7:0a
 41f5:10 00
 4133:00
-4cb1:00 00
 
 414a: 40 25 00
 
 4140:36 08 c2 08 66 22    
 4702:
-'BK-JK810
+'BT3.0 Keyboard
 4280:0e 00
 4282:01
 4284:01
@@ -89,223 +88,6 @@
 
 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
-
-
-#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
-
-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
-
-090207 3508 3506 090409 090100
-09020b 090100
-09020c 091f40
-09020d 2800
-09020e 2801
-09020f 090012
-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
-0904e8
-090202#ProductID
-097021
-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
-4138:
-ff
-ff
-8f
-f8	#fe--EDR  F8--BR
-83	#AFHclose 83
-9d
-59
-82
-
 #bluetootch param init
 07dc:00
 00a2:00
@@ -362,12 +144,12 @@
 13 00 4e 2a 01 01
 #Characteristic: hid report
 14 00 03 28 01 12   
-15 00 4d 2a 08 00 00 00 00 00 00 00 00	#hid report	led handle write
+15 00 4d 2a 01 00 	#hid report	led handle write
 16 00 02 29 02 00 00	
 17 00 08 29 02 01 01	#Report ID: 1	Report Type: Input
 #Characteristic:hid report
 18 00 03 28 01 12  
-19 00 4d 2a 05 00 00 00 00 00
+19 00 4d 2a 01 00
 1a 00 02 29 02 00 00
 1b 00 08 29 02 03 01	#Report ID: 3	Report Type: Input
 
@@ -384,8 +166,8 @@
 23 00 08 29 02 01 02	#Report ID: 1	Report Type: Output
 
 #Characteristic:Report map
-24 00 03 28 01 0a
-25 00 4b 2a a0		#length 66+25+60=160=0xa0
+24 00 03 28 01 02
+25 00 4b 2a 72
 #66
 05 01
 09 06
@@ -435,60 +217,22 @@
 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
+#23
+05 01	#Usage Page (Generic Desktop),
+09 80	#USAGE (3-D Digitizer)
+a1 01	#Collection (Application),
+85 03	#Report ID (3)
+19 81	#Usage Minimum (), 
+29 88	#Usage Maximum (),
+15 00	#Logical Minimum (0),
+25 01	#Logical Maximum (1),
+95 08	#Report Count (8),
+75 01	#Report Size (1),
+81 06	#Input (Data,Var,Rel)
+#95 01	#Report Count (1),  
+#75 05	#Report Size (5),	
+#81 01	#Input (Const,Ary,Abs)
+c0		#END_COLLECTION
 
 #Characteristic:Hid information
 26 00 03 28 01 02
@@ -508,22 +252,28 @@
 00 00
 
 
-4c6a:17
+4c4a:17
 46f9:50
 44c2:14
 44f9:11 46 34 54 77 dd
 
+4d40:
+41 70 70 6c 65 20 49 6e 63
+4d3e:
+0a 18
+4d4a:
+d0 00 2d 12 1e 4b 0f a4 99 4e ce b5 31 f4 05 79
+
+4c5e:00
+4c7c:15 00
+4c7e:1d 00
+4c80:19 00
+4ced:2c 00
+4c40:50
 
-4c7e:00
-4cb8:15 00
-4cba:1d 00
-4cbc:19 00
-4d3e:2c 00
-4c60:50
-
-4d7e:00
+4d29:01
 
-4c6c:
+4c4c:
 0c 00 #Length
 05 00 #CID
 12 b4 
@@ -543,24 +293,22 @@
 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
-4d6b:
+4d15:
 #microsoft swift pair
 06 ff 06 00 03 00 80
 
 43f9:1f
 43fa:
-'\09BK-JK810
-
-4d53:20 21 12 24		#version data 20211224
-
-4c91:9f 3e
-4c93:cd 4d
-4c8f:01    #01 VINLPM      #02 HVIN      #04 GPIO
+'\08BK-JK810
+4d5f:
+'\08BK-JK810
+
+4c71:9f 3e
+4c73:cd 4d
+4c6f:01    #01 VINLPM      #02 HVIN      #04 GPIO
 
 #24g init
-4c10:01#tx
 4be2:02        #mouse 1,kb 2
-4c0f:04#max tx retry
 4c0a:00#with ack
 4be4:60 09     #200us 
 4bf0:00 13 2c 42
@@ -569,13 +317,13 @@
 4bfc:11 23 31 4d
 4bef:ff
 4beb:20 15 10 05
-4c7d:c2
+4c5d:01
 0d37:00 00 00 00 00 00 00 00 00 00
-4d40:00 48 5d 00 #10 min
-4d76:ff ff ff ff
-4d7a:e8 fd 00 #00 00 0a
+4cef:00 48 5d 00 #10 min
+4d20:ff ff ff ff
+4d24:e8 fd 00 #00 00 0a
 
-4216:8f 10 ce
+4216:8f 1f ce
 4219:00 0a 0b ef 0f
 41f8:00
 00a3:00 00 00 00 00 00 00 00
@@ -590,7 +338,7 @@
 4159:00 20
 415f:80 03
 4161:00 06
-4c98:00 13
+4c78:00 13
 
 429b:30 3f
 42aa:20
Index: c51/patch/adc.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/bluetooth.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/global_variable.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/gpio.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/iic.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/ipc.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/kb.dat
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/patch/kb.dat	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/patch/kb.dat	(working copy)
@@ -1,15 +1,15 @@
 mem_patch00:
-69   #mem_patch00
-04   #mem_patch01
+2d   #mem_patch00
+00   #mem_patch01
 00   #mem_patch02
 00   #mem_patch03
-80   #mem_patch04
-09   #mem_patch05
-0a   #mem_patch06
+00   #mem_patch04
+00   #mem_patch05
+00   #mem_patch06
 00   #mem_patch07
-0c   #mem_patch08
+00   #mem_patch08
 00   #mem_patch09
-11   #mem_patch0A
+00   #mem_patch0A
 00   #mem_patch0B
 00   #mem_patch0C
 00   #mem_patch0D
@@ -34,15 +34,15 @@
 00   #mem_patch20
 00   #mem_patch21
 00   #mem_patch22
-09   #mem_patch23
-18   #mem_patch24
+00   #mem_patch23
+00   #mem_patch24
 00   #mem_patch25
 04   #mem_patch26
 c8   #mem_patch27
 00   #mem_patch28
 5c   #mem_patch29
 40   #mem_patch2A
-00   #mem_patch2B
+04   #mem_patch2B
 3a   #mem_patch2C
 ce   #mem_patch2D
 00   #mem_patch2E
@@ -50,7 +50,7 @@
 80   #mem_patch30
 e0   #mem_patch31
 00   #mem_patch32
-90   #mem_patch33
+00   #mem_patch33
 00   #mem_patch34
 00   #mem_patch35
 00   #mem_patch36
@@ -59,7 +59,7 @@
 a0   #mem_patch39
 01   #mem_patch3A
 00   #mem_patch3B
-4c   #mem_patch3C
+00   #mem_patch3C
 00   #mem_patch3D
 00   #mem_patch3E
 00   #mem_patch3F
@@ -73,13 +73,12 @@
 mem_lpm_overhead:0a
 mem_lpm_interval:10 00
 mem_scan_mode:00
-mem_test:00 00
 
 mem_class: 40 25 00
 
 mem_lap:36 08 c2 08 66 22    
 mem_local_name_length:
-'BK-JK810
+'BT3.0 Keyboard
 mem_sniff_param_interval:0e 00
 mem_sniff_param_attempt:01
 mem_sniff_param_timeout:01
@@ -89,223 +88,6 @@
 
 mem_eir_enable:01
 
-mem_all_uuid_16bits:
-06
-03#Type: Complete list of 16-bit UUIDs
-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
-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
-
-
-#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
-
-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
-
-090207 3508 3506 090409 090100
-09020b 090100
-09020c 091f40
-09020d 2800
-09020e 2801
-09020f 090012
-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
-0904e8
-090202#ProductID
-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
-9d
-59
-82
-
 #bluetootch param init
 mem_sp_flag:00
 mem_lpm_current_mult:00
@@ -362,12 +144,12 @@
 13 00 4e 2a 01 01
 #Characteristic: hid report
 14 00 03 28 01 12   
-15 00 4d 2a 08 00 00 00 00 00 00 00 00	#hid report	led handle write
+15 00 4d 2a 01 00 	#hid report	led handle write
 16 00 02 29 02 00 00	
 17 00 08 29 02 01 01	#Report ID: 1	Report Type: Input
 #Characteristic:hid report
 18 00 03 28 01 12  
-19 00 4d 2a 05 00 00 00 00 00
+19 00 4d 2a 01 00
 1a 00 02 29 02 00 00
 1b 00 08 29 02 03 01	#Report ID: 3	Report Type: Input
 
@@ -384,8 +166,8 @@
 23 00 08 29 02 01 02	#Report ID: 1	Report Type: Output
 
 #Characteristic:Report map
-24 00 03 28 01 0a
-25 00 4b 2a a0		#length 66+25+60=160=0xa0
+24 00 03 28 01 02
+25 00 4b 2a 72
 #66
 05 01
 09 06
@@ -435,60 +217,22 @@
 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
+#23
+05 01	#Usage Page (Generic Desktop),
+09 80	#USAGE (3-D Digitizer)
+a1 01	#Collection (Application),
+85 03	#Report ID (3)
+19 81	#Usage Minimum (), 
+29 88	#Usage Maximum (),
+15 00	#Logical Minimum (0),
+25 01	#Logical Maximum (1),
+95 08	#Report Count (8),
+75 01	#Report Size (1),
+81 06	#Input (Data,Var,Rel)
+#95 01	#Report Count (1),  
+#75 05	#Report Size (5),	
+#81 01	#Input (Const,Ary,Abs)
+c0		#END_COLLECTION
 
 #Characteristic:Hid information
 26 00 03 28 01 02
@@ -513,6 +257,12 @@
 mem_le_notify_handle:14
 mem_le_lap:11 46 34 54 77 dd
 
+mem_le_search_mac_manu_name:
+41 70 70 6c 65 20 49 6e 63
+mem_le_search_mac_uuid:
+0a 18
+mem_le_search_service_uuid:
+d0 00 2d 12 1e 4b 0f a4 99 4e ce b5 31 f4 05 79
 
 mem_empty_count:00
 mem_att_report1:15 00
@@ -521,7 +271,7 @@
 mem_att_report_battery:2c 00
 mem_le_rx_window:50
 
-mem_le_battery_level_display_enable:00
+mem_le_battery_level_display_enable:01
 
 mem_le_connection_updata_param:
 0c 00 #Length
@@ -549,18 +299,16 @@
 
 mem_le_scan_data_len:1f
 mem_le_scan_data:
-'\09BK-JK810
-
-mem_version_yy_mm_dd:20 21 12 24		#version data 20211224
+'\08BK-JK810
+mem_le_reconne_name:
+'\08BK-JK810
 
 mem_adc_0v:9f 3e
 mem_adc_3v:cd 4d
 mem_adc_config_flag:01    #01 VINLPM      #02 HVIN      #04 GPIO
 
 #24g init
-mem_24g_mode:01#tx
 mem_24g_data_type:02        #mouse 1,kb 2
-mem_24g_max_retry:04#max tx retry
 mem_24g_no_ack:00#with ack
 mem_24g_rx_window:60 09     #200us 
 mem_24g_ch_map1:00 13 2c 42
@@ -569,7 +317,7 @@
 mem_24g_ch_map4:11 23 31 4d
 mem_24g_pairing_sm:ff
 mem_24g_paring_addr:20 15 10 05
-mem_pair_state:c2
+mem_pair_state:01
 mem_24g_common_temp:00 00 00 00 00 00 00 00 00 00
 mem_24g_enter_hibernate:00 48 5d 00 #10 min
 mem_24g_enter_hibernate_max:ff ff ff ff
Index: c51/patch/kb_keyboard.dat
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/patch/kb_keyboard.dat	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/patch/kb_keyboard.dat	(working copy)
@@ -1,15 +1,15 @@
 mem_patch00:
-69   #mem_patch00
-04   #mem_patch01
+2d   #mem_patch00
+00   #mem_patch01
 00   #mem_patch02
 00   #mem_patch03
-80   #mem_patch04
-09   #mem_patch05
+00   #mem_patch04
+00   #mem_patch05
 00   #mem_patch06
 00   #mem_patch07
-0c   #mem_patch08
+00   #mem_patch08
 00   #mem_patch09
-11   #mem_patch0A
+00   #mem_patch0A
 00   #mem_patch0B
 00   #mem_patch0C
 00   #mem_patch0D
@@ -34,8 +34,8 @@
 00   #mem_patch20
 00   #mem_patch21
 00   #mem_patch22
-09   #mem_patch23
-18   #mem_patch24
+00   #mem_patch23
+00   #mem_patch24
 00   #mem_patch25
 04   #mem_patch26
 c8   #mem_patch27
@@ -50,7 +50,7 @@
 80   #mem_patch30
 e0   #mem_patch31
 00   #mem_patch32
-90   #mem_patch33
+00   #mem_patch33
 00   #mem_patch34
 00   #mem_patch35
 00   #mem_patch36
@@ -59,7 +59,7 @@
 a0   #mem_patch39
 01   #mem_patch3A
 00   #mem_patch3B
-4c   #mem_patch3C
+00   #mem_patch3C
 00   #mem_patch3D
 00   #mem_patch3E
 00   #mem_patch3F
@@ -188,10 +188,9 @@
 a1 01	
 85 02			
 19 00  		
-2a ff  				
-03 15  		
-00 26  		
-ff 03 		
+2a ff 03 
+15 00 
+26 ff 03		
 95 01  		
 75 10  			
 81 00  		
@@ -216,10 +215,10 @@
 
 090207 3508 3506 090409 090100
 09020b 090100
-09020c 091f40
+09020c 090c80
 09020d 2800
 09020e 2801
-09020f 090012
+09020f 090318
 090210 090000
 #attribute end
 
@@ -299,7 +298,7 @@
 #Characteristic: Device Name
 06 00 03 28 01 02 
 07 00 00 2a 
-'BT4.2 Keyboard
+'BK-JK810
 
 #Characteristic: Appearance
 08 00 03 28 01 02 
@@ -390,10 +389,9 @@
 a1 01	
 85 02			
 19 00  		
-2a ff  				
-03 15  		
-00 26  		
-ff 03 		
+2a ff 03 
+15 00 
+26 ff 03		
 95 01  		
 75 10  			
 81 00  		
@@ -458,7 +456,7 @@
 2c 01 #timeout
 
 mem_le_name_len:
-'BT4.2 Keyboard
+'BK-JK810
 
 mem_le_adv_channel_map:07 
 mem_le_adv_direct_addr_type:01
@@ -473,13 +471,12 @@
 
 mem_le_scan_data_len:1f
 mem_le_scan_data:
-'\09BT4.2 Keyboard
+'\09BK-JK810
 
-mem_version_yy_mm_dd:20 21 12 24		#version data 20211224
 
 mem_adc_0v:9f 3e
 mem_adc_3v:cd 4d
-mem_adc_config_flag:04    #01 VINLPM      #02 HVIN      #04 GPIO
+mem_adc_config_flag:02    #01 VINLPM      #02 HVIN      #04 GPIO
 
 #24g init
 mem_24g_mode:01#tx
@@ -499,4 +496,3 @@
 mem_24g_enter_hibernate_max:ff ff ff ff
 mem_24g_short_sleep_counter:e8 fd 00 #00 00 0a
 
-
Index: c51/patch/kb_process.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/keyboard.format
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/patch/keyboard.format	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/patch/keyboard.format	(working copy)
@@ -76,42 +76,25 @@
 2 mem_24g_check_dongle_times
 4 mem_24g_device_addr
 1 mem_24g_no_ack
-3 mem_24g_sta_crc
-1 mem_24g_sta_pid
-1 mem_24g_max_retry
-1 mem_24g_mode
-1 mem_24g_hop_pac_retry
-1 mem_24g_idle_timeout
-1 mem_24g_idle_cnt
-1 mem_24g_auto_paring_switch
+
+
 1 mem_24g_enter_lpm_timer
 2 mem_24g_syncword
 1 mem_24g_syncword_crc8
 1 mem_24g_get_syncword_crc8
-2 mem_24g_discard_cnt
-2 mem_cb_24g_data
-9 mem_24g_lasttx
-
-1 mem_power_ctrl_pac_succ_cnt
-1 mem_power_ctrl_level
 
-1 mem_rssi_avg_received
 1 mem_rssi_hex_received
 8 mem_rssi_signal_buf
 8 mem_rssi_noise_buf
 1 mem_rssi_noise_index
 1 mem_rssi_signal_index
 
-1 mem_tx_power
-1 mem_tx_power_temp
-3 mem_cnt
 1 mem_last_txlch
 2 mem_last_txlen
 20 mem_last_txdata
 
 //le
 4 mem_ipc_last_check_timer
-1 mem_prepare_write_len
 2 mem_ipc_c51_timer
 1 mem_le_rx_window
 2 mem_le_find_type_value_start_handle
@@ -145,13 +128,7 @@
 
 1 mem_hibernate_flag
 2 mem_new_supervision_to
-1 mem_kb_wake_timer
-20 mem_kb_last_data
-1 mem_kb_keycount
-1 mem_led_cap_delay_timer
-3 mem_test
-1 mem_seq
-1 mem_recon_index
+
 1 mem_power_on_flag
 1 mem_caps_num_lock
 2 mem_att_report1
@@ -159,8 +136,7 @@
 2 mem_att_report3
 
 1 mem_suspend_flag
-120 mem_32asm_data_end
-1 mem_store_ltk_timer
+100 mem_32asm_data_end
 1 mem_reconnect_continue
 4 mem_le_pin_code
 1 mem_le_send_security_request_flag
@@ -173,15 +149,40 @@
 4 mem_ui_check_timer_setup
 2 mem_customize_timer_setup
 1 mem_customize_timer
-1 mem_ios_mode_flag
-4 mem_version_yy_mm_dd
 20 mem_24g_txbuf_new
 7 mem_le_adv_swift_pair
 4 mem_24g_enter_hibernate_setup
 4 mem_24g_enter_hibernate_max
 3 mem_24g_short_sleep_counter
 1 mem_pc_sleep_flag
+1 mem_le_pause_enc_flag
 1 mem_le_battery_level_display_enable
+10 mem_le_evidm
+8 mem_le_skdm_temp
+//ANCS
+1 mem_le_connect_ios_mac_flag
+1 mem_le_system_4type
+2 mem_le_search_mac_uuid
+9 mem_le_search_mac_manu_name
+1 mem_le_start_auto_reco_timer
+16 mem_le_search_service_uuid
+4 mem_le_mac_handle_number
+1 mem_le_ancs_req
+//ANCS end
+28 mem_le_reconne_name
+
+// FCC
+1 mem_enter_fcc_flag
+0 mem_fcc_param_new
+1 mem_fcc_ch_new
+1 mem_fcc_mod_new
+1 mem_fcc_data_new
+0 mem_fcc_param
+1 mem_fcc_ch
+1 mem_fcc_mod
+1 mem_fcc_data
+1 mem_fcc_count
+1 mem_test_mode
 )
 
 //C51 synchronous task
@@ -354,4 +355,11 @@
 0x002d HANDLE_UUID_END
 )
 
+(			
+0x02 OSMODE_WINDOWS	
+0x03 OSMODE_ANDROID		
+0x04 OSMODE_IOS
+0x05 OSMODE_MAC	
+)
+
 
Index: c51/patch/keyscan.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/led.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/memmap.format
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/patch/memmap.format	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/patch/memmap.format	(working copy)
@@ -937,101 +937,96 @@
 0x4c04 mem_24g_check_dongle_times
 0x4c06 mem_24g_device_addr
 0x4c0a mem_24g_no_ack
-0x4c0b mem_24g_sta_crc
-0x4c0e mem_24g_sta_pid
-0x4c0f mem_24g_max_retry
-0x4c10 mem_24g_mode
-0x4c11 mem_24g_hop_pac_retry
-0x4c12 mem_24g_idle_timeout
-0x4c13 mem_24g_idle_cnt
-0x4c14 mem_24g_auto_paring_switch
-0x4c15 mem_24g_enter_lpm_timer
-0x4c16 mem_24g_syncword
-0x4c18 mem_24g_syncword_crc8
-0x4c19 mem_24g_get_syncword_crc8
-0x4c1a mem_24g_discard_cnt
-0x4c1c mem_cb_24g_data
-0x4c1e mem_24g_lasttx
-0x4c27 mem_power_ctrl_pac_succ_cnt
-0x4c28 mem_power_ctrl_level
-0x4c29 mem_rssi_avg_received
-0x4c2a mem_rssi_hex_received
-0x4c2b mem_rssi_signal_buf
-0x4c33 mem_rssi_noise_buf
-0x4c3b mem_rssi_noise_index
-0x4c3c mem_rssi_signal_index
-0x4c3d mem_tx_power
-0x4c3e mem_tx_power_temp
-0x4c3f mem_cnt
-0x4c42 mem_last_txlch
-0x4c43 mem_last_txlen
-0x4c45 mem_last_txdata
-0x4c59 mem_ipc_last_check_timer
-0x4c5d mem_prepare_write_len
-0x4c5e mem_ipc_c51_timer
-0x4c60 mem_le_rx_window
-0x4c61 mem_le_find_type_value_start_handle
-0x4c63 mem_le_find_type_value_end_handle
-0x4c65 mem_le_cur_att_type
-0x4c67 mem_le_search_len
-0x4c68 mem_le_ll_unknown_type
-0x4c69 mem_le_pairing_state
-0x4c6a mem_le_local_mtu
-0x4c6c mem_le_connection_updata_param
-0x4c7c mem_ltk_states
-0x4c7d mem_pair_state
-0x4c7e mem_empty_count
-0x4c7f mem_shutter_find_type_value_flag
-0x4c80 mem_le51_payload_len
-0x4c81 mem_le51_cmd
-0x4c82 mem_le51_tx_length
-0x4c83 mem_le51_txbuff_inuse
-0x4c84 mem_le51_txbuf
-0x4c8d mem_ipc_bt_100ms_timer
-0x4c8e mem_ipc_c51_100ms_timer
-0x4c8f mem_adc_config_flag
-0x4c90 mem_adc_channel
-0x4c91 mem_adc_0v
-0x4c93 mem_adc_3v
-0x4c95 mem_adc_current_value
-0x4c97 mem_hibernate_flag
-0x4c98 mem_new_supervision_to
-0x4c9a mem_kb_wake_timer
-0x4c9b mem_kb_last_data
-0x4caf mem_kb_keycount
-0x4cb0 mem_led_cap_delay_timer
-0x4cb1 mem_test
-0x4cb4 mem_seq
-0x4cb5 mem_recon_index
-0x4cb6 mem_power_on_flag
-0x4cb7 mem_caps_num_lock
-0x4cb8 mem_att_report1
-0x4cba mem_att_report2
-0x4cbc mem_att_report3
-0x4cbe mem_suspend_flag
-0x4cbf mem_32asm_data_end
-0x4d37 mem_store_ltk_timer
-0x4d38 mem_reconnect_continue
-0x4d39 mem_le_pin_code
-0x4d3d mem_le_send_security_request_flag
-0x4d3e mem_att_report_battery
-0x4d40 mem_24g_enter_hibernate
-0x4d44 mem_24g_txfail_cnt
-0x4d45 mem_mouse_retry_flag
-0x4d46 mem_24g_led_flag
-0x4d47 mem_ui_timer_last_btclk_temp
-0x4d4b mem_ui_check_timer_setup
-0x4d4f mem_customize_timer_setup
-0x4d51 mem_customize_timer
-0x4d52 mem_ios_mode_flag
-0x4d53 mem_version_yy_mm_dd
-0x4d57 mem_24g_txbuf_new
-0x4d6b mem_le_adv_swift_pair
-0x4d72 mem_24g_enter_hibernate_setup
-0x4d76 mem_24g_enter_hibernate_max
-0x4d7a mem_24g_short_sleep_counter
-0x4d7d mem_pc_sleep_flag
-0x4d7e mem_le_battery_level_display_enable
+0x4c0b mem_24g_enter_lpm_timer
+0x4c0c mem_24g_syncword
+0x4c0e mem_24g_syncword_crc8
+0x4c0f mem_24g_get_syncword_crc8
+0x4c10 mem_rssi_hex_received
+0x4c11 mem_rssi_signal_buf
+0x4c19 mem_rssi_noise_buf
+0x4c21 mem_rssi_noise_index
+0x4c22 mem_rssi_signal_index
+0x4c23 mem_last_txlch
+0x4c24 mem_last_txlen
+0x4c26 mem_last_txdata
+0x4c3a mem_ipc_last_check_timer
+0x4c3e mem_ipc_c51_timer
+0x4c40 mem_le_rx_window
+0x4c41 mem_le_find_type_value_start_handle
+0x4c43 mem_le_find_type_value_end_handle
+0x4c45 mem_le_cur_att_type
+0x4c47 mem_le_search_len
+0x4c48 mem_le_ll_unknown_type
+0x4c49 mem_le_pairing_state
+0x4c4a mem_le_local_mtu
+0x4c4c mem_le_connection_updata_param
+0x4c5c mem_ltk_states
+0x4c5d mem_pair_state
+0x4c5e mem_empty_count
+0x4c5f mem_shutter_find_type_value_flag
+0x4c60 mem_le51_payload_len
+0x4c61 mem_le51_cmd
+0x4c62 mem_le51_tx_length
+0x4c63 mem_le51_txbuff_inuse
+0x4c64 mem_le51_txbuf
+0x4c6d mem_ipc_bt_100ms_timer
+0x4c6e mem_ipc_c51_100ms_timer
+0x4c6f mem_adc_config_flag
+0x4c70 mem_adc_channel
+0x4c71 mem_adc_0v
+0x4c73 mem_adc_3v
+0x4c75 mem_adc_current_value
+0x4c77 mem_hibernate_flag
+0x4c78 mem_new_supervision_to
+0x4c7a mem_power_on_flag
+0x4c7b mem_caps_num_lock
+0x4c7c mem_att_report1
+0x4c7e mem_att_report2
+0x4c80 mem_att_report3
+0x4c82 mem_suspend_flag
+0x4c83 mem_32asm_data_end
+0x4ce7 mem_reconnect_continue
+0x4ce8 mem_le_pin_code
+0x4cec mem_le_send_security_request_flag
+0x4ced mem_att_report_battery
+0x4cef mem_24g_enter_hibernate
+0x4cf3 mem_24g_txfail_cnt
+0x4cf4 mem_mouse_retry_flag
+0x4cf5 mem_24g_led_flag
+0x4cf6 mem_ui_timer_last_btclk_temp
+0x4cfa mem_ui_check_timer_setup
+0x4cfe mem_customize_timer_setup
+0x4d00 mem_customize_timer
+0x4d01 mem_24g_txbuf_new
+0x4d15 mem_le_adv_swift_pair
+0x4d1c mem_24g_enter_hibernate_setup
+0x4d20 mem_24g_enter_hibernate_max
+0x4d24 mem_24g_short_sleep_counter
+0x4d27 mem_pc_sleep_flag
+0x4d28 mem_le_pause_enc_flag
+0x4d29 mem_le_battery_level_display_enable
+0x4d2a mem_le_evidm
+0x4d34 mem_le_skdm_temp
+0x4d3c mem_le_connect_ios_mac_flag
+0x4d3d mem_le_system_4type
+0x4d3e mem_le_search_mac_uuid
+0x4d40 mem_le_search_mac_manu_name
+0x4d49 mem_le_start_auto_reco_timer
+0x4d4a mem_le_search_service_uuid
+0x4d5a mem_le_mac_handle_number
+0x4d5e mem_le_ancs_req
+0x4d5f mem_le_reconne_name
+0x4d7b mem_enter_fcc_flag
+0x4d7c mem_fcc_param_new
+0x4d7c mem_fcc_ch_new
+0x4d7d mem_fcc_mod_new
+0x4d7e mem_fcc_data_new
+0x4d7f mem_fcc_param
+0x4d7f mem_fcc_ch
+0x4d80 mem_fcc_mod
+0x4d81 mem_fcc_data
+0x4d82 mem_fcc_count
+0x4d83 mem_test_mode
 0x4800 mem_at_gpio
 0x4801 mem_module_wake_up_gpio
 0x4802 mem_module_state_gpio
Index: c51/patch/ram.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/ramcode.rom
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/patch/ramcode.rom	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/patch/ramcode.rom	(working copy)
@@ -1,160 +1,111 @@
-c512801a
-c0000045
-c0018049
-c0028055
-c003032e
-c005034f
-c0138353
-c0140365
-c015836b
-c0210376
-c021837a
-c0280382
-c02a0391
-c0188041
-c019803e
-c0480224
-c04901ea
-c04a01f0
-c04a81da
-c058032c
-c058819e
-c05901b2
-c05981cc
-c05b01d5
-c05c81a6
+c5128010
+c000002c
+c0010030
+c0018038
+c0028043
+c04801c2
+c0490188
+c04a018e
+c04a8175
+c05802a8
+c0588139
+c059014d
+c0598167
+c05b0170
+c05c8141
 20203bf1
-c00c039d
-c00d83a5
-c01183c4
-c01203e0
-c019045a
+c01902b6
 c01dd3b0
-c01f02a1
-c01f82a5
-c02504a5
-c0258453
-c026045d
-c0270463
-c02b046a
-c0308471
-c0318476
-c032049a
-c03284cf
-c0348632
-c0350617
-c0358619
-c037063d
-c03784b0
-c0438139
-c04682c0
-c04702d9
-c04782a9
-c05e82b7
-c0668231
-c0678145
-c068015a
-c04e03e4
-c04f83fa
-c0710407
-c0718419
-c0730431
+c01f0239
+c01f823d
+c025037b
+c02582af
+c02602b9
+c02702bf
+c02b02c6
+c02d02d2
+c03082cd
+c03182f2
+c032033a
+c03283da
+c0348581
+c035054e
+c0358550
+c037058c
+c0378386
+c043810a
+c0468258
+c0470270
+c0478241
+c05e824f
+c06681cc
+c0678116
+c0680123
 20203bf1
-da204040
-18007201
-20203305
-d8a04040
-df20000a
-20407e3b
-202032d8
 6810813b
 60008b81
 70800608
 20203003
-204000d3
-204000c5
-2040005a
-2040004e
+20407719
+2055bcf1
+20407813
+6800c7dc
+203a3013
+6800c793
+203a0032
+20203013
+204000a4
+20400096
+20400048
+2040003e
+20400764
 20203015
 680947f4
 6800c3d8
 7d3a040b
-6800c133
-7d3a0406
 600947f4
 20600000
 20403392
 20403407
 20403024
-2040065e
+204005cd
 20203022
 6800c7dc
-203a005e
+203a004c
 6800c793
 207a0000
-20400134
+20400105
 20740000
 1ff0fe00
 1fe20c00
-20400115
+204000e6
 6000cba7
-c0008073
-c003007d
+c0008060
+c003006a
 1fe20400
 18c22200
 6800c040
-c3000070
+c300005d
 1a220c00
 c6848000
 18427e00
-c001807f
-c002809d
+c002806c
 20203bf1
 1a220c00
 d8a000f8
-2020010d
-20400115
-20400115
+202000de
+204000e6
+204000e6
 60008b7d
-20400078
+20400065
 20207c33
-20400118
+204000e9
 18c20400
 18508400
 60094b9a
 20600000
-d8a04d57
-2020010d
-20400115
-1fe22200
-18c27e00
-600102b7
-2040527c
-243a0088
-1a20a201
-20404b2c
-2020008d
-d8a04bad
-1a227200
-680102b7
-1fe20c00
-2020010f
-18a0a5fe
-680142b7
-e0a10000
-580000a1
-e0a08000
-1a20f3ff
-680102b7
-1fe20c00
-2040010f
-1a420c00
-e8c10000
-60014c9b
-1fe0f202
-20407e45
-704c9a64
-20600000
+d8a04d01
+202000de
 18c22200
 6800cba9
 1fe08401
@@ -164,52 +115,54 @@
 d8a04bad
 98a08a00
 1a220c00
-20400115
+204000e6
 18c22200
 1fe0ffff
 1fe27200
 1fe0fe07
-6000cc82
+6000cc62
 1a220c00
-20400115
+204000e6
 18c22200
-c00080b3
-c00100b9
-c00180bb
-c00200bd
-68014cb8
-204000c2
+c0008082
+c001008a
+c001808c
+c002008e
+68014c7c
+20400093
 2040561e
 247a0000
+6800cd5e
+247a0000
 700b7d1b
 20205620
-68014cba
-202000b4
-68014cbc
-202000b4
-68014d3e
-204000c2
-6800cd7e
+68014c7e
+20200083
+68014c80
+20200083
+68014ced
+20400093
+6800cd29
 207a0000
-202000b5
+20200084
 e0a10000
 1a220c00
-2020010f
-680a4d4b
+202000e0
+680a4cfa
 1c427e00
 98467e00
-68094d4f
+68094cfe
 9846fc00
 20407efd
 1807fe00
 207a0000
 1c420400
-600a4d4b
-6800cd51
+600a4cfa
+6800cd00
 1fe0fe01
-6000cd51
+6000cd00
 20600000
-680a4c59
+680a4c3a
 1c427e00
 98467e00
 d8400640
@@ -218,7 +171,7 @@
 1807fe00
 207a0000
 1c420400
-600a4c59
+600a4c3a
 68094ba5
 18508400
 9840fe00
@@ -227,19 +180,19 @@
 1ff0fe00
 1fe17e03
 c1800000
-6800cc8f
-c28000f0
-c28080f2
+6800cc6f
+c28000c1
+c28080c3
 da200000
-20400104
+204000d5
 7089718f
-6800cc90
+6800cc70
 60108973
-204000f3
+204000c4
 da200001
-20200104
+202000d5
 708971bf
-202000f3
+202000c4
 708971af
 68108053
 79207e07
@@ -256,26 +209,26 @@
 793ffe07
 60108053
 18508400
-60094c95
+60094c75
 20600000
 d8400021
-6800cc90
+6800cc70
 98460400
 1a227e00
 79200407
-243a010b
+243a00dc
 793f8407
 d8a08078
 202069f4
-20400115
+204000e6
 1fe27200
-20400111
-20200078
-20400115
+204000e2
+20200065
+204000e6
 e0a08000
-c2000111
+c20000e2
 20600000
-20400118
+204000e9
 e8c08000
 20600000
 58004b36
@@ -292,8 +245,8 @@
 1a220c00
 e8c08000
 e0a08000
-2040012c
-c2000124
+204000fd
+c20000f5
 18a27e00
 1ff0fe00
 60014ba0
@@ -305,120 +258,66 @@
 20600000
 68014b9e
 68094ba0
-20200136
+20200107
 68014b9a
 68094b9c
 98467c00
 2022e9b1
 2020320b
 1c427e00
-60024d47
+60024cf6
 6808c7ef
-6800cd4a
+6800ccf9
 98467c00
-24410140
+24410111
 20207c06
-680a4d47
+680a4cf6
 600a47ec
-600a4c59
-600a4d4b
+600a4c3a
+600a4cfa
 20600000
 da2047df
 20407f9f
 207a0000
 1fe22600
-2040014b
+2040011c
 20203ea5
 c10c0000
-c00a064f
-c00a8654
-c0036614
-c0010151
+c00a05c0
+c01e8121
+c00a82ad
 20203e7d
-70429d00
-680147f4
-c283bf08
-2fec0001
-20408157
-20203f08
-68008450
-c1010000
-20203e7b
+704d4905
+20600000
 60088259
-6800cc8d
+6800cc6d
 1fe0fe01
-6000cc8d
+6000cc6d
 68008259
 207a0000
 1fe0ffff
 60008259
-2040017a
-20400181
-20400166
-2020015e
-6800ccbe
-247a0000
-6800cc9a
-207a0000
-1fe0ffff
-6000cc9a
-c1808000
-704c9a64
-680147f4
-c4028000
-68014c9b
-207a0000
-2040527e
-247a0000
-68014c9b
-1fe22200
-20404b2c
-1a20f202
-d8c04c9d
-20207e45
-6800c7f2
-207a0000
-1fe0ffff
-6000c7f2
-247a0000
-20403ebd
-20204b22
-6800cc15
+2040012d
+20200127
+6800cc0b
 207a0000
 1fe0ffff
-6000cc15
+6000cc0b
 20600000
 1a627e00
 1fe17ef0
 c1280000
-2040018e
 1a627e00
 207a0000
 6000cba4
-2020011d
-1a627e00
-c0058192
-c001019a
-20600000
-704c9a28
-5800000a
-60014c9b
-680142b7
-e0a10000
-580001a1
-e0a10000
-20600000
-704c9a00
-df200014
-d8a04c9b
-20207e3f
+202000ee
 70416e7f
 20403cf3
-6800cc97
+6800cc77
 207a0000
-704c9700
+704c7700
 1c427e00
-60024c59
+60024c3a
 20600000
 6800c219
 247a0000
@@ -450,32 +349,35 @@
 6800c793
 207a0000
 20203d25
-20400134
+20400105
 24740000
-20400131
+20400102
 24740000
 700b7f01
 700b7e01
-204001d1
-20200134
-204001c4
+2040016c
+20200105
+2040015f
 24740000
 68008b7f
 247a0000
 20203d2d
 68008b7e
 2000000a
-c08001d1
+c080016c
 20600000
-204001c4
+2040015f
 24740000
 68008b7f
 247a0000
 20203d4f
-204001dc
-20203aaf
+2040017a
+20403aaf
+70895cc0
+70895a4e
+20600000
 6800c219
-243a01e2
+243a0180
 20403d91
 20007530
 20007530
@@ -494,7 +396,7 @@
 60088017
 1840a200
 20203ab6
-204001ed
+2040018b
 58000500
 20403bf3
 70890601
@@ -509,21 +411,21 @@
 2000000a
 7089027d
 6800cbef
-c0ff8208
+c0ff81a6
 6802ca91
 e0a28000
 e8c28000
 e0a28000
 708956df
-20400213
+204001b1
 708955df
 20600000
 6802ca87
 e0a28000
 e8c28000
 e0a28000
-6800cc7d
-205a0211
+6800cc5d
+205a01af
 60108956
 708955d0
 20600000
@@ -547,11 +449,8 @@
 708956c0
 20600000
 2030ba6f
-2040021b
+204001b9
 20203a6f
-2040527c
-247a0000
-2020005a
 78347c00
 68120138
 79347e1a
@@ -559,23 +458,20 @@
 20403db0
 7000a201
 20600000
-6800c419
-1fe0fe02
+58000000
 6000c3f9
 700b7e00
 70017706
 20403fa4
-58000227
-6001428e
-58000230
+580001cb
 6001428a
-58000186
+58000132
 60014292
-580002a8
+58000240
 60014290
-5800005a
+58000048
 6001428c
-5800022a
+580001c5
 60014288
 58004aa0
 1ff0fe00
@@ -586,41 +482,41 @@
 1ff0fe00
 60014b9e
 60014ba0
-6800cc97
-c02d0264
-20358262
-68014c91
+6800cc77
+c02d01fc
+203581fa
+68014c71
 1ff0fe00
-60014c91
-68014c93
+60014c71
+68014c73
 1ff0fe00
-60014c93
-2040026f
+60014c73
+20400207
 680402a0
-243a025c
+243a01f4
 68014ad4
 1ff0fe00
-203a025c
-60014c93
-2040065b
+203a01f4
+60014c73
+204005ca
 704ba42f
-2040011d
-704c9700
+204000ee
+704c7700
 70828003
 20600000
 704ba430
-2020025e
+202001f6
 1ce27e00
-203a02af
+203a0247
 20405b63
 20404d99
 58000000
 60044040
 600147f4
 1c427e00
-60024c59
+60024c3a
 704ba433
-2020025e
+202001f6
 2040688a
 580007e0
 da2002a0
@@ -628,32 +524,32 @@
 204068d3
 2040688d
 680082a0
-c2803bf1
+c280bbf1
 680402a2
 207a0000
-6800cc8f
-c2800283
-c2808291
+6800cc6f
+c280021b
+c2808229
 680102a2
 1ff0fe00
-60014c91
+60014c71
 680102a8
 1ff0fe00
-60014c93
+60014c73
 20600000
 680902a6
 680102ac
 18422400
 1fe22200
 1ff0fe00
-60014c93
+60014c73
 1a227e00
 98462600
 1a63a600
 1a427e00
 9a667e00
 1ff0fe00
-60014c91
+60014c71
 20600000
 680902a4
 680102aa
@@ -664,12 +560,12 @@
 1a427e00
 9a667e00
 1ff0fe00
-60014c91
+60014c71
 1a63a600
 1a227e00
 9a667e00
 1ff0fe00
-60014c93
+60014c73
 20600000
 70001627
 70890f36
@@ -684,8 +580,8 @@
 68014b9c
 60014b9a
 700b7e03
-204001d1
-704c975a
+2040016c
+704c775a
 20403db8
 68120138
 793ffe0f
@@ -695,7 +591,7 @@
 20203cda
 ea2a8000
 18417eff
-243a02bc
+243a0254
 184cfe00
 e2228000
 1a20a204
@@ -709,402 +605,86 @@
 20407c24
 18427e00
 207a0000
-c01082d2
-c01102d4
-c01186ee
-c0008314
-c00682ef
-c01602ee
-c01582fa
-c0018317
-c0150320
+c0108269
+c011026b
+c0118659
+c0068279
+c0160279
+c0158285
+c01502a0
 c0097c85
+c01683e8
 20207c5a
 704befff
-20200721
+2020068c
 793f8023
 704befff
-202006d9
+20200644
 700b7d22
 20205620
 6800807c
-203a02de
+203a0275
 204061d9
 6800807c
 243a7c8c
 68008b7d
 c584fc87
-c00202e4
-c00882d7
-c01402ea
+c008826e
 20207c7b
-680147f4
-c30182e7
-20207ca4
-5800000a
-60020051
-20207ca4
-70007c37
-68014c98
-60010051
-20600000
-20400314
 20403eff
 20407cd5
 70413100
+704d5e01
 180a7e00
 6000c4f9
 7043dc05
 58181203
 6001c3e2
 d8400007
-20400300
+2040028a
 20207cae
 7043dc04
 580000ff
 6001c3e2
-d8400000
-20400300
+7043d90b
 20207cae
-6800c3f9
+6800c419
+1fe0fe02
 9840fe00
 1fe0fe0b
 1fe67c1f
-24210310
+2421029c
 6000c3d9
 d8a043e5
 18427e00
-245a030d
-6800c3f9
+245a0299
+6800c419
+1fe0fe02
 1fe27200
 d8c043fa
 20207e45
 1fe27200
-d8c04d6b
+d8c04d15
 20207e45
 6800c3f9
 1fe0fe0b
 6000c3d9
 20600000
-20403eff
-70017706
-20207c97
-20403bfa
-20404d98
-20405b62
-70017706
-6800c7dc
-c000031e
-70017717
-70425e01
-20207ca2
 680147f4
 c284bf90
-c2800329
 c283fcd5
-c51186d9
+c5118644
 7043d800
 20403f7e
 700b7d37
 20207c27
-20403eff
-20407cd5
-20203f77
 20403b36
 20203cdc
-20400330
-2020302c
-da600332
-20203301
-c300b307
-2040333d
-2040033f
-98467e00
-1fe0fe01
-20210339
-20203325
-98002400
-1a208c02
-e8c10000
-203a3327
-20403349
-20200333
-1ff11600
-196c9600
-20228349
-29601e0f
-24608000
-18511600
-196c9600
-24628000
-7920041c
-20600000
-18511600
-196c9600
-29601e0f
-24608000
-79207e1c
-20600000
-600c02a0
-20407e53
-680c02a0
-2020307c
-78547c00
-68010032
-d840ffff
-98467c00
-24628000
-68020034
-2038035c
-9d067e00
-2020035d
-9c467e00
-1fe67c04
-24610000
-18007e00
-60010032
-202034df
-700b7d20
-20407c27
-20200366
-600a0034
-70474801
-5800ffff
-60010032
-70007301
-20600000
-20403baa
-2040036e
-20203267
-1c40c201
-20403a54
-18004803
-20403a42
-20403bae
-20403bb4
-20403bc5
-2020375c
-20403e25
-20406dec
-204035d6
-20203480
-20403d61
-20403be2
-20213498
-20403204
-24343498
-20403812
-243a0377
-20600000
-204032df
-2422b568
-68008047
-c301b571
-6800c165
-c009b562
-68014c43
-1fe67c14
-24213562
-60010091
-6800cc42
-60008090
-58004c45
-60010179
-20203562
-68010091
-60014c43
-1fe67c14
-2421358f
-98007200
-68008090
-6000cc42
-68010179
-98000c00
-d8a04c45
-20407e45
-2020358f
-680102cd
-203a4dfc
-680082cf
-c00083a2
-20204dbb
-2040527a
-247a0000
-20204dc3
-e8c08000
-c00503a8
-20204e14
-e8c08000
-1fe20e00
-e8c10000
-1fe22200
-1a627e00
-9a262600
-5800000b
-e0a08000
-18e27e00
-e0a08000
-e8c10000
-c00103b6
-c00183bd
-20203bf1
-58020008
-e0a30000
-58000200
-e0a20000
-18007e0c
-9a40a400
-20204e20
-5803000c
-e0a30000
-58000006
-e0a40000
-18007e10
-9a40a400
-20204e20
-204052c4
-18002400
-204052d0
-1fe20a00
-680102cd
-1fe22600
-680102cb
-98000c00
-204003ce
-20205110
-e8c08000
-c00503d1
-20205116
-e8c08000
-1fe20e00
-e8c10000
-1fe22200
-e8c10000
-600102a0
-1a627e00
-9a262600
-204052d0
-5800000b
-e0a08000
-18e27e00
-e0a08000
-680102a0
-202003b3
-da400000
-2040527a
-247a0000
-2020524d
-680102cb
-1fe20c00
 e8c08000
-1fe1040f
-1ff1fe00
-c00503f7
-c00283f5
-c00083ee
-c0024b18
-20204aff
-18427e00
-c002cb09
-704cbe01
-c001cb18
-704cbe00
-c0024b18
-20600000
-204003f7
-20204b11
-e8c08000
-c0008450
-20600000
-2040527a
-247a0000
-204003fe
-20206dfd
-6800c132
-c1008000
-6800c3cd
-207a0000
-1fe22200
-7043cd00
-1a227e00
-c0284ddc
-20600000
-6800807d
-c001840b
-c0038416
-20205b92
-680084df
-60008445
-c0098362
-c0198410
-20205c58
-6800844d
-79207e00
-6000844d
-700b7d01
-20407c27
-20205c83
-680084df
-60008446
-20205cf3
-78547c00
-204061d9
-68008048
-207a0000
-c283df10
-c0010421
-c003842e
-20205ee0
-18007e11
-204061b5
-68008049
-1fe20400
-c0000429
-c0070429
-c00e0429
-20600000
-e0a08000
-6800c702
-e0a08000
-5800000e
-20205fa6
-20406055
-70007264
-20600000
-6800807c
-203a0436
-204061d9
-6800807c
-247a0000
-68008055
-207a0000
-c0030445
-c008043b
-2020623e
-6800c748
-c1000000
-c0008443
-d8e0000a
-20407e53
-247a0000
-70474800
-2020629b
-20748000
-20200445
-68008177
-c281629b
-c2800448
-6800c25e
-203a62c7
-6800844d
-c4018000
-c4010000
-68020465
-d8400320
-202062c2
-e8c08000
-6000ccb7
+6000cc7b
 20600000
+704d2800
+202005c4
 204054bd
 68088017
 20403a82
@@ -1116,15 +696,15 @@
 70443f00
 2020534e
 204053dd
-20400460
+204002bc
 202054c1
-203681f3
+20368191
 204053ee
 20203a91
-6800cc60
+6800cc40
 600246f9
 6800c4db
-c0008468
+c00082c4
 202054e0
 7044db00
 202054ef
@@ -1140,12 +720,46 @@
 68008341
 203a5626
 20205890
+680883d7
+284c0005
+20608000
+68008340
+1fe3fe00
+9842fe00
+c4018000
+793f8405
+79400403
+600883d7
+28400603
+24608000
+6800c440
+c00282e3
+6800cd28
+c00082e7
+20600000
+680083c0
+79207e04
+600083c0
+20600000
+704d2800
+dfe00000
+6002446f
+6000c48b
+6002c465
+79207e27
+6002c46a
+680083c0
+793ffe04
+600083c0
+20600000
 6800c440
-c003848f
-c0078493
-c0030482
-c001047f
-c009847d
+c0038322
+c0078326
+c0030300
+c002030d
+c00102fd
+c00982fb
+c00582fb
 2020563a
 18000401
 20205892
@@ -1158,35 +772,123 @@
 2034d892
 700b7d34
 20407c27
-6800cc69
-c001048b
-2020048d
+6800cc49
+c0010309
+2020030b
 700b7d46
 20405620
 18000401
 20205892
-6800cc68
+18a20400
+d8a00388
+18007208
+20406227
+68040388
+e0440000
+18a20400
+d8a04477
+18007204
+20406227
+68024477
+e0420000
+68044d34
+60040380
+204074b6
+6800c48b
+c000031f
+202056b3
+700b7d2d
+20405620
+202056b5
+6800cc48
 e0a08000
 18000402
 20205892
 18a08bff
-68044c6c
+68044c4c
 e0a40000
 e8c40000
 e0a40000
 18000202
 2020588a
+58112233
+6001c47b
+58445566
+e0a18000
+58778899
+e0a18000
+58001122
+e0a18000
+58334455
+e0a18000
+58000066
+e0a08000
+20600000
 6800c444
 c004d719
-c001049f
+c0010348
 c003d70d
+c0030340
 20205656
+700b7d29
+20407c27
+700b7d47
+20405620
+2040032d
+6804447b
+20405723
+20205892
 59000302
 6001c4b5
 58000001
 e0a08000
 58010010
 202056f0
+da2003b0
+20348351
+da20449c
+1a220a00
+20406226
+20200354
+680344f9
+680b03d0
+20348359
+680303d0
+680b44f9
+18007008
+18425e00
+1f00f001
+184f5e00
+1ff07e00
+9de1de00
+1f00f001
+1fef5e00
+1f00f001
+18005e00
+18007e00
+6800c4e6
+6808c4dc
+24348369
+6800c4ed
+6808c4e6
+6000c4ac
+6008c4ad
+18007000
+da4044ac
+18007204
+ea220000
+ea4a0000
+9842de00
+1f00f001
+1a20a204
+1a40a404
+c200036e
+2040759e
+1f00f1fc
+68024ce8
+1fe25e00
+1f00f004
+20207573
 09800018
 78287c00
 db600664
@@ -1200,27 +902,80 @@
 202054af
 e8c18000
 600183f9
-c02904b6
-c00104cd
-c00904bc
+c02903c1
+c00103d8
+c00903c7
+c0038390
+c00483a5
+c000839d
+c00583b8
 20205907
-704d3801
+6800cd3c
+c00103a1
+704d3d04
+700b7d3e
+20207c27
+6800c4e6
+c000039a
+704d3d03
+700b7d3e
+20207c27
+704d3d02
+700b7d3e
+20207c27
+6800cd3c
+c0010395
+704d3c02
+202003e9
+68020347
+60024d5a
+700b7d08
+20205620
+68010342
+1fe0fffe
+1fe6fc07
+20407efd
+1807f200
+d8c00348
+18c08c03
+e8c10000
+1fe22600
+e8c10000
+d8402a29
+98467c00
+202283b4
+c20003ab
+20200395
+1a627e00
+60014d5a
+700b7d0a
+20205620
+df200009
+da200347
+da404d40
+20407f25
+202283be
+20200395
+704d3d05
+700b7d3e
+20207c27
+704ce701
 680103fa
-c01084ba
+c01083c5
 202059ed
 d8c00349
-20200450
+202002aa
 680103fa
 1fe67c21
-204284ba
+204283c5
 680103fa
 1fe67c2d
-204284cb
+204283d6
 680103fa
-68094cbc
+68094c80
 18408401
 98467c00
-202284c8
+202283d3
 202059ca
 700b7d34
 20407c27
@@ -1230,38 +985,78 @@
 700b7d03
 20205620
 6800c444
-c00d8609
-c00e8609
-c008859f
-c0048551
-c002853f
-c00384f3
+c00d8540
+c00e8540
+c00884d6
+c0048484
+c0028472
+c0038426
 c009d85c
-c00184e0
-c00584e3
-c00684db
+c0018413
+c0058416
+c00303eb
+c0040403
+c005040a
 20205666
+704d3c01
+700b7d06
+20205620
+6800cd3c
+c00103f8
+d8a04445
+58000001
+e0a10000
+5800ffff
+e0a10000
+58002800
+e0a10000
+d8c04d4a
+20407e35
+d840001b
+20205892
+d8a04445
+58000001
+e0a10000
+5800ffff
+e0a10000
+58002800
+e0a10000
+68014d3e
+e0a10000
+d840000d
+20205892
+68024d5a
+d8a04445
+e0a20000
+58002803
+e0a10000
+1800040b
+20205892
+68014d5a
+60014445
+18000407
+20205892
 680103fa
-c00384de
+c0038411
 202057d6
 7003fc07
 20205729
-68014c6a
+68014c4a
 e0a10000
 2020588a
 680103fa
-c01604e7
-c00704ea
+c016041a
+c007041d
 202057c6
-6800cd7e
+6800cd29
 203a5728
 202057c6
-6800cc69
+6800cc49
 c08057c6
-6800cc7c
+6800cc5c
 c001d7c6
 18a20400
-704c6901
+704c4901
 18420a00
 7003fc05
 20205729
@@ -1270,40 +1065,40 @@
 680944c0
 58001812
 98467c00
-2022850c
+2022843f
 5800180f
 98467c00
-2022850e
+20228441
 5800180a
 98467c00
-20228512
+20228445
 58001801
 98467c00
-20228510
+20228443
 20205754
-6800cc7f
+6800cc5f
 d8400000
 f9200400
 98417e00
 c0805728
-6800cc7f
+6800cc5f
 f9207e00
-6000cc7f
-20200514
+6000cc5f
+20200447
 d8e00000
-20200503
+20200436
 d8e00001
-20200503
+20200436
 d8e00003
-20200503
+20200436
 d8e00002
-20200503
+20200436
 680144c0
 1fe22200
 680944c4
 18422400
-2040051b
-20228526
+2040044e
+20228459
 20205728
 d8c04504
 e8c10000
@@ -1315,18 +1110,18 @@
 18c08dfd
 e8c08000
 98c08c00
-2020051c
+2020044f
 18c08df9
 e8c10000
-60014c61
-20400534
+60014c41
+20400467
 203a5728
 18c08dfc
 e8c10000
 1fe0ffff
-60014c63
+60014c43
 70444407
-68024c61
+68024c41
 60024445
 18000409
 20205892
@@ -1340,14 +1135,14 @@
 20628000
 e8c08000
 98c08c00
-20200537
+2020046a
 d9600003
 18007e01
 6000c445
 20405a74
 20405a7d
 203a5746
-2421054f
+24210482
 78547c00
 e0a10000
 e8c10000
@@ -1356,54 +1151,54 @@
 2022d746
 e8c08000
 98c08c00
-20200543
+20200476
 18c08c02
-2020054c
+2020047f
 680944c0
 58002a00
 98467c00
-20228591
+202284c4
 58002a50
 98467c00
-2022859c
+202284d3
 58002803
 98467c00
 2422d728
 680144bc
 600102a0
 78347c00
-204005e3
-2421056d
+2040051a
+242104a0
 680902a0
-204005eb
-c000856d
-204005e7
-2422856b
+20400522
+c00084a0
+2040051e
+2422849e
 78547c00
-2040056f
-204005d1
-204005eb
-20400577
-2020056d
-204005d1
-2020055e
+204004a2
+20400508
+20400522
+204004aa
+202004a0
+20400508
+20200491
 20345728
-20200607
+2020053e
 680102a0
 60014446
-6800cc67
+6800cc47
 1fe27200
-20400601
+20400538
 d8a04448
 20407e45
-20200604
-68094c65
+2020053b
+68094c45
 184cfe00
-c0828589
-204005fe
+c08284bc
+20400535
 680102a0
 e0a10000
-20400604
+2040053b
 58004504
 98408c00
 e8c08000
@@ -1411,20 +1206,24 @@
 1fe27200
 1fe0fe05
 6000c445
-204005fe
+20400535
 18420c00
 20407e45
-20200604
-204005fe
+2020053b
+20400535
 680102a0
 e0a10000
-68014c65
+68014c45
 e0a10000
-20400604
+2040053b
 70444507
 20600000
 20405b08
 e8c08000
+58000013
+1fe27200
+202004cb
+e8c08000
 1fe27200
 1fe0fe02
 6000c445
@@ -1436,67 +1235,67 @@
 2020588a
 d8402a50
 20405b0c
-20200592
+202004c9
 d9600002
 680144bc
 600102a0
 700d5c00
 78347c00
-204005e3
-242105c7
+2040051a
+242104fe
 680902a0
-204005eb
-c00085ca
-204005e7
-242285c3
+20400522
+c0008501
+2040051e
+242284fa
 68008d5c
-c00085ca
-243405b4
+c0008501
+243404eb
 78547c00
-6800cc67
+6800cc47
 1fe0fe04
 6000c445
-20400604
-202005be
-6800cc67
+2040053b
+202004f5
+6800cc47
 1fe67c10
-202285ca
+20228501
 6800c445
 1fe67c10
-202285ca
+20228501
 680102a0
 1fe0ffff
 60010d5a
-204005da
+20400511
 680102a0
 60010d58
-204005d5
+2040050c
 196097ff
-202285c5
-204005d1
-202005a4
+202284fc
+20400508
+202004db
 700d5c01
-202005c3
+202004fa
 680102a0
 60010d5a
-202005ce
+20200505
 680102a0
 1fe0ffff
 60010d5a
-202005ce
+20200505
 20345728
-204005da
-20200607
+20400511
+2020053e
 680902a0
 18408401
 600902a0
 20600000
-6800cc67
+6800cc47
 60008103
 1fe27200
-20400601
+20400538
 20207e45
-204005fe
+20400535
 68010d58
 e0a10000
 68010d5a
@@ -1504,30 +1303,30 @@
 68008103
 1fe27200
 20407e45
-20200604
+2020053b
 680902a0
 680144be
 98467c00
 20600000
 680144c0
-68094c65
+68094c45
 98467c00
 20600000
 d8c04504
 18422200
 e8c10000
-203a05f6
+203a052d
 e8c90000
-60094c65
+60094c45
 9a267c00
-202285f8
+2022852f
 e8c08000
 98c08c00
-202005ed
+20200524
 58000001
 20600000
 e8c08000
-6000cc67
+6000cc47
 18c27e00
 600102b7
 58000000
@@ -1541,7 +1340,7 @@
 18a27e00
 600102b9
 20600000
-204005fe
+20400535
 2020588a
 6800cbab
 1fe08401
@@ -1550,35 +1349,59 @@
 1feffe07
 d8c04bad
 98c08c00
-6800cc82
+6800cc62
 1fe0fffb
 1fe27200
 d8a04445
 20407e45
-6808cc82
+6808cc62
 20205892
 2040561c
 202058b0
 1a627e00
-c0018629
-c005062d
-c0000624
-c009062b
-c001062f
+c0018565
+c005057b
+c0000560
+c0090579
+c001057e
+c003055c
 1fe67c0d
 202158c0
-6000cc68
+6000cc48
 700b7d27
 20205620
+20748000
+700b7d3d
+20407c27
+2020594a
 20405924
 68014437
 1fef8404
-60094d4f
+60094cfe
+20600000
+e8c40000
+60024d2c
+e8c10000
+60014d2a
+20405939
+6800cc49
+c001056d
+20400570
+68040380
+60044d34
+20600000
+68034d2a
+203a0576
+704c5c03
+2040032d
+70448b01
+20600000
+704c5c01
+70448b00
 20600000
-704c7c00
-20205938
 700b7d33
 20205620
+704d2801
 700b7d2b
 20205620
 58000014
@@ -1586,61 +1409,92 @@
 20600000
 6800c43e
 28200601
-20208636
+20208585
 202058a7
 6800c43f
-203a0639
+203a0588
 202058a7
 6800c43e
 793ffe04
 6000c43e
 20600000
 e8c08000
-c0008644
-c002064a
-c0048642
+c0008593
+c0020599
+c0048591
 202058f8
-704c6903
+704c4903
 20205974
-704d3d01
+704cec01
 6000c4ae
 e8c30000
 e0a30000
 700b7d42
 20205620
-204074a8
-2022864d
+204005a0
+2022859c
 20205968
-704c6902
-2020596a
-704c7d00
+704c4902
+204005a8
+70448b01
+2020596b
+d8a0449c
+203485a3
+d8a003b0
+18c22200
+20407e35
+20400354
+d8c0448c
+202075bc
+204005ab
+d8a0447b
+202075a3
+18007000
+680203b0
+98005e00
+1f00f001
+e8c20000
+98005e00
+1f00f001
+6802449c
+98005e00
+1f00f001
+e8c20000
+98005e00
+1f00f001
+2040759e
+1f00f1fc
+68024ce8
+1fe25e00
+1f00f004
+18006c38
+18006c08
+2020752f
 20403f86
 20403f7e
 20403fa4
 20203ecc
 70421300
 70448b00
-704c7c00
-704c6900
-704c7f00
-704c7d00
+704c5c00
+704c4900
+704c5f00
 20203ed0
 58000000
 60024ba9
 20600000
 c6918000
-68024d40
-60024d72
-20400684
-24340677
-704c150a
-204006a6
+68024cef
+60024d1c
+204005f2
+243405e5
+704c0b0a
+20400613
 6800cbef
 c1ff8000
-704c3d02
-6800cd45
+6800ccf4
 247a0000
-204001c4
+2040015f
 24740000
 68008b7f
 247a0000
@@ -1649,11 +1503,11 @@
 207a0000
 6800c131
 207a0000
-6801cd7a
+6801cd24
 20407e8a
 600a41fc
 20203cda
-204001c4
+2040015f
 24740000
 68008b7f
 247a0000
@@ -1662,83 +1516,80 @@
 207a0000
 6800c131
 207a0000
-6800cc15
-243a0673
-68024d72
-20200674
+6800cc0b
+243a05e1
+68024d1c
+202005e2
 6800cbef
-c0ff86f7
-2040068b
-205406a2
-20540766
+c0ff8662
+204005f9
+2054060f
+205406cc
 704be601
 20600000
 78547c00
 704be202
-6800cd57
-c0020695
-c0028698
-c003869e
-c003069b
-6800cd45
+6800cd01
+c0020603
+c0028606
+c003860c
+c0030609
+6800ccf4
 245a34df
 20600000
-704d5700
+704d0100
 704be10a
-202006a0
-704d5703
+2020060e
+704d0103
 704be104
-202006a0
-704d5702
+2020060e
+704d0102
 704be103
-202006a0
+2020060e
 704be201
 704be108
-704be700
 202034df
 df200009
-d8c04d57
+d8c04d01
 d8a00cd5
 20207e45
 704be800
-204006cb
-243786b4
-204006dc
+58000000
+60014c04
+20400636
+24378624
+20400647
 6800cbe0
 1fe0fe01
 6000cbe0
-704d4500
+704cf400
 6800cbef
-c0ff86ca
-204006c6
-704be700
+c0ff867c
+20400632
+58000000
+60014c04
 704be600
 20600000
-704d4501
-6800cbe7
+704cf401
+68014c04
 1fe0fe01
-6000cbe7
+60014c04
 6800cbef
-c0ff86d7
-6800cbe7
-c07f86d9
-6800cbe7
-d8400010
-98467c00
-20210785
+c0ff8642
+68014c04
+c3850000
 6800cbe8
 1fe0fe01
 6000cbe8
-2000000a
-c08206a7
-20200785
+1fe17e01
+205a06eb
+20200616
 58000000
 60048cd5
-6004cd57
+6004cd01
 20600000
-20200711
 7857fc00
-204007dd
+20400743
 200004b0
 18002a00
 68024c00
@@ -1746,15 +1597,15 @@
 68088017
 20403a82
 20403a87
-2040079d
-205787d7
+20400703
+2057873d
 20600000
-704d4500
+704cf400
 20600000
-704d4500
+704cf400
 700b7d32
 20207c27
-20400746
+204006b1
 68008cb3
 c1810000
 6800cbdf
@@ -1767,34 +1618,34 @@
 2fe1f008
 24608000
 68008cb5
-c07f86ec
-6000ccb7
+c07f8657
+6000cc7b
 20600000
-704d7d01
+704d2701
 20600000
 79200023
-204006f3
-204006b0
+2040065e
+2040061f
 704bef01
 20600000
 704be000
 704be94e
 68024beb
-20200758
-204006f3
+202006be
+2040065e
 6800cbe6
 c000b4df
 6800cbef
-c00086ff
-c0010702
-c0018705
+c000866a
+c001066d
+c0018670
 20203bf1
 704bef11
 700d37aa
-20200707
+20200672
 704bef12
 700d3755
-20200707
+20200672
 704bef13
 700d3722
 700d3802
@@ -1803,41 +1654,41 @@
 700d3d00
 da200d37
 d8400007
-20400741
-20400766
-20400689
+204006ac
+204006cc
+204005f7
 202034df
 6800cbef
 c17f8000
-c0088717
-c0090719
-c009871b
+c0088682
+c0090684
+c0098686
 20600000
 704bef02
-202006b0
+2020061f
 704bef03
-202006b0
+2020061f
 704befff
 700b7d31
 20407c27
 68020d19
-20400758
-202006b0
+204006be
+2020061f
 79200023
-20400759
-20400785
+204006bf
+204006eb
 6800cbef
 c1ff8000
-20400733
+2040069e
 58000000
 60014c04
 20403cab
 200007d0
 6800cc04
-c07f86d9
-204006cb
-2437873c
-204006c6
+c07f8644
+20400636
+243786a7
+20400632
 79200023
 700b7d3c
 20207c27
@@ -1848,13 +1699,13 @@
 60020d39
 d8400006
 da200d37
-20400741
-20200766
+204006ac
+202006cc
 68014c04
 1fe0fe01
 60014c04
-20400785
-20200729
+204006eb
+20200694
 6008cbe1
 18427200
 d8a00cd5
@@ -1863,20 +1714,15 @@
 68008cb4
 1fe97e00
 6000cbdf
-1fe0fe01
-d8c00cb4
-98c08c00
-e8c18000
-6001cc0b
 20600000
-6808cc3c
-58004c2b
+6808cc22
+58004c11
 98408a00
 1a227e00
 e0a08000
 18408401
 18410407
-6008cc3c
+6008cc22
 20600000
 60024c00
 da200000
@@ -1884,13 +1730,13 @@
 d8c04c00
 e8c08000
 9a20a200
-c200075c
+c20006c2
 1a227e00
-60014c16
-6800cc16
-6808cc17
+60014c0c
+6800cc0c
+6808cc0d
 9840fe00
-6000cc18
+6000cc0e
 20600000
 6800cbe1
 1fe0fe02
@@ -1907,24 +1753,24 @@
 9840fe00
 e0a08000
 6800cbef
-c0ff8778
+c0ff86de
 6800cbe2
 e0a08000
 6800cbe1
 98007200
 6800cbe2
-c0008783
+c00086e9
 d8c00cd5
 20407e45
 68008cd5
-c0018781
+c00186e7
 20600000
 700cd502
 20600000
 d8c00cd6
 20207e45
 6808cbea
-2040078b
+204006f1
 18408401
 18410403
 6008cbea
@@ -1947,7 +1793,7 @@
 79200401
 18431c00
 20600000
-20400794
+204006fa
 7826fc00
 7830fc00
 78507c00
@@ -1955,38 +1801,38 @@
 68014be4
 98003600
 37c18400
-242c07d7
+242c073d
 7846fc00
 7825fc00
 7823fc00
 7824fc00
 09800008
 19897e00
-6000cc19
-6808cc18
+6000cc0f
+6808cc0e
 98467c00
-242287d7
+2422873d
 09800008
 19897e00
 60008cb3
 68008cb3
 6808cbe2
 a8400e00
-242087d7
+2420873d
 09800008
 19897e00
 e0a08000
 1fe97e00
 1fe1721f
-202287c1
+20228727
 09800008
 19897e00
 e0a08000
-c20007bd
+c2000723
 18a22200
 09800008
 19897e00
-6000cc2a
+6000cc10
 1a220a00
 09800018
 78287c00
@@ -1995,16 +1841,16 @@
 1ff17e00
 e0a18000
 7845fc00
-202307d7
+2023073d
 7837fc00
 68008017
 1fe0a200
 20403ab6
 7846fc00
 20403a7a
-6800cc2a
+6800cc10
 1fe22200
-2020074f
+202006b5
 784dfc00
 7845fc00
 2020375c
@@ -2014,8 +1860,8 @@
 204053d2
 68024c00
 98001200
-20400794
-204007da
+204006fa
+20400740
 79202a00
 782efc00
 78307c00
@@ -2028,14 +1874,14 @@
 782dfc00
 7823fc00
 7824fc00
-6800cc18
+6800cc0e
 08008608
 6800cbe3
 98007200
 d8c00cf5
 e8c08000
 08008608
-c20007f3
+c2000759
 78247c00
 08008618
 78447c00
@@ -2044,3 +1890,140 @@
 784efc00
 784dfc00
 20203a7a
+6800cd7b
+207a0000
+704befff
+704d7c2e
+704be92e
+704d8202
+6800cd83
+c00087b3
+6808cd7d
+1841040f
+6008cd7d
+18417e07
+c0008774
+c0018774
+c0038774
+704d7d09
+6800cd7c
+d8400051
+98467c00
+24210779
+704d7c00
+6801cd7c
+6001cd7f
+70890700
+6808cd7f
+20400793
+2040018e
+20400191
+7843fc00
+782efc00
+78307c00
+6808cd80
+18412a07
+68108908
+284ffe03
+7920fe05
+60108908
+6800cd83
+243a076a
+6800cd81
+08008608
+2040079a
+68014d7f
+68094d7c
+98467c00
+20228789
+2020076c
+70890477
+70890303
+2000000a
+70890383
+7089047f
+708903a7
+20600000
+6800cdbe
+2feffe06
+204087a6
+6800cdbf
+2feffe06
+204087a9
+6800cdbf
+2feffe01
+204087ac
+68014dbe
+60014d95
+20600000
+6800cd95
+c3830000
+202007d9
+6800cd96
+c3830000
+202007d3
+6800cd96
+c3808000
+6800cd83
+1fe0fe01
+1fe17e01
+6000cd83
+20600000
+2040079a
+6800cd83
+203a076a
+58cccccc
+60018d37
+e0a18000
+e0a18000
+e0a18000
+e0a18000
+e0a18000
+e0a18000
+e0a18000
+da200d37
+d8400019
+204006ac
+204006cc
+20403a6d
+20001770
+20400636
+20403a6d
+20001770
+20400636
+20403a6d
+20001770
+20400636
+20403a6d
+20001770
+20400636
+20403a6d
+20001770
+20400636
+202007b3
+6800cd82
+c00187ea
+1fe0fe01
+1fe17e03
+6000cd82
+202007e0
+6800cd82
+c00087e3
+c00007e3
+1fe0ffff
+1fe17e03
+6000cd82
+202007e0
+c00087e3
+c00107e7
+c00187ea
+704d8201
+704d7c02
+704be902
+20600000
+704d7c2e
+704be92e
+20600000
+704d7c4f
+704be94f
+20600000
Index: c51/patch/rf.dat
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/patch/rf.dat	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/patch/rf.dat	(working copy)
@@ -1,4 +1,4 @@
-mem_lpm_config:8f 10 ce
+mem_lpm_config:8f 1f ce
 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
Index: c51/patch/sch.rom
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/patch/sch.rom	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/patch/sch.rom	(working copy)
@@ -1,15 +1,15 @@
 mem_patch00:
-69   #mem_patch00
-04   #mem_patch01
+2d   #mem_patch00
+00   #mem_patch01
 00   #mem_patch02
 00   #mem_patch03
-80   #mem_patch04
-09   #mem_patch05
-0a   #mem_patch06
+00   #mem_patch04
+00   #mem_patch05
+00   #mem_patch06
 00   #mem_patch07
-0c   #mem_patch08
+00   #mem_patch08
 00   #mem_patch09
-11   #mem_patch0A
+00   #mem_patch0A
 00   #mem_patch0B
 00   #mem_patch0C
 00   #mem_patch0D
@@ -34,15 +34,15 @@
 00   #mem_patch20
 00   #mem_patch21
 00   #mem_patch22
-09   #mem_patch23
-18   #mem_patch24
+00   #mem_patch23
+00   #mem_patch24
 00   #mem_patch25
 04   #mem_patch26
 c8   #mem_patch27
 00   #mem_patch28
 5c   #mem_patch29
 40   #mem_patch2A
-00   #mem_patch2B
+04   #mem_patch2B
 3a   #mem_patch2C
 ce   #mem_patch2D
 00   #mem_patch2E
@@ -50,7 +50,7 @@
 80   #mem_patch30
 e0   #mem_patch31
 00   #mem_patch32
-90   #mem_patch33
+00   #mem_patch33
 00   #mem_patch34
 00   #mem_patch35
 00   #mem_patch36
@@ -59,7 +59,7 @@
 a0   #mem_patch39
 01   #mem_patch3A
 00   #mem_patch3B
-4c   #mem_patch3C
+00   #mem_patch3C
 00   #mem_patch3D
 00   #mem_patch3E
 00   #mem_patch3F
@@ -73,13 +73,12 @@
 mem_lpm_overhead:0a
 mem_lpm_interval:10 00
 mem_scan_mode:00
-mem_test:00 00
 
 mem_class: 40 25 00
 
 mem_lap:36 08 c2 08 66 22    
 mem_local_name_length:
-'BK-JK810
+'BT3.0 Keyboard
 mem_sniff_param_interval:0e 00
 mem_sniff_param_attempt:01
 mem_sniff_param_timeout:01
@@ -89,223 +88,6 @@
 
 mem_eir_enable:01
 
-mem_all_uuid_16bits:
-06
-03#Type: Complete list of 16-bit UUIDs
-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
-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
-
-
-#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
-
-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
-
-090207 3508 3506 090409 090100
-09020b 090100
-09020c 091f40
-09020d 2800
-09020e 2801
-09020f 090012
-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
-0904e8
-090202#ProductID
-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
-9d
-59
-82
-
 #bluetootch param init
 mem_sp_flag:00
 mem_lpm_current_mult:00
@@ -362,12 +144,12 @@
 13 00 4e 2a 01 01
 #Characteristic: hid report
 14 00 03 28 01 12   
-15 00 4d 2a 08 00 00 00 00 00 00 00 00	#hid report	led handle write
+15 00 4d 2a 01 00 	#hid report	led handle write
 16 00 02 29 02 00 00	
 17 00 08 29 02 01 01	#Report ID: 1	Report Type: Input
 #Characteristic:hid report
 18 00 03 28 01 12  
-19 00 4d 2a 05 00 00 00 00 00
+19 00 4d 2a 01 00
 1a 00 02 29 02 00 00
 1b 00 08 29 02 03 01	#Report ID: 3	Report Type: Input
 
@@ -384,8 +166,8 @@
 23 00 08 29 02 01 02	#Report ID: 1	Report Type: Output
 
 #Characteristic:Report map
-24 00 03 28 01 0a
-25 00 4b 2a a0		#length 66+25+60=160=0xa0
+24 00 03 28 01 02
+25 00 4b 2a 72
 #66
 05 01
 09 06
@@ -435,60 +217,22 @@
 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
+#23
+05 01	#Usage Page (Generic Desktop),
+09 80	#USAGE (3-D Digitizer)
+a1 01	#Collection (Application),
+85 03	#Report ID (3)
+19 81	#Usage Minimum (), 
+29 88	#Usage Maximum (),
+15 00	#Logical Minimum (0),
+25 01	#Logical Maximum (1),
+95 08	#Report Count (8),
+75 01	#Report Size (1),
+81 06	#Input (Data,Var,Rel)
+#95 01	#Report Count (1),  
+#75 05	#Report Size (5),	
+#81 01	#Input (Const,Ary,Abs)
+c0		#END_COLLECTION
 
 #Characteristic:Hid information
 26 00 03 28 01 02
@@ -513,6 +257,12 @@
 mem_le_notify_handle:14
 mem_le_lap:11 46 34 54 77 dd
 
+mem_le_search_mac_manu_name:
+41 70 70 6c 65 20 49 6e 63
+mem_le_search_mac_uuid:
+0a 18
+mem_le_search_service_uuid:
+d0 00 2d 12 1e 4b 0f a4 99 4e ce b5 31 f4 05 79
 
 mem_empty_count:00
 mem_att_report1:15 00
@@ -521,7 +271,7 @@
 mem_att_report_battery:2c 00
 mem_le_rx_window:50
 
-mem_le_battery_level_display_enable:00
+mem_le_battery_level_display_enable:01
 
 mem_le_connection_updata_param:
 0c 00 #Length
@@ -549,18 +299,16 @@
 
 mem_le_scan_data_len:1f
 mem_le_scan_data:
-'\09BK-JK810
-
-mem_version_yy_mm_dd:20 21 12 24		#version data 20211224
+'\08BK-JK810
+mem_le_reconne_name:
+'\08BK-JK810
 
 mem_adc_0v:9f 3e
 mem_adc_3v:cd 4d
 mem_adc_config_flag:01    #01 VINLPM      #02 HVIN      #04 GPIO
 
 #24g init
-mem_24g_mode:01#tx
 mem_24g_data_type:02        #mouse 1,kb 2
-mem_24g_max_retry:04#max tx retry
 mem_24g_no_ack:00#with ack
 mem_24g_rx_window:60 09     #200us 
 mem_24g_ch_map1:00 13 2c 42
@@ -569,13 +317,13 @@
 mem_24g_ch_map4:11 23 31 4d
 mem_24g_pairing_sm:ff
 mem_24g_paring_addr:20 15 10 05
-mem_pair_state:c2
+mem_pair_state:01
 mem_24g_common_temp:00 00 00 00 00 00 00 00 00 00
 mem_24g_enter_hibernate:00 48 5d 00 #10 min
 mem_24g_enter_hibernate_max:ff ff ff ff
 mem_24g_short_sleep_counter:e8 fd 00 #00 00 0a
 
-mem_lpm_config:8f 10 ce
+mem_lpm_config:8f 1f ce
 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
Index: c51/patch/sched.rom
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/patch/sched.rom	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/patch/sched.rom	(working copy)
@@ -1,15 +1,15 @@
 mem_patch00:
-69   #mem_patch00
-04   #mem_patch01
+2d   #mem_patch00
+00   #mem_patch01
 00   #mem_patch02
 00   #mem_patch03
-80   #mem_patch04
-09   #mem_patch05
-0a   #mem_patch06
+00   #mem_patch04
+00   #mem_patch05
+00   #mem_patch06
 00   #mem_patch07
-0c   #mem_patch08
+00   #mem_patch08
 00   #mem_patch09
-11   #mem_patch0A
+00   #mem_patch0A
 00   #mem_patch0B
 00   #mem_patch0C
 00   #mem_patch0D
@@ -34,15 +34,15 @@
 00   #mem_patch20
 00   #mem_patch21
 00   #mem_patch22
-09   #mem_patch23
-18   #mem_patch24
+00   #mem_patch23
+00   #mem_patch24
 00   #mem_patch25
 04   #mem_patch26
 c8   #mem_patch27
 00   #mem_patch28
 5c   #mem_patch29
 40   #mem_patch2A
-00   #mem_patch2B
+04   #mem_patch2B
 3a   #mem_patch2C
 ce   #mem_patch2D
 00   #mem_patch2E
@@ -50,7 +50,7 @@
 80   #mem_patch30
 e0   #mem_patch31
 00   #mem_patch32
-90   #mem_patch33
+00   #mem_patch33
 00   #mem_patch34
 00   #mem_patch35
 00   #mem_patch36
@@ -59,7 +59,7 @@
 a0   #mem_patch39
 01   #mem_patch3A
 00   #mem_patch3B
-4c   #mem_patch3C
+00   #mem_patch3C
 00   #mem_patch3D
 00   #mem_patch3E
 00   #mem_patch3F
@@ -73,7 +73,6 @@
 mem_lpm_overhead:0a
 mem_lpm_interval:10 00
 mem_scan_mode:00
-mem_test:00 00
 
 mem_class: 40 25 00
 
@@ -89,223 +88,6 @@
 
 mem_eir_enable:01
 
-mem_all_uuid_16bits:
-06
-03#Type: Complete list of 16-bit UUIDs
-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
-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
-
-
-#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
-
-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
-
-090207 3508 3506 090409 090100
-09020b 090100
-09020c 091f40
-09020d 2800
-09020e 2801
-09020f 090012
-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
-0904e8
-090202#ProductID
-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
-9d
-59
-82
-
 #bluetootch param init
 mem_sp_flag:00
 mem_lpm_current_mult:00
@@ -337,7 +119,7 @@
 #Characteristic: Device Name
 06 00 03 28 01 02 
 07 00 00 2a 
-'BT4.2 Keyboard
+'onn. Multi Device Keyboard
 
 #Characteristic: Appearance
 08 00 03 28 01 02 
@@ -362,12 +144,12 @@
 13 00 4e 2a 01 01
 #Characteristic: hid report
 14 00 03 28 01 12   
-15 00 4d 2a 08 00 00 00 00 00 00 00 00	#hid report	led handle write
+15 00 4d 2a 01 00 	#hid report	led handle write
 16 00 02 29 02 00 00	
 17 00 08 29 02 01 01	#Report ID: 1	Report Type: Input
 #Characteristic:hid report
 18 00 03 28 01 12  
-19 00 4d 2a 05 00 00 00 00 00
+19 00 4d 2a 01 00
 1a 00 02 29 02 00 00
 1b 00 08 29 02 03 01	#Report ID: 3	Report Type: Input
 
@@ -384,8 +166,8 @@
 23 00 08 29 02 01 02	#Report ID: 1	Report Type: Output
 
 #Characteristic:Report map
-24 00 03 28 01 0a
-25 00 4b 2a a0		#length 66+25+60=160=0xa0
+24 00 03 28 01 02
+25 00 4b 2a 72
 #66
 05 01
 09 06
@@ -435,60 +217,22 @@
 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
+#23
+05 01	#Usage Page (Generic Desktop),
+09 80	#USAGE (3-D Digitizer)
+a1 01	#Collection (Application),
+85 03	#Report ID (3)
+19 81	#Usage Minimum (), 
+29 88	#Usage Maximum (),
+15 00	#Logical Minimum (0),
+25 01	#Logical Maximum (1),
+95 08	#Report Count (8),
+75 01	#Report Size (1),
+81 06	#Input (Data,Var,Rel)
+#95 01	#Report Count (1),  
+#75 05	#Report Size (5),	
+#81 01	#Input (Const,Ary,Abs)
+c0		#END_COLLECTION
 
 #Characteristic:Hid information
 26 00 03 28 01 02
@@ -513,6 +257,12 @@
 mem_le_notify_handle:14
 mem_le_lap:11 46 34 54 77 dd
 
+mem_le_search_mac_manu_name:
+41 70 70 6c 65 20 49 6e 63
+mem_le_search_mac_uuid:
+0a 18
+mem_le_search_service_uuid:
+d0 00 2d 12 1e 4b 0f a4 99 4e ce b5 31 f4 05 79
 
 mem_empty_count:00
 mem_att_report1:15 00
@@ -534,7 +284,7 @@
 2c 01 #timeout
 
 mem_le_name_len:
-'BT4.2 Keyboard
+'onnKeyboard
 
 mem_le_adv_channel_map:07 
 mem_le_adv_direct_addr_type:01
@@ -549,18 +299,16 @@
 
 mem_le_scan_data_len:1f
 mem_le_scan_data:
-'\09BT4.2 Keyboard
-
-mem_version_yy_mm_dd:20 21 12 24		#version data 20211224
+'\08onnKeyboard
+mem_le_reconne_name:
+'\08onn. Multi Device Keyboard
 
 mem_adc_0v:9f 3e
 mem_adc_3v:cd 4d
-mem_adc_config_flag:04    #01 VINLPM      #02 HVIN      #04 GPIO
+mem_adc_config_flag:01    #01 VINLPM      #02 HVIN      #04 GPIO
 
 #24g init
-mem_24g_mode:01#tx
 mem_24g_data_type:02        #mouse 1,kb 2
-mem_24g_max_retry:04#max tx retry
 mem_24g_no_ack:00#with ack
 mem_24g_rx_window:60 09     #200us 
 mem_24g_ch_map1:00 13 2c 42
@@ -569,13 +317,13 @@
 mem_24g_ch_map4:11 23 31 4d
 mem_24g_pairing_sm:ff
 mem_24g_paring_addr:20 15 10 05
-mem_pair_state:c2
+mem_pair_state:01
 mem_24g_common_temp:00 00 00 00 00 00 00 00 00 00
 mem_24g_enter_hibernate:00 48 5d 00 #10 min
 mem_24g_enter_hibernate_max:ff ff ff ff
 mem_24g_short_sleep_counter:e8 fd 00 #00 00 0a
 
-mem_lpm_config:8f 10 ce
+mem_lpm_config:8f 1f ce
 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
Index: c51/patch/sys.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/utilities.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/sys.h
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/sys.h	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/sys.h	(working copy)
@@ -1,26 +1,34 @@
 #ifndef _YC_SYSTEM_H_
 #define _YC_SYSTEM_H_
 #include "common.h"
-
 #define SYSTEM_CONTROL_ENABLE
 #define MULTISYSTEM_ENABLE
+
+#define STANDBY_TIMER_60MIN				7200		// 500ms*7200 = 60min
 #define PC_SLEEP_STATUS_GET
 
 
 #define STANDBY_TIMER_30MIN				3600		// 500ms*3600 = 30min
 #define STANDBY_TIMER_10MIN				1200		// 500ms*1200 = 10min
+#define STANDBY_TIMER_5MIN				600
 #define STANDBY_TIMER_10S				20
 #define RECONNECT_TIMER_5S				10			// 500ms*10 = 5s
-#define RECONNECT_TIMER_10S				18//20			// 500ms*20 = 10s
+#define RECONNECT_TIMER_2S				2			// 500ms*2 = 1s
+#define BT_PAIRING_TIME_OUT_10MIN		1200			// 500ms*1200 = 10min
+
+#define RECONNECT_TIMER_10S			18			// 500ms*20 = 10s
 
 #define BT_PAIRING_TIME_OUT_2MIN		240			// 500ms*240 = 2min
-#define BT_PAIRING_TIME_OUT_1MIN		120			// 500ms*120 = 1min
+#define BT_PAIRING_TIME_OUT_1MIN		120			// 500ms*1200 = 10min
 #define G24_PAIRING_TIME_OUT_20S		40			// 500ms*40 = 20s
+#define G24_PAIRING_TIME_OUT_10S		20			// 500ms*20 = 10s
 
 #define KB_NUM_CAPS_LED_ON_TIMER    	12			// 500ms*12 = 6s
 
 #define KB_POWERON_LED_ON_TIMER		30			// 100ms*30 = 3s
-
+#define KB_MODE_LED_ON_TIMER    		12			// 500ms*12 = 6s
+#define KB_MODE_LED_SWITCH_TIMER    		10			// 500ms*10 = 5s
+#define KB_PAIRING_SUCCED_TIMER    		6			// 500ms*6 = 3s
 
 typedef enum c51_ble_state_enum
 {
Index: c51/sys.c
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/sys.c	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/sys.c	(working copy)
@@ -7,15 +7,6 @@
 #include "global_variable.h"
 #include "kb_process.h"
 
-//void GPIO_SetInput_high_impedance(byte gpio_num)
-//{ 
-//	if(gpio_num == 0xff) 
-//		return; 
-//	GPIO_SetPd(gpio_num, 0); 
-//	GPIO_SetPu(gpio_num, 0); 
-//	GPIO_Setoe(gpio_num, 0);
-//}
-
 /////////////////////////////////////////////////////////////////
 static void System_clear_mem()
 {
@@ -28,10 +19,7 @@
  
 	delayChgInvTimer = 0;
 	action_timeout = 0;
-	switch_role_timer = 0;
 
-	iOS_rec_pinCode = 0;
-	pinCode_flag = 0;
 	power_on_flag = 0;
 	repeat_send_24g = 0;
 	get_24g_led_send = 0;
@@ -41,13 +29,18 @@
 	long_press_flag = 0;
 	standard_key_release_flag = 0;
 	fn_flag = 0;
+	fn_flag_last = 0;
+	fn_tx_flag = 0;
 	fn_lock_flag = 0;
 
 	mult_key_value = 0;
-	m_caps_num_lock = 0xf0;
-	m_caps_num_lock_last = 0xf0; 
+	// m_caps_num_lock = 0xf0;
+	// m_caps_num_lock_last = 0xf0; 
 	m_reconnect_continue = 0;
 	ble_send_secutiry_request_timer = 0;
+	m_le_start_auto_reco_timer = 0; 
+	fn_w_flag = 0;
+	gui_lock = 0;
 }
 
 static void System_IIC_clk_setup()		// 400KHz
@@ -64,9 +57,7 @@
 {
 	System_IIC_clk_setup();
 	KS_Initialize();
-//	GPIO_SetInput(WHEEL_DATA_A_GPIO,0);
-//	GPIO_SetInput(WHEEL_DATA_B_GPIO,0);
-	GPIO_SetInput(USER_MODE_GPIO, 1);	//pull down
+	GPIO_SetInput(USER_MODE_GPIO, 1);
 	LED_all_shutdown();
 }
 
@@ -79,6 +70,7 @@
 	g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
 	g_variable.recon_count = 0;
 	g_variable.test_buff = 0xff;
+	g_variable.text_byte_ff = 0xff;
 	le_lap_temp[0] = m_le_lap[3];
 	le_lap_temp[1] = m_le_lap[4];
 	le_lap_temp[2] = m_le_lap[5];
@@ -102,8 +94,8 @@
 	m_24g_pairing_sm = 0xff;
 	g_variable.g24_long_sleep_flag = 1;
 #ifdef PC_SLEEP_STATUS_GET	
-	m_caps_num_lock = 0xf0;
-	m_caps_num_lock_last = 0xf0; 
+	// m_caps_num_lock = 0xf0;
+	// m_caps_num_lock_last = 0xf0; 
 #endif	
 	m_24g_enter_hibernate[0]	= 0xff;
 	m_24g_enter_hibernate[1]	= 0xff;
@@ -132,18 +124,12 @@
 
 static void kb_cb_event(byte evt)
 {
-#ifdef BT_FAST_CONNECT_ENABLE
-	xbyte bt_name_string[18];
-#endif	
-
 	switch (evt) 
 	{
-
-case IPC_EVT_HIBERNATE_WAKE:
-case IPC_EVT_RESET:
+	case IPC_EVT_HIBERNATE_WAKE:		
+	case IPC_EVT_RESET:
 		System_Hardware_init();
 		System_Software_init();
-		
 		IIC_Read(EEPROM_BATTERY_SHUTDOWN_FLAG ,1 ,(byte *)&g_variable.battery_shutdown_flag);
 		if(g_variable.battery_shutdown_flag == 1)
 		{	
@@ -157,9 +143,6 @@
 				break;
 			}
 		}		
-//		if(evt == IPC_EVT_RESET)
-//			power_on_reconnect_flag = 1;
-
 		if(GPIO_GetInputStatus(USER_MODE_GPIO))	
 		{
 			g_variable.last_device_num = 1;
@@ -175,24 +158,22 @@
 			//GPIO_SetInput(USER_MODE_GPIO, 1);
 		}
 
-//		IIC_Read(EEPROM_RECON_INFO_LAST_DEVICE ,1 ,(byte *)&g_variable.last_device_num);
-//		if(g_variable.last_device_num > 2)
-//			g_variable.last_device_num = 0;	
 		g_variable.current_device_num = g_variable.last_device_num;
 		LED_device_poweron();
+	
 		Delay1ms(10);
-		IIC_Read(EEPROM_RECON_INFO_RAMDON_LE_LAP1 ,2 ,(byte *)&g_variable.ble_ramdon_lap1);
+		IIC_Read(EEPROM_RECON_INFO_RAMDON_LE_LAP1 ,2 ,(byte *)&g_variable.ble_ramdon_lap1);	
 		if(g_variable.ble_ramdon_lap1 == 0xff && g_variable.ble_ramdon_lap2 == 0xff)
 		{
 			g_variable.ble_ramdon_lap1 = m_adc3vValue;
 			g_variable.ble_ramdon_lap2 = m_adc0vBase;
 		}
-		YC_start_reconnect();		
-//		YC_key_action_handle(KEY_DISCOVERY);	
+		YC_start_reconnect();
 		break;
 	case IPC_EVT_WAKEUP:
 		System_IIC_clk_setup();
 		KS_Initialize();
+
 		break;
 
 // connection event
@@ -219,12 +200,17 @@
 		YC_clear_reconnect_flag();
 		g_variable.pairing_g24_timeout = 0;
 		g_variable.release_data = 0;
-		power_on_reconnect_flag = 0;
 		g_variable.last_device_num = 0xfe;
 		g_variable.current_device_num = 0xfe;
 		m_24g_led_flag = KB_24G_LED_ACK_TYPE;
 		delayChgInvTimer = 10;
+		g_variable.pairing_succed_timeout = KB_PAIRING_SUCCED_TIMER;
+		g_variable.switch_device_led_timer = 0;		
+		g_variable.os_24g_juge_start_delay_timer = 5;		
+		g_variable.system_mode = OSMODE_WINDOWS;
+
 
+			
 		if(evt == IPC_EVT_24G_PAIRING_COMPLETE)
 		{
 			fn_lock_flag = 0;
@@ -240,22 +226,17 @@
 		}
 		else
 		{
-			if(!g_variable.powerOn_timer)
-			;//GPIO_Setout(num0_led,LED_OFF);
+			if(!g_variable.powerOn_timer);
+			//GPIO_Setout(num0_led,LED_OFF);
 		}
 		break;
 	
 	case IPC_EVT_24G_ATTEMPT_FAIL:	
-		// if(power_on_reconnect_flag)
-		// {
-		// 	power_on_reconnect_flag = 0;
-		// 	YC_key_action_handle(KEY_PAIRING_24G);
-		// }
 		g_variable.g24_currentState =  CHANGE_TO_24G_DISCONNECTED;
 		g_variable.g24_currentSubState = CHANGE_TO_24G_SUB_NONE;
 		g_variable.sleepTimer = 0;
 		g_variable.release_data = 1;
-		
+
 		if (m_24g_addr[0] == 0x0f && m_24g_addr[1] == 0x0f && m_24g_addr[2] == 0x0f && m_24g_addr[3] == 0x0f)
 		{
 			YC_key_action_handle(KEY_PAIRING_24G);
@@ -266,7 +247,6 @@
 		{
 			YC_clear_reconnect_flag();
 			YC_key_action_handle(g_variable.key_action);
-//			YC_key_action_handle(KEY_PAIRING_24G);
 			break;
 		}
 
@@ -283,155 +263,6 @@
 		break;
 
 
-		
-// // BT3.0 event
-// 	case IPC_EVT_BB_CONNECTED:
-// 		g_variable.br_currentState = CHANGE_TO_BR_CONNECTING;
-// 		g_variable.br_currentSubState = CHANGE_TO_BR_SUB_INIT;
-// 		g_variable.ble_currentState = CHANGE_TO_BLE_DISCONNECT;
-// 		g_variable.ble_currentSubState = CHANGE_TO_BLE_SUB_NONE;
-// 		if ((m_ui_state_map & 0x8000) == 0x8000)
-// 		{
-// 			switch_role_timer = 50;
-// 		}
-// 		break;
-// 	case IPC_EVT_HID_CONNECTED:
-// 		g_variable.br_currentState = CHANGE_TO_BR_CONNECTED;
-// 		g_variable.br_currentSubState = CHANGE_TO_BR_SUB_NONE;
-// 		IPC_TxControlCmd(IPC_CMD_STOP_ADV);
-// 		IPC_TxControlCmd(IPC_CMD_STOP_DISCOVERY);
-		
-// 		g_variable.last_device_num = g_variable.current_device_num;
-// 	#ifdef BT_FAST_CONNECT_ENABLE				
-// 		if(g_variable.fast_connect_send_name)
-// 		{
-// 			g_variable.fast_connect_send_name = 0;
-
-// 			bt_name_string[0] = HID_REPORTID_FAST_CONN_NAME;
-// 			if(m_local_name_length > 17)
-// 				bt_name_string[1] = 17;
-// 			else
-// 				bt_name_string[1] = m_local_name_length;
-			
-// 			dmemcpy(bt_name_string+2, &m_local_name_length+1, bt_name_string[1]);
-// 			IPC_TxBREDRHidData(bt_name_string,bt_name_string[1]+2);
-// 		}
-// 	#endif	
-// 		g_variable.sleepTimer = 0;
-		
-// 		YC_clear_reconnect_flag();
-// 		g_variable.release_data = 0;
-// 		switch_role_timer = 0;
-// 		kscurrmult = 0x1a;
-// 		iOS_rec_pinCode = 0;	
-		
-// 		while( (m_remote_addr[0]==0)&&(m_remote_addr[1]==0)&&(m_remote_addr[2]==0)
-// 			&&(m_remote_addr[3]==0)&&(m_remote_addr[4]==0)&&(m_remote_addr[5]==0));
-// 		IPC_TxControlCmd(IPC_CMD_ENTER_SNIFF);
-// 		break;
-// 	case IPC_EVT_LINKKEY_GENERATE:
-// 		if(g_variable.pairing_timeout)
-// 		{
-// 			fn_lock_flag = 0;
-
-// 			g_variable.system_mode = OSMODE_WINDOWS;
-// 			bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
-// 			YC_clear_BT_same_address_record();
-// 			g_variable.update_eeprom_flag = 3;
-
-// 			g_variable.pairing_timeout = 0;
-// 		}
-// 		g_variable.delay_enter_lpm_timer = 10;
-// 		m_lpm_mode = 1;
-// 		if(!g_variable.powerOn_timer)
-// 			LED_device_poweroff();
-// 		break;
-// 	case IPC_EVT_SWITCH_FAIL_MASTER:
-// 		IPC_TxControlCmd(IPC_CMD_DISCONNECT);
-// 		Delay1ms(10);
-// 		break;	
-// 	case IPC_EVT_PINCODE_REQ:
-// 		ipcPinlen = 0;
-// 		pinCode_flag = 1;
-// 		switch_role_timer = 0;
-// 		if ((m_ui_state_map & 0x8000) == 0x8000)
-// 		{
-// 			iOS_rec_pinCode = 1;	
-// 			ipcPinlen = 4;
-// 			IPC_TxControlCmd(IPC_CMD_DISCONNECT);
-// 			return;
-// 		}
-// 		g_variable.recon_count = 0;
-// 		g_variable.br_currentSubState =  CHANGE_TO_BR_SUB_PINCODE;
-// 		g_variable.br_currentState =CHANGE_TO_BR_CONNECTING;
-// 		break;	
-// 	case IPC_EVT_RECONN_PAGE_TIMEOUT:
-// 	case IPC_EVT_RECONN_FAILED:
-// 		if (g_variable.g24_currentState == CHANGE_TO_24G_CONNECTED)
-// 		{
-// 			g_variable.br_currentState = CHANGE_TO_BR_DISCONNECT;
-// 			g_variable.br_currentSubState = CHANGE_TO_BR_SUB_NONE;
-// 			return;
-// 		}		
-// 	case IPC_EVT_BB_DISCONNECTED:
-// 		g_variable.history_state = g_variable.br_currentState ;
-// 		g_variable.br_currentState = CHANGE_TO_BR_DISCONNECT;
-// 		g_variable.br_currentSubState = CHANGE_TO_BR_SUB_NONE;
-// 		g_variable.release_data = 1;
-// 		switch_role_timer = 0;
-// 		if (iOS_rec_pinCode == 1)
-// 		{
-// 			if ((g_variable.current_device_num > 0) && (g_variable.current_device_num < 4))
-// 			{
-// 				xmemclear_ff((byte *)&bd_key_record_list[g_variable.current_device_num-1],sizeof(BD_KEY_RECORD));	
-// 				Delay1ms(200);
-// 				GPIO_Setout(EEPROM_WP_GPIO,0);
-// 				IIC_WriteBlock(EEPROM_RECON_INFO_BASE ,sizeof(BD_KEY_RECORD)*3 , (byte *)bd_key_record_list);		
-// 				GPIO_Setout(EEPROM_WP_GPIO,1);
-// 			}
-// 			iOS_rec_pinCode = 0;
-// 		}
-
-// 		if (g_variable.lockLpm == 1)
-// 		{
-// 			g_variable.lockLpm =0;
-// 			System_long_sleep();
-// 			break;
-// 		}
-
-// 		if (g_variable.key_action != KEY_NONE)
-// 		{
-// 			YC_key_action_handle(g_variable.key_action);
-// 			break;
-// 		}
-
-// 		if (g_variable.recon_count != 0)
-// 		{
-// 			YC_load_record_list(recon_index);
-// 			break;
-// 		}
-
-// 		if (g_variable.g24_currentState == CHANGE_TO_24G_PAIRING)
-// 		{
-// 			return;
-// 		}
-
-
-// 		if (evt == IPC_EVT_RECONN_PAGE_TIMEOUT)
-// 		{
-// 			break;
-// 		}
-		
-// 		if (g_variable.history_state != CHANGE_TO_BR_CONNECTED)
-// 		{
-// 			YC_key_action_handle(KEY_DISCOVERY);
-// 		}
-// 		else
-// 		{
-// 			System_long_sleep();
-// 		}
-// 		g_variable.sleepTimer = 0;
-// 		break;		
 
 // BT 4.2 event
 	case IPC_EVT_LE_CONNECTED:
@@ -444,14 +275,16 @@
 		if(g_variable.pairing_timeout)
 		{
 			fn_lock_flag = 0;
-			g_variable.system_mode = OSMODE_WINDOWS;
-			bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
+			//bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
 			bd_key_record_list[g_variable.current_device_num - 1].fn_lock = fn_lock_flag;
 		}
 		if(!ble_reconnect_flag)
 			ble_send_secutiry_request_timer = 20;
 		if(!g_variable.powerOn_timer)
 			LED_device_poweroff();
+		g_variable.pairing_succed_timeout = KB_PAIRING_SUCCED_TIMER;
+		g_variable.ancs_connect_star_flag =1;
+		g_variable.switch_device_led_timer = 0;			
 		g_variable.pairing_timeout = 0;
 		g_variable.sleepTimer = 0;
 		break;
@@ -507,6 +340,29 @@
 		System_long_sleep();		
 		g_variable.sleepTimer = 0;
 		break;
+	case IPC_EVT_ANCS_AUTO_SYSTEM:
+		m_le_ancs_req = 0;
+		switch(m_le_system_4type)
+		{
+			case ANCS_WINDOWS:
+				g_variable.system_mode = OSMODE_WINDOWS;
+				break;
+			case ANCS_ANDROID:
+				g_variable.system_mode = OSMODE_ANDROID;
+				break;
+			case ANCS_IOS:
+				g_variable.system_mode = OSMODE_IOS;
+				break;
+			case ANCS_MAC:
+				g_variable.system_mode = OSMODE_MAC;
+				break;
+			default:
+				g_variable.system_mode = OSMODE_WINDOWS;
+				break;
+		}
+		bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
+		g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;	
+		break;			
 	}
 }
 
@@ -539,22 +395,7 @@
 	else if (g_variable.pairing_g24_timeout != 0)
 	{
 		GPIO_FlipOutBit(num0_led);	//num0_led,PAIRING_LED_GPIO
-//		GPIO_FlipOutBit(LOWPOWER_LED_GPIO);
 	}
-//	else
-//	{
-//		GPIO_Setout(num0_led,LED_OFF); //PAIRING_LED_GPIO
-//	}
-//	g_variable.user_time_5s_cnt++;
-//	if (g_variable.user_time_5s_cnt >= 10)	//5秒时间到
-//	{
-//		g_variable.user_time_5s_cnt = 0;
-//		//没有模式切换灯，没有在配对状态，且在连接状�?
-//		if (g_variable.battery_status != BAT_STATUS_LOW && !g_variable.led_mode_flag && !g_variable.pairing_timeout && !g_variable.pairing_g24_timeout && YC_check_is_connected())
-//		{
-//			g_variable.powerOn_timer = 10;
-//		}
-//	}
 }
 
 void YC_connect_timeout_500ms()
@@ -601,7 +442,7 @@
 			IPC_TxHidData(hidBuff, 9);
 		}
 #endif	
-		if (g_variable.sleepTimer >= STANDBY_TIMER_10S)
+		if (g_variable.sleepTimer >= STANDBY_TIMER_5MIN)
 		{
 			System_G24_long_lpm();
 		}
@@ -612,27 +453,36 @@
 		{
 			System_G24_long_lpm();
 		}
-	}
-	else
-	{
-		if (g_variable.sleepTimer >= RECONNECT_TIMER_10S)
+	
+			}
+			else
+			{
+				if (g_variable.sleepTimer >= RECONNECT_TIMER_10S)
+				{
+					if(ble_reconnect_flag)
+					{
+						ble_reconnect_flag = 0;
+						IPC_TxControlCmd(IPC_CMD_STOP_ADV);
+					}
+					System_long_sleep();
+
+	/*
+		if (g_variable.sleepTimer >= RECONNECT_TIMER_5S)
 		{
 			if(ble_reconnect_flag)
 			{
 				ble_reconnect_flag = 0;
 				IPC_TxControlCmd(IPC_CMD_STOP_ADV);
 			}
+
 			System_long_sleep();
-			// if(!GPIO_GetInputStatus(USER_MODE_GPIO))
-			// {
-			// 	g_variable.pairing_timeout = BT_PAIRING_TIME_OUT_2MIN;
-			// 	g_variable.pairing_g24_timeout = 0;
-			// 	YC_key_action_handle(KEY_DISCOVERY);
-			// 	LED_all_shutdown();
-			// 	g_variable.button_reconnect_flag = 0;
-			// 	g_variable.release_data = 1;
-			// }
-		}
+		}*/
+		
+	}
+	// if( !g_variable.current_device_num || (g_variable.current_device_num == 0xfe))
+	// {
+	// 	if(m_mouse_retry_flag && (g_variable.sleepTimer >= RECONNECT_TIMER_10S))
+	// 		System_long_sleep();
 	}
 }
 
@@ -646,29 +496,18 @@
 		if(action_timeout == 0)
 		{
 			if(g_variable.key_action == KEY_DISCOVERY
-		#if DEVICE_MODE_BT_ONLY
-			&& (m_ui_state_map & 0x4000) != 0x4000)
-		#elif DEVICE_MODE_BLE_ONLY	
 			&& (m_ui_state_map & 0x0008) != 0x0008)
-		#else	
-			&& (m_ui_state_map & 0x4008) != 0x4008)
-		#endif
+
 			{
 //				m_lpm_mode = 0;
 				ble_send_secutiry_request_timer = 0;
-				g_variable.pairing_timeout = BT_PAIRING_TIME_OUT_2MIN;
+				g_variable.pairing_timeout = BT_PAIRING_TIME_OUT_10MIN;
 				g_variable.pairing_g24_timeout = 0;
 				fast_connect_flag = 0;
 				ble_fast_connect_flag = 0;
-			#if DEVICE_MODE_BT_ONLY
-				IPC_TxControlCmd(IPC_CMD_START_DISCOVERY);
-			#elif DEVICE_MODE_BLE_ONLY	
+		//		g_variable.recon_flag = 0;
 				YC_get_ble_ramdon_lap();
 				IPC_TxControlCmd(IPC_CMD_START_ADV);
-			#else	
-				YC_get_ble_ramdon_lap();
-				IPC_TxControlCmd(IPC_CMD_START_ADV_DISCOVERY);
-			#endif
 				g_variable.key_action = KEY_NONE;
 			}
 		}
@@ -683,7 +522,6 @@
 	if (g_variable.pairing_timeout != 0)
 	{
 		g_variable.sleepTimer = 0;
-		g_variable.fast_connect_send_name = 0;
 		g_variable.pairing_timeout--;
 		if (g_variable.pairing_timeout == 0)
 		{
@@ -701,30 +539,18 @@
 		g_variable.pairing_g24_timeout--;
 		if (g_variable.pairing_g24_timeout == 0)
 		{
-			//IPC_TxControlCmd(IPC_CMD_STOP_24G);
+//			IPC_TxControlCmd(IPC_CMD_STOP_24G);
 			Delay1ms(10);
 			System_long_sleep();
 		}
 	}
+	
 }
 
 void kb_button_press_timer500ms()
 {
-	
-//key status 
-/*
-	if (g_variable.button_flag & KEY_FLAG_BTKEY_PRESS)		//press BT key
-	{
-		if (g_variable.button_timer[0] < 250)
-			g_variable.button_timer[0]++;
-		if (g_variable.button_timer[0] == 2)
-		{
-			YC_key_action_handle(KEY_DISCOVERY);
-		}
-	}
-	else
-		g_variable.button_timer[0] = 0;
-*/		
+
+
 	
 	if (g_variable.button_flag & KEY_FLAG_SAME_KEY_PRESS)
 	{
@@ -764,6 +590,7 @@
 				g_variable.button_24G_rec_flag = 0;
 				YC_disconnect_all_link();
 				Delay1ms(10);
+				//LED_all_shutdown();
 				YC_key_action_handle(KEY_PAIRING_24G);
 			}
 		}
@@ -772,13 +599,16 @@
 	{
 		if(g_variable.button_24G_rec_flag)
 		{
+			//LED_all_shutdown();
 			g_variable.button_24G_rec_flag = 0;
 			YC_key_action_handle(KEY_STOP_DISCOVERY);
 			g_variable.release_data = 1;
+			//LED_device_poweron();		
 			g_variable.last_device_num = g_variable.current_device_num;
 			g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_NORMAL;
 			YC_update_eeprom_data();
 			System_Reset_Connect();
+			//IPC_TxControlCmd(IPC_CMD_DEVICE_SWITCH);
 		}
 		g_variable.button_timer[2] = 0;
 	}
@@ -786,21 +616,21 @@
 	
 	if (g_variable.button_flag & KEY_FLAG_FN_DEVICE_BUTTON)
 	{
-//		g_variable.delay_enter_lpm_timer = 10;
-//		if (g_variable.button_timer[3] < 250)
-//			g_variable.button_timer[3]++;
-//		if (g_variable.button_timer[3] == 6)
-//		{
-//			//do discoverable
-//			g_variable.pairing_timeout = BT_PAIRING_TIME_OUT_2MIN;
-//			g_variable.pairing_g24_timeout = 0;
-//			YC_key_action_handle(KEY_DISCOVERY);
-//			LED_all_shutdown();
-//			g_variable.button_reconnect_flag = 0;
-//			g_variable.release_data = 1;
-//			g_variable.temp_device_num = g_variable.last_device_num;
-//			g_variable.last_device_num = g_variable.current_device_num;
-//		}
+		// g_variable.delay_enter_lpm_timer = 10;
+		// if (g_variable.button_timer[3] < 250)
+		// 	g_variable.button_timer[3]++;
+		// if (g_variable.button_timer[3] == 6)
+		// {
+		// 	//do discoverable
+		// 	g_variable.pairing_timeout = BT_PAIRING_TIME_OUT_10MIN;
+		// 	g_variable.pairing_g24_timeout = 0;
+		// 	YC_key_action_handle(KEY_DISCOVERY);
+		// 	LED_all_shutdown();
+		// 	g_variable.button_reconnect_flag = 0;
+		// 	g_variable.release_data = 1;
+		// 	g_variable.temp_device_num = g_variable.last_device_num;
+		// 	g_variable.last_device_num = g_variable.current_device_num;
+		// }
 	}
 	else
 	{
@@ -810,63 +640,26 @@
 
 			if(g_variable.last_device_num !=g_variable.current_device_num)		//switch device,
 			{
-				g_variable.release_data = 1;
 				LED_all_shutdown();
+				g_variable.release_data = 1;
+				//LED_device_poweron();				
 				g_variable.last_device_num = g_variable.current_device_num;
 				g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_NORMAL;
 				
 				YC_disconnect_all_link();
 				YC_update_eeprom_data();
 				System_Reset_Connect();
+				//IPC_TxControlCmd(IPC_CMD_DEVICE_SWITCH);
 			}
 		}
 		g_variable.button_timer[3] = 0;
 	}
-
-
-//	if (g_variable.button_flag & KEY_FLAG_FN_SYSTEM_MODE_BUTTON)
-//	{
-////		if (g_variable.button_timer[0] < 250)
-////			g_variable.button_timer[0]++;
-////		if (g_variable.button_timer[0] == 6)
-////		{
-//			if(key_value_temp == HID_KEY_E)
-//			{
-//				g_variable.system_mode = OSMODE_IOS;
-//			}
-//			else if(key_value_temp == HID_KEY_Q)
-//			{
-//				g_variable.system_mode = OSMODE_MAC;
-//
-//			}
-//			else if(key_value_temp == HID_KEY_W)
-//			{
-//				g_variable.system_mode = OSMODE_WINDOWS;
-//
-//			}
-//			g_variable.powerOn_timer = 10;
-//			if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
-//			{
-//				g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
-//			}
-//			else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
-//			{
-//				bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
-//				g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-//			}
-////		}
-//	}
-//	else
-//	{
-//		g_variable.button_timer[0] = 0;
-//	}		
-
 }
 
 
 
 static void kb_cb_Timer500ms()
-{
+{	
 
 	g_variable.sleepTimer++;
 
@@ -875,21 +668,37 @@
 	kb_button_press_timer500ms();
 	YC_wait_disconnect_timer500ms();
 	YC_pairing_timerout_500ms();
+
 	
-	
+/*	
 	if(g_variable.ble_currentSubState ==  CHANGE_TO_BLE_SUB_PINCODE)
 	{
 		g_variable.sleepTimer = 0;				//wait macOS enter pincode
 	}
-	
+*/	
 	return;
 }
 
 
 static void kb_cb_Timer100ms()
 {
-
-	LED_timer100ms();	
+	LED_timer100ms();
+//2.4G AUTO JUGE OS
+	if( (g_variable.current_device_num == 0) || (g_variable.current_device_num == 0xfe))
+	{
+		if(g_variable.os_24g_juge_start_delay_timer)	
+		{
+			g_variable.os_24g_juge_start_delay_timer --;		
+			if(!g_variable.os_24g_juge_start_delay_timer)	
+			{
+				if(m_caps_num_lock & KB_PC_24G_OS_MAC)
+					g_variable.system_mode = OSMODE_MAC;	
+				else
+					g_variable.system_mode = OSMODE_WINDOWS;		
+			}
+		}
+	}
+//end
 	if (g_variable.delay_enter_lpm_timer) 
 	{
 		g_variable.delay_enter_lpm_timer --;
@@ -902,20 +711,8 @@
 	{
 		g_variable.one_key_press_wait_release_timer--;
 		if(!g_variable.one_key_press_wait_release_timer)
-		{
-			if (g_variable.uswitch_language_step == 1)
-			{
-				g_variable.key_combination_step = CAMBINATION_KEY_USER;
-				g_variable.uswitch_language_step = 2;
-			}
-			else if (g_variable.uswitch_language_step == 2)
-			{
-				g_variable.key_combination_step = CAMBINATION_KEY_NULL; //CAMBINATION_KEY_NULL;	//SDK 默认赋�?
-				g_variable.uswitch_language_step = 0;
-			}
-		}
+			g_variable.key_combination_step = CAMBINATION_KEY_NULL;
 	}
-	
 	if (g_variable.powerOn_timer != 0)
 	{	
 		if(g_variable.pairing_g24_timeout ||g_variable.pairing_timeout)
@@ -923,37 +720,12 @@
 			g_variable.powerOn_timer = 0;
 			return;
 		}
-//		if (g_variable.led_mode_flag)	//需要单独显示系统模式切换灯�?
-//		{
-//			g_variable.powerOn_timer--;
-//			switch (g_variable.powerOn_timer)
-//			{
-//				case 9:	//led on
-//					LED_device_poweron();
-//					break;
-//				case 6:	//led off
-//					LED_device_poweroff();
-//					break;
-//				case 3:	//led on
-//					LED_device_poweron();
-//					break;
-//				case 0:	//led off
-//					LED_device_poweroff();
-//					g_variable.led_mode_flag = 0;
-//					break;
-//				default:
-//					break;
-//			}
-//		}
-//		else	//正常显示灯效
-//		{
 			g_variable.powerOn_timer--;
 			LED_device_poweron();
 			if (!g_variable.powerOn_timer)
 			{
 				LED_device_poweroff();
 			}
-//		}
 	}
 	else if ((g_variable.pairing_timeout == 0) && (g_variable.pairing_g24_timeout == 0))  //  pairing
 	{
@@ -962,7 +734,7 @@
 			g_variable.battery_low_led_flash_interval--;
 			if(g_variable.battery_low_led_flash_interval < 8)
 			{
-				m_lpm_mode = 0;
+				//m_lpm_mode = 0;
 				if(g_variable.battery_low_led_flash_interval & 0x02)
 				{
 					GPIO_Setout(LOWPOWER_LED_GPIO, LED_ON);
@@ -974,13 +746,40 @@
 			}
 			else
 			{
-				m_lpm_mode = 1;
+				//m_lpm_mode = 1;
 				GPIO_Setout(LOWPOWER_LED_GPIO, LED_OFF);
 			}	
 			if(!g_variable.battery_low_led_flash_interval)
 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
 		}
 	}
+	//ANCS	start time	
+
+	if (m_le_start_auto_reco_timer) 
+	{
+		m_le_start_auto_reco_timer--;	
+		if (!m_le_start_auto_reco_timer) 
+			IPC_TxControlCmd(IPC_CMD_ANCS_DELAY_TIMER);
+	}
+
+
+//end
+
+	if(g_variable.keyboadr_clear_id_succed)
+	{
+		GPIO_FlipOutBit(LOWPOWER_LED_GPIO);
+		g_variable.keyboadr_clear_id_succed --;	
+		
+		if(!g_variable.keyboadr_clear_id_succed )
+		{
+			g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_NORMAL	;
+			YC_update_eeprom_data();
+		}
+	}
+ 	
+
+	 
+
 	
 // The dongle must receive data within 200ms, otherwise it will be forced to lift
 	if(!long_press_flag)
@@ -1001,19 +800,6 @@
 			}
 		}
 	}
-	
-//	if(g_variable.wheeldelayrelease)	//延时释放音量旋钮按键
-//	{
-//		g_variable.wheeldelayrelease--;
-//		if(!g_variable.wheeldelayrelease)
-//		{
-//			multikey[0] = HID_REPORTID_2;
-//			multikey[1] = 0x00;
-//			multikey[2] = 0x00;
-//			IPC_TxHidData(multikey, 3);	
-//		}
-//	}
-
 //role switch time out
 	if (switch_role_timer != 0)
 	{
@@ -1037,8 +823,7 @@
 		}
 	}
 
-	if (delayChgInvTimer != 0)
-	{
+	if (delayChgInvTimer != 0){
 		delayChgInvTimer--;
 		if (delayChgInvTimer == 0)
 		{
@@ -1051,16 +836,11 @@
 			{
 				kscurrmult = 0x0c;
 			}
-			else if (g_variable.br_currentState == CHANGE_TO_BR_CONNECTED)
-			{
-				kscurrmult = 0x3a;
-			}
 		}
 	}
 }
 
 
-
 static tIPCControlBlock cb = 
 {
 	kb_cb_event,
@@ -1075,6 +855,23 @@
 {
 	IPC_Initialize(&cb);
 }
+/*
+static void YC_24g_os_mac_juge()
+{	
+	if( (g_variable.current_device_num == 0) || (g_variable.current_device_num == 0xfe))
+	{
+		if(g_variable.os_24g_juge_start_delay_timer)	
+		{
+			g_variable.os_24g_juge_start_delay_timer --;		
+			if(!g_variable.os_24g_juge_start_delay_timer)	
+			{
+				if(m_caps_num_lock & KB_PC_24G_OS_MAC)
+					g_variable.system_mode = OSMODE_MAC;	
+				}
+		}
+	}
+}
+*/
 /////////////////////////////////////////////////////////////////
 
 /////////////////////////////////////////////////////////////////
@@ -1084,10 +881,8 @@
 	while(1) {
 		IPC_DealSingleStep();
 		kb_need_keyscan();
-//		kb_send_wheel_data();	
 		YC_update_eeprom_data();
 		LED_handle();
-		//m_lpm_mode = 0;		
 #ifdef PC_SLEEP_STATUS_GET		
 		if(m_pc_sleep_flag)
 		{
@@ -1098,10 +893,6 @@
 		case FIX_ENTER_HIBERNATE:
 			KS_Unistall();
 			//GPIO_SetWakeupByCurrentState(BT_BUTTON_GPIO);
-//			GPIO_SetInput_high_impedance(WHEEL_DATA_A_GPIO);
-//			GPIO_SetInput_high_impedance(WHEEL_DATA_B_GPIO);
-//			GPIO_SetWakeupByCurrentState(WHEEL_DATA_A_GPIO);
-//			GPIO_SetWakeupByCurrentState(WHEEL_DATA_B_GPIO);
 			GPIO_SetWakeupByCurrentState(USER_MODE_GPIO);
 			LED_all_shutdown();
 			if(!GPIO_GetInputStatus(USER_MODE_GPIO))
@@ -1111,7 +902,10 @@
 			break;
 			
 		case FIX_ENTER_LPM:
-			if (g_variable.delay_enter_lpm_timer ||g_variable.lockLpm ||g_variable.powerOn_timer  ||control_key_flag || fn_flag ||g_variable.one_key_press_wait_release_timer
+			// if (g_variable.delay_enter_lpm_timer ||g_variable.lockLpm ||g_variable.powerOn_timer ||control_key_flag || fn_flag ||g_variable.sys_mode_led_on_timer ||g_variable.one_key_press_wait_release_timer	
+			//  ||g_variable.pairing_succed_timeout ||g_variable.os_24g_juge_start_delay_timer  ||g_variable.switch_device_led_timer 
+			// ) 
+			if (g_variable.delay_enter_lpm_timer ||g_variable.lockLpm ||g_variable.powerOn_timer  ||control_key_flag || fn_flag ||g_variable.one_key_press_wait_release_timer||g_variable.os_24g_juge_start_delay_timer
 			) 
 			{
 				IPC_AbandonLpm();
@@ -1120,8 +914,6 @@
 			else
 			{
 				KS_Unistall();
-//				GPIO_SetWakeupByCurrentState(WHEEL_DATA_A_GPIO);
-//				GPIO_SetWakeupByCurrentState(WHEEL_DATA_B_GPIO);
 				if(g_variable.g24_long_sleep_flag)
 					LED_all_shutdown();				
 				IPC_WaitLpm();	/*<wait enter lpm,do nothing*/
Index: c51/util/transform_name2addr.pl
===================================================================
--- /ATS_Project/JK810_BLE_24G/c51/util/transform_name2addr.pl	(revision 994)
+++ /ATS_Project/JK810_BLE_24G/c51/util/transform_name2addr.pl	(working copy)
@@ -40,16 +40,16 @@
 							if($ADD_Num =~ /0x/)
 							{
 								@add_num = split(/\+0x/,$ADD_Num);
-								$add_num1_led =@add_num[1];
-								$add_num_begin = "0x".$add_num1_led;
-								$add_num = hex($add_num1_led);
+								$add_num1 =@add_num[1];
+								$add_num_begin = "0x".$add_num1;
+								$add_num = hex($add_num1);
 							}
 							else
 							{
 								@add_num = split(/\+/,$ADD_Num);
-								$add_num1_led =@add_num[1];
-								$add_num_begin = $add_num1_led;
-								$add_num = int($add_num1_led);
+								$add_num1 =@add_num[1];
+								$add_num_begin = $add_num1;
+								$add_num = int($add_num1);
 							}
 						}#$add_numƥҪӵֵַʽ
 					}
